Commit Graph

81 Commits

Author SHA1 Message Date
Evan You 27913e661a feat(compiler-dom/runtime-dom): stringify eligible static trees 2020-02-12 11:56: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 12fcf9ab95 fix(compiler): fix v-for fragment openBlock argument 2020-02-10 18:19:49 -05:00
Evan You 6e06810add test(ssr): tests for utils and props rendering 2020-01-29 15:10:45 -05:00
Evan You 6b1ce00621 wip(ssr): renderer support for optimized and manual slots 2020-01-28 22:58:02 -05:00
Evan You 012bc5df9d wip(ssr): restructure 2020-01-27 17:23:42 -05:00
likui ec63623fe8 fix: Suspense should include into dynamic children (#653)
fix #649
2020-01-22 10:45:27 -05:00
Evan You 84dc5a6862 fix(runtime-core/vnode): should not render boolean values in vnode children (close #574) 2020-01-06 11:57:19 -05:00
Evan You 7d436ab59a fix: mounting new children 2019-12-22 16:24:24 -05:00
Evan You 47a6a84631 fix(core): clone mounted hoisted vnodes on patch
...since they may need to be checked as fragment child
2019-12-22 13:31:13 -05:00
Evan You eda495efd8 feat(hmr): root instance reload 2019-12-22 12:25:04 -05:00
Evan You 69c9dbc825 feat(sfc): scopeId runtime support 2019-12-17 12:31:38 -05:00
Evan You f77ae132e5 feat(hmr): reload and force slot update on re-render 2019-12-12 21:09:47 -05:00
meteorlxy f3007a6b4f fix(core): use String to convert primitive types (#518) 2019-12-04 18:28:52 +01:00
Evan You a834807942 refactor: rename transition components 2019-11-24 16:00:46 -05:00
Evan You 5c691aebfd feat(transition): handle cancel hooks 2019-11-22 17:10:17 -05:00
Evan You 79f23a2f77 feat(transition): support component child 2019-11-20 22:46:32 -05:00
Evan You 93561b080e feat(transition): base transition component 2019-11-20 22:46:32 -05:00
Evan You dfc7c0f12a refactor: adjust internal vnode types + more dts tests 2019-11-04 18:38:55 -05:00
Evan You 90b9884eb4 refactor: rename/re-organize files 2019-11-02 12:18:35 -04:00
Evan You 26c859aedd chore: simplify check 2019-11-02 10:38:25 -04:00
Evan You 66ecd8b47f types: setup tests for built d.ts files 2019-11-01 22:54:01 -04:00
Evan You 492c1306f6 types: fix suspense exported type 2019-11-01 12:43:27 -04:00
Evan You 5eee1152ca types: (wip) improve dts output 2019-11-01 11:32:53 -04:00
Evan You 06c5b0a861 types: refactor VNodeProps type 2019-11-01 09:58:27 -04:00
Evan You c6cbca25fe feat(core): keep-alive 2019-10-29 22:28:38 -04:00
Evan You 083296ead6 fix: fix h signature for suspense 2019-10-29 14:04:53 -04:00
Evan You 17d71fa407 refactor(suspense): make suspense tree-shakeable 2019-10-29 12:30:09 -04:00
Dmitry Sharshakov e7e3eb8662 refactor(VNode): improve helper types (#392) 2019-10-27 20:54:54 -04:00
Evan You a8aa328907 chore: comment on cloneVNode implementation [ci skip] 2019-10-27 20:45:59 -04:00
Evan You 07ce2c5fa7 perf: improve directive runtime performance 2019-10-26 16:00:07 -04:00
Dmitry Sharshakov 134e932322 fix(types): fix VNodeTypes unique symbols (#387) 2019-10-26 10:51:55 -04:00
Evan You 8edfbf9df9 feat(core): adjust attrs fallthrough behavior 2019-10-25 12:12:17 -04:00
Evan You ed29af7bea fix: generate v-if fallback comment as block 2019-10-24 21:19:02 -04:00
Evan You 1c0a2c6d41 refactor(compiler): use shorter helpers for text and comment nodes 2019-10-24 17:55:00 -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 8be578b6b6 perf: micro optimizations for vnode creation 2019-10-21 11:30:45 -04:00
Illya Klymov e32da9169b fix(runtime-core): support object syntax for class (#215) 2019-10-11 15:09:37 -04:00
Evan You 9ad7ae479e fix(compiler): export COMMENT instead EMPTY runtime helper 2019-10-11 10:47:59 -04:00
terencez d10b28ae0e refactor(runtime-core): make h() support single vnode child (#181) 2019-10-10 10:17:16 -04:00
Evan You 1393ee52ca types: improve typing 2019-10-08 10:50:10 -04:00
Carlos Rodrigues fbabae0c0a chore: replace some type casts and fix variable and filename typos (#93) 2019-10-05 10:38:02 -04:00
Evan You d67418002f feat(compiler): generate patchFlags for runtime 2019-09-30 21:17:12 -04:00
Evan You 46bd9dbab0 perf: avoid using WeakSet for isRef check 2019-09-30 14:52:10 -04:00
Evan You 7f06981f7c perf: using a _isVNode field is faster than a weakset 2019-09-30 14:52:10 -04:00
Evan You 76a1196935 feat(runtime): support rendering comment nodes 2019-09-24 14:37:14 -04:00
Evan You b30b17d22d test: test nested suspense & nested async deps 2019-09-11 23:44:37 -04:00
Evan You 1dc9d81e3e wip: suspense 2019-09-11 11:10:13 -04:00
Evan You 8b3aa60a18 wip: suspense ideas 2019-09-11 11:10:13 -04:00
Evan You 02e9fe3f7d types: fix typing 2019-09-07 11:45:32 -04:00