Commit Graph

133 Commits

Author SHA1 Message Date
Evan You
9aaef60ad2 wip(ssr): adjust event hydration flag 2020-02-13 18:28:40 -05:00
Evan You
6b505dcd23 wip(ssr): basic element hydration 2020-02-13 17:47:00 -05:00
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
Evan You
3904678306 types: use stricter HostNode typings 2019-09-06 16:58:32 -04:00
Evan You
360f3b4f37 types: improve type exports 2019-09-06 12:58:31 -04:00
Evan You
94a05561f8 feat: fix all cases for h and options type inference 2019-09-05 18:48:49 -04:00
Evan You
369b9eb583 types: props validation for h 2019-09-05 11:11:33 -04:00
Evan You
98d1406214 test: test for app-level APIs 2019-09-03 18:11:04 -04:00
Evan You
32713f8fce feat: createApp / appContext 2019-09-02 16:09:34 -04:00
Evan You
aac807bc63 test: test for directives 2019-09-02 12:09:29 -04:00
Evan You
9b428c6d83 feat: directives 2019-08-31 22:17:46 -04:00
Evan You
a3b0f2bd1c feat: applyDirectives 2019-08-31 16:36:36 -04:00
Evan You
fd1fef5502 test: update fragment tests 2019-08-23 15:27:17 -04:00
Evan You
daf67397ae wip: pass attrs fallthrough tests 2019-08-22 22:07:51 -04:00
Evan You
7bb822c160 wip: cloneVNode + mergeProps 2019-08-22 17:12:39 -04:00
Evan You
f3e9848bb2 refactor: use const enums for flags 2019-08-22 11:12:37 -04:00
Evan You
693938d956 fix: vnode key ref should default to null 2019-06-06 13:04:31 +08:00
Evan You
2848f65a7f wip: refs 2019-06-03 13:44:45 +08:00
Evan You
1681787b43 wip: optimize children shapeFlag 2019-06-02 22:22:44 +08:00
Evan You
6d90ba28d3 wip: include children type in shapeFlag 2019-06-02 19:40:50 +08:00
Evan You
2f1f6b4355 wip: optimize w/ shapeFlag 2019-06-02 16:35:19 +08:00
Evan You
b77709286f chore: comments 2019-06-01 17:47:19 +08:00
Evan You
ee5503b260 chore: remove unused var 2019-06-01 17:44:06 +08:00
Evan You
d6d4ba8679 wip: style/class normalization 2019-06-01 17:43:41 +08:00
Evan You
05556eacb2 wip: always track component nodes 2019-06-01 02:14:49 +08:00
Evan You
c0c06813a7 wip: slots 2019-05-31 18:07:43 +08:00
Evan You
5abada5ed1 chore: comments 2019-05-30 21:24:40 +08:00
Evan You
200c035862 wip: component update fast path 2019-05-30 16:00:42 +08:00
Evan You
6441db45c7 wip: watch 2019-05-29 23:44:59 +08:00
Evan You
453cdcd600 wip: portal 2019-05-29 16:10:25 +08:00
Evan You
19ed750078 wip: lifecycle hooks 2019-05-28 19:36:15 +08:00
Evan You
5c069eeae7 wip: scheduler, more component 2019-05-28 17:19:47 +08:00
Evan You
b69ea00f5c wip: minimal component implementation 2019-05-28 13:27:31 +08:00
Evan You
28a0c50357 refactor: use util methods 2019-05-28 10:28:25 +08:00