Commit Graph

1471 Commits

Author SHA1 Message Date
Evan You 9cf75258c8 fix(runtime-core): fix dev fragment root flag check 2021-03-30 19:55:05 -04:00
edison 2e50acfbb8
perf(runtime-core): optimize the performance of getTypeIndex (#3206) 2021-03-30 10:53:14 -04:00
HcySunYang 5db2b141dc
fix(types): add a type-only differentiator to assist Mixin's type infer (#3481)
fix #3468
2021-03-29 18:07:36 -04:00
Kael 4f26835dac
fix(types/tsx): make JSX.Element extend VNode (#3171) 2021-03-29 17:38:25 -04:00
HcySunYang 3736496006
fix(runtime-core): avoid unmount teleport's children multiple times (#3499)
fix #3497
2021-03-29 15:15:08 -04:00
Evan You 67039b3434 release: v3.0.9 2021-03-27 11:30:12 -04:00
Richard Cooke 4549e65bae
fix(runtime-core): remove dev-only props property from setup context for consistency (#3492) 2021-03-27 11:23:10 -04:00
Evan You 2121c32e22 fix(runtime-core): fix kebab-case prop required warning
fix #3495
ref #3363
2021-03-27 11:16:39 -04:00
Evan You 37c17091fd fix: ensure backwards compat for pre-compiled sfc components
fix #3493
2021-03-27 10:53:45 -04:00
Evan You 9ff70be2b3 release: v3.0.8 2021-03-26 17:35:44 -04:00
Evan You 60d777d228 fix(runtime-core): fix erraneous emits warnings w/ mixins
fix #2651
2021-03-26 16:29:40 -04:00
Evan You d5824b97c5 fix(runtime-core): should not track deps in pre flush watcher callbacks
fix #2728
2021-03-26 15:52:49 -04:00
HcySunYang 9cb21d088e
fix(Teleport): fallback to non-optimized mode when HRM performing updates (#3311)
fix #3302
2021-03-26 14:02:44 -04:00
Evan You 8c3c14a0ff fix(ssr): properly update currentRenderingInstance state during ssr
fix #2863
2021-03-26 14:00:03 -04:00
HcySunYang 9036f88d83
fix(hydration): handle camel-case tag name when performing match assertion (#3247)
fix #3243
2021-03-26 11:59:50 -04:00
HcySunYang 420c8f4580
fix(ssr/hydration): handle ending empty text node (#3246)
fix #3245
2021-03-26 11:45:28 -04:00
Evan You 2e71f07bc1 fix(ssr): ensure async setup error handling work with suspense during ssr 2021-03-26 11:00:30 -04:00
edison d668d48e9e
fix(runtime-core): handle error in async setup (#2881) 2021-03-26 10:26:30 -04:00
Evan You abd129d845 fix(component): prioritize registered component over implicit self-reference via filename
ref: #2827
2021-03-26 10:04:36 -04:00
Evan You da944cb379 fix(ssr): fix memory leak when vnode component render throws error
fix #3100
2021-03-25 18:04:21 -04:00
HcySunYang 2b588cf1bc
fix(types): unwrap refs on public instance data (#3319)
fix #3315
2021-03-25 17:30:10 -04:00
HcySunYang 44166b43d9
fix(runtime-core): cache props default values to avoid unnecessary watcher trigger (#3474)
fix #3471
2021-03-25 17:26:58 -04:00
HcySunYang 2451dd8ae6
fix(runtime-core): the select tag's multiple prop should be set before the children mounting (#3202)
fix #3199
2021-03-25 16:49:34 -04:00
Evan You 084e932e85 refactor: simplify lifecycle hook call logic 2021-03-25 16:48:51 -04:00
HcySunYang b58bb16959
fix(runtime-core): should call chained mixins and extends (#3040)
fix #3038
2021-03-25 16:39:57 -04:00
HcySunYang 86ceef4352
fix(runtime-core): fix warning for absent props (#3363)
fix #3362
2021-03-25 16:22:43 -04:00
Evan You 7cf143dd4f chore: fix test 2021-03-25 16:06:02 -04:00
HcySunYang 6e88156934
fix(runtime-core): should not cache property access during data() invocation (#3299)
fix #3297
2021-03-25 15:48:12 -04:00
07akioni 3755e60c52
fix(types): union function prop (#3119)
fix #3357
2021-03-25 11:27:54 -04:00
TJ Koblentz e4b5fccd0c
fix(ssr): watchEffect onInvalidate runner initialization (#3323)
close #3322
2021-03-25 11:17:57 -04:00
edison bf34e33c90
fix(runtime-core): ensure only skip unflushed job (#3406) 2021-03-25 11:13:35 -04:00
HcySunYang 776951315d
fix(Teleport): component with multi roots should be removed when unmounted (#3157)
fix #3156
2021-03-25 11:02:50 -04:00
HcySunYang 0a583d5ca2
fix(ssr): respect render function from extends/mixins in ssr (#3006)
fix #3004
2021-03-25 10:32:17 -04:00
edison eb1fae63f9
fix(runtime-core): handle error in async watchEffect (#3129) 2021-03-23 10:20:52 +01:00
21d1288133
fix(teleport): targetAnchor should also be removed when unmounted (#2870)
* fix(teleport): targetAnchor should also be removed when unmounted

* fix(teleport): targetAnchor should also be removed when unmounted
2021-03-23 10:19:09 +01:00
Cédric Exbrayat 3b3a9a1f52
fix: add display name for suspense component (#3312) 2021-03-23 10:17:15 +01:00
HcySunYang 67a0290c0a
fix(transition): toggling branches with in-out mode should be transitioned correctly (#3109)
fix #3104
2021-03-22 16:56:24 -04:00
HcySunYang e8e9b00f81
fix(KeepAlive): adapt keepalive for ssr (#3259)
fix #3255
2021-03-22 16:49:07 -04:00
Evan You ff4d4ec249 chore: fix all test cases 2021-03-05 18:28:12 -05:00
Evan You 68416e988f chore: fix types 2021-03-05 18:28:12 -05:00
Evan You 02cbbb718c perf: support only attaching slot scope ids when necessary
This is done by adding the `slotted: false` option to:

- compiler-dom
- compiler-ssr
- compiler-sfc (forwarded to template compiler)

At runtime, only slotted component will render slot fragments with
slot scope Ids. For SSR, only slotted component will add slot scope Ids
to rendered slot content. This should improve both runtime performance
and reduce SSR rendered markup size.

Note: requires SFC tooling (e.g. `vue-loader` and `vite`) to pass on
the `slotted` option from the SFC descriptoer to the `compileTemplate`
call.
2021-03-05 18:28:12 -05:00
Evan You aea88c3280 refactor: fix implementation of SFC :slotted id handling
fix #2892
2021-03-05 18:28:12 -05:00
Evan You 69304cf166 refactor: adjust logic branches 2021-03-01 15:45:55 -05:00
HcySunYang 7562e72c2b
fix(runtime-core): fix async component ref handling (#3191)
fix #3188
2021-03-01 15:00:32 -05:00
Evan You 75fdcd85ce chore: rename test to match src filename 2021-03-01 12:30:04 -05:00
HcySunYang 8ffcde2836
fix(runtime-dom): support mounting app to svg container (#2929)
fix #2926
2021-03-01 11:51:32 -05:00
Evan You 1a955e2278 release: v3.0.7 2021-03-01 10:59:29 -05:00
HcySunYang 45fae9d308
fix(scheduler): ensure updates are always inserted in ascending id order (#3184)
fix #2768, fix #2829
2021-02-25 09:37:25 -05:00
Evan You 75964aba03 test: test case for #3300, #3301 2021-02-25 09:07:49 -05:00
HcySunYang e3568bae27
fix(runtime-core): properties in methods should be writable and enumerable in DEV (#3301)
fix #3300
2021-02-25 09:04:28 -05:00
HcySunYang 4a965802e8
types: support object as props type (#3165) 2021-02-24 16:20:41 -05:00
HcySunYang 354966204e
dx(runtime-dom): warn config.isCustomElement usage in runtime-only build (#2945) 2021-02-24 16:18:55 -05:00
Evan You d0ea74556f fix: init devtools after feature flag checks 2021-02-24 15:59:38 -05:00
Evan You d9f91e26f9 release: v3.0.6 2021-02-24 15:19:31 -05:00
Evan You 5a7a1b8293 fix(hmr): deep clone reused hoisted trees during dev
fix vitejs/vite#2022
2021-02-15 15:09:27 -05:00
edison ec8fd10cec
fix(runtime-core): instanceWatch should pass `this.proxy` to source as the first argument (#2753) 2021-02-09 08:00:32 +01:00
JokcyLou bd1240c127
feat: remove useless option in KeepAlive (#3170) 2021-02-09 07:58:53 +01:00
HcySunYang f43a3b0beb
fix(runtime-core): align $parent/$root with the template ref when using expose (#3158) 2021-02-07 14:39:52 +01:00
edison 3efa2aff13
chore(runtime-core): remove unnecessary variables (#2680) 2021-02-05 20:06:50 +01:00
Alan Wang 1f567264a7
test: fix typo in expect message (#2678) 2021-02-05 20:06:21 +01:00
Cédric Exbrayat 73117f6b5b
fix(runtime-core): allow overriding properties other than props (#3105)
This is useful for testing, as Jest can't spy on an object without `hasOwnProperty`.
VTU can add it, but this commit is needed first.
2021-02-05 19:59:46 +01:00
HcySunYang 48f0d2944f
fix(types): extract the correct props type for the DateConstructor (#2676) 2021-02-05 19:56:23 +01:00
Thorsten Lünborg 288ae0a8d9
feat(runtime-core): improve render context warning (#2496)
Co-authored-by: Thorsten Luenborg <t.luneborg@googlemail.com>
2021-02-05 19:55:45 +01:00
Yang Mingshan 01fdbf4b06
types: use non-null assertion instead of explicit type cast (#2974) 2021-02-05 19:55:23 +01:00
HcySunYang 347a8798a4
fix(runtime-core): check the DEV_ROOT_FRAGMENT flag correctly in the dev environment (#2750) 2021-02-05 19:54:59 +01:00
HcySunYang 2587f36fe3
fix(runtime-core): component methods should override global properties in DEV (#3074) 2021-02-05 19:52:40 +01:00
Yang Mingshan e109f7b898
chore: remove overloads numbers in comments (#2976) 2021-02-04 14:34:40 +08:00
edison ffd5288545
feat(runtime-core): props type support `BigInt` (#2891) 2021-02-03 19:25:45 +01:00
hiroki 18b0c9a011
docs(type): remove unmount parameters (#2601) 2021-02-03 19:09:59 +01:00
Thorsten Lünborg 60e05eff23
fix(runtime-core): ensure app instance can be garbage collected after unmount (close #2907) (#2909)
close #2907

Co-authored-by: Thorsten Luenborg <t.luneborg@googlemail.com>
2021-02-03 19:09:20 +01:00
Evan You 310cb8cfab chore: fix useSSRContext casing in warning message 2021-01-29 15:03:52 -05:00
Guillaume Chau 4fecb27f86 fix(devtools): send instance to devtools when it's mounted instead of created 2021-01-29 16:48:37 +01:00
Godpu f2228a87d4
chore: typo (#2953) 2021-01-06 10:46:51 +01:00
Bruno P. Kinoshita ee266af42a
chore: typo "depdendency" (#2920) 2020-12-31 11:15:57 +01:00
Evan You 5a5d037dbb release: v3.0.5 2020-12-30 15:50:28 -05:00
Guillaume Chau 3626ff07fe feat(devtools): send instance 2020-12-18 18:24:01 +01:00
Bas van Meurs 3867bb4c14
fix(runtime-core): component mount anchor memory leak (#2459)
fix #2458
2020-12-04 18:03:10 -05:00
edison 82bf7ebf36
refactor(runtime-core): extract common getComponentName function (#2454) 2020-12-04 17:03:03 -05:00
Zcating d2d27b2e66
types(watch): better typing when watching multiple sources (#2425) 2020-12-04 16:32:26 -05:00
Carlos Rodrigues 6684c6334d
types: mixin and extends typing on data and setup (#2404)
close #2350
2020-12-04 16:06:34 -05:00
edison c59897c7b0
fix(runtime-core): skip patchBlockChildren if n1.dynamicChildren is null (#2717)
fix #2715 

The bug was introduced by #2485 where a compiled slot may result in a bailed Fragment
which then gets its dynamicChildren set to `null` by the renderer.
2020-12-03 12:17:04 -05:00
Evan You d067fb2dbb release: v3.0.4 2020-12-02 17:23:43 -05:00
Evan You 3523f743e5 build(deps-dev): handle @types/jest bump 2020-12-02 17:05:30 -05:00
Evan You 4307610c35 chore: fix setRef usage 2020-11-30 20:07:06 -05:00
Evan You 64d4681e4b fix(async-component): forward refs on async component wrapper
fix #2671
2020-11-30 18:59:14 -05:00
Yasser Lahbibi cd92836223
fix(teleport): Teleport into SVG elements (#2648)
fix #2652
2020-11-30 17:30:41 -05:00
hiroki 7a1a782642
fix(provide): support symbols in applyOptions (#2616)
fix #2615
2020-11-30 16:36:02 -05:00
Evan You bf16a57fc3 fix(runtime-core): handle static node move in production 2020-11-30 14:42:02 -05:00
underfin 2a9ba0c8e9
fix(runtime-core): remove static node in production mode (#2556)
fix #2553
2020-11-30 14:07:43 -05:00
Thorsten Lünborg 421205d0ad
fix(runtime-core): ensure keep-alive deep-watches include/explude props (#2551)
fix #2550
2020-11-30 14:04:45 -05:00
Evan You 67d1aac6ae feat(sfc): allow sfcs to recursively self-reference in template via name inferred from filename
e.g. A file named `FooBar.vue` can refer to itself as `<FooBar/>`. This gets rid of the need for the `name` option.
2020-11-30 12:30:51 -05:00
Evan You 3bc2914e32 fix(attr-fallthrough): ensure consistent attr fallthrough for root fragments with comments
fix #2549
2020-11-27 18:04:26 -05:00
shadowings-zy 3532b2b021
fix(runtime-core): fix emit listener check on kebab-case events (#2542)
fix #2540
2020-11-27 15:24:29 -05:00
Evan You 2ab8c41a1a fix(slots): dynamically named slots should be keyed by name
fix #2535
2020-11-27 14:35:46 -05:00
HcySunYang 0ff2a4f1c1
fix(runtime-core): should pause tracking when initializing legacy options (#2524)
fix #2521
2020-11-27 14:01:01 -05:00
Evan You a5d6f8091e fix(compiler-ssr): generate correct children for transition-group
fix #2510
2020-11-27 12:22:14 -05:00
Evan You 46d80f4d58 fix: allow hmr in all builds
close #2571
2020-11-27 10:36:09 -05:00
Evan You 53f4885d9e fix(runtime-core): skip functional components in public $parent chain traversal
fix #2437
2020-11-27 10:10:25 -05:00
Thorsten Lünborg 735af1c7b7
fix(runtime-core): ensure watchers are always registered to correct instance owner (#2495)
close: #2381
2020-11-27 09:31:50 -05:00
HcySunYang ce4915d8be
fix(slots): should render fallback content when slot content contains no valid nodes (#2485)
fix #2347, fix #2461
2020-11-26 11:35:45 -05:00
Evan You cf7f1dbc9b fix(suspense): fix nested async child toggle inside already resovled suspense
fix #2215
2020-11-26 11:06:55 -05:00
Evan You 426a6c996e test: tests for script setup helpers 2020-11-26 10:01:36 -05:00
Evan You 73cdb9d420 fix(script-setup): ensure useContext() return valid context 2020-11-26 09:25:56 -05:00
Evan You bd6e211287 release: v3.0.3 2020-11-25 11:16:21 -05:00
Evan You bdc66c7ea4 wip: revert helpers to compiler-only 2020-11-24 19:04:21 -05:00
Evan You 47d73c23e1 wip: defineOptions -> defineProps + defineEmit + useContext 2020-11-24 19:04:21 -05:00
Evan You ac80ea2c19 chore: warning for outdated hmr api usage 2020-11-21 16:06:50 -05:00
Evan You 8ac2241b22 wip: more consistent compiler-sfc usage + inline mode for ssr 2020-11-20 14:23:09 -05:00
Evan You b79a06c605 wip: optimize expose 2020-11-16 11:28:37 -05:00
Evan You 468e0d95cf chore: Merge branch 'feat/expose' into script-setup-2 2020-11-14 12:50:32 -05:00
Evan You 0e59770b92 feat(runtime-core): explicit expose API 2020-11-14 12:49:35 -05:00
Evan You 1ff5960971 wip: useOptions -> defineOptions 2020-11-13 17:38:28 -05:00
Evan You 6fc8d5d0ba wip: type inference for useOptions 2020-11-13 00:01:44 -05:00
Evan You 001f8ce993 wip: defineContext -> useOptions 2020-11-12 22:51:40 -05:00
Evan You 6a9b56ca60 wip: defineContext() 2020-11-12 14:10:39 -05:00
Evan You dc098c7f81 wip: defineContext 2020-11-11 19:40:27 -05:00
underfin af9560455d
fix(runtime-core): ensure scheduler queue is always non-null (#2567)
fix https://github.com/vitejs/vite/issues/1021
2020-11-09 09:19:32 -05:00
Evan You 9c23ddf9c5 fix(hmr): fix updates for imported but not yet rendered components 2020-10-26 17:52:27 -04:00
Evan You 51e43e0799 fix(runtime-core): components with static props and slots should not be force updated 2020-10-22 17:50:05 -04:00
Evan You f2d03a59c6 release: v3.0.2 2020-10-20 16:24:12 -04:00
Carlos Rodrigues 1f2a652a9d
fix(types): h support for resolveComponent (#2402)
close #2357
2020-10-20 15:56:29 -04:00
HcySunYang fff62e2ee8
fix(runtime-core): non-stable Fragment should always unmount its children (#2445)
fix #2444
2020-10-20 14:59:55 -04:00
Evan You 0227b4a697 fix(suspense): fix suspense nested child updates in template mode
fix #2214
2020-10-20 12:28:02 -04:00
Hunter 128ec460ec
fix(v-model): built in modifiers support on component (#2348)
close #2326
2020-10-20 09:59:27 -04:00
Evan You 4bbb2b2ee6 fix(runtime-core): fix component .once listener logic 2020-10-20 09:50:18 -04:00
ShaoDamao 288c764e52
chore(runtime-core): fix typo (#2442)
Co-authored-by: shaoziwei <ziwei.shao@cloudchef.io>
2020-10-20 08:51:05 +02:00
Hunter 111d04f119
fix(runtime-core): prevent self-injection (#2424)
fix #2400
2020-10-19 20:45:48 -04:00
被雨水过滤的空气 edd49dcab4
fix(runtime-core): avoid mutating EMPTY_ARR when setting dev root (#2419)
also freeze EMPTY_ARR in dev

fix #2413
2020-10-19 18:08:54 -04:00
Carlos Rodrigues d9ad45ad6c
types(defineComponent): fix optional Boolean prop types (#2401)
fix #2338
2020-10-19 17:25:55 -04:00
ᴜɴвʏтᴇ 052a621762
feat(compile-core): handle falsy dynamic args for v-on and v-bind (#2393)
fix #2388
2020-10-19 17:15:53 -04:00
龙腾道 ba881f9190
fix(runtime-core): avoid object prototype keys in property access cache (#2416) 2020-10-19 17:11:28 -04:00
Evan You f17f0ddf68 release: v3.0.1 2020-10-15 12:37:21 -04:00
underfin e78915a740
fix(hmr): full diff props for non-sfc component (#2359)
close #https://github.com/vitejs/vite/issues/872
2020-10-15 11:05:12 -04:00
Hunter 962af85220
test(runtime-core): inject from closest ancestor (#2329) 2020-10-13 16:31:13 -04:00
ᴜɴвʏтᴇ 6df3675548
test(runtime-core): improve test for #2295 (#2309) 2020-10-13 16:29:23 -04:00
underfin 02f355eb69
fix(v-for): handle and warn when `v-for` receives non-integer range number (#2247)
close #2245
2020-10-13 16:28:24 -04:00
Pick 9b34f915ab
refactor(runtime-core): simplify deep watch traverse (#2212) 2020-10-13 16:06:36 -04:00
Pick e4a5387435
refactor(runtime-core): refactor watch typing (#2191) 2020-10-13 15:45:17 -04:00
edison 1cc8cd60a1
test(runtime-core): show warn when create with invalid type (#2128) 2020-10-13 15:27:21 -04:00
Evan You 6ba7ba47d5 feat: custom formatters 2020-10-13 11:50:24 -04:00
Evan You 2ae3b26679 fix(teleport): proper children traversal when teleport is block root
fix #2324
2020-10-10 16:07:30 -04:00
Evan You b0931dcaba fix(teleport): should only force remove teleport when not disabled
fix #2323
2020-10-09 09:08:59 -04:00
Evan You 4d1ebb5deb fix(runtime-core): fix directive merging on component root
fix #2298
2020-10-07 22:02:32 -04:00
Evan You f06518a8c9 fix(runtime-core): fix provide function data access in extends/mixins
fix #2300
2020-10-07 21:47:01 -04:00
Evan You 25d53f09bb fix(runtime-core/template-refs): do not reset refs object before updates
fix #2283
2020-10-07 17:49:03 -04:00
Evan You b392fe419c fix(runtime-core): error handling for created/beforeCreate hooks
fix #2268
2020-10-07 16:58:19 -04:00
shadowings-zy 62f26173ba
fix(runtime-core): use consistent camelCase event casing for render functions (#2278)
close #2249
2020-10-06 18:28:56 -04:00
Evan You 390589ec6d fix(reactivity): should not trigger watch on computed ref when value is unchanged
fix #2231
2020-10-06 18:16:20 -04:00
Evan You a66e53a24f fix(runtime-core): fix SSR memoery leak due to props normalization cache
fix #2225

The previous props/emits normlaization was caching normalized result per
app instance, but during SSR there is a new app instance created for
every request.

The fix now de-opts props/emits normlaization caching when there are
props/emits declared in global mixins - which is a very rare use case.
2020-10-06 15:31:29 -04:00
Evan You cf2c9f6faa perf: do not enable hmr in non-browser envs 2020-10-06 11:51:55 -04:00
Evan You 5c3e8e9840 fix(runtime-core): ensure this context for $nextTick callback
fix #2282
2020-10-05 18:18:38 -04:00
ᴜɴвʏтᴇ 4d20ac8173
fix(runtime-core): make errorCaptured return value handling consistent with Vue 2 (#2289)
fix #2267
2020-10-05 17:37:26 -04:00
HcySunYang ea1f87eabf
fix(reactivity): should add allowRecurse to the effect (#2213)
So that the scheduler also respects effect's allowRecurse option.

fix #2200
2020-10-05 16:36:02 -04:00
Philipp Rudloff 28d5fd7a28
fix(runtime-core): vnode.el is null in watcher after rerendering (#2295)
fix #2170
2020-10-05 16:05:43 -04:00
Evan You 376883d1cf fix(runtime-core): fix duplicated unmount traversal in optimized mode
fix #2169
2020-09-22 11:38:15 -04:00
wonderful-panda 5dbd6b36a0
fix(types): fix using tuple type as EmitsOptions (#2160)
fix #2159
2020-09-22 10:05:37 -04:00
Evan You 6aa2256913 fix(types): avoid DefineComponent defaulting to any
fix #2192
2020-09-22 10:02:19 -04:00
Evan You d8c1536ead release: v3.0.0 2020-09-18 11:28:05 -04:00
Evan You 876ecc8672 release: v3.0.0-rc.13 2020-09-18 01:39:30 -04:00
Katashin 422f05e085
fix(hmr): make hmr working with class components (#2144) 2020-09-18 00:14:59 -04:00
Anthony Fu 57bdaa2220
fix(types): component instance inference without props (#2145) 2020-09-18 00:13:47 -04:00
Evan You 1c9a0b3e19 feat(watch): support dot-delimited path in watch option 2020-09-18 00:00:39 -04:00
Evan You 5bfcad155b fix(suspense): should discard unmount effects of invalidated pending branch 2020-09-17 23:49:06 -04:00
Evan You 49bb44756f refactor: watch APIs default to trigger pre-flush
BREAKING CHANGE: watch APIs now default to use `flush: 'pre'` instead of
`flush: 'post'`.

  - This change affects `watch`, `watchEffect`, the `watch` component
    option, and `this.$watch`.

  - As pointed out by @skirtles-code in
    [this comment](https://github.com/vuejs/vue-next/issues/1706#issuecomment-666258948),
    Vue 2's watch behavior is pre-flush, and the ecosystem has many uses
    of watch that assumes the pre-flush behavior. Defaulting to post-flush
    can result in unnecessary re-renders without the users being aware of
    it.

  - With this change, watchers need to specify `{ flush: 'post' }` via
    options to trigger callback after Vue render updates. Note that
    specifying `{ flush: 'post' }` will also defer `watchEffect`'s
    initial run to wait for the component's initial render.
2020-09-17 23:17:21 -04:00
Evan You 58c31e3699 feat(runtime-core): support using inject() inside props default functions 2020-09-17 15:59:01 -04:00
Evan You 985bd2bcb5 release: v3.0.0-rc.12 2020-09-16 13:50:13 -04:00
Evan You df954dc90f chore: do not log warned error during tests 2020-09-16 13:37:12 -04:00
Evan You dd40ad8fca fix(runtime-core): should still do full traverse of stable fragment children in dev + hmr 2020-09-16 13:01:53 -04:00
Evan You bebd44f793 fix(runtime-core): ensure root stable fragments inherit elements for moving
fix #2134
2020-09-16 12:18:03 -04:00
Evan You c7b4a379cf fix(runtime-core/async-component): fix error component when there are no error handlers
fix #2129
2020-09-16 11:10:16 -04:00
Evan You 3810de7d6b fix(reactivity): effect shoud only recursively self trigger with explicit options
fix #2125
2020-09-16 10:52:31 -04:00
wonderful-panda 89e9ab8a2a
fix(types/tsx): optional props from Mixin/Extends are treated as required (#2048) 2020-09-16 10:09:35 -04:00
Cédric Exbrayat 7e68ddd354
chore: typos in suspense events (#2131)
Removes the mention of the recede event that has been replaced.
2020-09-16 09:30:47 -04:00
Carlos Rodrigues be27bbc5ad
types(defineComponent): fix missing exported types (#2124) 2020-09-16 09:29:42 -04:00
Evan You f2ef7d7c8e release: v3.0.0-rc.11 2020-09-15 13:15:42 -04:00
Evan You 5ae7380b4a
feat: update Suspense usage (#2099)
See https://github.com/vuejs/vue-next/pull/2099 for details.
2020-09-15 12:45:06 -04:00
Evan You 37e686f25e chore: remove wip code 2020-09-15 12:41:56 -04:00
Carlos Rodrigues 4fd468aced
types(runtime-core): refactor defineComponent (#1883) 2020-09-15 11:46:11 -04:00
HuangYi 98cc1f9d84
fix(KeepAlive): when exclude prop change, it should prune cache that not matched (#2111) 2020-09-15 10:33:50 -04:00
edison 0cddde6aa4
test(runtime-core): test app API warnings (#2079) 2020-09-14 21:48:38 -04:00
Haoqun Jiang c65d6def84
polish: warn deprecated beforeDestroy/destroyed lifecycle hooks (#1999) 2020-09-14 21:47:58 -04:00
Evan You b2dc95378d types: fix + test inject API typing
ref: #2052
2020-09-14 21:26:28 -04:00
Pick 09a939d37c
Revert "refactor(runtime-core): add @internal for instance.proxy (#1849)" (#2024)
This reverts commit 4d51be73d3.
2020-09-14 20:56:04 -04:00
被雨水过滤的空气 890ca8aa34
fix(keep-alive): should use onMounted and onUpdated to invoke cacheSubtree (#1984) 2020-09-14 20:50:06 -04:00
Evan You 124c385baf perf: should not trigger child update if changed prop is declared emit listener
close #2072
2020-09-14 18:58:30 -04:00
Evan You 4de5b111ee test: fix cloneVNode ref tests 2020-09-14 18:55:00 -04:00
underfin a32870a8f6
fix: inherit `el` for static nodes inside keyed `template` fragment (#2089)
fix #2080
2020-09-14 16:02:29 -04:00
Evan You 612eb6712a fix(runtime-core/refs): handle multiple merged refs for dynamic component with vnode
fix #2078
2020-09-14 15:33:38 -04:00
Stanislav Lashmanov 313dd06065
fix(runtime-core/inject): handle optional `from` option in inject object config (#2073) 2020-09-14 12:52:19 -04:00
HcySunYang 24fcf6ae7c
fix(types): properly infer return type from async setup (#2051)
fix #2049
2020-09-14 11:28:56 -04:00
Evan You 0124eacc91 refactor(reactivity): refactor iteration key trigger logic + use more robust Map/Set check 2020-09-14 11:26:34 -04:00
Evan You d4724619fc fix(inject): fix support for inject option default function
fix #2050
2020-09-04 12:07:30 -04:00
Evan You 6dbc6c4cd0 fix(sfc): fix scoped style regression for child component with single root + comment
fix #2046
2020-09-04 11:36:55 -04:00
Evan You fa7ab0a7f7 fix(runtime-core): warn reserved prefix for setup return properties and ensure consistent dev/prod behavior
close #2042
2020-09-03 11:21:14 -04:00
ᴜɴвʏтᴇ 95c07d8c36
fix(runtime-core): fix priority of option merging (#2041) 2020-09-03 10:35:43 -04:00
Evan You 4386653e76 release: v3.0.0-rc.10 2020-09-02 12:41:54 -04:00
Evan You ad93fa42fc fix(runtime-core): openBlock() should not be tracked when block tracking is disabled 2020-09-02 12:30:37 -04:00
Evan You c73b4a0e10 feat(ssr): serverPrefetch 2020-09-01 22:52:46 -04:00
HcySunYang 63f1f18064
fix(runtime-core): v-model listeners that already exists on the component should not be merged (#2011)
fix #1989
2020-09-01 22:24:20 -04:00
Carter Li aa757e8e6d
fix(types): fix `this` type of `this.$watch` (#2022) 2020-09-01 21:08:01 -04:00
HcySunYang 93b8ff94a4
polish(teleport): do not warn missing target when teleport is disabled (#2021) 2020-09-01 21:05:51 -04:00
zhangzhonghe 0d0970f9cd
refactor(runtime-core): remove the deactivated branch in unmountComponent method (#2012) 2020-09-01 21:03:50 -04:00
Evan You c0427b45ff fix(sfc/scoped-style): inherit scopeId through nested HOCs with inheritAttrs: false
fix #1988
2020-09-01 18:56:02 -04:00
HcySunYang 5b82c48c7b
fix(runtime-core): enable block tracking when normalizing plain element with slot children (#1987)
fix #1980
2020-09-01 12:38:47 -04:00
ᴜɴвʏтᴇ 706b52aadd
fix(runtime-core): ensure consistent $options merge behavior with 2.x (#1986)
close #1978 , close #1979
2020-08-31 21:04:06 -04:00
Evan You 8ed0b342d4 fix(runtime-core): fix props/emits resolving with global mixins
fix #1975
2020-08-31 18:32:07 -04:00
Guillaume Chau 5df71b739d chore: add repository directories 2020-08-30 15:06:06 +02:00
Guillaume Chau 7fd3436290 fix(devtools): make el extra properties non-enumerable 2020-08-29 05:00:38 +02:00
Guillaume Chau 38ca7e8e4e feat(devtools): expose vnode and component on elements 2020-08-29 04:53:25 +02:00
Evan You 94d94bafc5 release: v3.0.0-rc.9 2020-08-26 18:21:18 -04:00
Evan You 0cb7f7f880 fix(runtime-core): fix resolving assets from mixins and extends
fix #1963
2020-08-26 18:09:54 -04:00
Pick d0cc4b37d0
test(runtime-core): add tests for componentSlots (#1940) 2020-08-26 12:17:21 -04:00
HcySunYang 6df0e738cb
fix(runtime-core): properly call lifecycle hooks in chained mixins & extends (#1974)
fix #1973
2020-08-26 10:31:23 -04:00
HcySunYang 9153fc2d8a
fix(runtime-core): class and style should be properly normalized in cloneVNode (#1967)
fix #1964
2020-08-26 09:37:28 -04:00
Evan You ede2e0d1b5 release: v3.0.0-rc.8 2020-08-25 10:31:52 -04:00
zhangzhonghe 1ea24000c8
fix(keep-alive): should remove wrapped version of injected keep alive hooks (#1959) 2020-08-25 10:02:39 -04:00
Katashin 67b6e0f894
fix(types): relax ComponentPublicInstanceConstructor type for class components (#1943) 2020-08-24 21:53:30 -04:00
HcySunYang 955450f539
types(runtime-core): improve the extracted instance types (#1936) 2020-08-24 21:37:22 -04:00
Evan You c15311cfe8 fix(runtime-core): fix data merge order for mixins/extends
fix #1953
2020-08-24 21:30:04 -04:00
Evan You 59e58cd4a5 chore: remove console.log [ci skip] 2020-08-24 21:16:13 -04:00
Evan You 36fa42a88c fix(runtime-core/scheduler): handle nested flushPostFlushCbs calls
fix #1947
2020-08-24 18:47:15 -04:00
Evan You 499bc0bfc4 fix(hmr): properly force hmr full component props update
fix #1942
2020-08-24 18:13:29 -04:00
Evan You 57642fac8f fix(ssr): invoke directive created hook during hydration 2020-08-24 17:24:54 -04:00
Evan You 11804fe93f feat(directives): introduce `created` custom directive hook and ensure
`v-model` event listener fire before template/props listeners

fix #1931
2020-08-24 17:12:16 -04:00
Guillaume Chau 410e7abbbb refactor(devtools): emit needs to send the instance in args 2020-08-24 20:27:40 +02:00
Guillaume Chau 23233dc8b8 feat(devtools): catch events 2020-08-24 01:33:12 +02:00
Yang Mingshan 10293c7a18
fix(watch): traverse refs in deep watch (#1939)
ref #1900
2020-08-23 14:41:11 -04:00
Guillaume Chau 31b99a9139 feat(devtools): expose setupState target object 2020-08-22 16:40:04 +02:00
Guillaume Chau 6eb7fd8333 fix(devtools): unmountApp not behind compile flag 2020-08-22 16:34:18 +02:00
Guillaume Chau 3138f4b42f chore: rename createDevtoolsHook to createDevtoolsComponentHook 2020-08-22 15:53:21 +02:00
Evan You 54d06ec495 feat(runtime-core): support variadic children in `h` for simple JSX compat
ref: #1917
2020-08-21 21:54:33 -04:00
Evan You 6602d6dbff release: v3.0.0-rc.7 2020-08-21 14:13:05 -04:00
Li Chen 0f8c9917f8
chore(runtime-core): use ReactiveFlags.SKIP in vnode for consistency (#1901) 2020-08-21 13:45:42 -04:00
Evan You f02e2f99d9 fix(runtime-core): disable block tracking when calling compiled slot function in tempalte expressions
fix #1745, fix #1918
2020-08-21 12:47:45 -04:00
Evan You 7454e2a52b build(deps): upgrade to TypeScript 4 2020-08-20 17:48:28 -04:00
HcySunYang 255a2bd178
test(runtime-core): add tests for the optimized mode (#1884) 2020-08-20 10:56:31 -04:00
Evan You d4cc7b2496 fix(teleport): only inherit el for non-patched nodes
fix #1903
2020-08-20 10:44:28 -04:00
HcySunYang 7ffb79c563
fix(runtime-core): correctly track dynamic nodes in renderSlot (#1911) 2020-08-20 09:37:26 -04:00
Evan You 91c4735416 release: v3.0.0-rc.6 2020-08-19 18:17:42 -04:00
Evan You cfa7636bbe chore: comments 2020-08-19 18:02:17 -04:00
Evan You 1eb6067a85 fix(runtime-core): fix beforeUpdate call timing to allow state mutation
fix #1899
2020-08-19 17:57:51 -04:00
Carlos Rodrigues c2913d57d1
fix(types): handling PropType<Function> with default value (#1896)
fix #1891
2020-08-19 16:36:42 -04:00
Evan You eb2ae44d94 refactor(types): widen `Component` type to include consutructor types
returned from `defineComponent`

ref: https://github.com/vuejs/vue-router-next/pull/421
also close #1880

Previous `Component` type is now exported as `ConcreteComponent`.

This introduces a minor breaking change when calling `h(comp, { ... })`
will now fail if `comp` is a of generic `Component` type, since it does
not specify what props it expects.
2020-08-19 16:19:25 -04:00
Carlos Rodrigues 4baf852a34
types(runtime-core): make `FunctionalComponent` with emit string[] to be `Component` (#1879)
fix #1847
2020-08-19 10:00:48 -04:00
HcySunYang 7f82428680
types(runtime-core): tweak the type of KeepAlive (#1871) 2020-08-19 10:00:01 -04:00
edison 7dd067206c
chore: remove unused type `VNodeDirectiveData` (#1893) 2020-08-19 09:51:44 -04:00
Evan You 9f92871c80 types(runtime-core): argument for props validator
Unfortunately it requires explicit annotation for now
2020-08-18 11:37:34 -04:00
Aurelius333 a88895b5da
types(runtime-core): make `this` void in prop validators and prop default factories (#1867) 2020-08-18 11:25:55 -04:00
HcySunYang 9d36c61796
types(runtime-core): improve PropType inference precision (#1863) 2020-08-18 11:23:18 -04:00
Pick 4d51be73d3
refactor(runtime-core): add @internal for instance.proxy (#1849) 2020-08-18 11:12:26 -04:00