Commit Graph

73 Commits

Author SHA1 Message Date
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
Evan You c952321fcf wip(compiler-ssr): v-model static types + textarea 2020-02-05 14:23:03 -05:00
Evan You 8da6df7235 wip(ssr): handle `<textarea>` with dynamic key v-bind 2020-02-04 22:49:47 -05:00
Evan You c059fc88b9 wip(compiler-ssr): v-bind with static keys 2020-02-04 16:47:12 -05:00
Evan You 93c37b94f2 wip(ssr): v-for 2020-02-03 18:31:11 -05:00
Evan You b685805a26 wip(ssr): ssr helper codegen 2020-02-03 18:31:10 -05:00
Evan You e8c5de6cfd wip(compiler-ssr): v-if 2020-02-03 18:31:10 -05:00
Evan You 8fd9e9ba97 test(compiler-core): test TempalteLiteral and IfStatement codegen 2020-02-02 21:35:44 -05:00
Evan You efbbd19b3d wip(ssr): initial scaffold for compiler-ssr 2020-02-02 00:05:27 -05:00
Evan You f2ac28b31e fix(compiler-core): force <svg> into blocks for correct runtime isSVG
state during patch
2020-01-20 14:48:26 -05:00
Evan You 51980afca2 feat(sfc): wip scopeId compiler support 2019-12-17 12:31:38 -05:00
Evan You 5cd1495767 refactor(compiler-core): centralize compiler options 2019-12-10 12:53:26 -05:00
likui 810b3a3e2a feat(compiler-sfc): transform asset url (#500) 2019-12-01 12:02:53 -05:00
Evan You 98e9b769e6 feat(compiler): support keep-alive in templates 2019-11-05 10:26:56 -05:00
Evan You 9298f46f92 feat(compiler-core): whitespace handling 2019-10-24 16:22:48 -04:00
Evan You af5a8e1154 feat(compiler-core): re-implement v-once to use cache mechanism 2019-10-23 17:57:40 -04:00
Evan You 052febc127 feat(compiler): convert text mixed with elements into createVNode calls
This ensures they are tracked as dynamic children when inside blocks.
Also guaruntees compiled vnodes always have vnode children in arrays
so that they can skip normalizeVNode safely in optimized mode.
2019-10-21 15:52:29 -04:00
HcySunYang 71f3826f99 chore: rename & property missing (#335) 2019-10-21 10:00:23 -04:00
Evan You 58593c4714 feat(v-on): cache handlers 2019-10-18 21:51:34 -04:00
Evan You e98a85f3cb refactor: applyDirectives -> withDirectives 2019-10-18 16:35:01 -04:00
Evan You cba34453db refactor(v-on): avoid empty modifier guard with only key modifier 2019-10-18 16:20:45 -04:00
Evan You 4b2b29efa1 feat(compiler-core): support Suspense in templates 2019-10-16 17:43:41 -04:00
HcySunYang 68a3879b88 feat(compiler-core): more hoisting optimizations (#276) 2019-10-15 11:41:24 -04:00
terencez 4547d85a38 feat(compiler-core): support <portal> in template (#203) 2019-10-14 15:11:04 -04:00
herochen 056764ce47 chore: typo (#198) 2019-10-11 09:59:52 -04:00
Evan You d376439167 wip(compiler-dom): v-model runtime 2019-10-10 18:02:51 -04:00
Evan You f11dadc1d2 refactor(compiler): improve member expression check for v-on & v-model 2019-10-10 11:15:24 -04:00
二当家的 99bdc5a8c8 chore: correct typo (#188) 2019-10-10 10:26:13 -04:00
Evan You 16da9ae89f fix(compiler): handle block nodes with custom directives + improve ast types 2019-10-08 10:50:10 -04:00
Evan You 57a5c61320 test: tests for hoistStatic 2019-10-07 17:12:22 -04:00
Evan You 82bd9eb1db refactor(compiler): refine codegen node types 2019-10-05 22:48:13 -04:00
Evan You bfecf2cdce refactor(compiler): use symbols for runtime helpers 2019-10-05 22:48:13 -04:00
夜宴 eaf4f67c62 chore: spelling mistake in ast.ts (#88) 2019-10-05 10:23:25 -04:00
Evan You 095f5edf8d feat(compiler): hoist static trees 2019-10-03 23:30:25 -04:00
Evan You fc47029ed3 feat(compiler): support v-for on named slots 2019-10-02 23:10:41 -04:00
Evan You 24bd6c27e0 feat(compiler): block optimization codegen for RootNode 2019-10-02 13:11:07 -04:00
Evan You bec01c93bd fix(compiler): v-for fragments should be blocks 2019-10-02 10:47:01 -04:00
Evan You 3a95a2f148 fix(compiler): generate correct fragment children when it contains single text node or slot outlet 2019-10-01 23:53:52 -04:00
Evan You a477594d65 feat(compiler): v-for codegen w/ correct blocks optimization + key flags 2019-10-01 23:19:48 -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 aa134e7a4f test(compiler): codegen tests for Sequence & Conditional expressions 2019-10-01 15:43:59 -04:00
Evan You 5de744d4e1 wip(compiler): generate blocks for v-if 2019-10-01 12:25:29 -04:00