Commit Graph

3442 Commits

Author SHA1 Message Date
Wei 0a301d4dab
fix(reactivity): fix currentScope loss when running detached effect scope (#5575) 2022-04-12 03:51:05 -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
Evan You 245230e135 chore: remove no longer present V_FOR_REF compat entry
close vuejs/v3-migration-guide#10
2022-03-31 08:15:59 +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
Evan You 436c500d2c fix(compiler-ssr): no need to inject resolveDirective calls for setup custom directives 2022-02-12 16:29:24 +08: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 48de8a42b7 chore: remove next references [ci skip] 2022-02-07 12:16:22 +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 a51f935b72 refactor: remove isTracking() method 2022-01-30 18:53:43 +08:00
Evan You bb43704b64 chore: check string first in toDisplayString 2022-01-30 18:50:28 +08:00
Evan You 81a6708739 chore: simplify effectScope 2022-01-28 21:02:09 +08:00
Evan You 2993a24618 perf(reactivity): optimize effect/effectScope active state tracking 2022-01-28 18:35:09 +08:00
Evan You 6b6889852f release: v3.2.29 2022-01-23 22:02:23 +08:00
Evan You 9aa5dfd4bb fix(runtime-dom): fix static content re-insertion
fix #5308

The regression was introduced in ed9eb62. In the cached code path,
we attempt re-insertion by cloning cached nodes. However if the static
fragment was removed as component root, it loses the nodes between
start and end because each node was removed individually. Therefore
the cached path can only be taken if the fragment has a single node, or
it was removed as part of a parent tree so the sibling information is
still available.
2022-01-23 21:44:32 +08:00
Thorsten Lünborg 4be1037f31
fix(reactivity): ensure readonly refs can be replaced with new refs in reactive objects (#5310)
fix #5307
2022-01-23 08:08:27 -05:00
Evan You 059c63eab7 test: add missing edge case for css v-bind 2022-01-23 21:03:37 +08:00
Evan You 16fa18da6d fix(compiler-sfc): fix css v-bind inside other css functions
fix #5302, close #5306
2022-01-23 20:58:43 +08:00
Evan You 283df0ad68 release: v3.2.28 2022-01-21 16:15:13 +08:00
edison 95d49bf7e7 fix(compiler-sfc): support complex expression in CSS v-bind() (#5114)
fix #5109
2022-01-21 15:57:30 +08:00
btea 63210fe41a
refactor: includes instead of indexOf (#5117) 2022-01-21 02:36:48 -05:00
HcySunYang c64907d261
fix(types): calling readonly() with ref() should return Readonly<Ref<T>> (#5212) 2022-01-21 02:33:30 -05:00
Thorsten Lünborg 171f5e9c60
fix(reactivity): mutating a readonly ref nested in a reactive object should fail. (#5048)
fix: #5042
2022-01-21 02:33:18 -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
edison 9f55e6fbb1
fix(compiler-core): handle v-memo in template v-for (#5291)
fix #5288
2022-01-21 01:54:46 -05:00
Evan You b2bac9fa17 chore: comment dom tag config usage [ci skip] 2022-01-21 14:31:00 +08: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 25bc6549eb perf(reactivity): optimize effect run condition 2022-01-21 09:41:58 +08:00
Evan You 4768f26f59 fix(compiler-sfc/reactivity-transform): fix edge case where normal script has ref macros but script setup does not 2022-01-21 08:47:48 +08:00
Evan You a05b000948 fix(reactivity-transform): apply transform for labelled variable declarations
ref https://github.com/vuejs/core/issues/5298#issuecomment-1017970061
2022-01-21 07:48:41 +08:00
Evan You a81a9922bb fix(reactivity-transform): apply transform on exported variable declarations
fix #5298
2022-01-21 07:40:35 +08:00
Evan You ae4b0783d7 chore: update repo references 2022-01-18 16:43:59 +08:00
Evan You 9c304bfe79 fix(reactivity): differentiate shallow/deep proxies of same target when nested in reactive
fix #5271
2022-01-18 09:22:41 +08:00
Evan You 9fda9411ec feat(reactivity): add isShallow api 2022-01-18 09:22:41 +08:00
Evan You 0c06c748a5 chore: bump marked 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 78df8c78c4 fix(types/tsx): allow ref_for type on tsx elements 2022-01-16 15:54:58 +08:00
Evan You 5ac703055f fix(types): handle ToRef<any>
fix #5188
2022-01-16 15:47:00 +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 55cc4af25e fix(ssr): remove missing ssr directive transform error 2022-01-16 15:20:56 +08:00
Evan You 92fcb9db05 workflow: use esbuild for dev scripts 2022-01-14 16:21:50 +08:00
Evan You ff2d6d1cb7 chore: comment usage of short property name 2022-01-12 22:08:05 +08: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
Evan You 92f11d6740 fix(types): fix shallowReadonly type 2022-01-10 15:05:09 +08:00
Evan You eb721d49c0 workflow: improve template explorer hash persistence 2022-01-04 17:32:25 +08:00
Evan You 2b506d7df6 chore: fix template exploerer boot with no storage 2022-01-04 17:09:13 +08:00
Evan You 7007ffb2c7 fix(reactivity-transform): should not rewrite for...in / for...of scope variables 2021-12-31 11:23:50 +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
Cédric Exbrayat e373b0bbe2
chore: remove obsolete test snapshot (#5162) 2021-12-24 12:10:59 +01:00
Evan You fef191fb07 chore: remove stale references of ref-transform 2021-12-23 16:56:36 +08:00
Evan You a273e8844c chore: bump repl 2021-12-21 16:49:20 +08:00
Eduardo San Martin Morote 44b95276f5
fix(sfc-playground): hide title to avoid overlap (#5099) 2021-12-14 08:24:14 -05:00
Evan You ccb6651b12 release: v3.2.26 2021-12-12 15:03:29 +08:00
Evan You 17f4dd833e build: include missing dts files in package 2021-12-12 14:52:12 +08:00
Evan You 756534bde0 release: v3.2.25 2021-12-12 12:21:13 +08:00
Evan You d6be3405b3 types(compiler-sfc): export additional types 2021-12-12 11:44:23 +08:00
Evan You 5fda93801e ci: move vite back to root again 2021-12-12 10:52:55 +08:00
Evan You 7e400601ec ci: adjust deps for sfc playground 2021-12-12 10:38:09 +08:00
Evan You 65309b5aed ci: move vite plugin-vue to workspace root 2021-12-12 10:35:36 +08:00
Evan You 38b977dad5 chore: remove no longer needed shim for stream/web 2021-12-12 10:12:20 +08:00
wxsm 9ac0ddea4b
feat(sfc-playground): add github link (#5067) 2021-12-11 21:01:48 -05:00
wxsm b0275070e4
feat(sfc-playground): prevent ctrl+s default behavior (#5066) 2021-12-11 21:01:15 -05:00
Forzen FIsh 57a09331b2
chore: fix some typos (#5050) [ci skip] 2021-12-11 20:58:46 -05:00
Evan You 7e4f0a8694 fix(compiler-sfc): generate valid TS in script and script setup co-usage with TS
fix #5094
2021-12-12 09:53:52 +08:00
Evan You ea1fcfba37 chore: bump babel deps 2021-12-12 09:11:36 +08:00
Evan You 434dedf488 chore: cleanup deps 2021-12-12 09:08:08 +08:00
Evan You 50f13278f9 chore: avoid api-extractor warnings 2021-12-12 00:14:25 +08:00
Evan You d70fd8d36b feat(reactivity-transform): rename @vue/ref-transform to @vue/reactivity-transform 2021-12-12 00:04:38 +08:00
Evan You f4dcbbc7b9 chore: fix build 2021-12-11 23:48:32 +08:00
Evan You fbd0fe9759 feat(reactivity-transform): support optionally importing macros 2021-12-11 18:28:03 +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 198ca14f19 feat(reactivity-transform): $$() escape for destructured prop bindings 2021-12-11 17:50:09 +08:00
Evan You 179fc05a84 feat(reactivity-transform): support $-shorthands for all ref-creating APIs 2021-12-11 17:17:01 +08:00
Evan You 93ba6b974e feat(reactivity-transform): use toRef() for $() destructure codegen
- now supports destructuring reactive objects
- no longer supports rest elements
2021-12-11 17:13:15 +08:00
Evan You 2db9c909c2 feat(reactivity): support default value in toRef() 2021-12-11 16:41:58 +08:00
Evan You d0ea900922 workflow: report brotli size of baseline build 2021-12-11 10:38:21 +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 4b0ca8709a feat(compiler-core): support aliasing vue: prefixed events to inline vnode hooks 2021-12-10 16:09:23 +08:00
Evan You 1c9a4810fc fix(compiler): force block for custom dirs and inline beforeUpdate hooks
to ensure they are called before children updates
2021-12-10 15:36:10 +08:00
Evan You 4b5d1ac894 chore: remove outdated test case 2021-12-10 15:35:20 +08:00
Evan You 9823bd95d1 feat(experimental): allow const for ref sugar declarations 2021-12-10 14:05:40 +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
Lucas Werkmeister f73547fc05
chore(compat): fix example config syntax error (#5027)
The chainWebpack arrow function wasn’t being closed.
2021-12-05 23:24:59 -05:00
Thorsten Lünborg f8552697fb
fix(package): ensure ref-macros export is recognized by vue-tsc (#5003) 2021-12-05 23:22:59 -05:00
Illya Klymov ee97cf5a4d
fix(compat): maintain compatConfig option in legacy functional comp (#4974) 2021-12-05 23:20:27 -05:00
Che Guevara 595a93715b
refactor(types): use `DOMRect` instead of the `Position` type (#5012) 2021-12-05 23:19:47 -05:00
Ziwen Mei d70dd9faaa
chore(compiler-sfc): fix typo in comments (#5029) 2021-12-05 23:19:15 -05:00
三咲智子 523b4b78f5
fix(types/reactivity): export ShallowRef type (#5026)
close #5205
2021-12-05 23:18:21 -05:00
Forzen FIsh 095fe269cb
chore: remove redundant variable declaration (#5053) 2021-12-05 23:10:58 -05:00
Evan You 29beda7c6f fix(compiler-dom): avoid bailing stringification on setup const bindings 2021-12-06 11:53:02 +08:00
Evan You 4713578367 workflow(template-explorer): handle debugging with nodeTransforms 2021-12-06 11:51:56 +08:00
Evan You 31d6a31d97 chore: fix template explorer local css link 2021-12-06 09:46:05 +08:00
Evan You 87c73e99d6 fix(compiler-sfc): make asset url imports stringifiable 2021-12-06 01:19:06 +08:00
Evan You 3e5ed6c1fc chore(playground): bump repl 2021-12-05 20:59:35 +08:00
n2ptune 772574febb
chore(custom-element): fix comment typo (#5028) [skip ci] 2021-12-03 10:10:54 +01:00
Ziwen Mei 2d4f455434
chore(compiler-sfc): fix typo in compileScript (#5000)
Co-authored-by: meiziwen1 <meiziwen1@xdf.cn>
2021-11-26 10:21:35 +01:00
Evan You b6a8a451b8 release: v3.2.23 2021-11-26 14:33:46 +08:00
Evan You 68c45e73da feat(compiler-sfc): expose properties for more accurate HMR
ref #4358
reverts #4908
2021-11-26 14:22:26 +08:00
mehan 2a4f134fc5
chore: remove unnecessary assertion (#4867) 2021-11-25 23:08:25 -05:00
ygj6 c61baac75a
feat(compiler-sfc): export resolveTemplateUsageCheckString for HMR plugin use (#4908) 2021-11-25 22:58:14 -05:00
Evan You 6d46b36e7c revert: "fix(types): use proper array type when unwrapping reactive array (#4807)"
This reverts commit 89c54ee2b9.
2021-11-26 10:54:12 +08:00
Evan You 124570973d fix(types): export ref-macros.d.ts 2021-11-26 10:48:33 +08:00
Che Guevara 4e1131e251
chore: improve BaseTransition (#4811) 2021-11-25 05:42:24 -05:00
Cheese 89c54ee2b9
fix(types): use proper array type when unwrapping reactive array (#4807) 2021-11-25 05:41:25 -05:00
Evan You 3bdd03b152 workflow: use terser minification when checking size 2021-11-25 18:39:13 +08:00
Stefan Mayer 1701bf3968
fix(runtime-dom): patchDOMProps should not set _value if element is custom element (#4839)
Co-authored-by: Stefan Mayer <stefan.m.mayer@daimler.com>
2021-11-25 05:30:32 -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
Thorsten Lünborg 89b2f924fc
fix(runtime-dom): fix option element value patching edge case (#4959)
fix #4956
2021-11-25 05:05:02 -05:00
fishDog 3c449cd408
fix(types): fix propType<any> type inference (#4985)
fix #4983
2021-11-25 04:52:13 -05:00
Cédric Exbrayat c17cbdc28f
refactor: use refTransform instead of deprecated refSugar (#4957) 2021-11-25 04:39:36 -05:00
JensDll c6cd6a7938
fix (types): do not unwrap refs in `toRefs` (#4966) 2021-11-25 04:39:09 -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
Evan You d145128ab4 fix(reactivity): retain readonly proxies when setting as reactive property
fix #4986
2021-11-25 12:14:39 +08:00
ygj6 820a143457
fix(runtime-core): handle error in async KeepAlive hooks (#4978) 2021-11-22 02:50:19 -05:00
Jeet Mandaliya 61720231b4
chore: typo [skip ci] (#4961) 2021-11-18 11:01:11 +01:00
Evan You 7c11c58faf workflow: separate unit and e2e tests 2021-11-15 12:14:57 +08:00
Evan You 635d88aa9e release: v3.2.22 2021-11-15 11:45:05 +08:00
edison 31fd590fd4
fix(compiler-sfc): fix expose codegen edge case (#4919)
fix #4917
2021-11-14 22:22:53 -05: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
btea e1ee3c4fe8
refactor(compiler-core): refactor isComponentTag method (#4934) 2021-11-14 21:39:13 -05:00
zisasign 574070f43f
fix(compiler-sfc): externalRE support automatic http/https prefix url pattern (#4922)
fix #4920
2021-11-14 21:37:50 -05:00
btea fd7c3407c7
refactor(compiler-sfc): replace filter method with for loop (#4905) 2021-11-14 21:31:44 -05:00
ygj6 9c42a1e2a3
fix(compiler-sfc): add type for props include Function in prod mode (#4938) 2021-11-14 21:31:11 -05:00