Commit Graph

1244 Commits

Author SHA1 Message Date
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