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
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
Evan You
a0d570b16d
Revert "feat(compiler-core): hoist element with static ref ( #344 )"
...
Static refs still need to be tracked in dynamicChildren because unmount
also takes the fast path when dynamicChildren is present, and all refs
need to be properly unmounted.
This reverts commit 920773fc6b
.
2019-10-21 15:17:29 -04:00
HcySunYang
920773fc6b
feat(compiler-core): hoist element with static ref ( #344 )
2019-10-21 10:29:17 -04:00
Evan You
1b9bd6912e
perf: v-for fragments do not need to track dynamicChildren
2019-10-21 10:00:45 -04:00
Evan You
6f9692dcdd
chore: cache isStaticNode result for missing branch
2019-10-20 17:01:01 -04:00
Evan You
869ae19c41
fix(compiler): cache handlers should be per-instance, fix hoist w/ cached handlers
2019-10-20 17:00:11 -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
宋铄运
7f23eaf661
feat(core): support dynamic component via <component :is> ( #320 )
2019-10-18 12:09:04 -04:00
Evan You
4b2b29efa1
feat(compiler-core): support Suspense in templates
2019-10-16 17:43:41 -04:00
Evan You
e97951dd2e
feat: emit compiler error for invalid JavaScript expressions
2019-10-16 17:43:41 -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
Evan You
5e97643c85
feat(compiler-core/v-model): generate modelModifiers for component v-model
2019-10-16 15:35:04 -04:00
Evan You
25dd507f71
feat(compiler-core/v-model): error when v-model is used on scope variable
2019-10-16 15:35:04 -04:00
Evan You
5481f76ce8
feat(compiler-core/v-model): avoid patching v-model handler when possible
2019-10-16 15:35:04 -04:00
Evan You
6a75c3463b
feat(compiler-core): do not generate TEXT flag if child is constant
2019-10-16 12:00:55 -04:00
Carlos Rodrigues
6607edab2d
refactor(compiler-core): avoid has call ( #314 )
2019-10-16 10:46:41 -04:00
Carlos Rodrigues
b54c05f751
types: improve typing ( #313 )
2019-10-16 10:15:03 -04:00
HcySunYang
3385480ba7
fix(compiler-core): avoid prefixing empty interpolations ( #290 )
2019-10-15 16:58:01 -04:00
Evan You
74d501829c
chore: use webpack-compatible pure annotation
2019-10-15 12:22:32 -04:00
Evan You
7de3aee317
fix: ensure makeMap calls are tree-shakable
2019-10-15 12:19:46 -04:00
Ayush Goyal
58fffcb987
refactor(core): use makeMap for faster string match checks ( #282 )
2019-10-15 12:11:08 -04:00
Evan You
4cee06ddab
refactor(compiler-core): follow up on #276
2019-10-15 11:51:52 -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
宋铄运
57a94b530d
feat(dom): transform + runtime for v-on ( #213 )
2019-10-14 00:33:23 -04:00
Natalia Tepluhina
5d98c51b74
chore: use name
const consistently ( #249 )
2019-10-12 19:43:36 -04:00
Evan You
acf406b779
fix(compiler-core): fix directive args with empty holes
2019-10-11 20:35:01 -04:00
Evan You
9ad7ae479e
fix(compiler): export COMMENT instead EMPTY runtime helper
2019-10-11 10:47:59 -04:00
Evan You
d376439167
wip(compiler-dom): v-model runtime
2019-10-10 18:02:51 -04:00
Illya Klymov
80f5cb2700
fix(compiler): do not hoist element with dynamic key ( #187 )
2019-10-10 11:19:17 -04:00
Evan You
f11dadc1d2
refactor(compiler): improve member expression check for v-on & v-model
2019-10-10 11:15:24 -04:00
Rahul Kadyan
87c3d2edae
feat(compiler-core): create transform for v-model ( #146 )
2019-10-10 10:33:58 -04:00
Evan You
2967745e7b
refactor: use early return style in v-for
2019-10-09 22:31:27 -04:00
Evan You
93c6aa4c90
feat: v-once
...
Note: only compiler transform is tested - integration with runtime
still needs to be tested.
2019-10-09 17:32:58 -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
eadcaead37
feat(compiler-dom): transform for v-html
2019-10-08 15:35:57 -04:00
Evan You
8da5b007b1
types: improve typing
2019-10-08 12:43:13 -04:00
Evan You
b68eb229c7
types: move scopeIds into PrefixMeta
2019-10-08 12:09:22 -04:00
Evan You
b4d375b0b8
fix(compiler): should not prefix reserved literals ( close #142 )
2019-10-08 11:25:38 -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
3146e6b942
fix(compiler/v-if): avoid incorrect transform application on v-else/else-if branch children
2019-10-07 12:48:43 -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
Carlos Rodrigues
fbabae0c0a
chore: replace some type casts and fix variable and filename typos ( #93 )
2019-10-05 10:38:02 -04:00