Commit Graph

3380 Commits

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