Commit Graph

1836 Commits

Author SHA1 Message Date
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
Evan You
6bc368b2b6 wip: only buffer suspense effects when unresolved 2019-09-11 11:10:13 -04:00
Evan You
9ef987830d wip: suspense buffer effects 2019-09-11 11:10:13 -04:00
Evan You
42967f1f5a wip: pass proper args to patchDOMProp 2019-09-11 11:10:13 -04:00
Evan You
2677c91aba wip: pass suspense down as argument 2019-09-11 11:10:13 -04:00
Evan You
0fff3a6ef5 wip: handle suspense as component root el update 2019-09-11 11:10:13 -04:00
Evan You
3959a2a2e1 test: test suspense fallback 2019-09-11 11:10:13 -04:00
Evan You
a16c87be63 wip: suspense refactor 2019-09-11 11:10:13 -04:00
Evan You
c9e625864a wip: retry suspense async deps from resolved dep instead of root 2019-09-11 11:10:13 -04:00
Evan You
0d176ebf2a test: update test 2019-09-11 11:10:13 -04:00
Evan You
bd15138ef5 test: basic test for suspense 2019-09-11 11:10:13 -04:00
Evan You
e688e69b1f wip: handle move and unmount for suspense 2019-09-11 11:10:13 -04:00
Evan You
d5e9682040 wip: suspense feature flag 2019-09-11 11:10:13 -04:00
Evan You
7e70acf9c2 chore: todos 2019-09-11 11:10:13 -04:00
Evan You
02bb156314 wip: somewhat working suspense 2019-09-11 11:10:13 -04:00
Evan You
1dc9d81e3e wip: suspense 2019-09-11 11:10:13 -04:00
Evan You
cc748db33b chore: comments 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
7950980dc3 fix: handle prev children is null in patch element 2019-09-07 11:42:07 -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
d87bed0138 refactor: split componentRenderUtils 2019-09-06 11:25:11 -04:00
Evan You
0f25c29119 refactor: reorganize component related code and types 2019-09-06 11:19:22 -04:00
Evan You
4c075803b5 test: test for app.mixin & warnHandler 2019-09-05 20:59:45 -04:00
Evan You
891f21b010 refactor: extract hasOwn helper 2019-09-05 20:48:14 -04:00
Evan You
7eed0df3c2 wip: $data should only expose properties from data() 2019-09-05 20:36:35 -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
6c7cbb0dc9 types: avoid plain objects with value being mistaken as refs 2019-09-05 18:32:19 -04:00
Evan You
9b90e673e8 wip: improve options typing 2019-09-05 16:09:30 -04:00
Evan You
369b9eb583 types: props validation for h 2019-09-05 11:11:33 -04:00
Evan You
81a31f79dc feat: created/beforeCreate 2019-09-05 10:20:40 -04:00
Evan You
a6de6daa17 wip: disable tracking in all hooks 2019-09-04 18:20:47 -04:00
Evan You
13298bc4fa test: test for options API 2019-09-04 18:16:11 -04:00
Evan You
7cd33587ba types: errorCaptured can return void 2019-09-04 13:50:57 -04:00
Evan You
02de984f1f feat: mixins/extends/assets options 2019-09-04 11:37:00 -04:00
Evan You
b4c909c260 feat: $nextTick, $forceUpdate, $watch 2019-09-03 23:04:11 -04:00
Evan You
a6616e4210 feat: 2.x options support 2019-09-03 22:25:38 -04:00
Evan You
c833db9c97 feat: production tip 2019-09-03 20:51:42 -04:00
Evan You
cbc8dddd15 chore: fix test 2019-09-03 20:31:53 -04:00
Evan You
40d33a3973 wip: remove config.silent 2019-09-03 20:17:25 -04:00
Evan You
406dcb0a7a test: test app asset retrieval 2019-09-03 18:30:52 -04:00
Evan You
acda3cf2d9 chore: fix type 2019-09-03 18:24:32 -04:00
Evan You
98d1406214 test: test for app-level APIs 2019-09-03 18:11:04 -04:00
Evan You
1e4535dc78 test: improve warning assertions 2019-09-03 16:17:26 -04:00
Evan You
c5ec29ff9b wip: render() should receive no args, expose props on renderContext as readonly 2019-09-03 15:27:59 -04:00
Evan You
b2d269a651 build: use api-extractor for type rollup 2019-09-03 12:16:22 -04:00
Evan You
015d5dd0f1 feat: asset resolution 2019-09-02 16:43:26 -04:00
Evan You
67fd5b6091 chore: put warning in dev block 2019-09-02 16:16:08 -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
94e72481b8 test: todo 2019-08-31 22:18:21 -04:00
Evan You
9b428c6d83 feat: directives 2019-08-31 22:17:46 -04:00
Evan You
0f0ca4ae7c wip: vnodeXXX directive hooks 2019-08-31 17:06:39 -04:00
Evan You
1c6ecf4144 wip: avoid including full error type strings in prod 2019-08-31 16:43:02 -04:00
Evan You
a3b0f2bd1c feat: applyDirectives 2019-08-31 16:36:36 -04:00
Evan You
6801885f57 test: more coverage for error handling 2019-08-30 16:20:32 -04:00
Evan You
be28f976af test: tests for error handling 2019-08-30 16:08:10 -04:00
Evan You
d5684e1a9d wip: function slot tips 2019-08-30 15:34:57 -04:00
Evan You
0cd8e16366 wip: warn slots when invoked in setup() 2019-08-30 15:26:16 -04:00
Evan You
cb09289474 chore: test comments 2019-08-30 15:16:19 -04:00
Evan You
09593c94c3 feat: error handling in scheduler 2019-08-30 15:15:23 -04:00
Evan You
966d7b5487 feat: error handling for setup / render / watch / event handlers 2019-08-30 15:05:39 -04:00
Evan You
1d55b368e8 test: add test case for regsitering onBeforeUnmount inside onMounted 2019-08-30 13:48:27 -04:00
Evan You
7fe82398f7 refactor: call instead of wrap 2019-08-30 12:22:41 -04:00
Evan You
3d681f8bcd feat: error handling for lifecycle hooks 2019-08-30 12:16:09 -04:00
Evan You
fd018b83b5 feat: warning context 2019-08-30 10:36:30 -04:00
Evan You
010e64c224 test: restructure 2019-08-29 16:56:31 -04:00
Evan You
10bbf52c09 test: test for h 2019-08-29 16:47:00 -04:00
Evan You
ac625e03fe test: test for template ref usage in setup() 2019-08-29 16:39:23 -04:00
Evan You
0cb42fbcf3 wip: make runtime-test nodes non-observable 2019-08-29 16:38:57 -04:00
Evan You
b40b7356ef test: tests for lifecycle api 2019-08-28 12:13:36 -04:00
Evan You
2b6ca9a7b6 test: fix deep watch for Map/Set 2019-08-27 15:01:01 -04:00
Evan You
62e07a1b7e test: coverage 2019-08-27 14:42:05 -04:00
Evan You
7ecdc79d5e test: finish tests for watch api 2019-08-27 11:35:22 -04:00
Evan You
d04a4f9cb0 test: (wip) test for watch api 2019-08-26 22:47:38 -04:00
Evan You
a20eeac7fe test: refactor fragment tests to reduce scope 2019-08-26 21:49:12 -04:00
Evan You
cb3866890f test: effect.onStop 2019-08-26 21:24:44 -04:00
Evan You
a0bc525fee test: test for isRef & toRefs 2019-08-26 18:17:02 -04:00
Evan You
5a754aac81 test: test for setup() 2019-08-26 18:08:56 -04:00
Evan You
0ede301cf2 test: test for provide/inject 2019-08-26 16:14:23 -04:00
Evan You
3efe0ba3cd test: jest warning assert utils 2019-08-26 16:08:23 -04:00
Evan You
a39aa842f3 chore: remove no longer needed package 2019-08-23 17:22:13 -04:00
Evan You
b70f8d267e test: fix temp tests 2019-08-23 15:32:19 -04:00
Evan You
fd1fef5502 test: update fragment tests 2019-08-23 15:27:17 -04:00
Evan You
589d3c2feb refactor: immutable -> readonly 2019-08-23 09:38:32 -04:00
Evan You
e1bbfbba94 test: more test todos 2019-08-23 09:21:29 -04:00
Evan You
ce51ca30d8 test: layout test references 2019-08-22 22:15:39 -04:00
Evan You
daf67397ae wip: pass attrs fallthrough tests 2019-08-22 22:07:51 -04:00
Evan You
7fae3ebaf3 wip: adjust index exports 2019-08-22 21:38:00 -04:00
Evan You
5b38e631e7 chore: test todos 2019-08-22 17:13:25 -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
f26cd5dfe4 test: layout more runtime-core tests 2019-08-21 22:00:48 -04:00
Evan You
8a01c8e549 types: fix createComponent spec 2019-08-21 17:10:37 -04:00
Evan You
b5384006d2 wip: update runtime-test 2019-08-21 17:05:14 -04:00
Evan You
13f5067656 chore: comments 2019-08-21 16:17:02 -04:00
Evan You
2777cd37b4 test: test immutable + ref 2019-08-21 12:03:35 -04:00
Evan You
0aff144f93 wip: improve computed typing + test for setters 2019-08-21 12:01:05 -04:00
Evan You
8d99ab1ff8 chore: allow custom assignment to this 2019-08-21 09:50:20 -04:00
Evan You
7691c06520 wip: warn when injection not found 2019-08-20 15:51:55 -04:00
Evan You
c5558b7ed1 wip: remove immutability conversion in inject 2019-08-20 14:28:44 -04:00
Evan You
bb2ff037b9 build: bump rollup version 2019-08-20 10:34:25 -04:00
Evan You
aacad85058 test: fix reactivity tests 2019-08-20 09:58:10 -04:00
Evan You
0519e10518 wip: make computed implementation consistent 2019-08-20 09:45:28 -04:00
Evan You
b218678c66 feat: toRefs 2019-08-20 09:38:00 -04:00
Evan You
8f9afdff64 feat: template ref handling + ref unmount 2019-08-19 18:06:20 -04:00
Evan You
10a2cf47ea wip: make injected values immutable 2019-08-19 15:06:03 -04:00
Evan You
e53874f7e7 fix: reactive and immutable should warn for undefined 2019-08-19 15:01:50 -04:00
Evan You
685348f818 wip: adjust inject API 2019-08-19 14:45:11 -04:00
Evan You
145bf98840 wip: fix watch simple effect usage 2019-08-19 14:44:52 -04:00
Evan You
36ab2ab980 wip: update writable computed API to match latest spec 2019-08-19 12:05:07 -04:00
Evan You
42559dc5fe types: watch API type overload 2019-08-18 22:49:08 -04:00
Evan You
6a22ad2fb2 types: simplify ref type 2019-08-18 22:48:46 -04:00
Evan You
3facfa5a55 wip: adjust computed ref type 2019-08-16 10:52:45 -04:00
Evan You
e1e4a3854c wip: update runtime core to updated reactivity api names 2019-08-16 10:02:53 -04:00
Evan You
96d65e1ab5 wip: improve ref typing 2019-08-16 09:54:57 -04:00
Evan You
caba6d5c9e wip: state -> reactive, value -> ref 2019-08-16 09:42:46 -04:00
Evan You
09141b56fd wip: proper handling of value assignment in reactive object 2019-08-13 11:30:28 -04:00
Evan You
2fc0d599db revert: "wip: handle value -> value assignment in reactive object"
This reverts commit 61ab483af1.
2019-08-13 11:27:48 -04:00
Evan You
5aa42f137f types: use unknown 2019-08-13 11:18:23 -04:00
Evan You
1cfa2da78a types: allow string keys in provide/inject 2019-08-13 11:17:55 -04:00
Evan You
61ab483af1 wip: handle value -> value assignment in reactive object 2019-08-13 11:13:26 -04:00
Evan You
645c1eceea wip: update test runtime 2019-06-20 21:28:37 +08:00
Evan You
9c0f820a8e wip: expose getCurrentInstance() 2019-06-20 15:25:10 +08:00
Evan You
8eb20eede9 chore: todo 2019-06-19 22:50:14 +08:00
Evan You
117630fb92 perf: improve inject performance 2019-06-19 22:48:22 +08:00
Evan You
0952d4cf51 wip: provide/inject 2019-06-19 17:31:49 +08:00
Evan You
976844790e wip: $state -> $data 2019-06-19 17:08:42 +08:00
Evan You
5228f0343b wip: setup context + emit 2019-06-19 16:43:34 +08:00
Evan You
08806073a1 chore: comments 2019-06-13 10:25:24 +08:00
Evan You
2230917ab4 wip: types 2019-06-12 16:22:52 +08:00
Evan You
fce6a8fa51 wip: support returning render fn from setup() + improve createComponent type inference 2019-06-12 15:43:19 +08:00
Evan You
bfe6987323 refactor: adjust reactivity structure 2019-06-12 00:03:50 +08:00
Evan You
471899af8b refactor: rename reactivity package name and APIs 2019-06-11 23:50:28 +08:00
Evan You
07403c9aba wip: restructure api + support watch multiple sources 2019-06-07 14:55:38 +08:00
Evan You
d3fe492d7e wip: adjust watcher cleanup api 2019-06-06 15:19:04 +08:00
Evan You
1d41771e56 wip: watcher cleanup improvement 2019-06-06 13:25:05 +08:00
Evan You
e5e56bb358 wip: watcher cleanup 2019-06-06 13:04:49 +08:00
Evan You
693938d956 fix: vnode key ref should default to null 2019-06-06 13:04:31 +08:00
Evan You
39e1fffb9c wip: writable computed 2019-06-06 12:35:49 +08:00
Evan You
e9a3fa60d6 wip: delete keys from props proxy when needed 2019-06-05 21:38:32 +08:00
Evan You
d75d21c1a1 chore: comments 2019-06-03 19:59:15 +08:00
Evan You
ca82c329f0 wip: use typeFlag in slot normalization 2019-06-03 19:58:12 +08:00
Evan You
c442785465 chore: notes on style binding optimization 2019-06-03 13:57:19 +08:00
Evan You
2848f65a7f wip: refs 2019-06-03 13:44:45 +08:00
Evan You
0ad31f29c4 wip: hoc parent el update 2019-06-03 12:40:21 +08:00
Evan You
7fe82b1199 wip: svg & parent chain 2019-06-03 09:43:28 +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
da5edd3429 wip: improve props typing 2019-06-01 00:47:05 +08:00
Evan You
c0c06813a7 wip: slots 2019-05-31 18:07:43 +08:00
Evan You
e0a66d0381 wip: shouldUpdateComponent logic for slots 2019-05-31 12:25:11 +08:00
Evan You
333ceaa4b5 wip: props proxy for setup() 2019-05-30 23:16:15 +08:00
Evan You
e665a133e9 types: bump TS version + type test for createComponent 2019-05-30 22:09:48 +08:00
Evan You
caad39c353 refactor: tweak watch getter logic 2019-05-30 21:31:53 +08:00
Evan You
fc5bf5cbe1 chore: comments 2019-05-30 21:27:14 +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
b82b7af29b types: improve value unwrapping 2019-05-30 13:35:50 +08:00
Evan You
6441db45c7 wip: watch 2019-05-29 23:44:59 +08:00
Evan You
dde6c151e4 wip: test + typing for value 2019-05-29 22:11:33 +08:00
Evan You
ef4fde3522 test: update computed specs 2019-05-29 18:47:29 +08:00
Evan You
cf86e32575 wip: computed 2019-05-29 18:44:50 +08:00
Evan You
02421dbe62 wip: value() 2019-05-29 17:36:53 +08:00
Evan You
453cdcd600 wip: portal 2019-05-29 16:10:25 +08:00
Evan You
178c7c827e wip: render proxy 2019-05-29 13:43:46 +08:00
Evan You
6ceb732114 refactor: component setup flow 2019-05-29 11:36:16 +08:00
Evan You
dbbb36bd76 wip: renderTriggered & renderTracked 2019-05-29 11:01:39 +08:00
Evan You
3f281d5ea6 wip: beforeXXX hooks 2019-05-29 10:47:09 +08:00
Evan You
eac8a4baa3 wip: props immutability 2019-05-29 10:43:27 +08:00
Evan You
f2116054a0 refactor: use shared options for component effect runners 2019-05-29 09:19:01 +08:00
Evan You
46524a0f0f refactor: rename 2019-05-29 09:18:45 +08:00
Evan You
9595446291 chore: remove todos 2019-05-28 20:14:04 +08:00
Evan You
42dce36bf1 wip: basic setup wiring 2019-05-28 20:06:44 +08:00
Evan You
7a3a5850dc wip: adjust lifecycle 2019-05-28 19:59:54 +08:00
Evan You
19ed750078 wip: lifecycle hooks 2019-05-28 19:36:15 +08:00
Evan You
9dd133b1e9 wip: props resolving 2019-05-28 18:06:00 +08:00
Evan You
5c069eeae7 wip: scheduler, more component 2019-05-28 17:19:47 +08:00
Evan You
7a92ee04a0 wip: fix reactivity boundary between components 2019-05-28 14:43:23 +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
Evan You
a4d116e3f7 chore: comments 2019-05-27 15:59:02 +08:00
Evan You
73df1fa192 wip: complete patchKeyedChildren 2019-05-27 15:29:02 +08:00
Evan You
e4ce78c8c9 wip: diffKeyedChildren 2019-05-27 13:48:40 +08:00
Evan You
444d6f4bda wip: remove decorators 2019-05-27 13:48:27 +08:00
Evan You
3f3e42b8cb wip: compare perf 2019-05-26 15:38:55 +08:00
Evan You
b3f8b5ae0a wip: add types to refactored runtime-core 2019-05-26 15:19:44 +08:00
Evan You
3cded86b98 wip: switch to new implementation 2019-05-25 23:51:20 +08:00
Evan You
35effdee5a feat: simplify prop/attr checking 2019-03-10 06:09:59 +08:00
Evan You
ec0ccd2337 refactor: return Proxy from base class constructor 2019-03-05 16:24:07 -05:00
Evan You
c335939dcf types: remove intersection of props interface on this 2019-03-01 14:06:19 -05:00
Evan You
f00097127a refactor: move decorators into their own package 2019-03-01 13:58:08 -05:00
Evan You
4a4c1b247d refactor: remove experimental context 2019-03-01 13:54:45 -05:00
Evan You
66686f38a7 refactor: expose $self 2019-03-01 13:47:28 -05:00
Evan You
fa2240143c dx: warn private fields usage 2019-03-01 10:28:29 -05:00
Evan You
93744d5889 dx: warn use of reserved methods in render 2019-02-28 12:50:18 -05:00
Evan You
55a2bc483c refactor: simplify conditional 2019-02-26 21:46:01 -05:00
Evan You
e151d34100 test: fix mixin case 2019-02-26 21:45:13 -05:00
Evan You
ff9cddd46f refactor: move prop decorator into core, expose initial props to initialziers 2019-02-26 21:33:50 -05:00
Evan You
2f165c1e87 refactor: remove experimental hooks 2019-02-26 18:10:08 -05:00
Evan You
77dae71062 refactor: adjust files 2019-02-26 18:04:52 -05:00
Evan You
cbf95c642e feat: @prop decorator 2019-02-25 17:47:02 -05:00
Evan You
daf166553b refactor: also check for event timestamp 2019-01-23 19:08:51 -05:00
Evan You
16270edda5 refactor: cache calls to performance.now 2019-01-23 18:52:05 -05:00
Evan You
360a10fff2 refactor: drop event delegation and use simple async edge case fix 2019-01-22 16:03:37 -05:00
Evan You
9449dfb352 refactor: events tweak 2018-12-19 18:14:41 -05:00
Evan You
85bcc2b87c refactor: move clone step into util function 2018-12-01 18:09:21 -05:00
Evan You
1b40fa6c16 chore: todos 2018-12-01 17:57:39 -05:00
Evan You
80d1eb7480 refactor: rename things 2018-11-13 11:03:35 -05:00
Evan You
0cd8183fbf refactor: remove shorthands on h 2018-11-13 01:08:22 -05:00
Evan You
ca91797c7f fix: fix functional updates 2018-11-13 01:07:13 -05:00
Evan You
f5700245b0 refactor: improve functional patch 2018-11-13 00:29:18 -05:00
Evan You
fc5aa6d0be feat: proper static tree skip 2018-11-12 22:42:34 -05:00
Evan You
6e424397d1 refactor: bring back clone for reused nodes 2018-11-12 22:21:56 -05:00
Evan You
65c1ea8930 wip: defer patchData as nodeOp 2018-11-12 22:07:55 -05:00
Evan You
2f3ddf20b5 refactor: document new scheduler 2018-11-12 12:42:35 -05:00
Evan You
cb7ad12ed4 wip: rename file 2018-11-12 12:39:59 -05:00
Evan You
d27f5ee8e2 wip: remove outdated files 2018-11-12 12:37:22 -05:00
Evan You
f13fbe8686 wip: properly handle invalidated mount/unmount 2018-11-10 00:33:41 -05:00
Evan You
5639022f80 wip: fix insertBefore 2018-11-09 18:08:53 -05:00
Evan You
544f37ae48 wip: simplify time-slicing implementation 2018-11-09 18:01:58 -05:00
Evan You
76a94c2c41 refactor: small tweaks 2018-11-08 20:37:19 -05:00
Evan You
a95532495a refactor: properly cleanup invalidated jobs 2018-11-08 20:08:28 -05:00
Evan You
d39eb6cdbc wip: disable time-slicing in compat mode 2018-11-08 18:41:04 -05:00
Evan You
64029b4a54 feat: detailed info in renderTriggered + hint for skipping slot updates 2018-11-08 18:20:07 -05:00
Evan You
6027d480f3 feat: renderTriggered for forced updates 2018-11-08 14:09:52 -05:00
Evan You
2ee60e0a03 test: all tests passing! 2018-11-08 13:37:39 -05:00
Evan You
bd1b06f1cc test: fix some tests 2018-11-08 12:54:11 -05:00
Evan You
157971b3cb fix: domProps handling 2018-11-03 06:31:54 +09:00
Evan You
9d1f0f248d wip: fix more tests 2018-11-03 06:31:31 +09:00
Evan You
f79f0e658b wip: fix one test 2018-11-03 06:31:31 +09:00
Evan You
ba571cda61 wip: trying to make tests work 2018-11-03 06:31:31 +09:00
Evan You
d70b7d6dd5 wip: error handling and nextTick for time slicing 2018-11-03 06:31:31 +09:00
Evan You
d5862d8c51 feat: make functional components time-slicable 2018-11-03 06:31:30 +09:00
Evan You
6ba02827b1 feat: experimental time-slicing 2018-11-03 06:31:30 +09:00
Evan You
e6be55a498 chore: relax render type for tsx 2018-11-03 05:59:45 +09:00
Evan You
ccc835caff chore: fix warning indent 2018-11-03 05:59:29 +09:00
Evan You
bf6e49559a chore: do not warn about reserved methods 2018-11-03 05:40:31 +09:00
Evan You
3e31de3742 chore: fix warning newline 2018-11-03 05:37:01 +09:00
Evan You
774cce324d chore: remove unnecessary hooks api 2018-11-03 05:28:29 +09:00
Evan You
8602b61efb refactor: use more efficient useComputed() implementation 2018-10-30 01:10:03 -04:00
Evan You
f9e3e38fdb chore: add warning when attempting to mutate non-observable hooks return value 2018-10-30 00:42:26 -04:00
Evan You
a17c377be0 feat: enable returning observable state from hooks() 2018-10-30 00:33:45 -04:00
Evan You
6767bf83c4 feat: hooks that match current API 2018-10-29 18:50:07 -04:00
Evan You
894bead914 feat: make hooks usable inside classes 2018-10-28 19:15:18 -04:00
Evan You
98782b326a chore: move hooks to experimental 2018-10-28 17:47:22 -04:00
Evan You
a6a571f973 test: basic tests for hooks 2018-10-28 17:45:53 -04:00
Evan You
665cd8e3d9 feat(runtime-test): triggerEvent 2018-10-28 17:43:27 -04:00
Evan You
52e6964d6c test: tests for memoize 2018-10-28 17:18:41 -04:00
Evan You
131936f144 feat: skip constant trees and memoize fn 2018-10-28 16:41:29 -04:00
Evan You
d8cda2387f perf: skip props update if data object is the same 2018-10-28 15:58:59 -04:00
Evan You
c9b33a9e69 feat: delegate pointer events 2018-10-28 15:23:37 -04:00
Evan You
e8dd725e41 fix: fragment replaceVNode 2018-10-28 14:22:52 -04:00
Evan You
45e9a42a1a refactor: improve scheduler error warning message 2018-10-28 14:22:34 -04:00
Evan You
665ff43fad refactor(scheduler): improve infinite loop detection 2018-10-28 12:59:08 -04:00
Evan You
98e79943d2 fix(hooks): fix effect update & cleanup 2018-10-28 12:10:29 -04:00
Evan You
a7bcb7898f refactor: improve error logging 2018-10-28 12:09:38 -04:00
Evan You
ebf67ad208 fix(scheduler): handle queueJob inside postFlushCbs 2018-10-28 12:08:58 -04:00
Evan You
01bb8d1894 fix: parent chain error when root is functional 2018-10-28 12:08:20 -04:00
Evan You
832d715afe feat: implement basic hooks 2018-10-27 22:10:25 -04:00
Evan You
6982f755fd build: update runtime-dom global name 2018-10-26 17:51:09 -04:00
Evan You
b08b15dba0 refactor: adjust props initialization/updating 2018-10-26 17:49:40 -04:00
Evan You
e05673f4d3 refactor: rename packages 2018-10-26 15:44:50 -04:00
Evan You
f142c322e0 perf: skip initializer extraction for options objects 2018-10-26 12:11:52 -04:00
Evan You
8db26a504c refactor: reduce work in options -> class conversion 2018-10-26 11:47:04 -04:00
Evan You
0857d96438 build: add vue package 2018-10-23 11:58:37 -04:00
Evan You
f57ca5e189 build: rename vue-compat 2018-10-23 11:44:56 -04:00
Evan You
cce85bfeec test: test for mixins 2018-10-18 19:15:17 -04:00
Evan You
165163c52e test: component class inheritance 2018-10-18 18:29:27 -04:00
Evan You
50d424188c feat: export all option types 2018-10-18 18:21:26 -04:00
Evan You
023f4ef7f4 fix: watcher oldValue 2018-10-18 18:21:14 -04:00
Evan You
7c389606a4 fix: should always generate slot for non-null children 2018-10-18 18:01:38 -04:00
Evan You
a428218c64 fix: KeepAlive state should be non-reactive 2018-10-18 17:49:11 -04:00
Evan You
05fcfa0782 test: wip tests for inheritance and mixins 2018-10-17 17:36:34 -04:00
Evan You
2f936a0dfe feat: warn missing render() function 2018-10-17 17:35:03 -04:00
Evan You
7d091b5e91 refactor: createComponentInstance needs only 1 argument 2018-10-17 16:37:45 -04:00
Evan You
1c42c96d1a refactor: use faster key check 2018-10-17 12:20:54 -04:00
Evan You
30404ec546 refactor: events -> eventEmitter 2018-10-17 10:52:08 -04:00
Evan You
861a1c23b0 refactor: split EventEmitter and make it optional 2018-10-16 20:32:18 -04:00
Evan You
7ce16ea8d6 feat: support initializers in mixins 2018-10-16 20:04:58 -04:00
Evan You
456ee13ec9 fix: fix props option merging 2018-10-16 19:16:34 -04:00
Evan You
b83cf4ea38 refactor: proper options inheritance 2018-10-16 19:10:08 -04:00
Evan You
6e04850d71 build: adjust types build script 2018-10-16 17:41:59 -04:00
Evan You
aac7805b3a refactor: use shared util, remove unused regex 2018-10-16 15:53:23 -04:00
Evan You
149d82d618 refactor: option merging + extract helper functions 2018-10-16 15:47:51 -04:00
Evan You
7bc28a6e61 refactor: access all options from instance.$options 2018-10-16 12:37:31 -04:00
Evan You
62214fa42e feat: allow mixins to accept generics 2018-10-16 10:50:23 -04:00
Evan You
be95ad00e9 chore: comments, signature 2018-10-15 19:08:19 -04:00
Evan You
3a7d11ca15 wip: mixins 2018-10-15 19:07:06 -04:00
Evan You
2507ad2b44 feat: improve warning component trace 2018-10-15 14:39:16 -04:00
Evan You
d4cd3fb352 fix: provide/inject should be resolved in parent tree 2018-10-15 13:12:13 -04:00
Evan You
e4e138197c refactor: use more explicit names for warning context 2018-10-15 12:43:21 -04:00
Evan You
b0f3a67e29 refactor: tweak arguments 2018-10-15 12:41:18 -04:00
Evan You
24ff686848 types: fix wrong order 2018-10-13 21:14:52 -04:00
Evan You
a9b608266e types: improve public component type 2018-10-13 21:13:56 -04:00
Evan You
b3e3fd6ef5 types: basic tsx support 2018-10-13 20:46:30 -04:00
Evan You
2599580bca types: further tweak createElement type inference 2018-10-12 22:07:08 -04:00
Evan You
5257b366fd types: improve createElement typing 2018-10-12 19:49:41 -04:00
Evan You
93d724382e feat: process certain attrs as properties 2018-10-12 17:42:08 -04:00
Evan You
47a2b25a95 wip(types): improve h typing 2018-10-12 13:42:19 -04:00
Evan You
7e6fdb8cc4 feat: use internal warning 2018-10-11 17:21:13 -04:00
Evan You
5327abb249 feat: warning traces & error handling for functional render 2018-10-11 17:14:39 -04:00
Evan You
3a7bbecb22 feat: alias $attrs to $props when component has no declared props 2018-10-11 14:27:02 -04:00
Evan You
c94ce3ed62 chore: comments 2018-10-11 14:24:55 -04:00
Evan You
60e803ce62 feat: support defining data in constructor/initialzers 2018-10-11 13:54:35 -04:00
Evan You
d9e3ad72c0 fix: activateComponent should insert vnode now 2018-10-10 13:29:36 -04:00
Evan You
5cd1f33de3 wip: refactor parentChain management 2018-10-10 13:13:27 -04:00
Evan You
ef0c6effe8 wip: warning 2018-10-10 09:58:59 -04:00
Evan You
83605ef26c refactor: remove inheritAttrs / nativeOn, enforce explicit fallthrough 2018-10-09 21:10:30 -04:00
Evan You
699dfd95be types: expose all option types 2018-10-09 20:25:00 -04:00
Evan You
da6f0d7adc refactor: use flat options on class 2018-10-09 20:22:29 -04:00
Evan You
b527705928 refactor: tweak applyDirectives 2018-10-09 18:55:16 -04:00
Evan You
1a68bcb4a7 refactor: adjust arguments 2018-10-09 18:33:08 -04:00
Evan You
c206531330 refactor: use spread args 2018-10-09 18:30:21 -04:00
Evan You
4974a47111 feat: applyDirectives 2018-10-09 18:28:23 -04:00
Evan You
ba62deb5d9 types: simplify options types 2018-10-09 13:59:30 -04:00
Evan You
e698c8f492 types: rename 2018-10-09 11:37:24 -04:00
Evan You
d22b71b27e refactor: types refactor 2018-10-08 18:09:13 -04:00
Evan You
ba918b5afe types: trim exports 2018-10-04 18:12:18 -04:00
Evan You
bb2da9633e types: fix types 2018-10-04 18:06:16 -04:00
Evan You
511ac0bd2f types: use stricter defaults for component data and props 2018-10-04 17:33:20 -04:00
Evan You
05b70f790c fix: nativeOn test case + test nested components 2018-10-04 16:52:52 -04:00
Evan You
03fd4da21d refactor: revert render fn signature 2018-10-04 16:44:23 -04:00
Evan You
65033cec9d feat: expose __vue__ in dev mode 2018-10-04 16:35:07 -04:00
Evan You
3c49b30e17 feat: clone observable data instead of warning 2018-10-04 16:13:02 -04:00
Evan You
03390f80a7 fix: nativeOn should be able to be passed down multiple times 2018-10-04 16:10:46 -04:00
Evan You
848b92070b feat: interop with object syntax in all builds 2018-10-03 13:16:54 -04:00
Evan You
8024f058cc fix: fix internal components render signature 2018-10-03 13:14:22 -04:00
Evan You
70947771dc chore: no longer need to wrap legacy render fn 2018-10-03 13:09:52 -04:00
Evan You
a0321b39b7 refactor: pass target instance to errorCaptured hook 2018-10-03 13:03:37 -04:00
Evan You
d893046830 wip: warning 2018-10-03 13:03:20 -04:00
Evan You
88be7ecd37 refactor: adjust render fn signature 2018-10-03 13:00:13 -04:00
Evan You
172b7f5cf7 fix: $emit should check for raw parent data for listeners 2018-10-03 11:57:47 -04:00
Evan You
743a3c2567 chore: export all api from vue 2018-10-03 10:30:31 -04:00
Evan You
74265190f2 types: fix types 2018-10-03 10:30:14 -04:00
Evan You
f3d7c9e152 refactor: remove useless argument 2018-10-02 18:36:45 -04:00
Evan You
c4481a49e8 chore: merge imports 2018-10-02 18:33:05 -04:00
Evan You
66ad46ad7a chore: unwrap value when validating props 2018-10-02 18:31:38 -04:00
Evan You
2241ad7765 feat: runtime prop validation 2018-10-02 18:29:14 -04:00
Evan You
e93e85bb29 feat: boolean casting 2018-10-02 17:54:58 -04:00
Evan You
9ce86f86f4 refactor: mountComponent 2018-10-02 15:53:22 -04:00
Evan You
dcc3e98937 refactor: remove replaceChild from nodeOps 2018-10-02 14:00:29 -04:00
Evan You
adfe0ee7bf refactor: improve fragment implementation 2018-10-02 13:59:11 -04:00
Evan You
0ae6d8ab8b refactor: mount doesn't have to return el 2018-10-02 12:15:08 -04:00
Evan You
5e988cc9fd test: fix observer warning case 2018-10-01 18:40:44 -04:00
Evan You
612167f470 test: fragment specs 2018-10-01 18:21:44 -04:00
Evan You
aafecb319d fix: h.* shorthands should expect correct args type 2018-10-01 18:21:33 -04:00
Evan You
3fe047b4ac fix(test-renderer): indent on multiple children 2018-10-01 17:50:02 -04:00
Evan You
4f6531aa3c feat(renderer-test): allow specifying indent for serialization 2018-10-01 17:35:55 -04:00
Evan You
21e8798a21 feat: serialize for test renderer 2018-10-01 17:22:49 -04:00
Evan You
dfc855cd54 test: test ops logging for test renderer 2018-10-01 16:42:53 -04:00
Evan You
da20a06a78 feat: implement basic test renderer 2018-10-01 13:15:07 -04:00
Evan You
8f27fefad9 chore: fix comment typo 2018-10-01 13:11:50 -04:00
Evan You
01a0fcb876 fix: clone vnode before mutating flags 2018-09-27 10:23:31 -04:00
Evan You
86d95cf33b refactor(keep-alive): use property initializer 2018-09-27 10:19:36 -04:00
Evan You
1cc7734c24 chore: masks 2018-09-26 18:39:47 -04:00
Evan You
ee50fb9723 feat: activated/deactivated hooks 2018-09-26 18:34:21 -04:00
Evan You
7c2ec8ace0 feat: keep-alive 2018-09-26 17:10:34 -04:00
Evan You
5e5dd7b44c fix: ensure consistent behavior in dev/prod 2018-09-26 11:29:55 -04:00
Evan You
7a1c34690a types: fix types 2018-09-26 10:55:07 -04:00
Evan You
9e62c3bd9a refactor: remove unnecessary functional wrapper + delay for async components 2018-09-25 22:25:18 -04:00
Evan You
2c753388c3 feat: async component 2018-09-25 21:28:52 -04:00
Evan You
1def00e96e feat: oldValue for directives 2018-09-25 20:37:46 -04:00
Evan You
e190824812 refactor: export all from optional features 2018-09-25 18:00:29 -04:00
Evan You
b12247d638 refactor: layout optional features 2018-09-25 17:55:47 -04:00
Evan You
7484b4d2e6 feat: provide/inject 2018-09-25 17:49:47 -04:00
Evan You
1e447d021b feat: applyDirective 2018-09-25 14:56:31 -04:00
Evan You
7b7ae57388 refactor: remove unnecessary normalization 2018-09-25 14:26:36 -04:00
Evan You
b946a6b7f7 refactor: use more descriptive argument name 2018-09-25 14:19:58 -04:00
Evan You
871947c25f fix: fix not saving cached computed options 2018-09-25 13:49:09 -04:00
Evan You
1106e2208d feat: vnode hooks 2018-09-25 13:39:19 -04:00
Evan You
8cafad1fd3 refactor: directly use regex 2018-09-25 12:09:25 -04:00
Evan You
342a9f3a03 refactor: use regex instead of startsWith 2018-09-25 12:06:19 -04:00
Evan You
296164c207 feat: dot-delimited path for watch 2018-09-24 21:52:27 -04:00
Evan You
a848466f07 test: test for attrs fallthrough 2018-09-24 21:13:06 -04:00
Evan You
a1b9144009 refactor: new attrs merge strategy 2018-09-24 19:11:14 -04:00
Evan You
85cd69a988 wip: refactor attrs inheritance 2018-09-24 18:51:58 -04:00
Evan You
ef1d621162 feat: renderTracked & renderTriggered 2018-09-24 14:05:18 -04:00
Evan You
75bfa80997 fix: fix scheduler dupe invokes 2018-09-24 13:38:54 -04:00
Evan You
f398c129e6 refactor: group all extracted non-props under $props.attrs, including class and
style.
2018-09-24 00:29:46 -04:00
Evan You
b5db956f9a feat: inheritAttrs 2018-09-23 23:28:21 -04:00
Evan You
ddd55fae54 feat: full watch api 2018-09-23 23:16:14 -04:00
Evan You
cb01733842 feat: attribute fallthrough 2018-09-23 21:54:48 -04:00
Evan You
6ce39b4d20 feat: basic error handling 2018-09-23 20:59:19 -04:00
Evan You
44d1a8efcb feat: renderError 2018-09-23 20:30:26 -04:00
Evan You
08c8fdb62e chore: mark todo 2018-09-23 19:53:37 -04:00
Evan You
ccd83e2fb0 feat: $refs 2018-09-23 19:53:19 -04:00
Evan You
9a02fc4aec refactor: move lis into utils 2018-09-21 18:12:17 -04:00
Evan You
8de1c484ff chore: remove outdated todos 2018-09-21 17:10:02 -04:00
Evan You
9fcd30b483 fix: Collection iterations should yield observable values 2018-09-21 16:54:12 -04:00
Evan You
de76daf073 refactor: depend on scheduler directly in core instead of injecting via createRenderer 2018-09-21 13:34:00 -04:00
Evan You
bb0e15de4d test: 100% coverage for observer 2018-09-21 09:52:46 -04:00
Evan You
bf38fea313 refactor: ensure watcher callbacks are deferred 2018-09-20 18:57:13 -04:00
Evan You
9b50a5abb9 refactor: expose runner on computed 2018-09-20 18:36:34 -04:00
Evan You
fa9b3df5ab test: tests for observer computed 2018-09-20 18:03:59 -04:00
Evan You
8a714a6c39 test: better collection coverage + tests for immutable 2018-09-20 16:18:22 -04:00
Evan You
9459ca2152 test: observer collection tests 2018-09-20 11:43:14 -04:00
Evan You
369997bb1d refactor: avoid unnecessary style normalization 2018-09-20 02:17:52 -04:00
Evan You
1ef0d03829 chore: comments 2018-09-20 02:11:05 -04:00
Evan You
30c5e8d3b2 chore: remove language service for now 2018-09-20 02:07:32 -04:00
Evan You
fbb0dcdf89 chore: more meta 2018-09-20 00:17:20 -04:00
Evan You
a89bbc018b build: add sideEffects: false flags 2018-09-20 00:02:48 -04:00
Evan You
fc1d6e52f3 fix: beforeUpdate should not be called via onTrigger 2018-09-19 23:56:40 -04:00
Evan You
232d14c0dd test: basic 2.x compat test case 2018-09-19 23:43:27 -04:00
Evan You
b3208a5941 wip: root Vue compat 2018-09-19 23:19:25 -04:00
Evan You
2e9a342652 build: simplify compiler package setup 2018-09-19 22:25:55 -04:00
Evan You
360ab65117 build: add vue 2.x compat package 2018-09-19 21:52:24 -04:00
Evan You
38109fe915 workflow: adjust esm-bundler build file name 2018-09-19 21:51:21 -04:00
Evan You
77d57813eb test: add unobservable test case for more built-ins 2018-09-19 21:50:19 -04:00
Evan You
cb982099e4 test: add dedupe test case for scheduler 2018-09-19 21:38:27 -04:00
Evan You
26ff9b29f9 test: wip tests for observer 2018-09-19 17:45:19 -04:00
Evan You
7350d41f92 chore: remove outdated TODO comments 2018-09-19 15:37:14 -04:00
Evan You
d69d0c0216 test: test for scheduler 2018-09-19 15:36:56 -04:00
Evan You
73106b8553 workflow: rename umd build to global 2018-09-19 12:46:55 -04:00
Evan You
d1bc6ee8d6 chore: setup all packages 2018-09-19 12:26:50 -04:00
Evan You
a8522cf48c fix: avoid double inserting root component 2018-09-19 12:05:33 -04:00
Evan You
3401f6b460 init (graduate from prototype) 2018-09-19 11:35:38 -04:00