Commit Graph

701 Commits

Author SHA1 Message Date
Dmitry Sharshakov e7e3eb8662 refactor(VNode): improve helper types (#392) 2019-10-27 20:54:54 -04:00
Dmitry Sharshakov e581b14dff feat(apiApp): return app from provide method for chaining (#393) 2019-10-27 20:54:33 -04:00
Evan You a8aa328907 chore: comment on cloneVNode implementation [ci skip] 2019-10-27 20:45:59 -04:00
Evan You 43f4bd3aaa chore: fix typing for withDirectives 2019-10-26 16:32:27 -04:00
Evan You 07ce2c5fa7 perf: improve directive runtime performance 2019-10-26 16:00:07 -04:00
Dmitry Sharshakov 7394f7ec42 fix(apiInject): fix stringifying of symbol injection key (#383) 2019-10-26 10:52:29 -04:00
Dmitry Sharshakov 134e932322 fix(types): fix VNodeTypes unique symbols (#387) 2019-10-26 10:51:55 -04:00
Dmitry Sharshakov 49914efc9e fix(Portal): add ability to use element as target (#380) 2019-10-26 10:32:16 -04:00
Evan You 8edfbf9df9 feat(core): adjust attrs fallthrough behavior 2019-10-25 12:12:17 -04:00
Junyan d76cfba7fb refactor(reactivity): reduce code of type check (#377) 2019-10-25 11:15:04 -04:00
likui 532b5eebd7 feat(runtime-core): support array in watch option (#376) 2019-10-25 10:25:52 -04:00
Evan You 8c1638da33 feat(runtime-core): warn access of undefined property during render 2019-10-25 10:12:58 -04:00
Evan You 6a92bbd9c0 feat(runtime-dom): support using mount target innerHTML as template 2019-10-24 21:58:34 -04:00
Evan You ed29af7bea fix: generate v-if fallback comment as block 2019-10-24 21:19:02 -04:00
Evan You 7b637319a8 fix: export missing createCommentVNode fn 2019-10-24 21:08:28 -04:00
Evan You 1c0a2c6d41 refactor(compiler): use shorter helpers for text and comment nodes 2019-10-24 17:55:00 -04:00
Evan You 42bf9ca3e5 feat(props): enable case conversion in all builds, preserve casing for attrs 2019-10-24 10:59:57 -04:00
Evan You e2917fef96 feat(props): kebab -> camel prop case support in full build 2019-10-23 21:51:01 -04:00
Evan You af5a8e1154 feat(compiler-core): re-implement v-once to use cache mechanism 2019-10-23 17:57:40 -04:00
Evan You 9291011456 chore: comments [ci skip] 2019-10-23 15:19:55 -04:00
Mayness 18a349ce8c fix(reactivity): account for NaN in value change checks (#361) 2019-10-23 11:53:43 -04:00
edison 9dcbf17f3a perf(runtime-core): use `makeMap` instead of `RE` (#350) 2019-10-23 10:34:58 -04:00
likui e34d2bd853 types: improve slots type (#366) 2019-10-23 09:29:09 -04:00
Evan You af57ad110f chore: revert prettier 2019-10-22 11:53:32 -04:00
Evan You b5886189ba types: massive refactor 2019-10-22 11:53:32 -04:00
Cr a23e03f01e feat(apiOptions): add warning for duplicated properties declared by options (#329) 2019-10-21 23:47:16 -04:00
Evan You a25b1371ab types: improve types 2019-10-21 23:37:03 -04:00
Evan You 052febc127 feat(compiler): convert text mixed with elements into createVNode calls
This ensures they are tracked as dynamic children when inside blocks.
Also guaruntees compiled vnodes always have vnode children in arrays
so that they can skip normalizeVNode safely in optimized mode.
2019-10-21 15:52:29 -04:00
likui f85ba092ce types: improve emit type (#345) 2019-10-21 14:04:42 -04:00
Jooger 67eb29f63b refactor(errorHandlling): handle array in callWithAsyncErrorHandling (#332) 2019-10-21 13:59:10 -04:00
Dmitry Sharshakov 74d8c5919d types: improve computed types (#343) 2019-10-21 13:57:20 -04:00
Dmitry Sharshakov 1f4937c2fd types: use RenderFunction type (#342) 2019-10-21 13:44:01 -04:00
Evan You 520af9787b perf: skip normalizeVNode in optimized mode 2019-10-21 12:24:19 -04:00
Evan You 8be578b6b6 perf: micro optimizations for vnode creation 2019-10-21 11:30:45 -04:00
Evan You 40ccbdeaac chore: remove refs from setupContext
explicit refs should be preferred
2019-10-21 10:36:38 -04:00
Evan You f241c92917 chore: remove todo 2019-10-21 10:04:02 -04:00
HcySunYang 71f3826f99 chore: rename & property missing (#335) 2019-10-21 10:00:23 -04:00
Evan You 869ae19c41 fix(compiler): cache handlers should be per-instance, fix hoist w/ cached handlers 2019-10-20 17:00:11 -04:00
Evan You e98a85f3cb refactor: applyDirectives -> withDirectives 2019-10-18 16:35:01 -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
Dmitry Sharshakov 2238925fbe feat(core): validate directives names (#326) 2019-10-18 12:34:45 -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
Evan You 4771319a15 perf(core): cache property access types on renderProxy 2019-10-17 15:02:15 -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
Carlos Rodrigues 48b79d02e8 perf(runtime-core): use faster diff map population (#319) 2019-10-16 15:34:51 -04:00
Evan You b20b922d99 perf(v-for): use faster array population in renderList 2019-10-16 10:42:25 -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
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
Adam Lewkowicz 555e3be69d types(watch): allow readonly arrays for watching multiple sources (#281) 2019-10-15 16:44:14 -04:00
Ayush Goyal 58fffcb987 refactor(core): use makeMap for faster string match checks (#282) 2019-10-15 12:11:08 -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
月迷津渡 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
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 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
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
fisker Cheung cdc143d348 refactor(runtime-core): use `Array.from` instead of loop over `iterable` (#250) 2019-10-12 19:34:22 -04:00
Sharvilak ed5a42e588 refactor(runetime-core): removed unnecessary condition check (#237) 2019-10-12 11:00:29 -04:00
Cr f3760f7d34 types: add missing properties to ComponentPublicInstance interface (#218) 2019-10-12 10:30:21 -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
Illya Klymov e32da9169b fix(runtime-core): support object syntax for class (#215) 2019-10-11 15:09:37 -04:00
Evan You 95d7e1f471 feat: log on the fly template compilation error 2019-10-11 11:16:20 -04:00
Evan You 9ad7ae479e fix(compiler): export COMMENT instead EMPTY runtime helper 2019-10-11 10:47:59 -04:00
Evan You d376439167 wip(compiler-dom): v-model runtime 2019-10-10 18:02:51 -04:00
月迷津渡 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
Dmitry Sharshakov 1139368dc2 types: improve writable computed types (#192) 2019-10-10 14:08:12 -04:00
terencez d10b28ae0e refactor(runtime-core): make h() support single vnode child (#181) 2019-10-10 10:17:16 -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
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
terencez 7963c01a67 types(runtime-core): simplify types in createComponentInstance() (#170) 2019-10-09 12:17:42 -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 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
Kyle Hall fd1d7833e2 test(runtime-core): createSlots method (#119) 2019-10-06 20:19:44 -04:00
扩散性百万甜面包 d2d32d3810 refactor: rename param on function watch (#134) 2019-10-06 11:27:09 -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 fbabae0c0a chore: replace some type casts and fix variable and filename typos (#93) 2019-10-05 10:38:02 -04:00
月迷津渡 9d6783053c types: simplify types (#104) 2019-10-05 10:09:34 -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 3d14265102 feat(compiler): handle conditional v-slot 2019-10-02 17:18:11 -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 a477594d65 feat(compiler): v-for codegen w/ correct blocks optimization + key flags 2019-10-01 23:19:48 -04:00
Evan You 4fc963bc5a feat(compiler): annotate patchFlags in generated code 2019-10-01 17:53:57 -04:00
Evan You d67418002f feat(compiler): generate patchFlags for runtime 2019-09-30 21:17:12 -04:00
Evan You 46bd9dbab0 perf: avoid using WeakSet for isRef check 2019-09-30 14:52:10 -04:00
Evan You 7f06981f7c perf: using a _isVNode field is faster than a weakset 2019-09-30 14:52:10 -04:00
Evan You 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 ff2313e43a wip(compiler): adjust statement positions 2019-09-25 15:09:58 -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 76a1196935 feat(runtime): support rendering comment nodes 2019-09-24 14:37:14 -04:00
Evan You b3b67b8c7d feat(compiler): ensure interpolation expressions are wrapped with toString() 2019-09-23 15:36:30 -04:00
Evan You 8076ce1f28 feat(compiler): handle runtime helper injection 2019-09-22 23:07:36 -04:00
Evan You 3a177a18d2 feat(compiler): element codegen 2019-09-22 16:50:57 -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 8a923f6a52 refactor: move compile into compiler-core 2019-09-20 12:16:19 -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 54a78f3856 chore: remove unnecessary enum initial value 2019-09-16 13:15:20 -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 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 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 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 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 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 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 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 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 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 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 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 5a754aac81 test: test for setup() 2019-08-26 18:08:56 -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 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 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 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 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 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 e1e4a3854c wip: update runtime core to updated reactivity api names 2019-08-16 10:02:53 -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 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 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 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 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 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 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 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 360a10fff2 refactor: drop event delegation and use simple async edge case fix 2019-01-22 16:03:37 -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 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 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 bd1b06f1cc test: fix some tests 2018-11-08 12:54:11 -05: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 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 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 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 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 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 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