Evan You
58593c4714
feat(v-on): cache handlers
2019-10-18 21:51:34 -04:00
Evan You
39ea67a2d2
chore: rename v-on guard constants
2019-10-18 16:36:42 -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
d69d3bf765
fix(reactivity): revert to Reflect.get and add test cases
2019-10-18 15:31:28 -04:00
Dmitry Sharshakov
068902abec
types: fix createComponent type when using simple function ( #334 )
2019-10-18 14:58:15 -04:00
Evan You
b5194b16bf
refactor: rename vnode hooks
...
So that they can be used as @vnodeMounted="..." in templates
2019-10-18 14:54:35 -04:00
扩散性百万甜面包
3cd2f7e68e
types: fix ref unwrapping when nested inside arrays ( #331 )
2019-10-18 14:54:05 -04:00
Dmitry Sharshakov
2238925fbe
feat(core): validate directives names ( #326 )
2019-10-18 12:34:45 -04:00
edison
60961ef5b6
perf(reactivity): optimize the performance of the canObserve
( #330 )
2019-10-18 12:11:58 -04:00
宋铄运
7f23eaf661
feat(core): support dynamic component via <component :is> ( #320 )
2019-10-18 12:09:04 -04:00
Evan You
d179918001
perf: further tweak accessCache
2019-10-17 22:29:51 -04:00
Dmitry Sharshakov
7305f693b1
refactor(runtime-core): extract promise check into shared ( #325 )
2019-10-17 15:47:26 -04:00
大江东去
bb9dca2047
test(compiler-core): add test for custom delimiter ( #315 )
2019-10-17 15:04:52 -04:00
Evan You
e3b68972d8
perf: minor tweaks
2019-10-17 15:02:15 -04:00
Evan You
4771319a15
perf(core): cache property access types on renderProxy
2019-10-17 15:02:15 -04:00
Evan You
cdee65aa1b
perf: revert to _isRef for perf
...
Benchmarking shows checking for a plain property is about 4~5x faster
than checking for a Symbol, likely because the Symbol does not fit well
into V8's hidden class model.
2019-10-17 15:02:14 -04:00
Carlos Rodrigues
6c80e13986
chore: typos [ci-skip] ( #323 )
2019-10-17 15:01:51 -04:00
Evan You
1722dc05c5
fix(runtime-core): handle dynamicChildren when portal is used as a block
2019-10-16 17:43:41 -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
Carlos Rodrigues
48b79d02e8
perf(runtime-core): use faster diff map population ( #319 )
2019-10-16 15:34:51 -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
Evan You
b20b922d99
perf(v-for): use faster array population in renderList
2019-10-16 10:42:25 -04:00
xiaoboost
32499b16e7
types: improve typing ( #309 )
2019-10-16 10:31:40 -04:00
Carlos Rodrigues
b54c05f751
types: improve typing ( #313 )
2019-10-16 10:15:03 -04:00
Ruijia Tang
3e51200bae
chore: Remove unnecessary console.log ( #312 )
2019-10-16 10:11:13 -04:00
Dmitry Sharshakov
0bac763f5a
feat(directives): add support for function directives ( #252 )
2019-10-16 02:12:26 -04:00
Tidyzq
a72652f6e6
refactor(reactivity): immediate return ( #301 )
2019-10-16 01:58:11 -04:00
likui
29811d1fe8
test(compiler-dom): add test for vModel transform ( #289 )
2019-10-16 01:47:58 -04:00
Evan You
6f3e768d52
refactor: use makeMap in v-on dom transform
2019-10-15 22:29:52 -04:00
Evan You
65a0207c7b
test: test runtime compilation error warning
2019-10-15 22:19:19 -04:00
Jian Zhang
cf12d18b4b
refactor(runtime-core): isBuiltInTag -> use makeMap instead of Set ( #307 )
2019-10-15 22:18:55 -04:00
月迷津渡
f71bf2f1d3
feat: add isCustomElement option ( #299 )
2019-10-15 17:30:47 -04:00
宋铄运
db5c343c33
test(runtime-dom): add test coverage for v-on runtime guards, fix "exact" guard ( #298 )
2019-10-15 17:08:43 -04:00
HcySunYang
3385480ba7
fix(compiler-core): avoid prefixing empty interpolations ( #290 )
2019-10-15 16:58:01 -04:00
Adam Lewkowicz
555e3be69d
types(watch): allow readonly arrays for watching multiple sources ( #281 )
2019-10-15 16:44:14 -04:00
Carlos Rodrigues
0b2573f3d1
types(runtime-dom): cast to the correct eventType instead of any ( #292 )
2019-10-15 12:26:19 -04:00
MichealXie
a3032b9b39
types: use Omit
instead of Pick + Exclude
( #296 )
2019-10-15 12:24:16 -04:00
Cr
8eba1aba08
feat(vModel): warn if v-model is used on file input ( #295 )
2019-10-15 12:23:38 -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
e3b14f5904
chore: comments grammar
2019-10-15 12:02:12 -04:00
edison
b5209277de
refactor(reactivity): define hadKey if necessary ( #288 )
2019-10-15 11:59:40 -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
夜宴
9a37c4b2c3
refactor(effect): use includes instead of indexOf ( #286 )
2019-10-15 11:18:26 -04:00
fisker Cheung
1fbb4d22fa
chore: use const
instead of let
( #283 )
2019-10-14 23:15:36 -04:00
fisker Cheung
e5d60a0f7a
types: use hook type in options ( #284 )
2019-10-14 23:15:09 -04:00
Evan You
c7074c703e
refactor(v-on): do not generate persistent flag when no listener modifier is present
2019-10-14 23:06:51 -04:00
Evan You
2d6d5d4517
chore: move events.spec.ts
2019-10-14 17:46:30 -04:00
Evan You
2b3d5b3f96
chore: move vModel.spec.ts
2019-10-14 17:45:15 -04:00
Evan You
8df3e0a41e
refactor: move looseEqual to vModel
2019-10-14 17:40:56 -04:00
Evan You
004223ade6
chore: use consistent type signature
2019-10-14 17:12:02 -04:00
Stanislav Lashmanov
b4eeb2fa1b
test(runtime-dom): vModel tests ( #255 )
2019-10-14 17:07:34 -04:00
月迷津渡
66023a8886
feat: runtime component name validation ( #217 )
2019-10-14 15:36:29 -04:00
Dmitry Sharshakov
fd209f5a66
feat(core): export version ( #254 )
2019-10-14 15:31:43 -04:00
terencez
4547d85a38
feat(compiler-core): support <portal> in template ( #203 )
2019-10-14 15:11:04 -04:00
Evan You
37cbd0098d
chore: lint + include tsx files for lint
2019-10-14 15:07:43 -04:00
Evan You
6b3ad95fa4
fix(watch): type inference for computed refs
2019-10-14 12:15:09 -04:00
Cr
6bd26636c3
test: add test for resolveAsset ( #273 )
2019-10-14 11:56:02 -04:00
Evan You
1c56d1bf19
test: test unwrapping computed refs
2019-10-14 11:21:09 -04:00
Jooger
d8b2b9eb9c
types(ref): improve UnwrapRef types ( #266 )
2019-10-14 11:02:49 -04:00
Cr
d2bcedb213
feat(apiOptions): warn invalid computed options ( #225 )
2019-10-14 02:15:31 -04:00
Evan You
82b5978e9c
build: further shave off runtime compile only code
2019-10-14 01:08:00 -04:00
宋铄运
57a94b530d
feat(dom): transform + runtime for v-on ( #213 )
2019-10-14 00:33:23 -04:00
Jooger
312907c9d8
refactor(scheduler): replace try catch with callWithErrorHandling ( #264 )
2019-10-14 00:32:01 -04:00
fisker Cheung
70a142c203
refactor(runtime-core): programmatically create lifecycle APIs for DRYness ( #246 )
2019-10-13 23:18:34 -04:00
Dmitry Sharshakov
7fd1fdde28
refactor(scheduler): minor refactors ( #240 )
2019-10-13 22:41:23 -04:00
Dmitry Sharshakov
374a85b861
types: improve directive typing ( #253 )
2019-10-13 22:40:29 -04:00
Evan You
8e5ea98ccd
Revert "chore: remove useless else ( #245 )" ( #257 )
...
This reverts commit 971cebc61c
.
2019-10-12 22:52:11 -04:00
fisker Cheung
971cebc61c
chore: remove useless else ( #245 )
2019-10-12 20:12:09 -04:00
likui
46e64b257c
feat(compiler-core/runtime-core): show codeframe in runtime compile errors ( #220 )
2019-10-12 19:49:23 -04:00
Dmitry Sharshakov
78d1821e24
refactor(componentProxy): simplify proxy handling ( #214 )
2019-10-12 19:44:30 -04:00
Natalia Tepluhina
5d98c51b74
chore: use name
const consistently ( #249 )
2019-10-12 19:43:36 -04:00
fisker Cheung
cdc143d348
refactor(runtime-core): use Array.from
instead of loop over iterable
( #250 )
2019-10-12 19:34:22 -04:00
Sangeeth Sudheer
96681942c1
types: remove unnecessary types ( #234 )
2019-10-12 19:33:48 -04:00
fisker Cheung
9371e65187
refactor(runtime-dom): use findIndex
instead of loop ( #244 )
2019-10-12 19:32:47 -04:00
Evan You
a7eefaff1e
refactor(runtime-dom): remove xlink support since it's been deprecated
2019-10-12 19:25:04 -04:00
Jooger
675ce2c15d
types(reactivity): fix ref typing ( #239 )
2019-10-12 11:05:34 -04:00
Sharvilak
ed5a42e588
refactor(runetime-core): removed unnecessary condition check ( #237 )
2019-10-12 11:00:29 -04:00
Cong Min
ec05469b1a
chore: use Boolean to filter empty ( #228 )
2019-10-12 10:55:35 -04:00
Cr
64c7be3763
chore: remove redundant type cast ( #230 )
2019-10-12 10:46:10 -04:00
HcySunYang
4587f4f7c9
chore: consistent call to the newline function ( #222 )
2019-10-12 10:30:39 -04:00
Cr
f3760f7d34
types: add missing properties to ComponentPublicInstance interface ( #218 )
2019-10-12 10:30:21 -04:00
Chester
e68321eac0
chore: use '' instead of undefined ( #205 )
2019-10-11 22:04:33 -04:00
Evan You
14aabf0f98
feat(v-model): number/trim modifier + array checkbox support
2019-10-11 20:35:25 -04:00
Evan You
acf406b779
fix(compiler-core): fix directive args with empty holes
2019-10-11 20:35:01 -04:00
Evan You
59e18e5478
fix(runtime-dom): cast to true for boolean props
2019-10-11 18:59:39 -04:00
Evan You
b0156b5df3
chore: improve formatting
2019-10-11 18:07:18 -04:00
Evan You
1b06b3c424
perf: avoid parentNode call when dynamic child is not a Fragment
2019-10-11 18:06:24 -04:00
Evan You
a42ad6cc9d
feat(runtime-dom): v-model directive runtime
2019-10-11 17:55:34 -04:00
Leonardo Piccioni de Almeida
a371b2ec0e
chore: fix typo ( #216 )
2019-10-11 15:09:57 -04:00
Illya Klymov
e32da9169b
fix(runtime-core): support object syntax for class ( #215 )
2019-10-11 15:09:37 -04:00
Evan You
5f28708cb9
test(vnode): tests for shapeFlag and cloneVNode
2019-10-11 11:48:20 -04:00
Evan You
e57d686b9a
test(vnode): tests for normlaizeVNode
2019-10-11 11:41:28 -04:00
Evan You
95d7e1f471
feat: log on the fly template compilation error
2019-10-11 11:16:20 -04:00
Illya Klymov
584ac88b54
fix(compiler): update v-if directive to use Comment instead of Empty ( #208 )
2019-10-11 11:04:55 -04:00
Evan You
35d31a2ba2
chore: remove duplicate helperNameMap entry
2019-10-11 10:49:35 -04:00
Evan You
9ad7ae479e
fix(compiler): export COMMENT instead EMPTY runtime helper
2019-10-11 10:47:59 -04:00
Carlos Rodrigues
a84490858f
test(compiler-dom): add DOM compiler integration compile test ( #189 )
2019-10-11 10:13:55 -04:00
Cr
3cdefdbe2d
test: add array of objects class test case for mergeProps ( #201 )
2019-10-11 10:13:04 -04:00
herochen
056764ce47
chore: typo ( #198 )
2019-10-11 09:59:52 -04:00
Evan You
ba4e6e5b4d
test: make dom events spec more stable
2019-10-10 22:02:41 -04:00
Dmitry Sharshakov
26ab5f62cd
test(runtime-test): add more tests ( #194 )
2019-10-10 21:53:15 -04:00
Evan You
e6d0d08a43
test(compiler): test for DirectiveTransform returning needRuntime: Symbol
2019-10-10 18:05:43 -04:00
Evan You
d376439167
wip(compiler-dom): v-model runtime
2019-10-10 18:02:51 -04:00
Evan You
145559e170
chore: remove debugger
2019-10-10 15:37:28 -04:00
Adam Dorling
497ed19277
chore: remove copy-paste comment from v-cloak ( #193 )
2019-10-10 14:54:50 -04:00
月迷津渡
78f60347dc
feat(compiler): add isNativeTag option for determining element type ( #139 )
2019-10-10 14:54:06 -04:00
Evan You
46d875f4e8
fix(runtime-core): use correct parentNode when patching dynamicChildren ( close #98 )
2019-10-10 14:49:35 -04:00
Evan You
58772c62f6
workflow: persist template explorer state via localStorage
2019-10-10 14:08:28 -04:00
Dmitry Sharshakov
1139368dc2
types: improve writable computed types ( #192 )
2019-10-10 14:08:12 -04:00
月迷津渡
f71d252ffe
fix(compiler-core): assest id ( #190 )
...
* fix(compile-core): asset id
* test(compile-core): asset id
2019-10-10 13:55:26 -04:00
Cédric Exbrayat
4ca32c537d
test(compiler): fix copy paste in v-once spec ( #191 )
2019-10-10 13:54:22 -04:00
相学长
cbb4b19cfb
feat(reactivity): ref(Ref) should return Ref ( #180 )
2019-10-10 11:34:42 -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
二当家的
99bdc5a8c8
chore: correct typo ( #188 )
2019-10-10 10:26:13 -04:00
Carlos Rodrigues
8cb56ddb81
feat: added transformVText to directiveTransform ( #182 )
2019-10-10 10:18:19 -04:00
terencez
d10b28ae0e
refactor(runtime-core): make h() support single vnode child ( #181 )
2019-10-10 10:17:16 -04:00
唐道海
b7b89505eb
test(reactivity/effect): add test for lazy option ( #179 )
2019-10-10 10:12:27 -04:00
Cr
211f5b7a45
test: add more complete test for componentProxy ( #174 )
2019-10-10 10:02:55 -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
Evan You
5dfb271551
feat(compiler): implement support for v-pre
2019-10-09 16:00:08 -04:00
Stanislav Lashmanov
08df965e3c
feat(runtime-dom): support event options ( #149 )
2019-10-09 15:05:21 -04:00
Evan You
954f3f7560
chore: format globals whitelist
2019-10-09 14:16:11 -04:00
Tim van den Eijnden
0177355242
fix: add warnings ( #82 )
...
* fix: add warnings
- invalid watch handler path
- attempting to mutate readonly computed value
- attempt of mutating public property
- attempt of mutating prop
* fix: more descriptive warnings + details
* fix: test apiOptions warnings
* fix: update warning in componentProxy
* fix: update warnings in componentProxy & apiOptions
* fix: update warning in componentProxy
* fix: implemented tests for componentProxy
* fix: remove comment + small refactor
2019-10-09 14:03:21 -04:00
扩散性百万甜面包
def27239bd
type: improve typing ( #177 )
2019-10-09 14:01:53 -04:00
Evan You
8f1475b8dd
refactor(reactivity): use NOOP for readonly computed setter in production
2019-10-09 12:22:08 -04:00
Dmitry Sharshakov
530be302fc
feat(computed): warn if trying to set a readonly computed ( #161 )
2019-10-09 12:20:53 -04:00
terencez
7963c01a67
types(runtime-core): simplify types in createComponentInstance() ( #170 )
2019-10-09 12:17:42 -04:00
terencez
dadfb27eed
refactor(reactivity): prefer to use effect symbol and add isEffect() ( #169 )
2019-10-09 12:16:29 -04:00
terencez
ff68db46ea
fix(reactivity): avoid triggering effect when deleting property returns false ( #168 )
2019-10-09 11:55:57 -04:00
Cr
b9a4d8d088
refactor(reactivity): use function isSymbol instead of typeof ( #155 )
2019-10-09 11:49:23 -04:00
Evan You
b255f42ab3
types: fix error inference for public compile method
2019-10-09 11:30:56 -04:00
蓝色的秋风
f97d6e7d63
refactor(shared): use Array literal instead of split for global whitelist Set creation ( #173 )
2019-10-09 11:28:52 -04:00
Evan You
f91d335e65
feat(compiler): v-text transform + move dom-specific errros codes to compiler-dom
2019-10-09 11:13:13 -04:00
Adam Dorling
21441830dd
feat(compiler-dom): v-cloak transform ( #141 )
2019-10-09 10:41:31 -04:00
Tim van den Eijnden
b107401e71
test(vnode): partial tests for vnode creation ( #116 )
2019-10-09 10:28:43 -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
723dc8791b
workflow: make template-explorer error tolerant
2019-10-08 17:31:22 -04:00
Evan You
0615cf0108
refactor(compiler): flush transform onExit in reverse
2019-10-08 16:53:26 -04:00
Evan You
e8ee163fdd
chore: remove unnecessary type cast
2019-10-08 15:58:35 -04:00
Evan You
eadcaead37
feat(compiler-dom): transform for v-html
2019-10-08 15:35:57 -04:00
扩散性百万甜面包
80e5b16f99
types: improve type 'ReactiveEffect' with generics ( #99 )
2019-10-08 13:48:13 -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
f15528350e
test: test expression transform for reserved literals
2019-10-08 11:27:48 -04:00
Evan You
b4d375b0b8
fix(compiler): should not prefix reserved literals ( close #142 )
2019-10-08 11:25:38 -04:00
夜宴
8d10096d24
test(reactivity): check for key in entries iteration ( #152 )
2019-10-08 11:00:20 -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
1393ee52ca
types: improve typing
2019-10-08 10:50:10 -04:00
扩散性百万甜面包
016231d09f
types: improve type for WatchHandler ( #160 )
2019-10-08 10:48:24 -04:00
Evan You
57a5c61320
test: tests for hoistStatic
2019-10-07 17:12:22 -04:00
Evan You
802ecccc49
refactor: give runtimeHelper symbols more readable names during dev
2019-10-07 13:32:29 -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
caaeaff2fd
refactor(runtime-dom/events): use more explicit variable name to avoid shadowing
2019-10-07 10:57:35 -04:00
Stanislav Lashmanov
6d5c12b63a
fix(runtime-dom/events): fix wrong scope for event value ( #117 )
2019-10-07 10:56:24 -04:00
Kyle Hall
fd1d7833e2
test(runtime-core): createSlots method ( #119 )
2019-10-06 20:19:44 -04:00
Alexander Zibert
4605f43b95
test(reactivity): fixed small copy & paste error ( #140 )
2019-10-06 20:18:47 -04:00
Andrew / Kana
c6b7afcc23
types: use recursion for unwrapping refs ( #137 )
2019-10-06 20:11:52 -04:00
月迷津渡
4fc2174dce
workflow(template-explorer): improve types ( #128 )
2019-10-06 11:55:23 -04:00
Carlos Rodrigues
8d70093802
refactor(reactivity): change _isRef to use refSymbol as key ( #124 )
2019-10-06 11:46:08 -04:00
Evan You
12b7557e8f
chore: remove no longer necessary global Vue
2019-10-06 11:39:20 -04:00
Stanislav Lashmanov
b7a9c25f14
fix: expose Vue to compiled template ( #120 )
...
This removes the reliance on `Vue` being exposed as a global.
2019-10-06 11:38:05 -04:00
扩散性百万甜面包
d2d32d3810
refactor: rename param on function watch ( #134 )
2019-10-06 11:27:09 -04:00
月迷津渡
5eacfaf210
fix(reactivity): explicitly do type conversions in warning strings ( #129 )
2019-10-06 11:26:33 -04:00
Carlos Rodrigues
3d975247cd
types: cleanup some unnecessary typing in reactivity ( #126 )
2019-10-06 11:22:32 -04:00
Evan You
31345b5af9
workflow(template-explorer): persist compilerOptions
2019-10-05 23:29:14 -04:00
Jordan Pittman
a8c82909fa
test: Add tests for some runtime helpers ( #87 )
...
* test for `renderList`
* test for `toHandlers`
2019-10-05 23:22:42 -04:00
Evan You
c4f9b6d592
test: fix import
2019-10-05 23:20:02 -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
Rahul Kadyan
f58e5e96f2
types: Use unique symbol type for _isRef property of ref object ( #118 )
2019-10-05 22:32:50 -04:00
扩散性百万甜面包
caa9297da6
refactor: move writable check out of computed setter ( #112 )
2019-10-05 15:48:05 -04:00
扩散性百万甜面包
0bdee72e17
feat(reactivity): use Symbol for Ref._isRef ( #114 )
2019-10-05 15:46:36 -04:00
Andrey Sukhonosov
de9507b6ff
fix(compiler/codegen): add simple expression node opening bracket for ConditionalExpression ( #110 )
2019-10-05 15:42:49 -04:00
扩散性百万甜面包
842f235ede
chore: fix typo ( #108 )
2019-10-05 15:39:47 -04:00
Carlos Rodrigues
8133b3867a
test: improve tests and typing for runtime-core ( #100 )
...
* test: add test case for declaring Array prop type with constructor casting in `createComponent`
* test: add test case for `setup(props)` with explicit props declaration
2019-10-05 15:37:55 -04:00
Vladimir
f48a2ffc76
chore: fix typos ( #103 )
2019-10-05 10:48:54 -04:00
扩散性百万甜面包
ec8f7c6375
chore: simplify code in apiWatch.ts ( #101 )
2019-10-05 10:44:02 -04:00
Carlos Rodrigues
600ec5de42
chore: improve typings in reactivity tests ( #96 )
2019-10-05 10:39:40 -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
Carlos Rodrigues
23ff681418
chore: fix comment typos ( #94 )
2019-10-05 10:35:19 -04:00
zrh122
12abcba2c5
chore: fix typo in codegen ( #92 )
2019-10-05 10:29:50 -04:00
taiyop
a84a2b252d
chore: fix typo in vBind.ts ( #91 )
2019-10-05 10:26:32 -04:00
夜宴
eaf4f67c62
chore: spelling mistake in ast.ts ( #88 )
2019-10-05 10:23:25 -04:00
扩散性百万甜面包
5c1e42f754
types: improve type 'Ref' ( #105 )
2019-10-05 10:10:37 -04:00
月迷津渡
9d6783053c
types: simplify types ( #104 )
2019-10-05 10:09:34 -04:00
Reed Jones
ca70aff860
chore: fix docs typo in vOn.ts ( #86 )
2019-10-04 23:12:49 -04:00
Evan You
21666243e9
fix(compiler): props hoist should also work on elements w/ TEXT flag
2019-10-04 22:51:51 -04:00
Evan You
9c9ef609d8
fix: import patchFlags from @vue/shared in compiler instead
...
Otherwise this imports unnecessary stuff from the runtime.
2019-10-04 22:47:09 -04:00
Evan You
a0f442f1d4
workflow: include commit link in template explorer
2019-10-04 22:40:54 -04:00
Martin Rojo
ea4a352ee6
fix(typo): transformSlotOutlet name correction ( #83 )
2019-10-04 22:12:51 -04:00
Evan You
6dfb62e1ac
workflow: use CDN deps for template explorer so it can be easily deployed
2019-10-04 17:55:55 -04:00
Evan You
0873254c6c
workflow: improve template explorer
2019-10-04 17:43:20 -04:00
Evan You
277651ce89
fix(compiler): avoid hoisting components and directive calls
2019-10-04 14:34:26 -04:00
Evan You
5047bc8dbe
workflow: basic template explorer
2019-10-04 13:08:17 -04:00
Evan You
b61d9652dd
chore: shorten option name
2019-10-04 09:03:00 -04:00
Evan You
caccf92721
test: fix vbind tests
2019-10-04 08:38:53 -04:00
Evan You
6059fe69e8
fix(compiler): patchFlag analysis should factor in props returned by directive transforms
2019-10-04 08:37:10 -04:00
Evan You
095f5edf8d
feat(compiler): hoist static trees
2019-10-03 23:30:25 -04:00
Evan You
2e2b6924da
feat(compiler): v-on inline statement handling
2019-10-03 17:47:00 -04:00
Evan You
3354837ce1
refactor: move transformStyle to compiler-dom
2019-10-03 16:55:14 -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
4dea23f79e
fix(compiler): exclude BAIL flag in annotations
2019-10-03 15:17:45 -04:00
Evan You
227ad034f0
feat(compiler/slot): bail out of optimization mode for non-compiled slots
2019-10-03 15:09:09 -04:00
Evan You
05db2a9c6c
wip(compiler): adjust renderSlot() signature
2019-10-03 14:29:12 -04:00
Evan You
306c22efe1
feat(compiler): mark compiler-generated slots for runtime
2019-10-03 14:08:14 -04:00
Evan You
aa9245d55c
feat(compiler): render <slot/> as block fragments
2019-10-03 12:03: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
e90b83600a
test(compiler): tests for RootNode codegen transform
2019-10-02 14:03:28 -04:00
Evan You
24bd6c27e0
feat(compiler): block optimization codegen for RootNode
2019-10-02 13:11:07 -04:00
Evan You
b33f0ceff1
refactor(compiler): switch to acorn
2019-10-02 11:05:56 -04:00
Evan You
9c9dd73017
chore: fix outdated patchFlag
2019-10-02 10:59:47 -04:00
Evan You
bec01c93bd
fix(compiler): v-for fragments should be blocks
2019-10-02 10:47:01 -04:00
Evan You
191db785bd
refactor: use global whitelist for render proxy has check
2019-10-02 10:37:06 -04:00
Evan You
d87255ce46
fix(options): data options should preserve original object if possible
2019-10-02 10:03:43 -04:00
Evan You
5ab1d75c39
fix(options): fix renderTriggered option translation
2019-10-02 09:46:29 -04:00
Evan You
fe36555d9e
feat(compiler): generate TEXT patchFlag
2019-10-02 00:19:23 -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
07955e6c96
test(compiler): tests for v-for codegen w/ block optimization
2019-10-01 21:00:55 -04:00
Evan You
65661b5ec0
test: restructure v-if & v-for tests
2019-10-01 17:58:09 -04:00
Evan You
4fc963bc5a
feat(compiler): annotate patchFlags in generated code
2019-10-01 17:53:57 -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
ed111cd37b
test(compiler): tests for vIf codegen w/ blocks optimization
2019-10-01 15:05:08 -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
da0d785d84
test: record snapshots for text optimization
2019-09-30 14:58:20 -04:00
Evan You
e5e40e1e38
feat(compiler): optimize text by merging adjacent nodes
2019-09-30 14:52:10 -04:00
Evan You
7ee07447c5
wip: drop class opt for now + move lazy requires to utils
2019-09-30 14:52:10 -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
389a07835c
feat(compiler): handle complex destructure expressions in v-for
2019-09-28 16:02:08 -04:00
Evan You
798a9cbe9b
test: improve coverage
2019-09-28 14:15:10 -04:00
Evan You
1c410205de
test(compiler): test v-slot transform
2019-09-28 14:05:10 -04:00
Evan You
96749e0178
test: test slotFunction codegen
2019-09-28 13:12:41 -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
6377af483b
fix(compiler): improve auto prefixing cases
2019-09-27 23:20:26 -04:00
Evan You
262be6733c
wip(compiler): tweak codegen, avoid duplicated asset resolution, improve formatting
2019-09-27 22:49:20 -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
d900c13efb
refactor(compiler): separate Interpolation, SimpleExpression & CompoundExpression types
2019-09-27 11:42:02 -04:00
Evan You
d491a022a7
refactor(compiler): provide context.resetMapping()
2019-09-27 09:25:52 -04:00
Rahul Kadyan
a407b16b2b
fix(compiler): generate correct mappings for v-for and object properties ( #69 )
2019-09-27 09:19:03 -04:00
Evan You
63b6902bdb
feat(compiler): correct source map generation
2019-09-26 14:55:53 -04:00
Evan You
2e3a1ff3c3
fix: do not use lookbehind regex yet
2019-09-26 12:22:31 -04:00
Evan You
7c030ee899
build: adjust compiler-core export to avoid collision
2019-09-26 11:51:04 -04:00
Evan You
3bba461128
feat(compiler): include names in source map
2019-09-26 10:14:02 -04:00
Evan You
ac7587fdb5
test: compiler integration tests
2019-09-25 22:29:37 -04:00
Evan You
b5d21aeff7
test: test for transformStyle
2019-09-25 21:02:46 -04:00
Evan You
6c8f226a79
fix: fix source map by fixing advancePositionWithMutation
2019-09-25 19:17:45 -04:00
Evan You
ff2313e43a
wip(compiler): adjust statement positions
2019-09-25 15:09:58 -04:00
Evan You
b43f3b61b7
feat(compiler): transformStyle + context.hoist
2019-09-25 14:13:33 -04:00
Evan You
3e8cd3f25f
wip(compiler): property deduping
2019-09-25 12:39:46 -04:00
Evan You
f79433cbb3
feat(compiler): include ast in compile result
2019-09-25 09:23:34 -04:00
Evan You
d6852c5669
chore: fix comment
2019-09-25 07:30:14 -04:00
Evan You
61be769ce6
test: move source map test to compile.spec.ts
2019-09-24 23:01:57 -04:00
Evan You
af585081b1
test: test the right branches of code
2019-09-24 22:56:57 -04:00
Evan You
642a44f8f0
chore: fix browser build treeshaking for transformExpression
2019-09-24 22:50:00 -04:00
Evan You
84909648e7
test: tests for v-on transform
2019-09-24 22:39:20 -04:00
Evan You
597ada36ed
test: tests for v-bind transform
2019-09-24 22:03:28 -04:00
Evan You
6ad84614f7
feat: renderList helper for v-for
2019-09-24 21:32:29 -04:00
Evan You
9b06e04e0f
feat: v-on with no argument
2019-09-24 20:51:48 -04:00
Evan You
0707fa5d21
test: more coverage
2019-09-24 16:40:32 -04:00
Evan You
cae03f616d
test: improve coverage
2019-09-24 16:35:01 -04:00
Evan You
e67084e5a1
chore: test todos
2019-09-24 15:51:52 -04:00
Evan You
7a46e51815
test: tests for codegen
2019-09-24 15:49:02 -04:00
Evan You
76a1196935
feat(runtime): support rendering comment nodes
2019-09-24 14:37:14 -04:00
Evan You
f5b3f580f1
test: finish tests for transformExpression
2019-09-24 12:13:08 -04:00
Evan You
4a82e7cdbc
wip: test for transformExpression
2019-09-24 12:13:08 -04:00
Evan You
dcf4764360
test: test transformElements
2019-09-23 20:45:40 -04:00
Evan You
c20975ec68
test: refactor vIf tests
2019-09-23 17:31:11 -04:00
Evan You
f0d4eec946
test: refactor vFor tests
2019-09-23 17:16:07 -04:00
Evan You
b3b67b8c7d
feat(compiler): ensure interpolation expressions are wrapped with toString()
2019-09-23 15:36:30 -04:00
Evan You
e09e887219
fix: handle nested scope identifiers
2019-09-23 13:56:56 -04:00
Evan You
88e5e96a3e
refactor: useWith -> prefixIdentifiers
2019-09-23 13:29:52 -04:00
Evan You
e57cb51066
feat(compiler): expression prefixing + v-for scope analysis
2019-09-23 13:29:52 -04:00
Evan You
b04be6a561
wip: fix transform order
2019-09-23 13:29:52 -04:00
Evan You
bb8524e199
wip: expression rewrite
2019-09-23 13:29:52 -04:00
Evan You
70656690e2
chore: fix todo
2019-09-23 13:29:52 -04:00
Evan You
8076ce1f28
feat(compiler): handle runtime helper injection
2019-09-22 23:07:36 -04:00
Evan You
914087edea
feat(compiler): basic v-bind & v-on transforms
2019-09-22 22:19:42 -04:00
Evan You
3ab016e44f
wip: improve v-if & v-for codegen output formatting
2019-09-22 21:10:22 -04:00
Evan You
e8463f1198
chore: rename test dir
2019-09-22 20:56:24 -04:00
Evan You
0af0febfc2
fix: make sure v-if and v-for work together
2019-09-22 20:55:18 -04:00
Evan You
3415bbd823
wip: improve v-if codegen output formatting
2019-09-22 17:06:46 -04:00
Evan You
9c01e0bf0d
fix(transform): transform should still apply even when node is removed
2019-09-22 17:02:32 -04:00
Evan You
3a177a18d2
feat(compiler): element codegen
2019-09-22 16:50:57 -04:00
Evan You
40307d9642
chore: fix parserOptions usage of props
2019-09-22 13:05:19 -04:00
Evan You
3f05315d17
test: fix tests
2019-09-21 17:48:17 -04:00
Evan You
baa8954884
feat(compiler): element transform
2019-09-21 17:42:12 -04:00
Evan You
93440bba97
wip: element transforms
2019-09-21 15:47:26 -04:00
Haoqun Jiang
b275f8697d
test: add tests for rendererChildren ( #52 )
...
* test: [wip] add tests for rendererChildren
* chore: use serializeInner for clearer output
* fix: should remove the text node if content is empty
* test: also test for appended content
* test: inserting & removing
* test: moving children
* refactor: use a helper function
* test: finish tests
* test: duplicate keys tests belong to keyed children block
* fix(runtime-test): fix insert when moving node in the same parent
* fix: fix failing test cases for rendererChildren
* test: handle rendererChildren edge case
2019-09-20 18:17:35 -04:00
Evan You
c78d47b788
feat(compiler): set sourcesContent for source map
2019-09-20 12:19:52 -04:00
Evan You
8a923f6a52
refactor: move compile into compiler-core
2019-09-20 12:16:19 -04:00
Evan You
3e1973f065
test: test on-the-fly compilation
2019-09-20 00:56:02 -04:00
Evan You
3ddd121b19
feat: on-the-fly template compilation
2019-09-20 00:24:16 -04:00
Evan You
d7aab859a3
feat: expose compiler APIs
2019-09-20 00:12:37 -04:00
Evan You
3b5ef483a9
build: move named char references to json file to speed up build
2019-09-19 23:19:48 -04:00
Evan You
9b1a548c6b
feat(compiler): basic codegen with source map support
2019-09-19 23:05:51 -04:00
Evan You
98571ab496
perf(compiler): further improve advanceBy perf
2019-09-19 21:18:18 -04:00
Evan You
2b4f06b24c
test(compiler): transformIf
2019-09-19 15:41:17 -04:00
Evan You
81fd694dd7
perf: avoid cloning in parser advanceBy
2019-09-19 13:59:24 -04:00
Evan You
4c3e7e331a
refactor: cleanup unused variables in vFor
2019-09-19 13:48:32 -04:00
Evan You
06c890c336
test: update snapshots
2019-09-19 13:40:08 -04:00
Evan You
1f96d2348f
chore: nest v-for tests
2019-09-19 13:36:27 -04:00
Evan You
5f49018601
test(compiler): tests for ast transform
2019-09-19 13:24:02 -04:00
Rahul Kadyan
10c1a2b332
feat(compiler-core): add parser transform for v-for directive ( #65 )
...
* feat(compiler-core): add parser transform for v-for directive
* fix: Include source location for expressions
* chore: remove comment
* refactor(compiler-core): extract hepler functions to utils
2019-09-19 13:23:49 -04:00
Evan You
bbb57c26a2
feat(compiler): basic transform implementation
2019-09-17 19:08:47 -04:00
Evan You
a5c1b3283d
chore: avoid object.freeze in prod
2019-09-17 16:23:29 -04:00
Evan You
f595b006c2
chore: regex caching makes no difference
2019-09-17 12:26:09 -04:00
Evan You
132cef9063
refactor: further tweak compiler layers
2019-09-17 11:57:37 -04:00
Evan You
6c14b409ca
refactor: move dom-specific options to compiler-dom
2019-09-17 11:57:37 -04:00
Evan You
54b200fe54
wip: layout compiler files
2019-09-16 16:31:54 -04:00
Evan You
ca387afeea
chore: more restructuring
2019-09-16 15:27:40 -04:00
Evan You
16fa44bd57
chore: organize file structure
2019-09-16 15:11:45 -04:00
Evan You
1c8f5b612a
feat(compiler): scaffold compiler-dom
2019-09-16 15:06:45 -04:00
Evan You
86ae92303d
feat(compiler): port parser implementation based on work by @znck and @mysticatea
2019-09-16 14:43:29 -04:00
Evan You
54a78f3856
chore: remove unnecessary enum initial value
2019-09-16 13:15:20 -04:00
Evan You
95e796fdb6
test: fix suspense tests in Node 12
2019-09-14 12:13:51 -04:00
Evan You
a83ee65e30
fix: fix reactivity cjs entry
2019-09-14 11:26:53 -04:00
Evan You
1c628d0b79
feat: re-suspense when encountering new async deps in resolved state
2019-09-12 12:16:01 -04:00
Evan You
4b3567035a
test: further improve suspense combined test case
2019-09-12 10:40:17 -04:00
Evan You
dfcf494483
test: more comprehesive combined suspense test
2019-09-12 10:31:56 -04:00
Evan You
3b1d87efbe
test: test suspense error handling
2019-09-12 01:52:14 -04:00
Evan You
b378b17076
chore: remove unnecessary code
2019-09-12 00:37:44 -04:00
Evan You
b30b17d22d
test: test nested suspense & nested async deps
2019-09-11 23:44:37 -04:00
Evan You
bbc3442c52
refactor: move resolveSuspense out
2019-09-11 17:38:26 -04:00
Evan You
6dc91971d1
wip(suspense): discard side effects when content is unmounted before resolve
2019-09-11 13:22:18 -04:00
Evan You
ccfcdb8746
test: more tests for suspense
2019-09-11 11:10:14 -04:00
Evan You
dff4e7cd44
fix: patching a component with pending async setup should update its props and slots
2019-09-11 11:10:13 -04:00
Evan You
356a01780b
wip: watcher callback handling inside suspense
2019-09-11 11:10:13 -04:00
Evan You
51914c76e8
wip: do not fire lifecycle hooks when already unmounted
2019-09-11 11:10:13 -04:00