Commit Graph

1946 Commits

Author SHA1 Message Date
Evan You f17a82c769 fix(hmr): always traverse static children in dev
fix #7921
close #8100
2023-04-20 14:31:54 +08:00
Eduardo San Martin Morote 5510ce385a
feat: hasInjectionContext() for libraries (#8111) 2023-04-20 10:12:18 +08:00
白雾三语 2f9f6eceb9
chore: delete outdated content in readme (#8093) [ci skip]
close #8084
2023-04-20 10:11:22 +08:00
Evan You 94fa67a4f7 fix(hmr): force update cached slots during HMR
close #7155
close #7158
2023-04-20 10:06:06 +08:00
Evan You 72be89423d release: v3.3.0-alpha.12 2023-04-18 22:18:56 +08:00
Evan You 57f0fbe76a release: v3.3.0-alpha.11 2023-04-17 21:17:17 +08:00
Evan You 33adc2a17a release: v3.3.0-alpha.10 2023-04-17 18:15:17 +08:00
Evan You 4b5b384485 fix(hmr): invalidate cached props/emits options on hmr 2023-04-17 18:05:17 +08:00
Himself65 c94ef02421
fix(runtime-core): properly merge props and emits options from mixins (#8052)
close #7989
2023-04-10 15:06:21 +08:00
Evan You 681ac7c896 release: v3.3.0-alpha.9 2023-04-08 13:33:46 +08:00
三咲智子 Kevin Deng 14f3d747a3
feat(sfc): introduce `defineModel` macro and `useModel` helper (#8018) 2023-04-08 12:13:05 +08:00
Evan You af563bf428 fix(types): more public type argument order fix 2023-04-06 11:12:49 +08:00
Evan You bdf557f6f2 fix(types): retain type parameters order for public types 2023-04-05 22:30:50 +08:00
Evan You 91a931ae87 fix(types): improve defineProps return type with generic arguments 2023-04-05 17:21:31 +08:00
Eduardo San Martin Morote 869f3fb93e
feat(app): app.runWithContext() (#7451) 2023-04-05 15:18:13 +08:00
Evan You 036914c10b release: v3.3.0-alpha.8 2023-04-04 18:23:06 +08:00
6003ef74c7
chore: remove duplicate test (#8003) 2023-04-04 18:20:56 +08:00
Evan You 9a09e47667 release: v3.3.0-alpha.7 2023-04-03 18:19:11 +08:00
三咲智子 Kevin Deng 5a2f5d59cf
feat(types/slots): support slot presence / props type checks via `defineSlots` macro and `slots` option (#7982) 2023-04-03 16:49:16 +08:00
Evan You 59e828448e
feat(reactivity): improve support of getter usage in reactivity APIs (#7997) 2023-04-02 10:17:51 +08:00
Evan You dfb21a5363 chore: add docs links for sfc macros 2023-04-02 10:02:33 +08:00
Evan You 4af5d1b075 feat(sfc): revert withDefaults() deprecation
In some cases, the user still needs access to the full props object,
in such cases withDefaults() is still needed.
2023-03-31 08:53:15 +08:00
Evan You 8876dccf42
feat(sfc): support more ergnomic defineEmits type syntax (#7992) 2023-03-30 19:24:32 +08:00
Evan You 8ac0620c1b release: v3.3.0-alpha.6 2023-03-30 18:22:42 +08:00
Evan You ba9c2ae247
feat(compiler-sfc): enable reactive props destructure by default and deprecate withDefaults() (#7986) 2023-03-30 11:58:16 +08:00
Evan You e10a89e608 fix(compiler-sfc): fix function default value handling w/ props destructure 2023-03-29 22:21:27 +08:00
三咲智子 Kevin Deng 63ad77f6f6
feat(runtime-core): add skipCheck for prop (#7548) 2023-03-28 22:29:54 +08:00
三咲智子 Kevin Deng 93f77292c9
fix(compiler-sfc): disallow `expose` property in `defineOptions` (#7967) 2023-03-28 17:32:37 +08:00
三咲智子 Kevin Deng bcf5841dde
feat(compiler-sfc): add defineOptions macro (#5738) 2023-03-28 10:43:51 +08:00
Evan You d77557c403
feat(types): `defineComponent()` with generics support (#7963)
BREAKING CHANGE: The type of `defineComponent()` when passing in a function has changed. This overload signature is rarely used in practice and the breakage will be minimal, so repurposing it to something more useful should be worth it.

close #3102
2023-03-27 18:28:43 +08:00
Evan You 27e1e38641 release: v3.3.0-alpha.5 2023-03-26 16:52:46 +08:00
Evan You c288c7b0bd fix(types): ensure defineProps with generics return correct types 2023-03-26 15:58:04 +08:00
Evan You 4c9bfd2b99 feat(dx): improve readability of displayed types for props 2023-03-24 15:06:43 +08:00
Evan You 58e5c51149 build: upgrade to TypeScript 5.x 2023-03-23 17:11:35 +08:00
Evan You c02d8d097d chore: remove warnings due to potential false-positives 2023-02-21 22:43:45 +08:00
Evan You 8d2d5bf48a fix(runtime-core): support `getCurrentInstance` across mutiple builds of Vue 2023-02-21 21:59:41 +08:00
Evan You 34ad609bd7 refactor(runtime-core): use Symbol.for for runtime Symbols 2023-02-21 17:42:06 +08:00
Evan You 78b86150b8 release: v3.3.0-alpha.4 2023-02-06 14:10:56 +08:00
Evan You 097f6beca2 release: v3.3.0-alpha.3 2023-02-06 10:27:25 +08:00
Evan You d1181ad692 fix(build): avoid const enum conflicts 2023-02-06 09:44:12 +08:00
Evan You 37ec04b984 release: v3.3.0-alpha.2 2023-02-05 16:23:54 +08:00
Evan You 85f4d8ccb9 release: v3.3.0-alpha.1 2023-02-05 11:20:39 +08:00
Evan You 1ddde63b40 build: adjust dts test setup 2023-02-03 17:10:31 +08:00
Evan You eb0c1e7025 build: remove api-extractor 2023-02-03 15:57:00 +08:00
Evan You 6213b73cd2 build: custom const enum processing 2023-02-03 09:54:15 +08:00
Evan You 53e3533b75 chore: bump deps 2023-02-03 05:47:40 +08:00
Evan You 124373db50 wip: isolatedModules + use rollup-plugin-esbuild 2023-02-03 04:30:19 +08:00
Evan You 3a6f5eb0f7 fix(build): ensure BaseTransition functions can be tree-shaken 2023-02-02 21:38:57 +08:00
Evan You c1cbb747b5 chore: fix types 2023-02-02 15:27:29 +08:00
Evan You 45984d559f release: v3.2.47 2023-02-02 13:48:18 +08:00
Evan You 29f8cf8b07 release: v3.2.46 2023-02-02 11:32:04 +08:00
三咲智子 Kevin Deng a0a010ddc9
fix(types): optional boolean props should have boolean type in return type of defineProps (#7619)
close #7116
fix #5847
fix #7487
2023-02-01 21:57:28 -05:00
李想 1fde49c0f5
fix(runtime-core): fix keep-alive cache prune logic on vnodes with same type but different keys (#7510)
fix #7355
2023-02-01 04:02:03 -05:00
Evan You f19f803ea8 chore: fix jest reference in merged test case 2023-02-01 16:50:13 +08:00
Anthony Fu e64c9ae957
fix(reactivity): `triggerRef` working with `toRef` from reactive (#7507)
* fix(reactivity): `triggerRef` working with `toRef` from reactive

* chore: refactor
2023-02-01 03:20:47 -05:00
Anthony Fu 5f1883ec53
fix(types): accept sync `serverPrefetch()` (#7000) 2023-02-01 03:15:51 -05:00
Evan You a6be280fc3 chore: only wrap during tests 2023-01-26 20:59:30 +08:00
Evan You 7e8f175db7 wip(vitest-migration): runtime-core tests passing 2023-01-26 20:48:47 +08:00
Evan You f0d78e8c8f wip(vitest-migration): ssr tests passing 2023-01-26 16:18:40 +08:00
Evan You 8867bb259a wip(vitest-migration): reactivity tests passing 2023-01-26 15:25:55 +08:00
Anthony Fu 4a16b204be chore: run format 2023-01-12 12:58:11 +01:00
skirtle 4902354925
dx(runtime-core): warn when expose() is misused (#7221) 2023-01-09 15:23:10 +01:00
Thorsten Lünborg cd7c887b75
fix(reactivity): ensure watch(Effect) can run independent of unmounted instance if created in a detatched effectScope (fix #7319) (#7330)
* fix(reactivity): ensure watch(Effect) can run independent of unmounted instance if created in a detatched effectScope

* test: use separate counters for each watcher to make test more robust
2023-01-09 15:20:21 +01:00
白雾三语 c6e5bda27d
fix(customElement): customElement can emit event (#7296)
close https://github.com/vuejs/core/issues/7293
2022-12-23 22:32:21 +01:00
白雾三语 620327d527
fix(runtime-core): ensure prop type validation warning shows custom class names (#7198)
* fix(runtime-core): 

* fix(runtime-core): update

* fix(runtime-core): update reg

* test(runtime-core): add test case for warnings about prop type mismatches

Co-authored-by: Thorsten Luenborg <t.luenborg@googlemail.com>
2022-11-25 20:52:39 +01:00
Evan You f0645a9b2f chore: remove yarn reference
close #6709
2022-11-14 19:03:51 +08:00
Evan You 9d5e30d911 build: bump jest, puppeteer and use official rollup terser plugin 2022-11-14 18:21:58 +08:00
Evan You b55846f05c fix(shared): toNumber should only coerce strings 2022-11-14 17:50:56 +08:00
翠 / green eb2a83283c
fix(types): allow assigning wider SetupContext type (#2818)
fix #2362
2022-11-14 04:33:29 -05:00
Evan You ce363e55a8 chore: fix assertNumber for undefined value 2022-11-14 16:57:44 +08:00
Evan You 7d0c63ff43 fix(custom-elements): use strict number casting
close #4946
close #2598
close #2604

This commit also refactors internal usage of previous loose
implementation of `toNumber` to the stricter version where applicable.
Use of `looseToNumber` is preserved for `v-model.number` modifier to
ensure backwards compatibility and consistency with Vue 2 behavior.
2022-11-14 16:20:12 +08:00
webfansplz 11bd8db768
chore(types): remove unnecessary type assertions (#7032) 2022-11-14 01:44:06 -05:00
Zollero da2ced1533
fix(runtime-core): set scope id before props (#6948)
close #6923
Also ensure consistency with Vue 2
2022-11-13 22:53:46 -05:00
webfansplz 0187f998f7
chore(runtime-core): add `isRegExp` to check `RegExp` (#6041) 2022-11-13 20:14:28 -05:00
Tony Trinh c513126c5d
types(runtime-core): support plugin options type inference (#3969) 2022-11-13 20:13:32 -05:00
Evan You 6f663d47e5 release: v3.2.45 2022-11-11 17:35:27 +08:00
Evan You ffef822869 fix(custom-elements): respect slot props in custom element mode 2022-11-11 16:06:05 +08:00
Thorsten Lünborg 665f2ae121
fix(custom-elements): fix event emitting for async custom elements (#5601)
fix #5599
2022-11-10 23:33:17 -05:00
花果山大圣 4798a9f704
refactor: more concise bitwise operations for flag removal (#7092) 2022-11-10 20:15:37 -05:00
被雨水过滤的空气(Rairn) 4049ffcf29
fix(runtime-core): fix move/removal of static fragments containing text nodes (#6858)
fix #6852
2022-11-10 05:03:10 -05:00
被雨水过滤的空气(Rairn) a54bff2c9c
fix(hmr/keep-alive): fix error in reload component (#7049)
fix #7042
2022-11-10 05:01:31 -05:00
Evan You f73925d76a fix(sfc): ensure `<script setup>` binding behavior consistency on `this` between prod and dev
close #6248
2022-11-10 16:02:45 +08:00
Evan You 11214eedd2 fix(teleport/css-v-bind): fix css v-bind in teleport in child component slot 2022-11-10 15:08:25 +08:00
Evan You 42239cf284 fix(teleport/css-v-bind): fix css v-bind for teleported content
fix #4605
close #4609 (used tests from this PR)
2022-11-10 14:41:45 +08:00
Evan You d45cbfcdfb chore(types): mark more internal component instance properties 2022-11-10 14:11:55 +08:00
Evan You ec795bfc51 release: v3.2.44 2022-11-10 07:25:22 +08:00
Thorsten Lünborg 5dc593ba28
fix(watch): for immediate watch with single source, ensure cb is called with undefined as oldValue (#7075)
fix: #7074
2022-11-09 18:19:35 -05:00
skirtle fccfb1821f
chore(compat): change 'vnode-' to 'vue:' in event hooks warning (#7063) 2022-11-09 08:15:41 -05:00
Evan You 71977ec972 release: v3.2.43 2022-11-09 21:00:57 +08:00
Evan You 23e85e21a5 fix(watch): ensure oldValue in multi-source watcher is always an array
fix #7070
2022-11-09 20:50:02 +08:00
Evan You d33292dd47 chore: return early in warn() in prod 2022-11-09 11:48:35 +08:00
Evan You 8dbf083133 build: put ssrContext warning behind __DEV__ flag 2022-11-09 11:41:26 +08:00
Evan You f023d49a49 release: v3.2.42 2022-11-09 11:36:09 +08:00
被雨水过滤的空气(Rairn) 64e6d9221d
fix(transition/keep-alive): fix unmount bug for component with out-in transition (#6839)
fix #6835
2022-11-08 10:01:43 -05:00
Evan You 9906e3a82a chore: remove blank line [ci skip] 2022-11-08 14:29:13 +08:00
花果山大圣 bdaf83aae7
fix(hmr): fix hmr for components managed by keep-alive (#6809)
fix #6222
2022-11-08 01:26:56 -05:00
Evan You 4c3203b9b7 chore: run prettier 2022-11-08 14:25:48 +08:00
Rudy e4de623ea7
fix(types): support inferring injected properties in options api (#6804)
close #3031
close #5931
2022-11-08 01:09:53 -05:00
Evan You f55cfe6d3b chore: prettier 2022-11-08 11:03:37 +08:00
littleboarx 168c857247
fix(sfc/types): improve the type inference using withDefaults (#6764)
fix #6552
2022-11-07 21:59:31 -05:00
Cédric Exbrayat 04553786e4
fix(runtime-core): do not throw on unknown directives (#6671)
fix #6340

This commit improves the case when a directive is not found in a template.
As `resolveDirective` returns `undefined`, some code was failing with the following error:

```
TypeError: Cannot read properties of undefined (reading 'deep')
```
2022-11-07 21:49:49 -05:00
三咲智子 Kevin Deng e9172db68b
fix(types): export `Raw` type (#6380)
fix #7048
2022-11-07 21:03:49 -05:00
三咲智子 (Kevin) bbb66d7ac7
ci: check prettier format (#6830) 2022-10-28 09:39:34 +08:00
webfansplz 0e0976168f
fix(ssr/watch) flush: sync watchers should work in ssr (#6139)
fix #6013
2022-10-26 06:30:15 -04:00
Julian Meinking 32b51249bf
fix(runtime-core): `in` operator returning `false` for built-in instance properties in `exposeProxy` (#6138)
fix #6137
2022-10-26 05:54:10 -04:00
shadowings-zy 018b850399
fix(v-model): fix trim modifier on events with non-string args ( (#5770)
fix #5765
2022-10-26 05:47:05 -04:00
webfansplz 41d9c47300
fix(types): `$watch` callback parameters type (#6136)
fix #6135
2022-10-26 05:43:42 -04:00
nandi95 506a42a9a5
types(runtime-core): added `ComponentCustomProperties` type to `globalProperties` (#5389) 2022-10-26 05:00:47 -04:00
Carlos Rodrigues 8e792d93a8
types(h): Support passing `props` to `Component` when using `h` (#3219) 2022-10-26 03:07:44 -04:00
Thorsten Lünborg 54b6ba32ca
fix(runtime-core): ensure props definition objects are not mutated during props normalization (close: #6915) (#6916) 2022-10-22 11:20:02 +02:00
Thorsten Lünborg e5fc7dcc02
fix(types): ensure createBlock() helper accepts Teleport and Supsense types (fix: #2855) (#5458)
Co-authored-by: Carlos Rodrigues <carlos@hypermob.co.uk>
2022-10-20 21:45:51 +02:00
Thorsten Lünborg bc167b5c6c
fix(runtime-core): watching multiple values - handle `undefined` as initial values (fix: #5032) (#5033) 2022-10-20 21:45:05 +02:00
Evan You 9617dd4b2a release: v3.2.41 2022-10-14 18:41:15 +08:00
白雾三语 9ae796d156
fix(runtime-core): fix v-for ref reactivity behavior difference between prod and dev (#6714)
fix #6697
2022-10-14 05:23:01 -04:00
似水微寒 82a73da351
fix(runtime-core): ensure that errors in slot function execution do not affect block tracking (#5670)
fix #5657
2022-10-14 04:08:32 -04:00
Eduardo San Martin Morote 35a113eda4
fix(devtools): use cleanupBuffer instead of modifying _buffer (#6812)
Co-authored-by: Anthony Fu <anthonyfu117@hotmail.com>
2022-10-03 11:29:34 +02:00
edison 824174915f
types: creating Teleport with h and RawSlots #2613 (#2614) 2022-10-03 16:40:37 +08:00
webfansplz a9e3fa4e21
refactor(types): improve of type assertion (#4177)
Co-authored-by: webfansplz <>
2022-10-03 16:37:54 +08:00
Anthony Fu 534593cfa8 chore: format 2022-10-03 15:30:43 +08:00
Evan You 24f4c479d6 fix(devtools): avoid memory leak caused by devtools event buffer
fix #6591
2022-09-28 18:19:19 +08:00
Evan You 551f606d98 release: v3.2.40 2022-09-28 11:40:24 +08:00
Evan You cae1aa82cc chore: use stricter slots type in createSlots 2022-09-28 10:38:27 +08:00
Shigma 3cc8e024e6
test(slots): ensure createSlots helper work with ssr slots (#6660) 2022-09-27 22:36:11 -04:00
Evan You 8963c5508c fix(ssr): fix dynamic slot regression in ssr
fix #6651
2022-09-28 10:25:01 +08:00
Evan You 9698dd3cf1 fix(ssr): fix hydration mismatch when entire multi-root template is stringified
fix #6637
2022-09-28 09:33:17 +08:00
Evan You fc5bdb36ed fix(runtime-core): avoid hoisted vnodes retaining detached DOM nodes
fix #6591
2022-09-27 16:20:52 +08:00
Evan You aa70188c41 fix(runtime-core): remove prod-only hoisted clone behavior for manual DOM manipulation compat
fix #6727
fix #6739
2022-09-27 15:24:46 +08:00
Evan You c0d8db81a6 fix(runtime-core): unset removed props first in full diff mode
fix #6571
2022-09-27 10:24:13 +08:00
Thorsten Lünborg c71a08e6fd
fix(runtime-core): Lifecycle hooks should support callbacks shared by reference (#6687)
fix #6686
2022-09-26 22:18:22 -04:00
Evan You f79c423621 release: v3.2.39 2022-09-08 10:12:39 +08:00
Evan You 6aaf8efeff fix(runtime-core): avoid double firing when mounting inside a watcher callback
fix #6614
2022-09-08 09:59:51 +08:00
Evan You 5381abc057 fix(types): support TypeScript 4.8
fix #6554
2022-08-31 14:03:08 +08:00
edison 9875ecd762
fix(runtime-core): support extends template for runtime compiler (#6250)
fix #6249
2022-08-31 01:44:21 -04:00
Evan You 6624ead663 release: v3.2.38 2022-08-30 16:02:01 +08:00
Evan You 00036bb52c fix(slots): ensure different branches of dynamic slots have different keys
fix #6202
2022-08-30 15:55:09 +08:00
Yaroslav Sych 96eb745254
fix(hmr): fix HMR for nested non-SFC components (#4077) 2022-08-30 02:42:22 -04:00
Evan You 0739f8909a fix(custom-element): fix event listeners with capital letter event names on custom elements
close https://github.com/vuejs/docs/issues/1708
close https://github.com/vuejs/docs/pull/1890
2022-08-30 14:07:35 +08:00
Daniel Roe c3465c1e88
fix(runtime-core): only set cache for object keys (#6266) 2022-08-28 23:10:16 -04:00
Evan You 78c199d6db fix(watch): flush:pre watchers should not fire if state change causes
owner component to unmount

fix #2291
2022-08-15 19:00:55 +08:00
Carlos Rodrigues 8dcb6c7bbd
fix(types): fix on* props incorrect type for TS 4.7 (#6216)
fix #6052
2022-07-06 04:28:25 -04:00
Carlos Rodrigues 17c50ce18d
build(deps-dev): bump typescript to 4.7.4 (#6215) 2022-07-06 04:27:30 -04:00
Evan You bdffc143ef release: v3.2.37 2022-06-06 20:08:19 +08:00
Evan You 9734b31c31 fix(sfc): avoid auto name inference leading to unwanted recursion
fix #5965
fix #6027
fix #6029
2022-06-06 17:36:49 +08:00
liulinboyi 11e17a1a29 fix(runtime-core): hydrate Static vnode (#6015)
fix #6008
2022-06-06 16:45:24 +08:00
Evan You 3538f17a07 chore: avoid redundant isRef check 2022-05-30 07:43:18 +08:00
Evan You 439377b220 chore: remove duplicated test + add missing prop decl 2022-05-28 16:17:19 +08:00
Evan You 3cfe5f9fc8 build: include ssrUtils in server-renderer browser build 2022-05-25 13:52:54 +08:00
Thorsten Lünborg d4d3319c1b
fix(ssr): ensure app can be unmounted when created with createSSRApp() (#5992)
fix #5990
2022-05-24 08:30:40 -04:00
Evan You 160d5df34a release: v3.2.36 2022-05-23 10:04:12 +08:00
Evan You 2f07e3460b fix(compat): fix globalProperties pollution in v3 mode
fix #5699
2022-05-23 09:46:00 +08:00