Evan You
a840e7ddf0
fix(types): update setup binding unwrap types for 6b10f0c
...
close #738
2020-02-19 18:29:18 +01:00
Evan You
8383e5450e
fix(runtime-core): ensure renderCache always exists
2020-02-18 14:43:12 -05:00
Evan You
0c1fe72dcf
build: make watch tree-shakable in lean build
2020-02-17 11:02:15 -05:00
Evan You
27fbfbdb8b
fix(runtime-core): render context set should not unwrap reactive values
2020-01-27 18:05:30 -05:00
Evan You
6b10f0cd1d
refactor: remove implicit reactive() call on renderContext
...
reference: https://github.com/vuejs/rfcs/issues/121
BREAKING CHANGE: object returned from `setup()` are no longer implicitly
passed to `reactive()`.
The renderContext is the object returned by `setup()` (or a new object
if no setup() is present). Before this change, it was implicitly passed
to `reactive()` for ref unwrapping. But this has the side effect of
unnecessary deep reactive conversion on properties that should not be
made reactive (e.g. computed return values and injected non-reactive
objects), and can lead to performance issues.
This change removes the `reactive()` call and instead performs a
shallow ref unwrapping at the render proxy level. The breaking part is
when the user returns an object with a plain property from `setup()`,
e.g. `return { count: 0 }`, this property will no longer trigger
updates when mutated by a in-template event handler. Instead, explicit
refs are required.
This also means that any objects not explicitly made reactive in
`setup()` will remain non-reactive. This can be desirable when
exposing heavy external stateful objects on `this`.
2020-01-27 16:00:18 -05:00
Evan You
2884831065
fix(runtime-core): instance should not expose non-declared props
2020-01-27 16:00:18 -05:00
Evan You
d6da48a33f
perf: optimize public properties access on componentProxy
2019-12-19 14:19:58 -05:00
Evan You
d84cf3a538
feat(sfc): css modules support
2019-12-18 10:00:49 -05:00
Evan You
7431c2e46e
fix(runtime-core): ensure $forceUpdate behavior consistency with 2.x
2019-12-12 22:12:45 -05:00
Evan You
3116b5d6c3
fix(runtime-core): initialize renderCache if not present
2019-12-12 21:09:47 -05:00
Evan You
c97d83aff2
refactor(runtime-core): tweak component proxy implementation
2019-12-10 11:14:29 -05:00
Evan You
08a3d95e52
fix: resolveDynamicComponent should use context instance
2019-11-25 11:41:28 -05:00
Chester
2d5f9b58ac
refactor: skip destructuring when use with ( #425 )
2019-11-05 10:45:04 -05:00
Evan You
dfc7c0f12a
refactor: adjust internal vnode types + more dts tests
2019-11-04 18:38:55 -05:00
Evan You
c6cbca25fe
feat(core): keep-alive
2019-10-29 22:28:38 -04:00
Evan You
8edfbf9df9
feat(core): adjust attrs fallthrough behavior
2019-10-25 12:12:17 -04:00
Evan You
8c1638da33
feat(runtime-core): warn access of undefined property during render
2019-10-25 10:12:58 -04:00
likui
e34d2bd853
types: improve slots type ( #366 )
2019-10-23 09:29:09 -04:00
Evan You
b5886189ba
types: massive refactor
2019-10-22 11:53:32 -04:00
likui
f85ba092ce
types: improve emit type ( #345 )
2019-10-21 14:04:42 -04:00
Evan You
869ae19c41
fix(compiler): cache handlers should be per-instance, fix hoist w/ cached handlers
2019-10-20 17:00:11 -04:00
Evan You
d179918001
perf: further tweak accessCache
2019-10-17 22:29:51 -04:00
Evan You
4771319a15
perf(core): cache property access types on renderProxy
2019-10-17 15:02:15 -04:00
Ayush Goyal
58fffcb987
refactor(core): use makeMap for faster string match checks ( #282 )
2019-10-15 12:11:08 -04:00
Evan You
82b5978e9c
build: further shave off runtime compile only code
2019-10-14 01:08:00 -04:00
Dmitry Sharshakov
78d1821e24
refactor(componentProxy): simplify proxy handling ( #214 )
2019-10-12 19:44:30 -04:00
Cr
f3760f7d34
types: add missing properties to ComponentPublicInstance interface ( #218 )
2019-10-12 10:30:21 -04:00
Tim van den Eijnden
0177355242
fix: add warnings ( #82 )
...
* fix: add warnings
- invalid watch handler path
- attempting to mutate readonly computed value
- attempt of mutating public property
- attempt of mutating prop
* fix: more descriptive warnings + details
* fix: test apiOptions warnings
* fix: update warning in componentProxy
* fix: update warnings in componentProxy & apiOptions
* fix: update warning in componentProxy
* fix: implemented tests for componentProxy
* fix: remove comment + small refactor
2019-10-09 14:03:21 -04:00
Evan You
8da5b007b1
types: improve typing
2019-10-08 12:43:13 -04:00
Carlos Rodrigues
fbabae0c0a
chore: replace some type casts and fix variable and filename typos ( #93 )
2019-10-05 10:38:02 -04:00
月迷津渡
9d6783053c
types: simplify types ( #104 )
2019-10-05 10:09:34 -04:00
Evan You
191db785bd
refactor: use global whitelist for render proxy has check
2019-10-02 10:37:06 -04:00
Evan You
d87255ce46
fix(options): data options should preserve original object if possible
2019-10-02 10:03:43 -04:00
Evan You
360f3b4f37
types: improve type exports
2019-09-06 12:58:31 -04:00
Evan You
0f25c29119
refactor: reorganize component related code and types
2019-09-06 11:19:22 -04:00
Evan You
891f21b010
refactor: extract hasOwn helper
2019-09-05 20:48:14 -04:00
Evan You
7eed0df3c2
wip: $data should only expose properties from data()
2019-09-05 20:36:35 -04:00
Evan You
02de984f1f
feat: mixins/extends/assets options
2019-09-04 11:37:00 -04:00
Evan You
b4c909c260
feat: $nextTick, $forceUpdate, $watch
2019-09-03 23:04:11 -04:00
Evan You
c5ec29ff9b
wip: render() should receive no args, expose props on renderContext as readonly
2019-09-03 15:27:59 -04:00
Evan You
8d99ab1ff8
chore: allow custom assignment to this
2019-08-21 09:50:20 -04:00
Evan You
976844790e
wip: $state -> $data
2019-06-19 17:08:42 +08:00
Evan You
5228f0343b
wip: setup context + emit
2019-06-19 16:43:34 +08:00
Evan You
2848f65a7f
wip: refs
2019-06-03 13:44:45 +08:00
Evan You
02421dbe62
wip: value()
2019-05-29 17:36:53 +08:00
Evan You
178c7c827e
wip: render proxy
2019-05-29 13:43:46 +08:00
Evan You
eac8a4baa3
wip: props immutability
2019-05-29 10:43:27 +08:00
Evan You
3cded86b98
wip: switch to new implementation
2019-05-25 23:51:20 +08:00
Evan You
ec0ccd2337
refactor: return Proxy from base class constructor
2019-03-05 16:24:07 -05:00
Evan You
66686f38a7
refactor: expose $self
2019-03-01 13:47:28 -05:00