Commit Graph

2456 Commits

Author SHA1 Message Date
Evan You e585b0db43 fix(ssr): avoid hydration mismatch warning for classes with different order 2023-12-20 10:48:01 +08:00
Evan You 048dffd7ee release: v3.4.0-beta.4 2023-12-19 18:23:57 +08:00
Evan You e8448b018d fix(ssr): fix hydration prop mismatch check for class on SVG elements 2023-12-19 18:09:42 +08:00
AlanYu 1d79b64ebc
feat(runtime-core): throw real error when scheduler detects infinite loop during dev (#7447)
close #7437
2023-12-19 16:59:47 +08:00
三咲智子 Kevin Deng 597eae423b
Merge remote-tracking branch 'upstream/minor' 2023-12-16 16:12:55 +08:00
Evan You 317b783a53 release: v3.4.0-beta.3 2023-12-16 14:41:29 +08:00
Evan You 9f64d2b681 chore: Merge branch 'main' into minor 2023-12-16 14:37:21 +08:00
Evan You 4e7967f016 release: v3.3.12 2023-12-16 14:23:40 +08:00
edison eb12f211b8
fix(defineModel): ensure trigger effect when prop changed (#9841)
close #9838
2023-12-16 12:15:30 +08:00
edison e70f4c47c5
fix(hydration): handle appear transition before patch props (#9837)
close #9832
2023-12-16 11:55:40 +08:00
Cédric Exbrayat 4070502bd0
test(runtime-core): uncomment assertion in hydration test (#9843) 2023-12-15 23:07:45 +08:00
Evan You f0f6f7cea6 fix(Suspense): fix edge case of Suspense being patched during async HOC child remount 2023-12-15 11:39:50 +08:00
Evan You c51ab4c765 release: v3.4.0-beta.2 2023-12-14 10:28:34 +08:00
Evan You e00b160435 release: v3.4.0-beta.1 2023-12-13 18:52:16 +08:00
Evan You 69a2acc6ea fix(runtime-core): properly pop warning context when mounting components with async setup 2023-12-13 17:57:57 +08:00
Evan You 0db336ff6c fix(Suspense): properly fix #6416
previous fix caused regressions in nuxt
2023-12-13 17:56:58 +08:00
Evan You 33159a5916 fix(hydration): should not warn mismatch for nullish prop 2023-12-13 02:41:49 +08:00
Evan You aa0c13f637 fix(Suspense): handle switching away from kept-alive component before resolve
close #6416
using test from #6467
2023-12-12 23:50:28 +08:00
Evan You 96aeb24d66 chore: remove unnecessary statements 2023-12-12 23:47:38 +08:00
mmis1000 bb0c8899ca
fix(runtime-core): fix suspense crash when patching non-resolved async setup component (#7290)
close #5993
close #6463
close #6949
close #6095
close #8121
2023-12-12 21:55:15 +08:00
Evan You e04d821422 fix(ssr): make isInSSRComponentSetup state sharable across copies of Vue
This also fixes the issue when rendering async components in
the SFC playground with SSR enabled.
2023-12-12 21:37:52 +08:00
Evan You f41fd86d5f fix(hydration): swap client/server labels for hydration mismatch warnings
this was swapped in #9098 but lost when merging #5953
2023-12-12 20:05:49 +08:00
三咲智子 Kevin Deng ef688ba92b
feat(compiler-sfc): promote defineModel stable (#9598) 2023-12-12 17:28:40 +08:00
Evan You 74387929cd chore: update defineModel comment docs [ci skip] 2023-12-12 17:04:16 +08:00
Evan You f74785bc4a feat(defineModel): support local mutation by default, remove local option
ref https://github.com/vuejs/rfcs/discussions/503#discussioncomment-7566278
2023-12-12 16:47:34 +08:00
Evan You 7e60d1058f perf: use sync watcher for defineModel local mode
ref https://github.com/vuejs/rfcs/discussions/503#discussioncomment-7566278
2023-12-12 13:49:23 +08:00
丶远方 a625376ac8
feat(types): improve event type inference when using `h` with native elements (#9756) 2023-12-11 22:10:01 +08:00
Carles Mitjans a41409ed02
feat(types): support passing generics when registering global directives (#9660) 2023-12-11 22:07:24 +08:00
三咲智子 Kevin Deng fa4969e7a3
feat(types): export ObjectPlugin and FunctionPlugin types (#8946)
close #8577
2023-12-11 22:04:56 +08:00
Evan You 982a145d38 chore: Merge branch 'main' into minor 2023-12-11 22:03:28 +08:00
丶远方 a6503e3e77
refactor(types): simplify `EmitsToProps` types (#9788) 2023-12-11 20:01:36 +08:00
三咲智子 Kevin Deng 096ba81817
feat(types): expose `DefineProps` type 2023-12-09 00:34:28 +08:00
edison 60415b5d67
fix(ssr): fix suspense hydration of fallback content (#7188) 2023-12-08 23:06:34 +08:00
Carlos Rodrigues 213eba479c
fix(types): support for generic keyof slots (#8374) 2023-12-08 22:54:57 +08:00
Evan You c95ab62936 chore: fix types 2023-12-08 22:34:47 +08:00
三咲智子 Kevin Deng 927ab17cfc
feat(types): add emits and slots type to `FunctionalComponent` (#8644) 2023-12-08 22:24:58 +08:00
Carlos Rodrigues bfb856565d
feat(types): provide ComponentInstance type (#5408) 2023-12-08 22:24:38 +08:00
Carlos Rodrigues 44135dc95f
feat(types): expose `PublicProps` type (#2403) 2023-12-08 22:17:46 +08:00
三咲智子 Kevin Deng b1fe48d851
ci: add continuous reactivity benchmark (#9638) 2023-12-08 21:26:48 +08:00
Fabian Gündel d42b6ba3f5
feat: MathML support (#7836)
close #7820
2023-12-08 18:25:01 +08:00
Divyansh Singh bc7698dbfe
feat(ssr): add `__VUE_PROD_HYDRATION_MISMATCH_DETAILS__` feature flag (#9550) 2023-12-08 16:41:15 +08:00
Evan You 2ffc1e8cfd
feat(ssr): improve ssr hydration mismatch checks (#5953)
- Include the actual element in the warning message
- Also warn class/style/attribute mismatches

Note: class/style/attribute mismatches are check-only and will not be
rectified.

close #5063
2023-12-08 15:49:09 +08:00
Evan You 19b590fa3a release: v3.3.11 2023-12-08 14:13:52 +08:00
edison b700328342
fix(Suspense): properly get anchor when mount fallback vnode (#9770)
close #9769
2023-12-08 12:29:15 +08:00
Rudy 6784f0b1f8
fix(watch): should not fire pre watcher on child component unmount (#7181)
close #7030
2023-12-08 12:24:44 +08:00
Evan You b4ac0e6ac1 chore(dx): fix defineProps jsdoc + update defineEmits jsdoc example 2023-12-07 14:30:32 +08:00
三咲智子 Kevin Deng 41a7079493
refactor: extract Data 2023-12-07 01:55:00 +08:00
白雾三语 0cca23f574
feat(compiler-vapor): support custom directives argument & modifiers (#34)
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2023-12-07 01:41:17 +08:00
三咲智子 Kevin Deng c695fdc1de
Merge remote-tracking branch 'upstream/minor' 2023-12-06 18:50:31 +08:00
nandi95 8e27692029
feat(runtime-core): provide full props to props validator functions (#3258) 2023-12-05 17:14:17 +08:00
Evan You a817883c26 chore: Merge branch 'main' into minor 2023-12-05 10:54:20 +08:00
Evan You e2f2b75b62 chore(deps): bump vitest to 1.0 2023-12-05 10:48:04 +08:00
Evan You 682f24047f
chore: remove deprecated AppConfig.unwrapInjectedRef option 2023-12-05 00:13:04 +08:00
Evan You c0d396b785 release: v3.4.0-alpha.4 2023-12-04 23:24:43 +08:00
Evan You e12b10ac3e chore: Merge branch 'main' into minor 2023-12-04 23:17:41 +08:00
Evan You d5a88ef9d7 release: v3.3.10 2023-12-04 21:42:18 +08:00
edison 65f3fe2731
fix(runtime-core): Suspense get anchor properly in Transition (#9309)
close #8105
2023-12-04 16:41:55 +08:00
Evan You 7f00ec2d97 chore: remove deprecated AppConfig.unwrapInjectedRef option 2023-12-01 11:32:34 +08:00
花果山大圣 cdb2df707b
chore(dx): improve color contrast in dark mode for custom formatter (#8704) 2023-12-01 02:45:03 +08:00
Blake Newman 887e54c347
fix(types): expose emits as props in functional components (#9234) 2023-12-01 02:37:51 +08:00
三咲智子 Kevin Deng 377723d8b2
Merge remote-tracking branch 'upstream/minor' 2023-11-29 21:10:26 +08:00
ZHAO Jin-Xiang fff7b864f4
feat: use enum to replace const enum (#9261)
close #1228
2023-11-29 12:24:50 +08:00
Evan You 7d89887f71 release: v3.4.0-alpha.3 2023-11-28 08:26:01 +08:00
三咲智子 Kevin Deng 9f8ba9821f feat(dx): link errors to docs in prod build (#9165) 2023-11-28 07:39:11 +08:00
Evan You ebaeb2e0aa release: v3.4.0-alpha.2 2023-11-27 17:26:22 +08:00
Evan You 0721daf22d chore: Merge branch 'main' into minor 2023-11-27 15:59:07 +08:00
三咲智子 Kevin Deng bdbd524d59
Merge remote-tracking branch 'upstream/main' 2023-11-25 17:04:03 +08:00
Evan You 069f838691 release: v3.3.9 2023-11-25 16:11:31 +08:00
三咲智子 Kevin Deng d21fd83a6d
Merge remote-tracking branch 'upstream/main' 2023-11-23 23:44:07 +08:00
Carlos Rodrigues 1c525f75a3
types: support app.component to be `defineComponent` (#9662) 2023-11-22 22:18:02 +08:00
Evan You afb21f7813 test: fix keepalive transition out-in test case 2023-11-21 17:57:44 +08:00
Evan You 1ea775633d chore: Merge branch 'main' into minor 2023-11-21 09:48:26 +08:00
Evan You 8fddb19c3a workflow: use workspace deps 2023-11-21 09:22:12 +08:00
三咲智子 Kevin Deng 717aad275d
Merge remote-tracking branch 'upstream/main' 2023-11-20 18:28:52 +08:00
renovate[bot] 16a6438236
chore(deps): update lint (#9627)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-18 10:33:24 +08:00
三咲智子 Kevin Deng 135f5eb8e7
feat: init runtime vapor 2023-11-17 03:01:53 +08:00
花果山大圣 73fd810eeb
fix(reactivity): onCleanup also needs to be cleaned (#8655)
close #5151
close #7695
2023-11-10 16:47:08 +08:00
Anthony Fu 5156ac5b38
fix(ssr): hydration `__vnode` missing for devtools (#9328) 2023-11-10 15:27:16 +08:00
Evan You e15dc05655 chore: remove typeof NULL_DYNAMIC_COMPONENT for type compat with test-utils 2023-11-10 15:26:19 +08:00
zqran f15debc01a
fix(types): return type of withDefaults should be readonly (#8601) 2023-11-10 15:20:02 +08:00
skirtle f01afda159
dx(runtime-core): warn if `this` is used in a `<script setup>` template (#7866) 2023-11-10 15:05:39 +08:00
Yuchao 3445356085
test(apiWatch): better indicate array pre & new values are the same object (#7251) 2023-11-10 14:37:46 +08:00
skirtle a5491e1cdd
dx(runtime-core): warn when the prop type is `[]` (#7608) 2023-11-10 14:32:10 +08:00
Ha Pam 341b5416b2
chore: typo and grammar (#8568) [ci skip]
Co-authored-by: Han <phamvanhan@gmail.com>
2023-11-10 13:42:26 +08:00
Evan You 364f319d21 fix(hydration): force hydration for v-bind with .prop modifier
ref #7490
2023-11-10 13:13:07 +08:00
Evan You 34b5a5da4a fix(hydration): properly hydrate indeterminate prop
close #7476
2023-11-10 12:19:27 +08:00
Rudy 0e1e8f919e
fix(types): fix instance type when props type is incompatible with setup returned type (#7338)
close #5885
2023-11-09 17:40:36 +08:00
Nebula 6e0b068e92
chore: add name option for Teleport (#7315) 2023-11-09 17:21:38 +08:00
被雨水过滤的空气-Rain d11e978fc9
fix(hmr/transition): fix kept-alive component inside transition disappearing after hmr (#7126)
fix #7121
2023-11-09 17:15:56 +08:00
Carlos Rodrigues 94c049d930
fix(types): remove optional properties from defineProps return type (#6421)
close #6420
2023-11-09 14:52:28 +08:00
Evan You bc5846939c release: v3.3.8 2023-11-06 18:54:26 +08:00
Evan You 2f8c769b6b chore: delete unrelated test case 2023-11-06 18:46:40 +08:00
Evan You dd8a0cf5dc fix(hydration): fix tagName access eeror on comment/text node hydration mismatch
fix #9531
2023-11-06 18:45:42 +08:00
Eduardo San Martin Morote 405f34587a
fix(warn): avoid warning on empty children with Suspense (#3962) 2023-11-06 17:48:40 +08:00
Evan You 3c828f3cfb release: v3.4.0-alpha.1 2023-10-28 11:33:46 +09:00
Johnson Chu 16e06ca08f
feat(reactivity): more efficient reactivity system (#5912)
fix #311, fix #1811, fix #6018, fix #7160, fix #8714, fix #9149, fix #9419, fix #9464
2023-10-27 23:28:40 +09:00
三咲智子 Kevin Deng feb2f2edce
feat: export runtime error strings (#9301)
These strings are used for automatically generating error references in the documentation and should be considered internal. The code-to-string mapping is **not** part of the public API and can change between non-major versions.

They are also exposed only in dev or the esm-bundler builds.
2023-10-27 23:28:40 +09:00
丶远方 a645e7aa51
feat(runtime-core): add `once` option to watch (#9034) 2023-10-27 23:28:40 +09:00
丶远方 f32ec17131
chore: remove unnecessary imports from vitest (#8562) 2023-10-26 16:34:14 +08:00
Evan You 1789c1caac release: v3.3.7 2023-10-25 07:35:08 +08:00
Carlos Rodrigues 7374e93f02
fix(types): fix ComponentCustomProps augmentation (#9468)
close #8376
2023-10-24 18:42:47 +08:00
edison 5ea8a8a4fa
fix(transition/ssr): make transition appear work with SSR (#8859)
close #6951
2023-10-24 09:36:10 +08:00
Carlos Rodrigues 16ecb44c89
fix(types): improve `h` overload to support union of string and component (#5432)
fix #5431
2023-10-23 23:40:06 +08:00
Carlos Rodrigues 00de3e61ed
fix(Suspense): calling hooks before the transition finishes (#9388)
close #5844
close #5952
2023-10-21 21:24:30 +08:00
Evan You 733437691f fix(hmr): fix hmr error for hoisted children array in v-for
fix #6978
close #7114
2023-10-21 21:08:49 +08:00
Carlos Rodrigues d8990fc618
fix(ssr): fix hydration mismatch for disabled teleport at component root (#9399)
close #6152
2023-10-21 11:37:52 +08:00
skirtle a8f663867b
fix(scheduler): ensure jobs are in the correct order (#7748)
close #7576
2023-10-21 10:38:54 +08:00
Evan You a09ed44446 release: v3.3.6 2023-10-20 21:04:11 +08:00
丶远方 712f96d6ac
perf: replace Map/Set with WeakMap/WeakSet (#8549) 2023-10-20 17:11:52 +08:00
pupu 4162311efd
fix(teleport): ensure descendent component would be unmounted correctly (#6529)
fix #6347
2023-10-20 16:42:04 +08:00
白雾三语 8f0472c9ab
fix(runtime-core): fix error when using cssvars with disabled teleport (#7341)
close #7342
2023-10-20 16:34:11 +08:00
Kael 75b8722135
fix(runtime-core): delete stale slots which are present but undefined (#6484)
close #9109
2023-10-20 16:25:06 +08:00
Evan You 5ebb459fc7 release: v3.3.5 2023-10-20 11:50:49 +08:00
Vít Stanislav e3c2d699f6
fix(compat): return value of vue compat set() (#9377)
According to https://v2.vuejs.org/v2/api/#Vue-set, Returns: the set value.
2023-10-19 20:58:59 +08:00
Haoqun Jiang 0a8be4537a
build: use `stripInternal` (#9379)
Unlike our custom plugin, TypeScript won't automatically remove
re-exports of internal types, so we need to explicitly mark them as
`@internal`.
2023-10-17 21:10:14 +08:00
Evan You 5479d1e5bb chore: format 2023-09-05 15:24:10 +08:00
Daniel Roe 8f311c6f82
fix(runtime-core): swap client/server debug labels (#9089) 2023-09-05 15:21:20 +08:00
丶远方 2ffe3d5b3e
refactor: use symbol for private properties (#8681) 2023-08-22 16:57:15 +08:00
三咲智子 Kevin Deng 623ba514ec
chore: format code 2023-08-11 17:30:04 +08:00
Evan You 37a14a5dae Revert "fix(types): propagate type parameter constraints for TypeScript 4.8 (#6351)"
This reverts commit 516fabb725.
2023-07-12 11:38:59 +08:00
zqran f07cb18fed
fix(types): correct withDefaults return type for boolean prop with undefined default value (#8602) 2023-07-11 18:35:22 +08:00
丶远方 6a22b1f6c2
fix(types): ensure nextTick return type reflect correct Promise value (#8406) 2023-07-11 17:56:02 +08:00
Anthony Fu 438027cf9e
perf: mark `defineComponent` as side-effects-free (#8512) 2023-07-11 17:52:43 +08:00
白雾三语 140a89b833
fix(teleport): handle target change while disabled (#7837)
close #7835
2023-07-11 17:36:26 +08:00
丶远方 3decc57d0c
chore: remove unnecessary type assertions (#8386) 2023-07-10 18:18:53 +08:00
Daniel Rosenwasser 516fabb725
fix(types): propagate type parameter constraints for TypeScript 4.8 (#6351)
* fix(types): propagate type parameter constraints for TypeScript 4.8

* fix: add more constraints

---------

Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
2023-07-09 13:04:08 +08:00
webfansplz 57afa2236b
chore: fix typo (#8732) [ci skip] 2023-07-09 13:03:30 +08:00
三咲智子 Kevin Deng 7cdd13bd1e
chore: fix typo 2023-06-11 11:29:10 +08:00
Lioness100 6277cb994a
chore: fix typo (#7693) 2023-06-10 17:17:41 +08:00
Evan You a95e612b25 chore: rename globals allow list
close #8416
2023-05-26 11:07:13 -05:00
Simon Johansson 020851e57d
fix(ssr): reset current instance if setting up options component errors (#7743)
close #7733
2023-05-19 09:09:21 +08:00
Phentom f0691e4581
chore: typo (#8345) [ci skip] 2023-05-19 07:59:09 +08:00
丶远方 b01fc7ea84
chore: remove unnecessary imports (#8262) 2023-05-19 07:54:12 +08:00
丶远方 3798c5480b
chore: remove unnecessary type assertions (#8311) 2023-05-19 07:49:28 +08:00
Evan You 0e8bbe873e release: v3.3.4 2023-05-18 16:31:03 +08:00
Evan You fecd5c4044 release: v3.3.3 2023-05-18 13:10:52 +08:00
Carlos Rodrigues 216f26995b
fix(types): support generic usage with withDefaults + defineProps (#8335)
fix #8310
fix #8331
fix #8325
2023-05-17 09:25:48 +08:00
Evan You a374d7e6ed release: v3.3.2 2023-05-12 13:25:05 +01:00
Cédric Exbrayat ab9256a4bb
chore: fix typos in defineOptions (#8277) 2023-05-11 19:34:27 +08:00
Evan You 6e1966a92f release: v3.3.1 2023-05-11 09:00:14 +01:00
白雾三语 a3f5485785 fix(suspense): handle nested sync suspense for hydration
ref e1475129fc
2023-05-11 08:47:01 +01:00
Evan You 483a4e7e3b release: v3.3.0 2023-05-11 08:44:38 +01:00
Evan You 847658b7a2 release: v3.3.0-beta.5 2023-05-08 16:40:41 +08:00
Evan You e1475129fc fix(suspense): fix nested suspensible suspense with no asyn deps
close #8206
2023-05-08 16:37:46 +08:00
Evan You c2172f3a0e fix(build): retain defineComponent() treeshakability in Rollup
close #8236
2023-05-08 12:12:15 +08:00
Evan You b2be75bad4 fix(runtime-core): ensure defineComponent name in extraOptions takes higher priority 2023-05-08 12:06:49 +08:00
Evan You 1279b17300 fix(types): remove short syntax support in defineSlots()
ref: https://github.com/vuejs/language-tools/issues/2758
2023-05-08 11:53:49 +08:00
Evan You cc09cc7e28 release: v3.3.0-beta.4 2023-05-05 17:15:14 +08:00
Johnson Chu 3cb4dc9e55
feat(types): add slots types for built-in components (#6033) 2023-05-05 17:12:51 +08:00
丶远方 1b1242f4d1
fix(runtime-core): handle template ref with number values (#8233)
close #8230
2023-05-05 16:00:01 +08:00
Evan You 038cd830d5 fix(types): retain compatibility for provide() usage with explicit type parameter 2023-05-02 21:35:28 +08:00
Evan You bff63c5498 feat(types): provide ExtractPublicPropTypes utility type
ref #5272
close #8168
2023-05-02 11:06:32 +08:00
Evan You 5d4c3c60a8 release: v3.3.0-beta.3 2023-05-01 12:28:29 +08:00
Evan You c117d9c257 fix(hmr): keep slots proxy mutable for hmr
close #8188
2023-05-01 12:21:10 +08:00
Evan You de87e6e405 fix(types): fix provide type checking for ref value
fix #8201
2023-05-01 11:27:05 +08:00
Evan You a778034a3e release: v3.3.0-beta.2 2023-04-25 16:41:04 +08:00
Evan You 1447596bf4 release: v3.3.0-beta.1 2023-04-21 16:26:10 +08:00
Evan You 526fa3b2cc feat(deprecation): unwrap injected refs in Options API by default, deprecate app.config.unwrapInjectedRefs 2023-04-21 15:54:03 +08:00
Anthony Fu cb37d0b9ff
feat(suspense): introduce suspensible option for `<Suspense>` (#6736)
close #5513
2023-04-21 14:43:30 +08:00
Evan You 5cdaac2590 release: v3.3.0-alpha.13 2023-04-20 21:13:34 +08:00
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
Alex Van Liew 7fb57327b9
fix(compat): fix app-level asset registration affecting other local apps (#5979) 2022-05-22 21:41:39 -04:00
Alex Kozack b5462822d6
fix(sfc/types): allow use default factory for primitive types in `withDefaults` (#5939)
fix #5938
2022-05-22 20:28:39 -04:00
Evan You a0c577692f release: v3.2.35 2022-05-21 01:16:26 +08:00
Carlos Rodrigues 0c7fd13ea6
fix(types): fix typescript error when spreading `$props`(#5968) 2022-05-20 12:59:29 -04:00
Evan You 8071ef47b5 fix(types): restore DefineComponent argument order
This is necessary for compatibility w/ tsc-generated component types
using DefineComponent.

revert #5416
reopen #3796
fix #5967
2022-05-21 00:55:51 +08:00
Evan You 523f6aa363 chore: use existing method 2022-05-19 14:08:55 +08:00
Evan You 3991609087 release: v3.2.34 2022-05-19 12:42:34 +08:00
Evan You 31bdde0480 chore: fix lint 2022-05-19 12:39:48 +08:00
Evan You 939209c6b5 fix(ssr): fix hydration for slot with empty text node
fix #5728
2022-05-19 12:35:29 +08:00
Carlos Rodrigues 7c8f4578e9
fix(types): fix `defineComponent` inference to `Component` (#5949) 2022-05-18 19:34:35 -04:00
Cédric Exbrayat 3e2850fa6c
fix(types): export ComponentProvideOptions (#5947) 2022-05-18 19:32:20 -04:00
Evan You 595263c0e9 fix(ssr/teleport): support nested teleports in ssr
fix #5242
2022-05-18 18:13:08 +08:00
Evan You 84f0353511 test: hydration test case for component w/ teleport root 2022-05-18 17:27:53 +08:00
Evan You cdda49bbfb fix(runtime-core): adjust force diff of dev root fragments
fix #5946
2022-05-18 16:36:00 +08:00
Evan You b60cff052c fix(ssr): fix hydration error when teleport is used as component root
fix #4293
2022-05-18 12:18:12 +08:00
Bulat Aykaev 0841b9b524 fix(keep-alive): fix keep-alive rendering when placed in vnode branch
fix #4817
2022-05-18 10:48:58 +08:00
Evan You 7fd761e577 release: v3.2.34-beta.1 2022-05-17 12:53:51 +08:00
edison 2a9e9a4096
refactor(runtime-core): extract function `isReservedPrefix` (#3265)
* chore(runtime-core): extract function isReservedKey

* chore: improve code

Co-authored-by: Evan You <yyx990803@gmail.com>
2022-05-13 04:52:19 -04:00
edison 40794c80ca
refactor(runtime-core): extract type SetRootFn (#3209) 2022-05-13 04:48:20 -04:00
zs 0c07f12541
chore: warn when mounting different apps on the same host element (#5573) 2022-05-12 21:09:18 -04:00
edison 220f255fe9
fix(watch): fix watching multiple sources containing shallowRef (#5381)
fix #5371
2022-05-12 20:20:04 -04:00
小刘(liulinboyi) 71066b5afe
fix(v-model): fix case where .trim and .number modifiers are used together (#5842)
fix #5839
2022-05-12 19:52:16 -04:00
huangcheng a3881299e9
fix(runtime-core): handle NaN identity check in v-memo (#5852)
fix #5853
2022-05-12 19:49:51 -04:00
Evan You d36ca4d80e fix(runtime-core): clone root vnode before inheriting directives 2022-05-13 07:29:37 +08:00
Cédric Exbrayat 9ecee16f89
chore: add no-debugger eslint rule (#5906) 2022-05-12 19:10:00 -04:00
Evan You ba17792b72 fix(runtime-core): fix missed updates when passing vnode to <component :is>
fix #4903
2022-05-12 17:52:17 +08:00
Evan You 9309b044bd fix(ssr): fix hydration error for slot outlet inside transition
fix #3989
2022-05-12 15:06:32 +08:00
Evan You da49c863a2 fix(keep-alive): fix unmounting late-included components
fix #3648
based on #3650
2022-05-12 11:52:54 +08:00
Evan You 20ed16f68c fix(keep-alive): invoke initial activated hook for async components
revert #5459
fix #5095
fix #5651
2022-05-12 11:29:26 +08:00
Evan You 9d815d28ad chore: remove dbeugger [ci skip] 2022-05-12 10:38:40 +08:00
HeYunfei b5b103a736
chore(types): delete @ts-ignore or use @ts-expected-error instead (#3669)
Co-authored-by: heyunfei.i <heyunfei.i@bytedance.com>
2022-05-11 20:40:59 -04:00
Zardddddd60 eed3973459
chore(runtime-code): delete outdated test case (#3036) 2022-05-11 20:25:06 -04:00
edison f1d1cdbb69
fix(runtime-core): fix activated hook when using async component with KeepAlive (#5459)
fix #5095
fix #5651
2022-05-11 20:19:11 -04:00
Johnson Chu c901dca5ad
feat(types): avoid props JSDocs loss by `default` option (#5871) 2022-05-11 07:37:49 -04:00
Evan You 425310e8b6 fix(transition/v-show): ensure transition is in persisted mode when used with v-show
fix #4845
close #4852
2022-05-11 19:22:55 +08:00
Evan You 2bab639683 fix(runtime-core): fix directive inheritance on dev root fragment
fix #5523
2022-05-11 18:02:31 +08:00
Kael fec12d7dcc
fix(runtime-core): transition hooks can be arrays of functions (#5177) 2022-05-10 21:56:57 -04:00
edison cd659fc86f
fix(ssr): should de-optimize on vnode with PatchFlags.BAIL (#4818)
fix #4679
fix #5771
2022-05-10 06:35:34 -04:00
Thorsten Lünborg e4dffe900a
fix(runtime-core): ensure raw slot function is only normalized once (#5358)
fix: #5343
2022-05-10 04:41:54 -04:00
Evan You d52907f4eb fix(runtime-core): ensure consistent identity of $forceUpdate and $nextTick instance methods
fix #5556
2022-05-10 14:17:04 +08:00
那里好脏不可以 6042ab0f2f
chore: type [ci skip] 2022-05-09 22:51:51 -04:00
huangcheng 392ca5dd88
chore: fix eslint error (#5876) 2022-05-09 22:43:35 -04:00
Evan You 16a0b232d7 chore: remove unused import due to merge conflict resolve mistake 2022-05-10 09:58:28 +08:00
edison 2a44225446
chore(runtime-core): Remove duplicate variable assignments (#3700) 2022-05-09 21:42:41 -04:00
edison 762a9e99ce
chore(runtime-core): use `getGlobalThis` when installing HMR API (#3217) 2022-05-09 21:40:19 -04:00
qinxiaosen_ccc 292ce69439
chore: remove outdated type comment (#5103) 2022-05-06 06:44:28 -04:00
zhangenming b9484543db
refactor(reactivity): make some expression simpler (#5131) 2022-05-06 06:42:22 -04:00
Zclhlmgqzc 98b821d94a
fix(types): preserve and expose original options on defineComponent return type (#5416)
fix #3796
2022-05-06 05:44:05 -04:00
Evan You 67099fe202 fix(runtime-core): ensure consistent behavior between dev/prod on invalid v-for range
close #5867
2022-05-06 16:49:15 +08:00
Evan You 74d2a76af6 fix(watch): fix flush: pre watchers triggered synchronously in setup
fix #5721
2022-04-15 18:08:44 +08:00
Evan You 56879e6b23 release: v3.2.33 2022-04-14 18:14:37 +08:00
Evan You 62eba63172 fix(transition): handle transition for v-if branches with comment
fix #5675
2022-04-14 18:06:52 +08:00
edison 767d212d20
fix(transition): fix broken leave transition on dev root fragment (#5268) 2022-04-14 05:10:41 -04:00
Thorsten Lünborg 71c9536625
fix(runtime-core): ensure custom events are not emitted anymore after unmount. (#5679)
close #5674
2022-04-13 23:47:24 -04:00
Evan You f641c4b228 fix(runtime-core): fix use of non-existent-in-prod internal property in defineProperty trap
fix #5710
2022-04-14 10:00:53 +08:00
edison f4d2c9fc6a
fix(custom-elements): work with async component + slots (#4657)
close #4639
2022-04-13 05:58:29 -04:00
Thorsten Lünborg 1612971471
fix(compat): copy additional properties for functions bound via globalProperties (#4873)
close #4403
2022-04-13 05:53:07 -04:00
宋铄运 (Alan Song) c6eb3cccce
build: improve treeshakeability (#5682) 2022-04-13 05:39:02 -04:00
Thorsten Lünborg 053c65bc5e
dx(suspense): warn when using async setup when not inside a Suspense boundary (#5565)
close #3649
2022-04-13 05:36:43 -04:00
Evan You f4f5e80a19 release: v3.2.32 2022-04-12 16:07:43 +08:00
Thorsten Lünborg f44087e171
fix(runtime-core): ensure custom directive instance properly exposes properties on closed instances. (#5022)
fix #5018
2022-04-12 03:54:03 -04:00
lidlanca cee1eafb4d
fix(runtime-core/template-ref): named ref in v-for regression fix (#5118)
close #5116
close #5447
close #5525
2022-04-12 03:28:40 -04:00
Evan You 7efb9dba30 refactor: remove use of Object.assign
TS already transpiles spread to Object.assign with target:es2016
2022-04-12 15:22:11 +08:00
Yuchao d121a9bc7e
fix(runtime-core): Avoid mutating original options object in createApp (#4840)
fix #4398
2022-04-12 03:14:23 -04:00
Evan You 4311dddfa7 fix(transition): ensure flattened transition group children inherit parent keys
close #4718
close #5360
close #5392
2022-04-12 15:06:46 +08:00
Evan You 68bb8f2529 chore: remove debugger 2022-04-12 14:47:15 +08:00
iwusong 8eceabd14e
fix(runtime-core): fix event listener as dynamicProp is added erroneously to props (#5517)
fix #5520
2022-04-12 02:42:00 -04:00
Evan You b2b6b6ff62 chore: bump vite & esbuild 2022-04-12 14:29:49 +08:00
Guillaume Chau 1070f127a7 fix(devtools): perf: use high-resolution time 2022-03-09 14:30:24 +01:00
lidlanca 1574edd490
fix(runtime-core): allow spying on proxy methods regression (#5417)
fix #5415 (regression by #4216)
2022-02-13 20:40:12 -05:00
Evan You d56dec6b4a release: v3.2.31 2022-02-12 16:41:52 +08:00
Cédric Exbrayat 8457d8b980
fix(runtime-core): allow spying on proxy methods (#4216)
Since Jest v26.6.1, the mock method changed (see this commit 30e8020362)  to rely on `Object.defineProperty` in some cases.

This breaks spying on proxy's methods, because even if Jest is properly calling `Object.defineProperty`, the cached value in the `get` section of the proxy is never updated, and the spy is in fact never used.
This is easily reproducible as vue-next already uses a version of jest with these changes.

This is blocking projects (like vue-test-utils-next and vue-cli) to update to recent Jest versions.

This commit adds a `defineProperty` method to the proxy handler, that properly updates the defined value in the cache.
2022-02-12 03:35:05 -05:00
Anthony Fu 0342fae8ad
fix(ssr): always hydrate children for HMR (#5406)
fix #5405
2022-02-12 03:24:19 -05:00
Evan You 15adf251ab release: v3.2.30 2022-02-07 14:14:53 +08:00
Evan You ce34d9114e chore: remove v3.vuejs.org references 2022-02-07 13:13:26 +08:00
Evan You 60cf175d88 feat(ssr): support custom directive getSSRProps in optimized compilation
close #5304
2022-02-04 08:58:31 +08:00
Evan You 6b6889852f release: v3.2.29 2022-01-23 22:02:23 +08:00
Evan You 283df0ad68 release: v3.2.28 2022-01-21 16:15:13 +08:00
btea 63210fe41a
refactor: includes instead of indexOf (#5117) 2022-01-21 02:36:48 -05:00
Soha Jin 72130ac7b5
fix(compat): convertLegacyVModelProps should merge model option in mixins (#5251) 2022-01-21 02:02:02 -05:00
Yugang Cao 92e04a651f
chore: type improvements (#5264) 2022-01-21 01:56:20 -05:00
Thorsten Lünborg 97f6bd942f
fix(compat): ensure fallthrough *Native events are not dropped during props update (#5228) 2022-01-21 01:21:42 -05:00
Yugang Cao e603fd258c
chore: fix typo (#5261) [ci skip] 2022-01-21 01:18:34 -05:00
Bruno Perel e8022755ae
chore: fix typo (#5282) [ci skip] 2022-01-21 01:16:19 -05:00
Stanislav Lashmanov d0b9708620
fix(compat): simulate Vue 2.6.14 version in compat build (#5293)
Some Vue plugins that are actually compatible with the `vue-compat` won't work because of the version check. Right now `vue-compat` returns 3x version for the legacy method of checking Vue version via `Vue.version`. This PR instends to simulate Vue 2 version in those instances and instead return a 2x-compatible version: `2.6.14-compat:3.x.x`.
2022-01-21 01:15:35 -05:00
Thorsten Lünborg c35ec47d73
fix(runtime-core): ensure mergeProps skips undefined event handlers (#5299)
fix #5296
2022-01-21 01:13:29 -05:00
Evan You 2f91872e7b fix(ssr): only cache computed getters during render phase
fix #5300
2022-01-21 12:31:54 +08:00
Evan You ae4b0783d7 chore: update repo references 2022-01-18 16:43:59 +08:00
Evan You 9fda9411ec feat(reactivity): add isShallow api 2022-01-18 09:22:41 +08:00
Evan You 3adfc0fe94 release: v3.2.27 2022-01-16 22:08:18 +08:00
Evan You ed9eb62e59 perf: improve memory usage for static vnodes
Use the already mounted nodes as cache instead of separate caching via
template. This reduces memory usage by 30%+ in VitePress.
2022-01-16 21:10:26 +08:00
Evan You f4f0966b33 fix(ssr): make computed inactive during ssr, fix memory leak
fix #5208
2022-01-16 18:22:18 +08:00
Evan You 6cfd72e760 refactor: move type utils to shared 2022-01-16 15:47:00 +08:00
edison 2e3e183b4f
fix(KeepAlive): remove cached VNode properly (#5260)
fix #5258
2022-01-16 02:37:14 -05:00
Evan You ce49fdf999 refactor: more readable type names for watch cleanup function 2022-01-12 22:07:47 +08:00
Evan You 3007d5b4ca fix(types): KeepAlive match pattern should allow mixed array 2022-01-12 22:07:19 +08:00
yfmei dd70003cc3
chore: typo in comment [skip ci] (#5173) 2021-12-27 12:57:39 +01:00
Johnson Chu a570b38741
feat(types): simplify `ExtractPropTypes` to avoid props JSDocs being removed (#5166) 2021-12-25 02:52:22 -05:00
Evan You ccb6651b12 release: v3.2.26 2021-12-12 15:03:29 +08:00
Evan You 756534bde0 release: v3.2.25 2021-12-12 12:21:13 +08:00
Forzen FIsh 57a09331b2
chore: fix some typos (#5050) [ci skip] 2021-12-11 20:58:46 -05:00
Evan You 50f13278f9 chore: avoid api-extractor warnings 2021-12-12 00:14:25 +08:00
Evan You f4dcbbc7b9 chore: fix build 2021-12-11 23:48:32 +08:00
Evan You db729ce99e feat(reactivity-transform/types): restructure macro types + export types for all shorthand methods 2021-12-11 18:15:44 +08:00
Evan You 1928c9b537 refactor: move template ref setter into dedicated file 2021-12-11 10:09:21 +08:00
Evan You 41c18effea feat: support ref in v-for, remove compat deprecation warnings 2021-12-10 23:49:01 +08:00
Evan You a1167c57e5 fix(runtime-core): disallow recurse in vnode/directive beforeUpdate hooks 2021-12-10 17:17:15 +08:00
Evan You d955cfacd6 release: v3.2.24 2021-12-06 17:03:10 +08:00
edison 6d887aaf59
fix(runtime-core): handle initial undefined attrs (#5017)
fix #5016
2021-12-06 00:58:45 -05:00
Noel De Martin 34985fee6b
feat(types/script-setup): add generic type to defineExpose (#5035) 2021-12-05 23:25:35 -05:00
Illya Klymov ee97cf5a4d
fix(compat): maintain compatConfig option in legacy functional comp (#4974) 2021-12-05 23:20:27 -05:00
Evan You b6a8a451b8 release: v3.2.23 2021-11-26 14:33:46 +08:00
Che Guevara 4e1131e251
chore: improve BaseTransition (#4811) 2021-11-25 05:42:24 -05:00
Evan You aac0466cb8 fix(runtime-core): fix component public instance has check for accessed non-existent properties
close #4962
2021-11-25 18:15:06 +08:00
fishDog 3c449cd408
fix(types): fix propType<any> type inference (#4985)
fix #4983
2021-11-25 04:52:13 -05:00
Thorsten Lünborg f2d2d7b2d2
fix(types): scrip-setup+ts: ensure proper handling of `null` as default prop value. (#4979)
fix #4868
2021-11-25 04:33:29 -05:00
ygj6 820a143457
fix(runtime-core): handle error in async KeepAlive hooks (#4978) 2021-11-22 02:50:19 -05:00
Evan You 635d88aa9e release: v3.2.22 2021-11-15 11:45:05 +08:00
edison b4eb7e3866
fix(runtime-core): improve dedupe listeners when attr fallthrough (#4912)
fix #4859
2021-11-14 22:20:38 -05:00
Cathrine Vaage 04e5835196
fix(types/sfc): fix withDefaults type inference when using union types (#4925) 2021-11-14 22:09:00 -05:00
yuuang fa2237f1d8
fix(devtool): improve devtools late injection browser env detection (#4890) 2021-11-14 22:04:46 -05:00
yuchao f454dd62ab
chore: comments grammar (#4913) [ci skip] 2021-11-14 19:41:45 -05:00
Evan You fe853a5a40 release: v3.2.21 2021-11-02 14:35:14 +08:00
Evan You 6916d725a0 fix(devtools): avoid open handle in non-browser env
fix #4815
2021-11-02 11:45:41 +08:00
Che Guevara 6b32f0d976
fix(devtools): fix memory leak when devtools is not installed (#4833)
fix #4829
2021-11-01 23:26:40 -04:00
Captain 2c221fcd49
chore: typo in comment [skip ci] (#4875) 2021-10-29 10:38:37 +02:00
C.Y.Kun 5eb72630a5
fix(runtime-core): add `v-memo` to built-in directives check (#4787) 2021-10-18 20:22:44 -04:00
Evan You 20a361541c fix(types): fix ref unwrapping type inference for nested shallowReactive & shallowRef
fix #4771
2021-10-09 17:51:15 -04:00
Evan You 3c500e422f release: v3.2.20 2021-10-08 13:01:51 -04:00
Evan You 9e3d7731c7 fix(hmr): fix hmr for components with no active instance yet
fix #4757
2021-10-08 12:39:24 -04:00
Evan You f4639e0a36 fix(devtools): clear devtools buffer after timeout
fix #4738
2021-10-07 19:36:32 -04:00
Evan You 467e113b95
feat(compiler-sfc): `<script setup>` defineProps destructure transform (#4690) 2021-09-27 14:24:21 -04:00
Evan You c5c53846ed release: v3.2.19 2021-09-25 14:58:20 -04:00
Evan You 13bfa2edfe release: v3.2.18 2021-09-24 16:05:16 -04:00
Evan You f5076eb4b7 release: v3.2.17 2021-09-24 12:43:11 -04:00
Evan You 87c86e4cc2 refactor: ensure ssr branches are included in esm-bundler build 2021-09-23 15:02:19 -04:00
Evan You c1cf26d207 chore: improve feature flag warning 2021-09-23 14:04:52 -04:00
Evan You 1e5a0db4d4 refactor: use getGlobalThis when attachting hmr runtime 2021-09-23 11:53:00 -04:00
Evan You 114b856fd1 release: v3.2.16 2021-09-23 10:17:02 -04:00
Evan You 74a84ff546 release: v3.2.15 2021-09-23 09:48:59 -04:00
Evan You df4fcd94d8 release: v3.2.14 2021-09-22 18:36:57 -04:00
Evan You 2476eaad6e
fix(devtools): fix prod devtools detection + handle late devtools hook injection (#4653) 2021-09-22 09:07:08 -04:00
Evan You b9deb6e50e release: v3.2.13 2021-09-21 14:22:53 -04:00
skirtle 5aa4255808
fix(runtime-core): return the exposeProxy from mount (#4606) 2021-09-21 12:55:08 -04:00
Amour1688 140f089917
fix(types): incorrect type inference of array (#4578) 2021-09-21 12:41:10 -04:00
ygj6 58b1fa5ed1
fix(hydration): ensure hydrated event listeners have bound instance (#4529)
fix #4479
2021-09-21 12:39:21 -04:00
tryag f31a6c105d
chore: fix type in compatConfig.ts (#4604) [ci skip] 2021-09-21 12:35:42 -04:00
Yang Mingshan 11a2098a69
fix(watch): remove redundant parameter default value (#4565) 2021-09-21 12:32:12 -04:00
Evan You ebe00f66dd release: v3.2.12 2021-09-17 10:55:26 -04:00
Evan You 71f22061a6 chore: improve component resolution failure message 2021-09-17 10:01:04 -04:00
Evan You 141a5e188c fix(suspense): fix suspense slot inside deoptimized slot call
fix #4556
2021-09-16 12:14:33 -04:00
ygj6 14fcced281
fix(runtime-core): avoid script setup bindings overwriting reserved ctx properties (#4570) 2021-09-16 11:16:07 -04:00
Evan You a31303f835 build: generate more treeshaking friendly code 2021-09-16 10:56:34 -04:00
Evan You 781d2d4d58 release: v3.2.11 2021-09-08 18:58:13 -04:00
Evan You aa8908a854 fix(hmr): handle possible duplicate component definitions with same id
fixes regression in vitepress
2021-09-08 18:36:21 -04:00
Evan You 96b531bfa3 release: v3.2.10 2021-09-07 16:20:07 -04:00
fishDog 4178d5d7d9
fix(type): fix prop type infer (#4530)
fix #4525
2021-09-06 15:24:15 -04:00
Evan You 642710eded release: v3.2.9 2021-09-05 18:24:01 -04:00
Husam Ibrahim 4645a42b79
types(runtime-core): fix for multiple possible prop types including Date (#4518)
fix #4517
2021-09-05 18:16:44 -04:00
edison 5594643d7b
fix(compiler-sfc): fix script setup ref assignment codegen edge case (#4520)
fix #4514
2021-09-05 18:02:50 -04:00
Evan You 3ad9dc4880 release: v3.2.8 2021-09-02 14:46:30 -04:00
dependabot[bot] 305883a12f
build(deps-dev): bump typescript from 4.3.5 to 4.4.2 (#4482)
* build(deps-dev): bump typescript from 4.3.5 to 4.4.2

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.3.5 to 4.4.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.3.5...v4.4.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps-dev): bump typescript from 4.3.5 to 4.4.2

* test: fix nodeOps types

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carlos Rodrigues <carlos@hypermob.co.uk>
Co-authored-by: Evan You <yyx990803@gmail.com>
2021-09-02 09:53:57 -04:00
Evan You b079996040 release: v3.2.7 2021-09-01 18:05:16 -04:00
X.L ef5b73159d
fix(suspense): misusing DOM Comment element constructor as a vnode type (#4451) 2021-09-01 16:57:56 -04:00
zhangenming a6e6253319
types(reactivity): adjust type exports (#4407) 2021-09-01 16:49:12 -04:00
laineus 741d3b36f2
fix(runtime-core): properly merge unmounted and beforeUnmount options (#4447) 2021-09-01 16:41:57 -04:00
ShroXd 6f555cf98c
refactor(runtime-core): improve the type of defineAsyncComponent (#4441) 2021-09-01 16:41:08 -04:00
Evan You 72d2b26e96 release: v3.2.6 2021-08-24 12:54:30 -04:00
Evan You a137d73e91 release: v3.2.5 2021-08-24 11:54:22 -04:00
Evan You b40845153c feat(experimental): expose ref macro types using separate d.ts file 2021-08-23 20:35:12 -04:00
Carlos Rodrigues afd49b3e88
types(PropType): Allow `undefined` function to be used on `PropType` (#4405) 2021-08-23 19:04:03 -04:00
HcySunYang ebd0baca98
fix(types): improve the type of createElementBlock (#4406)
fix #4391
2021-08-23 18:28:52 -04:00
Evan You 62f752552a refactor(compiler): extract shared ast transform utils
Also improve referenced identifier check using isReferenced from  @babel/types
2021-08-22 13:24:16 -04:00
Evan You 4adc5042f9 types: improve ref sugar $computed typing 2021-08-20 00:07:16 -04:00
Evan You ceace3a8cc release: v3.2.4 2021-08-17 12:26:50 -04:00
Evan You 644971ec06 fix(runtime-core): ensure consistent arguments for tempalte and render funtion slot usage
fix #4367
2021-08-17 11:15:53 -04:00
Evan You c1f564e1dc fix(runtime-core): fix child component double update on props change
fix #4365
2021-08-17 10:57:28 -04:00
Evan You 03abc2573c release: v3.2.3 2021-08-16 18:25:32 -04:00
webfansplz 0627765b36
chore(types): remove unnecessary type assertions (#4336) 2021-08-16 18:19:44 -04:00
5b3f1e8424
fix(runtime-core): patchChildren first in patchElement (#4313) 2021-08-16 15:46:27 -04:00
HcySunYang cd2d98499e
fix(runtime-core): vnode hooks should not be called on async wrapper (#4349)
fix #4346
2021-08-16 15:35:50 -04:00
Hazlank 6db15a27cf
refactor: merge bitwise flag checks (#4324) 2021-08-16 15:13:04 -04:00
Evan You 7ffa225aa3 release: v3.2.2 2021-08-11 11:40:25 -04:00
webfansplz 1ce34e25d5
fix(types): fix tsx emit-mapped handler return type (#4290)
fix #4288
2021-08-11 10:52:36 -04:00
edison 380608bd44
fix(types): fix forceUpdate type (#4302) 2021-08-11 10:46:18 -04:00
Evan You 00b76d3dc1 feat(sfc): support $shallowRef ref sugar 2021-08-11 10:19:58 -04:00
Evan You 2749c15170 release: v3.2.1 2021-08-09 16:29:53 -04:00
Evan You 5a7a43cc3d release: v3.2.0 2021-08-09 15:51:53 -04:00
lidlanca 6779bff537
feat(runtime-core): support dynamic / external array in v-memo (#4255) 2021-08-09 15:39:22 -04:00
WoodyJang f258f5d2c2
chore: delete useless props type (#4271) 2021-08-09 12:36:34 -04:00