Commit Graph

898 Commits

Author SHA1 Message Date
Evan You 590e4e0ba9 chore: fix DebuggerEvent export 2019-10-22 11:53:32 -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 bc0ec27739 chore: reference link 2019-10-21 16:46:47 -04:00
Evan You 5023dff60c feat: update svg tag list 2019-10-21 16:39:37 -04:00
Evan You bb85aefc03 chore: move dom element config to compiler-dom 2019-10-21 16:25:16 -04:00
Evan You 052febc127 feat(compiler): convert text mixed with elements into createVNode calls
This ensures they are tracked as dynamic children when inside blocks.
Also guaruntees compiled vnodes always have vnode children in arrays
so that they can skip normalizeVNode safely in optimized mode.
2019-10-21 15:52:29 -04:00
Evan You a0d570b16d Revert "feat(compiler-core): hoist element with static ref (#344)"
Static refs still need to be tracked in dynamicChildren because unmount
also takes the fast path when dynamicChildren is present, and all refs
need to be properly unmounted.

This reverts commit 920773fc6b.
2019-10-21 15:17:29 -04:00
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 4abd8d29ef chore: fix merge conflict 2019-10-21 10:33:10 -04:00
HcySunYang 920773fc6b feat(compiler-core): hoist element with static ref (#344) 2019-10-21 10:29:17 -04:00
Dmitry Sharshakov 27f3c2d751 chore: fix typo (#339) 2019-10-21 10:04:34 -04:00
Evan You f241c92917 chore: remove todo 2019-10-21 10:04:02 -04:00
Evan You 1b9bd6912e perf: v-for fragments do not need to track dynamicChildren 2019-10-21 10:00:45 -04:00
HcySunYang 71f3826f99 chore: rename & property missing (#335) 2019-10-21 10:00:23 -04:00
Evan You 6f9692dcdd chore: cache isStaticNode result for missing branch 2019-10-20 17:01:01 -04:00
Evan You 869ae19c41 fix(compiler): cache handlers should be per-instance, fix hoist w/ cached handlers 2019-10-20 17:00:11 -04:00
Dmitry Sharshakov 39157f7671 chore: fix ci (#338) 2019-10-19 20:03:15 -04:00
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