Evan You
41ff68ea57
feat(compiler): improve parsing tolerance for language-tools
2023-11-27 16:55:54 +08:00
Evan You
0721daf22d
chore: Merge branch 'main' into minor
2023-11-27 15:59:07 +08:00
Evan You
fb619cf9a4
fix(compiler-sfc): fix ast reuse for ssr
2023-11-27 15:38:30 +08:00
Evan You
678378afd5
fix(compiler-sfc): use correct compiler when re-parsing in ssr mode
2023-11-27 15:06:07 +08:00
Evan You
2e65ea481f
fix(compiler-core): fix line/column tracking when fast forwarding
2023-11-27 14:49:13 +08:00
Evan You
50cde7cfbc
perf(compiler-sfc): use faster source map addMapping
2023-11-27 14:42:12 +08:00
Evan You
d193666fdc
chore: use MappingItem type
2023-11-27 14:16:16 +08:00
Evan You
f15d2f6cf6
perf: avoid sfc source map unnecessary serialization and parsing
2023-11-27 12:26:51 +08:00
Evan You
157cfcb796
refactor: restore isSelfClosing as optional property
2023-11-25 22:55:39 +08:00
Evan You
bab5bd375b
chore: fix tests with rawExp
2023-11-25 22:50:40 +08:00
Evan You
e48cbf02be
refactor: restore SourceLocation.source
...
this is used extensively in @vue/language-tools and does not have
noticeable impact on performance
2023-11-25 19:22:39 +08:00
Evan You
08f0baa2ad
refactor: preserve source location convention in sfc mode for base parser
...
For compatibility w/ usage like https://github.com/vue-macros/vue-macros/blob/main/packages/setup-block/src/core/index.ts
2023-11-25 18:07:29 +08:00
Evan You
be6cae7dac
chore: remove isSelfClosing property
2023-11-25 18:03:22 +08:00
Evan You
ceec69c8cc
fix: avoid confusing breakage in @vitejs/plugin-vue
2023-11-25 16:39:42 +08:00
Evan You
6ec85ae872
chore: restructure parser files
2023-11-25 16:18:29 +08:00
Evan You
c11002f16a
perf(codegen): optimize source map generation
2023-11-25 16:18:29 +08:00
Evan You
3be53d9b97
perf(codegen): optimize line / column calculation during codegen
...
Previously, many CodegenContext.push() calls were unnecessarily
iterating through the entire pushed string to find newlines, when we
already know the newline positions for most of calls. Providing fast
paths for these calls significantly improves codegen performance when
source map is needed.
In benchmarks, this PR improves full SFC compilation performance by ~6%.
2023-11-25 16:18:29 +08:00
Evan You
e8e3ec6ca7
perf(compiler-sfc): remove magic-string trim on script
...
magic-string's trim method uses a regex check for aborting which turns
out to be extremely expensive - it cna take up to 10% time in total SFC
compilation! The usage here is purely aesthetic so simply removing it
for a big perf gain is well worth it.
2023-11-25 16:18:29 +08:00
Evan You
20732366b9
perf: optimize position cloning
2023-11-25 16:18:29 +08:00
Evan You
79d3cc6cec
wip: should not reuse AST when using custom compiler
2023-11-25 16:18:29 +08:00
Evan You
3ee343928a
wip: parser v2 compat
2023-11-25 16:18:29 +08:00
Evan You
6022ac05c4
chore: document rationale for ignoring some parsing errors
2023-11-25 16:18:29 +08:00
Evan You
e702b278d4
wip: shorten some method names
2023-11-25 16:18:29 +08:00
Evan You
59227d4124
wip: parse error tests
2023-11-25 16:18:29 +08:00
Evan You
b6886a80b1
wip: force re-parse on reused sfc template ast
2023-11-25 16:18:29 +08:00
Evan You
1b4efc30c3
wip: should parse sfc template with lang=html
2023-11-25 16:18:29 +08:00
Evan You
b59eabdc0d
refactor: use more efficient walk for importUsageCheck
2023-11-25 16:18:29 +08:00
Evan You
37f9d3da8f
wip: compiler-sfc should not attach ast on template with src import
2023-11-25 16:18:29 +08:00
Evan You
e41cf8dc59
refactor: better naming for baseCompile argument
2023-11-25 16:18:29 +08:00
Evan You
94c86269d0
refactor: fix v-bind no-exp shorthand for new parser
2023-11-25 16:18:29 +08:00
Evan You
e5afca6c1e
wip: treat template with preprocessor as plain text
2023-11-25 16:18:29 +08:00
Evan You
5fc695be26
wip: support reusing template ast from sfc descriptor
2023-11-25 16:18:29 +08:00
Evan You
fc4f801070
wip: decodeEntities test
2023-11-25 16:18:29 +08:00
Evan You
059caafc13
wip: pass all compiler-sfc tests
2023-11-25 16:18:29 +08:00
Evan You
dda4fd526e
wip: pass all compiler-ssr tests
2023-11-25 16:18:29 +08:00
Evan You
5a44b84cde
wip: pass all compiler-dom tests
2023-11-25 16:18:29 +08:00
Evan You
40f72d5e50
feat(compiler-core): support specifying root namespace when parsing
2023-11-25 16:18:29 +08:00
Evan You
a1b10a21ac
wip: pass more compiler-dom tests
2023-11-25 16:18:29 +08:00
Evan You
1912af04e3
wip: entities parsing in browser
2023-11-25 16:18:29 +08:00
Evan You
caabba7590
wip: tune perf
2023-11-25 16:18:29 +08:00
Evan You
082b5a71c6
wip: pass all compiler-core tests
2023-11-25 16:18:29 +08:00
Evan You
c4e50e46bb
wip: more tests passing
2023-11-25 16:18:29 +08:00
Evan You
e05ba29555
wip: pass all non-error parsing tests
2023-11-25 16:18:29 +08:00
Evan You
a60ad9180d
refactor: swap to new template parser
...
- get rid of SourceLocation.source for memory efficiency
- move source location generation logic transform phase into the parser
itself so that SourceLocation.source is no longer needed
- move v-for expression parsing into the parser itself
- added nameLoc on AttributeNode for use in transformElement
Tests are not passing yet.
2023-11-25 16:18:29 +08:00
Evan You
65b44045ef
wip: parse mode
2023-11-25 16:18:29 +08:00
Evan You
66c0ed0a3c
perf: optimize away isBuiltInType
2023-11-25 16:18:29 +08:00
Evan You
bc170c49fc
chore: disable parser tests for now
2023-11-25 16:18:29 +08:00
Evan You
59e38f18d8
wip: parseMode
2023-11-25 16:18:29 +08:00
Evan You
ae6fba9495
perf: optimize makeMap
2023-11-25 16:18:29 +08:00
Evan You
81e941da5b
wip: getting ready for textmode handling
2023-11-25 16:18:29 +08:00
Evan You
5a855c57d7
wip: comments
2023-11-25 16:18:29 +08:00
Evan You
a12abe72bc
wip: refine element type
2023-11-25 16:18:29 +08:00
Evan You
c342433cb5
wip: v-pre handling
2023-11-25 16:18:29 +08:00
Evan You
1a1f680536
wip: pre tag handling
2023-11-25 16:18:29 +08:00
Evan You
5762288bdf
wip: parse interpolation
2023-11-25 16:18:29 +08:00
Evan You
70edd1c61e
wip: check duplicated attributes
2023-11-25 16:18:29 +08:00
Evan You
ec33e61e87
wip: remove htmlMode
2023-11-25 16:18:29 +08:00
Evan You
db085b4a79
wip: remove foreignContext check
2023-11-25 16:18:29 +08:00
Evan You
65c0b31148
wip: modifiers
2023-11-25 16:18:29 +08:00
Evan You
b81415ceac
wip: source location for props
2023-11-25 16:18:29 +08:00
Evan You
08038a938c
wip: parse directive in tokenizer
2023-11-25 16:18:29 +08:00
Evan You
622d34efe1
wip: optimize condenseWhitespace
2023-11-25 16:18:29 +08:00
Evan You
9aa8effec3
wip: parse directives
2023-11-25 16:18:29 +08:00
Evan You
f131a4723b
wip: loc for elements
2023-11-25 16:18:29 +08:00
Evan You
f7db16b9cf
wip: refactor line / column generation
2023-11-25 16:18:29 +08:00
Evan You
6311ebbf32
wip: save
2023-11-25 16:18:29 +08:00
Evan You
19bd714239
wip: port parser
2023-11-25 16:18:29 +08:00
Evan You
2a6292e37f
wip: remove unused options
2023-11-25 16:18:29 +08:00
Evan You
bc37eae8b0
wip: strip xmlMode / htmlMode
2023-11-25 16:18:29 +08:00
Evan You
5b9141cc30
wip: setup
2023-11-25 16:18:29 +08:00
Evan You
069f838691
release: v3.3.9
2023-11-25 16:11:31 +08:00
Carlos Rodrigues
1c525f75a3
types: support app.component to be `defineComponent` ( #9662 )
2023-11-22 22:18:02 +08:00
三咲智子 Kevin Deng
79b8a0905b
feat!: remove reactivity transform ( #9321 )
...
BREAKING CHANGE: Reactivity Transform was marked deprecated in 3.3 and is now removed in 3.4. This change does not require a major due to the feature being experimental. Users who wish to continue using the feature can do so via the external plugin at https://vue-macros.dev/features/reactivity-transform.html
2023-11-21 18:06:42 +08:00
Evan You
afb21f7813
test: fix keepalive transition out-in test case
2023-11-21 17:57:44 +08:00
Evan You
1ea775633d
chore: Merge branch 'main' into minor
2023-11-21 09:48:26 +08:00
Evan You
fc772dbf73
chore: exclude private packages from version updates
2023-11-21 09:37:37 +08:00
Evan You
8fddb19c3a
workflow: use workspace deps
2023-11-21 09:22:12 +08:00
renovate[bot]
32fb79df41
chore(deps): update all non-major dependencies ( #9636 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-20 17:38:13 +08:00
renovate[bot]
07bd2cd27e
chore(deps): update dependency vite to v5 ( #9630 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2023-11-18 10:36:56 +08:00
renovate[bot]
16a6438236
chore(deps): update lint ( #9627 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-18 10:33:24 +08:00
三咲智子 Kevin Deng
83e618f316
docs: replace rollup-plugin-vue with vite version
2023-11-15 21:43:18 +08:00
Evan You
2859b653c9
fix(v-model): unnecessary value binding error should apply to dynamic instead of static binding
...
close #3596
2023-11-15 08:51:50 +08:00
Bogdan Kolesnyk
f18a174979
fix(compiler-sfc): malformed filename on windows using path.posix.join() ( #9478 )
...
Closes : #8671 , #9583
Not fixed with: #9446
Related: #9473
2023-11-13 15:48:25 +08:00
renovate[bot]
e422023686
chore(deps): update compiler to ^7.23.3 ( #9590 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 15:45:51 +08:00
renovate[bot]
2b00fd9ad2
chore(deps): update all non-major dependencies ( #9589 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-13 15:45:29 +08:00
Evan You
5d077c8754
fix(types): revert class type restrictions
...
reverts #8012 due to breakage in downstream types
2023-11-13 15:23:16 +08:00
Evan You
fc7902982a
workflow(playground): prod/dev toggle should apply to runtime behavior as well
...
Previously, the prod/dev toggle in the SFC playground only affects the
SFC compiation behavior, but not the actual runtime. This can make it
confusing when users are trying to reproduce prod/dev behavior
inconsistency in the runtime code instead of the compiler.
2023-11-12 16:32:08 +08:00
丶远方
176d476712
fix(types): fix `unref` and `toValue` when input union type contains ComputedRef ( #8748 )
...
close #8747
close #8857
2023-11-10 16:56:29 +08:00
花果山大圣
73fd810eeb
fix(reactivity): onCleanup also needs to be cleaned ( #8655 )
...
close #5151
close #7695
2023-11-10 16:47:08 +08:00
Cong
3227e50b32
fix(compiler-sfc): support `:is` and `:where` selector in scoped css rewrite ( #8929 )
2023-11-10 16:44:53 +08:00
Cong
c6083dcad3
fix(compiler-sfc): support `:is` and `:where` selector in scoped css rewrite ( #8929 )
2023-11-10 16:44:08 +08:00
auvred
3e08d246df
fix(compiler-sfc): consistently escape type-only prop names ( #8654 )
...
close #8635
close #8910
close vitejs/vite-plugin-vue#184
2023-11-10 16:23:47 +08:00
edison
9e1b74bcd5
fix(compiler-sfc): support resolve extends interface for defineEmits ( #8470 )
...
close #8465
2023-11-10 16:00:04 +08:00
Evan You
2424013059
fix(types): widen ClassValue type
2023-11-10 15:36:30 +08:00
Anthony Fu
5156ac5b38
fix(ssr): hydration `__vnode` missing for devtools ( #9328 )
2023-11-10 15:27:16 +08:00
Evan You
e15dc05655
chore: remove typeof NULL_DYNAMIC_COMPONENT for type compat with test-utils
2023-11-10 15:26:19 +08:00
zqran
f15debc01a
fix(types): return type of withDefaults should be readonly ( #8601 )
2023-11-10 15:20:02 +08:00
Basil Gor
46e33744c8
fix(types): more precise types for class bindings ( #8012 )
2023-11-10 15:15:54 +08:00
丶远方
fa65cb6af1
test(shared): add test case for escapeHtmlComment ( #8065 )
2023-11-10 15:07:24 +08:00
skirtle
f01afda159
dx(runtime-core): warn if `this` is used in a `<script setup>` template ( #7866 )
2023-11-10 15:05:39 +08:00
Evan You
5a41231352
chore: fix formatting + remove duplicated property in jsx type
2023-11-10 15:01:05 +08:00
被雨水过滤的空气-Rain
b71a889f52
refactor(compiler-dom): use String's built-in repeat method ( #6700 )
2023-11-10 14:39:19 +08:00
Yuchao
3445356085
test(apiWatch): better indicate array pre & new values are the same object ( #7251 )
2023-11-10 14:37:46 +08:00
skirtle
a5491e1cdd
dx(runtime-core): warn when the prop type is `[]` ( #7608 )
2023-11-10 14:32:10 +08:00
bqy_fe
58e2a94871
fix(types): update jsx type definitions ( #8607 )
2023-11-10 14:30:45 +08:00
Yuchao
17aa92b79b
fix(types): allow falsy value types in `StyleValue` ( #7954 )
...
close #7955
2023-11-10 14:23:54 +08:00
Tycho
d5fd343555
refactor(compiler-sfc): reuse `forAliasRE` regex from compiler-core ( #9568 )
2023-11-10 14:22:00 +08:00
Rudy
5d932a8e6d
fix(types): defineCustomElement using defineComponent return type with emits ( #7937 )
...
close #7782
2023-11-10 13:52:54 +08:00
Ha Pam
341b5416b2
chore: typo and grammar ( #8568 ) [ci skip]
...
Co-authored-by: Han <phamvanhan@gmail.com>
2023-11-10 13:42:26 +08:00
Simon Lévesque
7c448000b0
fix(types): fix shallowRef return type with union value type ( #7853 )
...
close #7852
2023-11-10 13:40:47 +08:00
Evan You
364f319d21
fix(hydration): force hydration for v-bind with .prop modifier
...
ref #7490
2023-11-10 13:13:07 +08:00
Evan You
34b5a5da4a
fix(hydration): properly hydrate indeterminate prop
...
close #7476
2023-11-10 12:19:27 +08:00
Rudy
0e1e8f919e
fix(types): fix instance type when props type is incompatible with setup returned type ( #7338 )
...
close #5885
2023-11-09 17:40:36 +08:00
魏
657476dcdb
fix(reactivity): clear method on readonly collections should return undefined ( #7316 )
2023-11-09 17:32:21 +08:00
Nebula
6e0b068e92
chore: add name option for Teleport ( #7315 )
2023-11-09 17:21:38 +08:00
edison
a2d810eb40
fix(compiler-core): avoid rewriting scope variables in inline for loops ( #7245 )
...
close #7238
2023-11-09 17:20:54 +08:00
被雨水过滤的空气-Rain
d11e978fc9
fix(hmr/transition): fix kept-alive component inside transition disappearing after hmr ( #7126 )
...
fix #7121
2023-11-09 17:15:56 +08:00
白雾三语
40f4b77bb5
fix(v-model): avoid overwriting number input with same value ( #7004 )
...
close #7003
2023-11-09 15:14:38 +08:00
Carlos Rodrigues
94c049d930
fix(types): remove optional properties from defineProps return type ( #6421 )
...
close #6420
2023-11-09 14:52:28 +08:00
丶远方
9d0eba916f
fix(compiler-core): fix `resolveParserPlugins` decorators check ( #9566 )
...
close #9560
2023-11-09 14:32:08 +08:00
Evan You
bc5846939c
release: v3.3.8
2023-11-06 18:54:26 +08:00
Evan You
2f8c769b6b
chore: delete unrelated test case
2023-11-06 18:46:40 +08:00
Evan You
dd8a0cf5dc
fix(hydration): fix tagName access eeror on comment/text node hydration mismatch
...
fix #9531
2023-11-06 18:45:42 +08:00
Eduardo San Martin Morote
405f34587a
fix(warn): avoid warning on empty children with Suspense ( #3962 )
2023-11-06 17:48:40 +08:00
edison
b39fa1f815
fix(compiler-sfc): fix dynamic directive arguments usage check for slots ( #9495 )
...
close #9493
2023-11-06 17:46:48 +08:00
Evan You
462aeb3b60
fix(types): avoid exposing lru-cache types in generated dts
...
close #9521
2023-11-06 17:36:02 +08:00
renovate[bot]
176d59058c
fix(deps): update dependency @vue/repl to ^2.6.3 ( #9540 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-03 17:48:58 +08:00
renovate[bot]
5cef325f41
fix(deps): update dependency @vue/repl to ^2.6.2 ( #9536 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-02 20:57:38 +08:00
zhiyuanzmj
26399aa6fa
feat(compiler-core): support v-bind shorthand for key and value with the same name ( #9451 )
2023-11-02 17:48:11 +08:00
Johnson Chu
48b47a1ab6
feat(reactivity): expose last result for computed getter ( #9497 )
2023-10-31 22:19:40 +08:00
renovate[bot]
d261ad73ae
chore(deps): update all non-major dependencies ( #9501 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-31 22:07:38 +08:00
木杉
a9893458ec
fix(compile-sfc): support `Error` type in `defineProps` ( #5955 )
2023-10-30 15:45:58 +08:00
Kaine
72fdafa0cf
types(runtime-dom): update aria-relevant type ( #9043 )
2023-10-30 15:15:17 +08:00
丶远方
a75d1c5c62
fix(compiler-core): known global should be shadowed by local variables in expression rewrite ( #9492 )
...
fix #9482
2023-10-28 15:22:03 +08:00
Evan You
3c828f3cfb
release: v3.4.0-alpha.1
2023-10-28 11:33:46 +09:00
Johnson Chu
16e06ca08f
feat(reactivity): more efficient reactivity system ( #5912 )
...
fix #311 , fix #1811 , fix #6018 , fix #7160 , fix #8714 , fix #9149 , fix #9419 , fix #9464
2023-10-27 23:28:40 +09:00
三咲智子 Kevin Deng
feb2f2edce
feat: export runtime error strings ( #9301 )
...
These strings are used for automatically generating error references in the documentation and should be considered internal. The code-to-string mapping is **not** part of the public API and can change between non-major versions.
They are also exposed only in dev or the esm-bundler builds.
2023-10-27 23:28:40 +09:00
花果山大圣
f7e80ee4a0
feat(compiler-core): export error message ( #8729 )
2023-10-27 23:28:40 +09:00
三咲智子 Kevin Deng
9e77580c0c
feat(compiler-sfc): expose resolve type-based props and emits ( #8874 )
2023-10-27 23:28:40 +09:00
丶远方
a645e7aa51
feat(runtime-core): add `once` option to watch ( #9034 )
2023-10-27 23:28:40 +09:00
丶远方
f32ec17131
chore: remove unnecessary imports from vitest ( #8562 )
2023-10-26 16:34:14 +08:00
Evan You
1789c1caac
release: v3.3.7
2023-10-25 07:35:08 +08:00
edison
e09c26bc9b
fix(compiler-ssr): proper scope analysis for ssr vnode slot fallback ( #7184 )
...
close #7095
2023-10-25 01:01:29 +08:00
Carlos Rodrigues
7374e93f02
fix(types): fix ComponentCustomProps augmentation ( #9468 )
...
close #8376
2023-10-24 18:42:47 +08:00
edison
5ea8a8a4fa
fix(transition/ssr): make transition appear work with SSR ( #8859 )
...
close #6951
2023-10-24 09:36:10 +08:00
Carlos Rodrigues
16ecb44c89
fix(types): improve `h` overload to support union of string and component ( #5432 )
...
fix #5431
2023-10-23 23:40:06 +08:00
Evan You
28a6f05bf5
chore: remove internal flag on hmr option
2023-10-22 09:10:43 +08:00
Carlos Rodrigues
00de3e61ed
fix(Suspense): calling hooks before the transition finishes ( #9388 )
...
close #5844
close #5952
2023-10-21 21:24:30 +08:00
Evan You
733437691f
fix(hmr): fix hmr error for hoisted children array in v-for
...
fix #6978
close #7114
2023-10-21 21:08:49 +08:00
edison
c568778ea3
fix(compiler-sfc): avoid gen useCssVars when targeting SSR ( #6979 )
...
close #6926
2023-10-21 12:11:41 +08:00