Commit Graph

1020 Commits

Author SHA1 Message Date
Evan You 6dd59ee301 fix(v-model): should ignore compiled v-model listeners in attr fallthrough
fix #1510
2020-07-06 17:00:34 -04:00
Evan You 36b6b4f022 fix(runtime-core/template-ref): template ref used in the same template should trigger update
fix #1505
2020-07-06 16:40:00 -04:00
Evan You 7f83856f34 release: v3.0.0-beta.18 2020-07-01 21:06:25 -04:00
Evan You f3e9c1b59d fix(runtime-core): avoid accidental access of Object.prototype properties 2020-07-01 20:13:02 -04:00
Evan You 4e8e689572 fix: ensure vnode hooks are called consistently regardless of keep-alive 2020-07-01 19:50:13 -04:00
Evan You c9629f2692 feat(runtime-core): support creating vnode from existing vnode
This allows passing vnode around with curried props and use it in
places where VNodeType is expected, e.g. `<component :is=""/>`
2020-07-01 19:48:01 -04:00
Evan You 2bdb5c1464 fix(runtime-core): pass unmount into inital mount patch prop 2020-07-01 16:01:46 -04:00
Evan You 7886c267f7 refactor: remove unused inheritRef option
This is technically a breaking change, but the option was not meant for public use
and ended up not solving the problem it was introduced for.
2020-07-01 15:40:11 -04:00
Evan You f6da6bf999 release: v3.0.0-beta.17 2020-06-30 12:10:15 -04:00
Evan You 6b23216e6d chore: comment on slot optimization hint [ci skip] 2020-06-30 12:01:05 -04:00
Evan You d2bf3cc4a8 chore: remove unnecessary loop 2020-06-30 11:43:15 -04:00
Evan You b3536d87a5 fix(runtime-dom): allow force updating value bindings for controlled inputs
fix #1471
2020-06-30 11:23:09 -04:00
Evan You 062835d45a fix(slots): make compiled slot marker non-enumerable
fix #1470
2020-06-30 09:27:06 -04:00
Jian Zhang 0017caf68b
chore: avoid unnecessary function call (#1464) 2020-06-29 18:52:44 -04:00
Evan You ec3c12ee10 release: v3.0.0-beta.16 2020-06-29 18:34:50 -04:00
Evan You 86d3972855 fix(transition-group): vue 2 compatible handling of transition-group w/ multiple v-for children
fix #1126
2020-06-29 18:16:10 -04:00
underfin d4cd12887e
fix(BaseTransition): collect correct children with slot passthrough in `Transition` (#1456)
fix #1455
2020-06-29 12:04:28 -04:00
Evan You afe13e0584 fix(ssr): fix ssr scopeId on component root 2020-06-27 00:27:44 -04:00
Evan You 978d9522e8 fix(runtime-core): fix scopeId inheritance for component inside slots 2020-06-26 22:28:55 -04:00
Evan You 0dd5cde861 fix(runtime-core): handle patch flag de-op from cloned vnode
close #1426
2020-06-26 18:05:53 -04:00
Evan You f3f94e4deb fix(runtime-core): component root should inherit scopeId from vnode
fix #1399
2020-06-26 17:54:44 -04:00
Evan You 70ea76ae0c fix(slots): filter out compiler marker from resolved slots
fix #1451
2020-06-26 17:18:39 -04:00
Evan You d5dbd27193 fix(ssr): handle fallthrough attrs in ssr compile output 2020-06-26 16:55:37 -04:00
Stanislav Lashmanov 6bc0e0a31a
feat(ssr): renderToStream (#1197) 2020-06-26 11:09:47 -04:00
Evan You e0d19a6953 fix(runtime-core): always check props presence in public instance proxy
When the there are props merged from mixins or extends, the component itself
may not have a props property.

fix #1236 where merged props are not exposed in production
2020-06-26 10:19:07 -04:00
Evan You 5453e791ae chore: fix types 2020-06-26 10:07:07 -04:00
edison 178e89305d
chore(reactivity): use consistent naming for ReactiveFlags enum (#1428) 2020-06-26 09:32:09 -04:00
Evan You e765d81404 fix(runtime-core): fix component name inference in warnings
Should not pollute component definition name property
fix #1418
2020-06-26 09:28:15 -04:00
underfin 1c4e1b6792
fix(runtime-core): should remove no longer present camelCase props (#1413)
fix #1412
2020-06-26 09:16:06 -04:00
Evan You 056cac9185 feat(runtime-core): expose version on app instance
close #1449
2020-06-26 09:03:55 -04:00
Evan You 9edbc27f45 fix(transition): fix css:false with hooks with no explicit done callback
close #1149
2020-06-25 17:40:49 -04:00
underfin 2ff8dcab0a
fix(BaseTransition): fix `BaseTransition` delayed leave with mode `in-out` (#1404)
fix #1400
2020-06-25 17:00:19 -04:00
Evan You 7ae70ea44c fix(transition): fix appear hooks handling 2020-06-25 16:02:28 -04:00
Albert Liu a60f3b1430
refactor(types): remove unnecessary as any (#1411) 2020-06-25 11:05:39 -04:00
Evan You e68209bfdb test: bump jest 2020-06-16 12:11:51 -04:00
Evan You 2961e149c9 fix(types): ensure correct public props interface for defineComponent instance type
fix #1385
2020-06-16 12:00:18 -04:00
underfin 6c8bfa1018
fix(runtime-core): fix parent el update on nested HOC self-update (#1360)
fix #1357
2020-06-15 16:46:29 -04:00
Evan You be69beed5e fix(runtime-core): cloneVNode should preserve correct ctx instance when normalizing ref
fix #1311
2020-06-15 15:57:37 -04:00
Cédric Exbrayat 68e2d6c68a
fix(types): export ComponentOptionsMixin (#1361)
The newly introduced `ComponentOptionsMixin` was not re-exported.
2020-06-15 11:13:00 -04:00
Cathrine Vaage 250eb4a5bc
fix(runtime-core): properly capitalize v-on object keys (#1358) 2020-06-15 11:12:08 -04:00
Carlos Rodrigues 6e9789cef1
test(runtime-core): test multi-root ref assignment (#1374) 2020-06-15 09:31:14 -04:00
Evan You cf2f278f48 release: v3.0.0-beta.15 2020-06-12 18:09:05 -04:00
Evan You 51510adacb test: fix hmr test 2020-06-12 17:17:01 -04:00
Evan You 6abac87b3d fix(runtime-core): track access to $attrs
fix #1346
2020-06-12 16:59:15 -04:00
Evan You 91fa52850a chore: lint for unused arguments 2020-06-12 16:31:31 -04:00
Evan You e76ed4c269 refactor(hmr): simplify hmr force update check 2020-06-12 14:53:48 -04:00
Carlos Rodrigues 8f2a7489b7
fix(hmr): force full update on nested child components (#1312) 2020-06-12 14:31:56 -04:00
Evan You 8084156f4d fix(runtime-core): mount children before setting element props
fix #1318, close #1320
2020-06-12 12:14:39 -04:00
underfin aac9b03c11
fix(runtime-core): should pass instance to patchProp on mount for event error handling (#1337)
fix #1336
2020-06-12 11:59:55 -04:00
Albert Liu 47c4ffbdbe
refactor(types): improve typing (#1317) 2020-06-12 10:46:44 -04:00
Cédric Exbrayat cab769f174
fix(types): add RawSlots in h signature (#1293) 2020-06-12 10:38:56 -04:00
underfin c463a71bb3
fix(ssr): fix unintended error on `Teleport` hydration mismatch (#1271)
fix #1235
2020-06-12 10:01:56 -04:00
tangjinzhou d437a0145d
fix(runtime-core): default value for function type prop (#1349)
fix #1348
2020-06-12 09:06:28 -04:00
Carlos Rodrigues 4c4f39b6ea
types(props): fix typo on prototype (#1334) 2020-06-11 17:34:21 -04:00
ysj16 1f2926a33c
perf: optimize LRU access in keep-alive (#1316) 2020-06-11 17:24:50 -04:00
underfin 0b93440146
chore: better warning when remounting a mounted app (#1297) 2020-06-11 17:20:38 -04:00
Evan You 3fafc3b3ac
types(runtime-core): improve types for transition hook (#1009)
* types(runtime-core): improve types for transition hook

fix #1000

* Update packages/runtime-core/src/components/BaseTransition.ts

Co-Authored-By: Carlos Rodrigues <david-181@hotmail.com>

* fix: run ci

Co-authored-by: Carlos Rodrigues <david-181@hotmail.com>
2020-06-11 16:39:18 -04:00
underfin 419b86d190
feat(types): support typing directive value via generic argument (#1007)
close #998
2020-06-11 16:37:14 -04:00
Evan You 80c868aefe workflow: setup eslint for prohibited syntax and globals
fix #1285
2020-06-10 16:54:23 -04:00
Evan You e4dc03a8b1 feat(types): adjust type exports for manual render function and tooling usage
- v-model and v-show directives are now exposed as public
- compiler-used runtime helpers are now exposed for TS tooling, but marked as @private

close #1329
2020-06-10 14:57:21 -04:00
Evan You 215c106297 test: test for mixin/extends props merging 2020-06-09 16:20:33 -04:00
Evan You 2417a0cb30 fix(runtime-core): respect props from mixins and extends
fix #1236, close #1250
2020-06-09 11:27:40 -04:00
doly mood d3c436ae2e
feat(types): mixins/extends support in TypeScript (#626) 2020-06-09 10:37:00 -04:00
Carlos Rodrigues 97dedebd80
feat(types): update to Typescript 3.9 (#1106) 2020-06-09 10:17:42 -04:00
Alexandre Bonaventure Geissmann 4a5021e763
fix(runtime-core): use array destructuring instead of object for edge compat (#1302)
fix #1294
2020-06-05 10:57:44 -04:00
Evan You 2408a65662 fix(hmr): force full update in child component on slot update 2020-05-29 10:50:01 -04:00
Evan You 38f2d23a60 feat(runtime-core): add inheritRef option + make <transition> & <keep-alive> inherit refs 2020-05-22 10:26:17 -04:00
Evan You 0a7932c6b3 fix(ssr): should set ref on hydration 2020-05-21 17:37:23 -04:00
Evan You 32b3f78a36 release: v3.0.0-beta.14 2020-05-18 14:42:11 -04:00
Evan You 24168bbb33 chore: improve comments 2020-05-18 11:17:57 -04:00
Yang Mingshan ba62ccd55d
feat(watch): support directly watching reactive object in multiple sources with deep default (#1201) 2020-05-18 11:02:51 -04:00
underfin 520cad7d4d
test(runtime-core): add test case for `createBlock` with disableTracking (#1169) 2020-05-18 10:20:05 -04:00
underfin efa3214866
test(runtime-core): add test for `renderSlot` (#1160) 2020-05-18 10:14:09 -04:00
Evan You 449fd05ad6 release: v3.0.0-beta.13 2020-05-16 21:53:47 -04:00
Evan You b26976b6d8 wip: fix tests 2020-05-15 17:05:26 -04:00
Evan You dc229bcda4 wip(hydration): hydrate multi-element static nodes 2020-05-15 16:30:20 -04:00
Evan You 1184118d23 wip(runtime): test for static vnode handling 2020-05-15 16:11:53 -04:00
Evan You dbf627f136 wip(runtime): support multi-element static vnode in renderer 2020-05-15 15:12:26 -04:00
Evan You 3c88299f6a release: v3.0.0-beta.12 2020-05-11 15:52:37 -04:00
Evan You 2bc6a8c1cf fix(hmr): static child traversal should only affect elements 2020-05-11 15:46:30 -04:00
Evan You aa1672a8bd test: fix hmr test id 2020-05-11 15:44:13 -04:00
Evan You 7887c54dfe release: v3.0.0-beta.11 2020-05-11 14:25:36 -04:00
Evan You 1b946c85df fix(hmr): always force full child component props update in HMR mode 2020-05-11 14:17:35 -04:00
Evan You 5b8883a846 fix(runtime-core): should not take unmount children fast path for v-for fragments
fix #1153
2020-05-11 13:53:28 -04:00
Evan You 66c5a556dc fix(hmr): ensure static nodes inherit DOM element in hmr mode
fix #1156
2020-05-11 11:34:42 -04:00
Evan You a165d8293d feat(runtime-core): expose isVNode 2020-05-11 11:09:36 -04:00
Evan You 13acb9134e release: v3.0.0-beta.10 2020-05-07 11:21:18 -04:00
Evan You 8df6bc0132 refactor: reuse parseStringStyle across compiler and runtime 2020-05-06 11:22:49 -04:00
t-zzzzzzzzz 2d9f136077
fix(runtime-dom/style): normalize string when merging styles (#1127) 2020-05-06 11:14:07 -04:00
susiwen8 df4150dc4c
chore: LegacyOptions doesn't need to be exported (#1134) 2020-05-06 11:07:11 -04:00
Evan You 40166a8637 feat(types): re-expose trasnformVNodeArgs 2020-05-05 10:45:33 -04:00
Evan You c32ed52b97 release: v3.0.0-beta.9 2020-05-04 17:14:42 -04:00
Evan You 3c3fe88c64 release: v3.0.0-beta.8 2020-05-04 10:49:23 -04:00
Evan You ff97be15c3 chore: ensure warn is dev only 2020-05-04 10:17:40 -04:00
Evan You 6b33cc4229 feat(watch): support directly watching reactive object with deep default
Also warn invalid watch sources

close #1110
2020-05-04 09:27:28 -04:00
Evan You 64ef7c76bf feat(types): re-expose resolve asset utitlies and registerRuntimeCompiler in type definitions
close #1109
2020-05-04 08:52:59 -04:00
Evan You 01b7e90eac fix(hmr): handle cases where instances with same id having different definitions 2020-05-03 13:52:09 -04:00
Evan You 0dc44a6a86 release: v3.0.0-beta.7 2020-05-02 17:06:16 -04:00
Evan You d901b6bea8 refactor(reactivity): use more efficient reactive checks
WeakSets and WeakMaps shows degrading performance as the amount of
observed objects increases. Using hidden keys result in better
performance especially when repeatedly creating large amounts of
reactive proxies.

This also makes it possible to more efficiently declare non-reactive
objects in userland.
2020-05-02 16:58:17 -04:00
Eduardo San Martin Morote 71a942b25a
fix(warn): cast symbols to strings (#1103) 2020-05-02 10:26:32 -04:00
Evan You 583ba0c172 feat(types): re-expose `withDirectives` as public type 2020-05-02 10:19:40 -04:00
Evan You b570287dfe release: v3.0.0-beta.6 2020-05-01 18:56:53 -04:00
underfin 8b85aaeea9
fix(runtime-core): should call Suspense fallback unmount hook (#1061)
fix #1059
2020-05-01 16:20:16 -04:00
Evan You b40fcbc4c6 fix(types): augment ref unwrap bail types in appropriate packages
Packages can now augment the ref unwrap bail types in their own `d.ts`.
Also updated the build script to auto concat any files in a package's
`types` directory to the final generated `d.ts`.

- `@vue/reactivity` should no longer require `libs: ["DOM"]` in tsconfig
- Properly bail on `VNode` and `ComponentPublicInstance` in runtime-core
2020-05-01 16:14:30 -04:00
Evan You 7f23555356 fix(teleport): teleport should always be tracked as dynamic child for unmount
fix #1088
2020-05-01 15:12:07 -04:00
Evan You 08bf7e3607 fix(runtime-core): cloned vnodes with extra props should de-opt 2020-05-01 14:55:27 -04:00
Evan You ac6a6f11ac fix(runtime-core): fix slot fragment bail check 2020-05-01 14:16:55 -04:00
Evan You 11f38d8a85 perf: instance public proxy should never be observed 2020-05-01 13:24:38 -04:00
Evan You 62336085f4 fix(runtime-core): avoid infinite warning loop for isRef check on component public proxy
fix #1091
2020-05-01 13:23:59 -04:00
Evan You 1bddeea247 feat(runtime-core): warn against user properties with reserved prefixes 2020-05-01 11:23:22 -04:00
Evan You 68e1ce8b66 refactor(types): mark more internal APIs 2020-05-01 10:37:40 -04:00
HiiTea 22717772dd
chore: fix typos (#1090) 2020-05-01 09:42:58 -04:00
Evan You 127e96a993 types: fix internal exports from @vue/shared 2020-05-01 09:19:30 -04:00
Evan You c9bf7ded2e refactor(types): mark internal API exports and exclude from d.ts
BREAKING CHANGE: Internal APIs are now excluded from type decalrations.
2020-04-30 17:04:35 -04:00
Evan You a5bb1d02b7 release: v3.0.0-beta.5 2020-04-30 16:20:25 -04:00
Bas van Meurs ba240eb497
feat(runtime-core): export queuePostFlushCb (#1078) 2020-04-30 14:58:50 -04:00
Carlos Rodrigues 239270c38a
fix(keep-alive): do not invoke onVnodeBeforeUnmount if is KeepAlive component (#1079) 2020-04-30 14:52:03 -04:00
Evan You 352c369704 chore: remove stale _isVue checks 2020-04-30 14:45:25 -04:00
Evan You 386b093554 fix(hmr): support hmr for static nodes 2020-04-30 14:45:25 -04:00
Evan You e087b4e024 fix(hydration): fix text mismatch warning 2020-04-29 17:07:41 -04:00
Evan You a0e2c12874 fix(warning): always check for component instance presence when formatting traces 2020-04-29 14:41:22 -04:00
Evan You 892fb6d229 types: use more consistent naming for apiWatch type exports
BREAKING CHANGE: Some watch API types are renamed.

    - `BaseWatchOptions` -> `WatchOptionsBase`
    - `StopHandle` -> `WatchStopHandle`
2020-04-27 13:33:57 -04:00
Evan You 8ab44e1f80 types: expose ComponentOptionsBase 2020-04-27 13:31:40 -04:00
Evan You d29aefcf99 release: v3.0.0-beta.4 2020-04-24 16:20:20 -04:00
Evan You ca84f46cd0 chore: add tip about Suspense being experimental 2020-04-24 16:13:44 -04:00
Evan You ded92f93b4 fix(runtime-core): dynamic component should support falsy values without warning 2020-04-24 15:32:47 -04:00
Carlos Rodrigues f3a9b516bd
fix(types): make return type of `defineComponent` assignable to `Component` type (#1032)
fix #993
2020-04-24 13:22:58 -04:00
Carlos Rodrigues 28b4c317b4
feat(types): expose `ToRefs` type (#1037) 2020-04-24 13:10:16 -04:00
Evan You c9f10be9de refactor(runtime-core): extract key/ref normalization logic 2020-04-24 13:06:56 -04:00
Evan You d7379c7647 fix(runtime-core): fix key/ref resolution for cloneVNode
fix #1041
2020-04-24 12:42:46 -04:00
Evan You dcf2458fa8 fix(runtime-core): fix dynamic node tracking in dynamic component that resolves to plain elements
fix #1039
2020-04-24 12:18:51 -04:00
underfin 63c8444d4a
Update packages/runtime-core/src/components/BaseTransition.ts
Co-Authored-By: Carlos Rodrigues <david-181@hotmail.com>
2020-04-23 06:53:46 +08:00
Evan You 2acf3e84b9 feat(reactivity): add triggerRef API
Also make shallowRef assignment behavior consistent with normal ref
2020-04-22 18:00:10 -04:00
underfin 2b19965bcf
fix(slots): compiled slot fallback should be functions (#1030)
This avoids it being collected as dynamic children when it's not used.

fix #1021
2020-04-22 16:52:41 -04:00
Evan You ff4d1fcd81 fix(runtime-core): mixin options that rely on this context should be deferred
Also ensure consistent option apply order with Vue 2, close #1016, close #1029
2020-04-22 16:36:18 -04:00
Evan You e422b8b082 fix(runtime-core): only infer component name for object components
close #1023
2020-04-22 04:39:12 -04:00
likui 9bddf3820e types(runtime-core): improve types for transition hook
fix #1000
2020-04-21 12:06:10 +08:00
Evan You 6fefeafe98 release: v3.0.0-beta.3 2020-04-20 17:00:26 -04:00
Andrew Talbot cebad64d22
feat(runtime-core): improve warning for extraneous event listeners (#1005)
fix #1001
2020-04-20 16:40:59 -04:00
Evan You dece6102aa feat(warn): infer anonymous component named based on resolve name 2020-04-20 16:17:29 -04:00
Evan You 0278992f78 fix(warn): fix component name inference in warning trace 2020-04-20 16:06:51 -04:00
Andrew Talbot 054ccecd58
perf(core): use `startsWith` instead of `indexOf` (#989) 2020-04-20 15:44:20 -04:00
Evan You ab844fd169 feat(runtime-core): more specific warning for failed v-on fallthrough
close #1001
2020-04-20 15:32:21 -04:00
Evan You e954ba21f0 feat(build): provide more specific warnings for runtime compilation
close #1004
2020-04-20 15:23:26 -04:00
Evan You 171cfa404f fix(runtime-core): should not cast prop value if prop did not change
fix #999
2020-04-20 14:16:25 -04:00
Evan You 36d77f9a9e refactor(hmr): simplify usage 2020-04-20 13:39:47 -04:00
Evan You 19223f5462 build: remove __BUNLDER__ flag so that HMR is available for all builds 2020-04-20 13:39:47 -04:00
Jian Zhang a51b052672
chore: remove a dead if branch (#986) 2020-04-17 18:41:33 -04:00
Evan You c1a85cb124 release: v3.0.0-beta.2 2020-04-17 11:01:01 -04:00
Evan You d7ca1c5c6e fix(runtime-core): fix user attched public instance properties that start with "$" 2020-04-17 10:23:10 -04:00