edison
37300fc261
fix(v-once): setting hasOnce to current block only when in v-once ( #12374 )
...
close #12371
2024-11-14 14:53:55 +08:00
山吹色御守
3f13203564
feat(compiler-core): parse modifiers as expression to provide location data ( #11819 )
2024-09-05 21:00:16 +08:00
Kevin Deng 三咲智子
928af5fe2f
refactor(types): enable `isolatedDeclarations` ( #11178 )
2024-08-08 23:05:21 +08:00
Evan You
f15ba2c2e2
chore: Merge branch 'main' into minor
2024-07-17 17:32:31 +08:00
Evan You
3107b57e2e
refactor: isVNode -> isVOnce
2024-07-13 21:07:45 +08:00
Evan You
aef807746a
refactor(compiler): move patchFlag text generation to codegen phase
2024-07-13 19:40:04 +08:00
Evan You
cd0ea0d479
fix(compiler-core): change node hoisting to caching per instance ( #11067 )
...
close #5256
close #9219
close #10959
2024-06-04 20:09:54 +08:00
Ray
5b8c1afb74
fix(compiler-core): make `ForIteratorExpression`'s `returns` property optional ( #11011 )
2024-05-27 16:15:54 +08:00
三咲智子 Kevin Deng
bfe6b459d3
style: update format & lint config ( #9162 )
...
Co-authored-by: 丶远方 <yangpanteng@gmail.com>
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
Co-authored-by: Guo Xingjun <99574369+Plumbiu@users.noreply.github.com>
2023-12-26 19:39:47 +08:00
Evan You
e8bbc946cb
feat(compiler-sfc): analyze import usage in template via AST ( #9729 )
...
close #8897
close nuxt/nuxt#22416
2023-12-01 11:14:48 +08:00
ZHAO Jin-Xiang
fff7b864f4
feat: use enum to replace const enum ( #9261 )
...
close #1228
2023-11-29 12:24:50 +08:00
Evan You
fb619cf9a4
fix(compiler-sfc): fix ast reuse for ssr
2023-11-27 15:38:30 +08:00
Evan You
157cfcb796
refactor: restore isSelfClosing as optional property
2023-11-25 22:55:39 +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
40f72d5e50
feat(compiler-core): support specifying root namespace when parsing
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
c342433cb5
wip: v-pre handling
2023-11-25 16:18:29 +08:00
Evan You
19bd714239
wip: port parser
2023-11-25 16:18:29 +08:00
Evan You
aac163110f
refactor: remove circular dependencies in compiler
2023-03-23 16:30:42 +08:00
三咲智子 Kevin Deng
9060bf0353
refactor(compiler-core): make ast.helpers a Set ( #6774 )
2022-11-13 20:44:02 -05:00
Evan You
51f3d386de
fix(compiler-core): template v-if should never be treated as dev root fragment
...
close #5189
2022-05-11 17:43:20 +08:00
Evan You
47f488350c
chore: run updated prettier
2021-07-19 18:24:18 -04:00
webfansplz
df0ce21836
chore(types): improve of type assertion ( #4141 )
2021-07-19 10:32:07 -04:00
Evan You
1c7d737cc8
feat: support v-bind .prop & .attr modifiers
...
Also allows render function usage like the following:
```js
h({
'.prop': 1, // force set as property
'^attr': 'foo' // force set as attribute
})
```
2021-07-16 14:30:49 -04:00
Evan You
3b64508e3b
feat: v-memo
2021-07-16 14:30:49 -04:00
Evan You
b7ea7c1485
perf: also hoist all-static children array
2021-07-16 14:30:49 -04:00
Evan You
02339b67d8
perf: hoist dynamic props lists
2021-07-16 14:30:49 -04:00
HcySunYang
ceff89905b
perf: improve VNode creation performance with compiler hints ( #3334 )
2021-07-16 14:30:49 -04:00
Evan You
7f93c76b96
wip: exclude legacy slots from $scopedSlots
2021-05-05 11:06:15 -04:00
Evan You
7dc681c196
wip: filters compat
2021-04-19 12:29:55 -04:00
funkyfun
c8aed13711
chore(types): remove redundant 'undefined' type ( #3484 )
2021-03-25 16:19:02 -04:00
Evan You
90bdf59f4c
refactor(compiler): better constant hoist/stringify checks
2020-11-20 19:26:07 -05:00
HcySunYang
9499871582
fix(compiler-core): make v-once work with v-if/else-if/else ( #2182 )
...
Partial fix for #2035
2020-10-05 11:58:37 -04:00
Evan You
de0c8a7e3e
fix(compiler-core): v-if key error should only be checking same key on different branches
2020-08-04 12:01:18 -04:00
HcySunYang
8a2cf21b71
perf(compiler-core): treat v-for with constant exp as a stable fragment ( #1394 )
2020-06-17 16:13:14 -04:00
Evan You
baa6973b13
wip(compiler): tests for new stringification
2020-05-15 15:50:42 -04:00
Evan You
cb9444807e
wip(compiler): improve node stringification to support adjacent nodes
2020-05-15 12:58:44 -04:00
Evan You
c2f3ee4dc0
chore: use jsdoc comments in ast
2020-05-15 11:00:07 -04:00
Evan You
f9a3766fd6
fix(compiler): bail strigification on runtime constant expressions
2020-05-04 15:15:26 -04:00
Evan You
3b40fc56db
fix(compiler-ssr): fix input w/ v-bind="obj" codegen
2020-03-16 18:14:49 -04:00
Evan You
e0f3c6b352
fix(compiler-core): should apply text transform to if branches
...
fix #725
2020-02-14 15:57:14 -05:00
Evan You
e861c6da90
test: test updates for d40c642
2020-02-11 18:40:42 -05:00
Evan You
e3988b40d8
refactor(compiler-core): use dedicated node type for element codegen
...
Previously codegen node for elements and components used raw expressions,
which leads to multiple permutations of AST shapes based on whether the
node is a block or has directives. The complexity is spread across the
entire compiler and occurs whenever a transform needs to deal with
element codegen nodes.
This refactor centralizes the handling of all possible permutations
into the codegen phase, so that all elements/components will have a
consistent node type throughout the transform phase.
The refactor is split into two commits (with test updates in a separate
one) so changes can be easier to inspect.
2020-02-11 18:40:42 -05:00
Evan You
f4c54a888b
refactor(compiler-core): hoist static text calls between elements
2020-02-10 18:32:11 -05:00
Evan You
a51e710396
wip(ssr): proper scope analysis for ssr vnode slot fallback
2020-02-07 13:56:18 -05:00
Evan You
b7a74d0439
wip(ssr): ssr slot vnode fallback
2020-02-07 01:06:51 -05:00
Evan You
bc8f91d181
refactor(ssr): prefix ssr helpers
2020-02-06 12:07:25 -05:00
Evan You
9b3b6962df
wip(srr): slot outlet
2020-02-05 21:04:40 -05:00