Evan You
1389d7b88c
refactor(compiler-core): use more concise marker for compiled slots
2020-02-12 13:45:35 -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
bc8f91d181
refactor(ssr): prefix ssr helpers
2020-02-06 12:07:25 -05:00
Evan You
2ac4b723e0
fix(compiler/v-slot): handle implicit default slot mixed with named slots
2020-01-06 15:31:21 -05:00
Evan You
51980afca2
feat(sfc): wip scopeId compiler support
2019-12-17 12:31:38 -05:00
Evan You
353b06df77
perf(compiler): should only perform assertions during tests
...
Compiler assertions are made to ensure implementation correctness,
but they have performance costs that should not affect users
during development.
2019-11-15 17:29:08 -05:00
Evan You
58593c4714
feat(v-on): cache handlers
2019-10-18 21:51:34 -04:00
Evan You
b980ddb607
perf: skip hasScopeRef check if there are no scope vars
2019-10-16 15:35:04 -04:00
Evan You
d69db0b2fd
feat(compiler-core/v-slot): only force dynamic slots when referencing scope vars
...
This feature is only applied with prefixIdentifiers: true.
2019-10-16 15:35:04 -04:00
Rahul Kadyan
19c65a61ea
refactor(compiler-core): use directive name in error code identifier ( #163 )
2019-10-09 10:27:24 -04:00
Evan You
0615cf0108
refactor(compiler): flush transform onExit in reverse
2019-10-08 16:53:26 -04:00
Evan You
bfecf2cdce
refactor(compiler): use symbols for runtime helpers
2019-10-05 22:48:13 -04:00
Evan You
c2fc7e3347
feat(compiler): force dynamicSlots flag when inside v-for or v-slot
2019-10-03 16:27:46 -04:00
Evan You
306c22efe1
feat(compiler): mark compiler-generated slots for runtime
2019-10-03 14:08:14 -04:00
Evan You
fc47029ed3
feat(compiler): support v-for on named slots
2019-10-02 23:10:41 -04:00
Evan You
f401ac6b88
refactor: improve vSlot.ts readability
2019-10-02 18:03:42 -04:00
Evan You
3d14265102
feat(compiler): handle conditional v-slot
2019-10-02 17:18:11 -04:00
Evan You
24bd6c27e0
feat(compiler): block optimization codegen for RootNode
2019-10-02 13:11:07 -04:00
Evan You
e5bc17967d
wip(compiler): codegen node w/ block optimization for v-for
2019-10-01 16:48:20 -04:00
Evan You
5de744d4e1
wip(compiler): generate blocks for v-if
2019-10-01 12:25:29 -04:00
Evan You
e31fb3c172
wip: Sequence & Conditional expressions for AST
2019-10-01 12:25:29 -04:00
Evan You
d67418002f
feat(compiler): generate patchFlags for runtime
2019-09-30 21:17:12 -04:00
Evan You
389a07835c
feat(compiler): handle complex destructure expressions in v-for
2019-09-28 16:02:08 -04:00
Evan You
a792d697a3
refactor: simplify slot extraneous child check
2019-09-28 01:35:49 -04:00
Evan You
6461b3853e
refactor(compiler): split slot / slot outlet / slot scope handling into separate transforms
2019-09-28 00:19:24 -04:00
Evan You
32666c7708
feat(compiler): transform component slots
2019-09-27 22:25:32 -04:00
Evan You
ee66ce78b7
feat(compiler): transform slot outlets
2019-09-27 20:29:20 -04:00
Evan You
93440bba97
wip: element transforms
2019-09-21 15:47:26 -04:00