Commit Graph

520 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
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
ae4b0783d7 chore: update repo references 2022-01-18 16:43:59 +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
edison
6d887aaf59
fix(runtime-core): handle initial undefined attrs (#5017)
fix #5016
2021-12-06 00:58:45 -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
ygj6
820a143457
fix(runtime-core): handle error in async KeepAlive hooks (#4978) 2021-11-22 02:50:19 -05:00
edison
b4eb7e3866
fix(runtime-core): improve dedupe listeners when attr fallthrough (#4912)
fix #4859
2021-11-14 22:20:38 -05: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
467e113b95
feat(compiler-sfc): <script setup> defineProps destructure transform (#4690) 2021-09-27 14:24:21 -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
skirtle
5aa4255808
fix(runtime-core): return the exposeProxy from mount (#4606) 2021-09-21 12:55:08 -04:00
ygj6
58b1fa5ed1
fix(hydration): ensure hydrated event listeners have bound instance (#4529)
fix #4479
2021-09-21 12:39:21 -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
aa8908a854 fix(hmr): handle possible duplicate component definitions with same id
fixes regression in vitepress
2021-09-08 18:36:21 -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
laineus
741d3b36f2
fix(runtime-core): properly merge unmounted and beforeUnmount options (#4447) 2021-09-01 16:41:57 -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
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
lidlanca
6779bff537
feat(runtime-core): support dynamic / external array in v-memo (#4255) 2021-08-09 15:39:22 -04:00
edison
3b60358d0e
fix(v-memo): should work on v-for with constant expression (#4272)
fix #4246
2021-08-06 21:37:09 -04:00
Evan You
51ee84fc6a fix(suspense): fix dynamicChildren tracking when suspense root is a block itself
e.g. `<slot>` inside suspense

fix #4183, fix #4198
2021-07-28 16:49:34 -04:00
Evan You
561e210157 fix(inject): should auto unwrap injected refs
fix #4196
2021-07-27 17:52:37 -04:00
Evan You
db3f57a392 fix(hmr): fix hmr when global mixins are used
fix #4174
2021-07-22 10:53:59 -04:00
Evan You
8560005601 fix(runtime-core): ensure setupContext.attrs reactivity when used in child slots
fix #4161
2021-07-21 17:31:00 -04:00
Evan You
dd1439e711 build: reduce runtime build size 2021-07-21 11:11:40 -04:00
Evan You
d87d059ac1 feat(runtime-core): watchSyncEffect 2021-07-20 16:49:54 -04:00
Evan You
33c2fbfdc8 fix(reactivity): revert computed scheduler change
fix #4157
2021-07-20 16:45:29 -04:00
Evan You
bc7f9767f5 fix(watch): ensure watchers respect detached scope
fix #4158
2021-07-20 14:32:17 -04:00
Evan You
2bdee50a59 fix(runtime-core): fix v-bind class/style merging regression
fix #4155
2021-07-20 13:58:43 -04:00
Evan You
47f488350c chore: run updated prettier 2021-07-19 18:24:18 -04:00
Evan You
d810a1a569 fix(scheduler): fix insertion for id-less job
fix #4148
2021-07-19 13:37:38 -04:00
Evan You
bbf6ca9bca fix(runtime-core): fix null type in required + multi-type prop declarations
fix #4146 (in combination with #4147)
2021-07-19 11:20:28 -04:00
Evan You
4e5897d2df test: fix renderSlot tests 2021-07-16 14:30:49 -04:00
Evan You
42ace9577d feat: watchPostEffect 2021-07-16 14:30:49 -04:00
Evan You
3b64508e3b feat: v-memo 2021-07-16 14:30:49 -04:00
Evan You
bde855e017 test: test for computed optimization 2021-07-16 14:30:49 -04:00
Anthony Fu
f5617fc3bb feat(reactivity): new effectScope API (#2195) 2021-07-16 14:30:49 -04:00
Evan You
87f69fd0bb perf(reactivity): improve reactive effect memory usage (#4001)
Based on #2345 , but with smaller API change

- Use class implementation for `ReactiveEffect`
- Switch internal creation of effects to use the class constructor
- Avoid options object allocation
- Avoid creating bound effect runner function (used in schedulers) when not necessary.
- Consumes ~17% less memory compared to last commit
- Introduces a very minor breaking change: the `scheduler` option passed to `effect` no longer receives the runner function.
2021-07-16 14:30:49 -04:00
b31712ecc5
test(teleport): fix meaningless test case (#2872) 2021-07-15 16:36:36 -04:00
Evan You
03e26845e2 fix(sfc): fix <script setup> async context preservation logic
fix #4050
2021-07-06 14:31:53 -04:00
Evan You
d12206db8e test: add test case for proper effect teardown w/ withAsyncContext 2021-07-06 11:39:27 -04:00
Austin Keener
12cf9f4ea1
fix(runtime-core): fix instance accessed via $parent chain when using expose() (#4048) 2021-07-02 07:51:54 -04:00
Evan You
34d4991dd5 fix(ssr): properly hydrate non-string value bindings
fix #4006
2021-07-01 17:11:23 -04:00
Evan You
9ee41e14d2 fix: prevent withAsyncContext currentInstance leak in edge cases 2021-06-29 14:22:18 -04:00
Evan You
0240e82a38 feat(sfc): auto restore current instance after await statements in async setup() 2021-06-29 09:24:12 -04:00
Evan You
4c5844a9ca feat(sfc): withDefaults helper 2021-06-26 21:11:57 -04:00
Evan You
b0203a3092 feat(expose): always expose $ instance properties on child refs 2021-06-24 21:28:09 -04:00
Evan You
ac853ff4ab test: fix script setup helpers tests 2021-06-23 10:31:32 -04:00