Commit Graph

320 Commits

Author SHA1 Message Date
Evan You
ede2e0d1b5 release: v3.0.0-rc.8 2020-08-25 10:31:52 -04:00
Evan You
016ba116a8 fix(reactivity): fix iOS 12 JSON.stringify error on reactive objects
- Use WeakMap for raw -> reactive/readonly storage. This is slightly
  more expensive than using a field on the taget object but avoids
  polluting the original.

- also fix Collection.forEach callback value

fix #1916
2020-08-24 15:34:04 -04:00
Evan You
6602d6dbff release: v3.0.0-rc.7 2020-08-21 14:13:05 -04:00
Robbin Baauw
07919e0065
perf(reactivity): improve ref performance by using class-based implementation (#1900) 2020-08-21 13:47:41 -04:00
ᴜɴвʏтᴇ
3c05f8bbd6
fix(reactivity): unwrap non-index accessed refs on reactive arrays (#1859)
close #1846
2020-08-21 13:36:41 -04:00
Evan You
7454e2a52b build(deps): upgrade to TypeScript 4 2020-08-20 17:48:28 -04:00
Evan You
91c4735416 release: v3.0.0-rc.6 2020-08-19 18:17:42 -04:00
Pick
02dcc68c24
test(reactivity): improve built-in Collection subclass test cases (#1885) 2020-08-19 16:22:31 -04:00
Carlos Rodrigues
c86e7ad11b
types(reactivity): improve typings for shallowRef (#1780) 2020-08-18 23:34:29 -04:00
Jordan Pittman
4172fdb90c
feat(reactivity): return array when calling toRefs on array (#1768)
close #1764
2020-08-18 12:11:13 -04:00
ᴜɴвʏтᴇ
d005b578b1
fix(reactivity): accept subtypes of collections (#1864) 2020-08-17 12:17:46 -04:00
Pick
44448fdd22
types(reactivity): add dts for proxyRefs & improve typings (#1786) 2020-08-14 17:37:36 -04:00
Evan You
ac81dcf0cc fix(reactivity): effect should still check sync self-trigger 2020-08-13 17:45:21 -04:00
Evan You
50adc014f5 refactor(reactivity): readonly collections should not track 2020-08-06 12:10:03 -04:00
Evan You
ed4381020f fix(reactivity): readonly+reactive collection should also expose readonly+reactive values
fix #1772
2020-08-06 11:18:16 -04:00
wujieZ
2787c34cd4
fix(reactivity): use isExtensible instead of isFrozen (#1753)
close #1784
2020-08-05 11:53:50 -04:00
Evan You
848d9ce2ea release: v3.0.0-rc.5 2020-07-28 17:42:05 -04:00
Evan You
aa06b1034d
feat(reactivity): proxyRefs method and ShallowUnwrapRefs type (#1682)
* feat(reactivity): `proxyRefs` method and `ShallowUnwrapRefs` type

BREAKING CHANGE: template auto ref unwrapping are now applied shallowly,
i.e. only at the root level. See https://github.com/vuejs/vue-next/pull/1682 for
more details.
2020-07-28 16:30:56 -04:00
Evan You
730e39eb76 refactor: remove unnecessary conditions and test case 2020-07-28 12:26:14 -04:00
Evan You
b7ef38b773 fix(reactivity): fix ref mutation debugger event values 2020-07-28 12:01:34 -04:00
Evan You
5c74243211 test: move mockWarn into setup files 2020-07-27 22:58:51 -04:00
Evan You
7edfdf7e23 fix(reactivity): avoid tracking internal symbols in has trap
fix #1683
2020-07-22 21:23:32 -04:00
Evan You
d63daaf9b6 release: v3.0.0-rc.4 2020-07-21 15:40:46 -04:00
Evan You
7753485baa release: v3.0.0-rc.3 2020-07-21 15:27:26 -04:00
Zardddddd60
3e412c10e0
refactor(reactive): reduce code size by assigning to a local variable (#1634) 2020-07-21 10:33:09 -04:00
Carlos Rodrigues
dabdc5e115
feat(computed): add readonly flag if no setter is provided (#1654) 2020-07-20 17:35:31 -04:00
Evan You
1f4045a086 release: v3.0.0-rc.2 2020-07-19 14:52:42 -04:00
Evan You
0ea14cade9 release: v3.0.0-rc.1 2020-07-17 15:30:17 -04:00
Pick
527c2c8bbb
feat(types): expose DeepReadonly type (#1606) 2020-07-17 09:28:50 -04:00
Evan You
5ed73cd874 release: v3.0.0-beta.24 2020-07-16 13:51:52 -04:00
Evan You
8b5d153d7f release: v3.0.0-beta.23 2020-07-16 12:48:56 -04:00
Zardddddd60
ecf872fc95
refactor(reactive): remove unnecessary args handling in reactiveEffect (#1593) 2020-07-15 23:19:15 -04:00
Evan You
4535b1bde8 chore: remove outdated options 2020-07-15 17:05:00 -04:00
Evan You
fcbefdb769 release: v3.0.0-beta.22 2020-07-15 12:43:41 -04:00
Pick
b772bba558
feat(types/reactivity): use DeepReadonly type for readonly return type (#1462)
close #1452
2020-07-15 09:27:21 -04:00
Evan You
9188e9ea74 release: v3.0.0-beta.21 2020-07-14 17:18:07 -04:00
Evan You
20df2f3817 release: v3.0.0-beta.20 2020-07-08 12:45:30 -04:00
Felix Rilling
829b35e426
chore: typo fixes (#1546)
* chore: fix typos in comments/JSDoc.

* chore: fix typo in internal function name.

* chore: fix typos in test comments/descriptions/variable names.
2020-07-08 12:32:42 +02:00
Evan You
d5ab70ba66 release: v3.0.0-beta.19 2020-07-07 10:04:31 -04:00
Pick
4f6460a71f
chore(reactivity): remove unused comment (#1485) [ci skip] 2020-07-06 15:57:54 -04:00
Evan You
7f83856f34 release: v3.0.0-beta.18 2020-07-01 21:06:25 -04:00
Pick
5c490f1c45
refactor(computed): deprecated computedRunners (#1458) 2020-07-01 15:39:13 -04:00
Evan You
f6da6bf999 release: v3.0.0-beta.17 2020-06-30 12:10:15 -04:00
Pick
c69ca88c04
refactor(types): simplify UnwrapRefSimple (#1466) 2020-06-30 12:02:21 -04:00
Evan You
ec3c12ee10 release: v3.0.0-beta.16 2020-06-29 18:34:50 -04:00
Evan You
82b28a5ecb fix(types): should unwrap array -> object -> ref 2020-06-29 12:26:28 -04:00
Pick
028a8c20df
test(reactivity): adjust ref unwrap test inside arrays (#1457) 2020-06-29 12:10:29 -04:00
edison
178e89305d
chore(reactivity): use consistent naming for ReactiveFlags enum (#1428) 2020-06-26 09:32:09 -04:00
Pick
f54be6a462
refactor(types): simplify UnwrapRef + specify iterable method return type (#1444) 2020-06-25 12:04:14 -04:00
underfin
c43a6e61a0
perf(reactivity): should not track __v_isRef (#1392) 2020-06-25 11:40:49 -04:00
Pick
8899a90fc4
refactor(types): simplified UnwrapRef (#1390) 2020-06-17 16:06:55 -04:00
Evan You
cf2f278f48 release: v3.0.0-beta.15 2020-06-12 18:09:05 -04:00
Evan You
d863ce721f refactor: improve base getter readability 2020-06-12 09:25:40 -04:00
Yang Mingshan
80e1693e1f
fix(reactivity): replaced ref in reactive object should be tracked (#1058) 2020-06-12 09:20:43 -04:00
蜗牛老湿
f3eac11058
chore(reactivity): use ReactiveFlags instead of __v_ properties (#1313) 2020-06-11 17:32:44 -04:00
蜗牛老湿
426803046f
test(reactivity): 100% reactivity coverage (#1299) 2020-06-11 16:55:56 -04:00
Evan You
10bb34bb86 fix(reactivity): fix toRaw for objects prototype inherting reactive
fix #1246
2020-06-11 15:12:57 -04:00
Evan You
80c868aefe workflow: setup eslint for prohibited syntax and globals
fix #1285
2020-06-10 16:54:23 -04:00
Carlos Rodrigues
c97d1bae56
fix(reactivity): shallowReactive collection to not-readonly (#1212) 2020-06-09 17:20:30 -04:00
doly mood
d3c436ae2e
feat(types): mixins/extends support in TypeScript (#626) 2020-06-09 10:37:00 -04:00
Evan You
32b3f78a36 release: v3.0.0-beta.14 2020-05-18 14:42:11 -04:00
Carlos Rodrigues
488e2bcfef
fix(reactivity): shallowReactive for collections (#1204)
close #1202
2020-05-18 11:17:37 -04:00
zhangenming
6574a5bf29
chore: merge imports (#1182) 2020-05-18 10:12:14 -04:00
Evan You
449fd05ad6 release: v3.0.0-beta.13 2020-05-16 21:53:47 -04:00
Evan You
3c88299f6a release: v3.0.0-beta.12 2020-05-11 15:52:37 -04:00
Evan You
7887c54dfe release: v3.0.0-beta.11 2020-05-11 14:25:36 -04:00
Evan You
13acb9134e release: v3.0.0-beta.10 2020-05-07 11:21:18 -04:00
龙腾道
e08f6f0ede
fix(reactivity): use correct thisArg for collection method callbacks (#1132) 2020-05-06 13:41:34 -04:00
龙腾道
037fa07113
fix(reactivity): fix __proto__ access on proxy objects (#1133) 2020-05-06 09:08:44 -04:00
Evan You
c32ed52b97 release: v3.0.0-beta.9 2020-05-04 17:14:42 -04:00
Evan You
3c3fe88c64 release: v3.0.0-beta.8 2020-05-04 10:49:23 -04:00
Evan You
c6217b4d46 refactor(types): use pure type symbol 2020-05-04 09:38:32 -04:00
Evan You
bc1f097e29 fix(types/reactivity): fix ref type inference on nested reactive properties with .value
fix #1111
2020-05-04 08:51:17 -04:00
Evan You
f40f3a0e95 fix(reactivity): avoid polluting Object prototype 2020-05-04 08:51:17 -04:00
Jackliu
42a99d28ae
chore: typo (#1113) 2020-05-04 10:30:24 +02:00
Evan You
6be2b73f8a fix(reactivity): check own property for existing proxy of target
fix #1107
2020-05-03 15:36:19 -04:00
XinPing Wang
8bab78b648 test: reactive proto 2020-05-03 15:36:19 -04:00
Evan You
0c48558f4c chore: remove commented stale code [ci skip] 2020-05-02 17:08:54 -04:00
Evan You
0dc44a6a86 release: v3.0.0-beta.7 2020-05-02 17:06:16 -04:00
Evan You
d901b6bea8 refactor(reactivity): use more efficient reactive checks
WeakSets and WeakMaps shows degrading performance as the amount of
observed objects increases. Using hidden keys result in better
performance especially when repeatedly creating large amounts of
reactive proxies.

This also makes it possible to more efficiently declare non-reactive
objects in userland.
2020-05-02 16:58:17 -04:00
Evan You
b570287dfe release: v3.0.0-beta.6 2020-05-01 18:56:53 -04:00
Evan You
b40fcbc4c6 fix(types): augment ref unwrap bail types in appropriate packages
Packages can now augment the ref unwrap bail types in their own `d.ts`.
Also updated the build script to auto concat any files in a package's
`types` directory to the final generated `d.ts`.

- `@vue/reactivity` should no longer require `libs: ["DOM"]` in tsconfig
- Properly bail on `VNode` and `ComponentPublicInstance` in runtime-core
2020-05-01 16:14:30 -04:00
HiiTea
22717772dd
chore: fix typos (#1090) 2020-05-01 09:42:58 -04:00
Evan You
c9bf7ded2e refactor(types): mark internal API exports and exclude from d.ts
BREAKING CHANGE: Internal APIs are now excluded from type decalrations.
2020-04-30 17:04:35 -04:00
Evan You
a5bb1d02b7 release: v3.0.0-beta.5 2020-04-30 16:20:25 -04:00
Evan You
352c369704 chore: remove stale _isVue checks 2020-04-30 14:45:25 -04:00
Evan You
d29aefcf99 release: v3.0.0-beta.4 2020-04-24 16:20:20 -04:00
Carlos Rodrigues
28b4c317b4
feat(types): expose ToRefs type (#1037) 2020-04-24 13:10:16 -04:00
susiwen8
ad2b940c17
chore: remove unnecessary export (#1044) [ci skip] 2020-04-24 13:02:44 -04:00
Evan You
2acf3e84b9 feat(reactivity): add triggerRef API
Also make shallowRef assignment behavior consistent with normal ref
2020-04-22 18:00:10 -04:00
Evan You
b0d4df9743 perf(reactivity): ref should not trigger if value did not change
Note: shallowRef will always trigger on assignment because it does not
account for deep mutations

close #1012
2020-04-22 15:11:01 -04:00
Carlos Rodrigues
0bdd889156
fix(types): fix ref(false) type to Ref<boolean> (#1028) 2020-04-22 11:54:54 -04:00
Evan You
6fefeafe98 release: v3.0.0-beta.3 2020-04-20 17:00:26 -04:00
limichange
fa40d1ef3a
refactor(reactivity): simplify if condition (#1002) 2020-04-20 13:39:35 -04:00
Evan You
218e6e1667 build: adjust build formats
- Rename `esm` to `esm-browser`
- Add runtime-only build for `esm-browser`
- Add default CDN alias for jsdelivr
2020-04-19 18:43:21 -04:00
Evan You
c1a85cb124 release: v3.0.0-beta.2 2020-04-17 11:01:01 -04:00
Evan You
ca6912554c release: v3.0.0-beta.1 2020-04-16 15:45:04 -04:00
Cédric Exbrayat
4d014dc3d3
fix(reactivity): remove Symbol.observable (#968)
* chore: add @types/node as an explicit dependency

As `tsconfig.json` references it, it should be listed in the dependencies.
It currently uses an older version: this commit also bumps to the latest v12 version, and fixes a typing issue.

* fix(reactivity): remove Symbol.observable

`Symbol.observable` is brought by `@types/node@12` and is not a "well-known" typescript symbol https://www.typescriptlang.org/docs/handbook/symbols.html that can be find in lib.es20xx like the others. It has been removed in `@types/node@v13`.
It means that an application using vue@3.0.0-alpha.13 does not compile unless it explicitely adds `@types/node@v12` as a dependency and `node` in its own tsconfig types.
2020-04-16 09:33:30 -04:00
Carlos Rodrigues
d7ae1d0244
test(reactivity): add tests for object with symbols (#969) 2020-04-16 09:24:46 -04:00
Evan You
09b4202a22 refactor(reactivity): adjust APIs
BREAKING CHANGE: Reactivity APIs adjustments:

- `readonly` is now non-tracking if called on plain objects.
  `lock` and `unlock` have been removed. A `readonly` proxy can no
  longer be directly mutated. However, it can still wrap an already
  reactive object and track changes to the source reactive object.

- `isReactive` now only returns true for proxies created by `reactive`,
   or a `readonly` proxy that wraps a `reactive` proxy.

- A new utility `isProxy` is introduced, which returns true for both
  reactive or readonly proxies.

- `markNonReactive` has been renamed to `markRaw`.
2020-04-15 16:45:20 -04:00