Katashin
dd17fa1c90
feat(runtime-core): add special property to get class component options ( #821 )
2020-03-12 11:46:32 -04:00
Evan You
206640a2d8
fix(build): remove __RUNTIME_COMPILE__ flag
...
behavior should be consistent in all builds. fix #817
2020-03-11 16:39:26 -04:00
Evan You
47ead3b33a
refactor(ssr): improve ssr async setup / suspense error handling
2020-03-10 16:52:31 -04:00
Evan You
3be3785f94
fix(ssr): fix ssr on-the-fly compilation + slot fallback branch helper injection
2020-03-06 14:52:15 -05:00
Evan You
e67f655b26
refactor(runtime-core): revert setup() result reactive conversion
...
BREAKING CHANGE: revert setup() result reactive conversion
Revert 6b10f0c
& a840e7d
. The motivation of the original change was
avoiding unnecessary deep conversions, but that can be achieved by
explicitly marking values non-reactive via `markNonReactive`.
Removing the reactive conversion behavior leads to an usability
issue in that plain objects containing refs (which is what most
composition functions will return), when exposed as a nested
property from `setup()`, will not unwrap the refs in templates. This
goes against the "no .value in template" intuition and the only
workaround requires users to manually wrap it again with `reactive()`.
So in this commit we are reverting to the previous behavior where
objects returned from `setup()` are implicitly wrapped with
`reactive()` for deep ref unwrapping.
2020-02-26 19:01:42 -05:00
Evan You
8383e5450e
fix(runtime-core): ensure renderCache always exists
2020-02-18 14:43:12 -05:00
Evan You
d9d63f21b1
fix(reactivity): avoid cross-component dependency leaks in setup()
2020-02-17 23:14:07 -05:00
Evan You
57ee5df364
fix(types): app.component should accept defineComponent return type
...
fix #730
2020-02-15 21:04:29 -05:00
Evan You
6df2aca070
refactor(types): move shapeFlags to shared
2020-02-14 01:36:42 -05:00
Evan You
112d8f7d86
refactor: use explicit exports for runtime-core
2020-02-14 00:13:54 -05:00
Evan You
cfadb98011
fix(runtime-core): rework vnode hooks handling
...
- peroperly support directive on components (e.g. <foo v-show="x">)
- consistently invoke raw vnode hooks on component vnodes (fix #684 )
2020-02-10 13:15:36 -05:00
Evan You
e308ad99e9
refactor: ensure setup context.emit always point to intenral emit
2020-02-09 21:47:16 -05:00
Evan You
0f67aa7da5
fix(runtime-core): fix ShapeFlags tree shaking
2020-02-07 17:18:12 -05:00
Evan You
bc07e95ca8
fix(ssr): avoid hard-coded ssr checks in cjs builds
2020-01-29 09:49:17 -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
297282a812
perf(ssr): avoid unnecessary async overhead
2020-01-27 16:00:17 -05:00
Evan You
25a0d4a65f
wip(ssr): reduce reactivity overhead during ssr
2020-01-27 16:00:17 -05:00
Evan You
cee36ad028
wip(ssr): render real components
2020-01-27 16:00:17 -05:00
Evan You
da25517377
wip(ssr): initial work on server-renderer
2020-01-27 16:00:17 -05:00
Evan You
2837ce8428
fix(v-model/emit): update:camelCase events should trigger kebab case equivalent
...
close #656
2020-01-26 14:14:03 -05:00
Evan You
e81c8a32c7
feat(runtime-core): emit now returns array of return values from all triggered handlers
...
close #635
2020-01-20 11:24:08 -05:00
Evan You
751d838fb9
fix(runtime-core): should not warn unused attrs when accessed via setup context
...
close #625
2020-01-16 17:45:08 -05:00
Evan You
c9b9ae3941
refactor: rename apiApp.ts -> apiCreateApp.ts
2019-12-22 11:27:40 -05:00
Chris Fritz
1c4cdd841d
refactor(createComponent): rename to defineComponent ( #549 )
2019-12-22 10:58:12 -05:00
Evan You
d84cf3a538
feat(sfc): css modules support
2019-12-18 10:00:49 -05:00
Evan You
b2c2d0590e
refactor: extract SFCInternalOptions inteface
2019-12-17 12:31:38 -05:00
Evan You
2b178981bc
refactor: move isRuntimeCompiled flag into component.ts
2019-12-14 22:15:38 -05:00
Evan You
f77ae132e5
feat(hmr): reload and force slot update on re-render
2019-12-12 21:09:47 -05:00
Evan You
efe39db023
feat(runtime-core): hot module replacement
2019-12-12 21:09:47 -05:00
Evan You
4d730f464d
refactor: move runtime compile error handling to vue
2019-12-11 10:25:34 -05:00
Evan You
c97d83aff2
refactor(runtime-core): tweak component proxy implementation
2019-12-10 11:14:29 -05:00
Evan You
57bbbb227c
fix(core): propsProxy should not convert non-reactive nested values
2019-12-02 14:11:12 -05:00
Evan You
a6aa64b0cc
refactor: tweaks
2019-11-22 23:32:53 -05:00
ztplz
8e8397374c
chore: remove useless code ( #447 )
2019-11-14 11:23:04 -05:00
Evan You
acbbe3298c
refactor: move codeframe to @vue/shared
2019-11-06 15:13:15 -05:00
Evan You
d9c6ff372c
feat(core): allow passing explicit refs via props
2019-11-06 12:51:26 -05:00
Evan You
dfc7c0f12a
refactor: adjust internal vnode types + more dts tests
2019-11-04 18:38:55 -05:00
Evan You
90b9884eb4
refactor: rename/re-organize files
2019-11-02 12:18:35 -04:00
Evan You
5cdeeaa702
types: fix types
2019-11-01 23:04:28 -04:00
Evan You
66ecd8b47f
types: setup tests for built d.ts files
2019-11-01 22:54:01 -04:00
Evan You
c6cbca25fe
feat(core): keep-alive
2019-10-29 22:28:38 -04:00
likui
8454e7e004
refactor: remove unnecessary variable ( #401 )
2019-10-28 10:13:26 -04:00
Evan You
8edfbf9df9
feat(core): adjust attrs fallthrough behavior
2019-10-25 12:12:17 -04:00
Evan You
af5a8e1154
feat(compiler-core): re-implement v-once to use cache mechanism
2019-10-23 17:57:40 -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
Jooger
67eb29f63b
refactor(errorHandlling): handle array in callWithAsyncErrorHandling ( #332 )
2019-10-21 13:59:10 -04:00
Evan You
40ccbdeaac
chore: remove refs from setupContext
...
explicit refs should be preferred
2019-10-21 10:36:38 -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
Dmitry Sharshakov
2238925fbe
feat(core): validate directives names ( #326 )
2019-10-18 12:34:45 -04:00
Evan You
d179918001
perf: further tweak accessCache
2019-10-17 22:29:51 -04:00
Dmitry Sharshakov
7305f693b1
refactor(runtime-core): extract promise check into shared ( #325 )
2019-10-17 15:47:26 -04:00
Evan You
4771319a15
perf(core): cache property access types on renderProxy
2019-10-17 15:02:15 -04:00
Evan You
65a0207c7b
test: test runtime compilation error warning
2019-10-15 22:19:19 -04:00
Jian Zhang
cf12d18b4b
refactor(runtime-core): isBuiltInTag -> use makeMap instead of Set ( #307 )
2019-10-15 22:18:55 -04:00
月迷津渡
f71bf2f1d3
feat: add isCustomElement option ( #299 )
2019-10-15 17:30:47 -04:00
月迷津渡
66023a8886
feat: runtime component name validation ( #217 )
2019-10-14 15:36:29 -04:00
Evan You
82b5978e9c
build: further shave off runtime compile only code
2019-10-14 01:08:00 -04:00
likui
46e64b257c
feat(compiler-core/runtime-core): show codeframe in runtime compile errors ( #220 )
2019-10-12 19:49:23 -04:00
Evan You
95d7e1f471
feat: log on the fly template compilation error
2019-10-11 11:16:20 -04:00
terencez
7963c01a67
types(runtime-core): simplify types in createComponentInstance() ( #170 )
2019-10-09 12:17:42 -04:00
Evan You
8da5b007b1
types: improve typing
2019-10-08 12:43:13 -04:00
月迷津渡
9d6783053c
types: simplify types ( #104 )
2019-10-05 10:09:34 -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
8a923f6a52
refactor: move compile into compiler-core
2019-09-20 12:16:19 -04:00
Evan You
3ddd121b19
feat: on-the-fly template compilation
2019-09-20 00:24:16 -04:00
Evan You
b30b17d22d
test: test nested suspense & nested async deps
2019-09-11 23:44:37 -04:00
Evan You
356a01780b
wip: watcher callback handling inside suspense
2019-09-11 11:10:13 -04:00
Evan You
51914c76e8
wip: do not fire lifecycle hooks when already unmounted
2019-09-11 11:10:13 -04:00
Evan You
d5e9682040
wip: suspense feature flag
2019-09-11 11:10:13 -04:00
Evan You
02bb156314
wip: somewhat working suspense
2019-09-11 11:10:13 -04:00
Evan You
360f3b4f37
types: improve type exports
2019-09-06 12:58:31 -04:00
Evan You
d87bed0138
refactor: split componentRenderUtils
2019-09-06 11:25:11 -04:00
Evan You
0f25c29119
refactor: reorganize component related code and types
2019-09-06 11:19:22 -04:00
Evan You
7eed0df3c2
wip: $data should only expose properties from data()
2019-09-05 20:36:35 -04:00
Evan You
94a05561f8
feat: fix all cases for h and options type inference
2019-09-05 18:48:49 -04:00
Evan You
9b90e673e8
wip: improve options typing
2019-09-05 16:09:30 -04:00
Evan You
369b9eb583
types: props validation for h
2019-09-05 11:11:33 -04:00
Evan You
13298bc4fa
test: test for options API
2019-09-04 18:16:11 -04:00
Evan You
02de984f1f
feat: mixins/extends/assets options
2019-09-04 11:37:00 -04:00
Evan You
a6616e4210
feat: 2.x options support
2019-09-03 22:25:38 -04:00
Evan You
acda3cf2d9
chore: fix type
2019-09-03 18:24:32 -04:00
Evan You
98d1406214
test: test for app-level APIs
2019-09-03 18:11:04 -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
015d5dd0f1
feat: asset resolution
2019-09-02 16:43:26 -04:00
Evan You
32713f8fce
feat: createApp / appContext
2019-09-02 16:09:34 -04:00
Evan You
a3b0f2bd1c
feat: applyDirectives
2019-08-31 16:36:36 -04:00
Evan You
6801885f57
test: more coverage for error handling
2019-08-30 16:20:32 -04:00
Evan You
be28f976af
test: tests for error handling
2019-08-30 16:08:10 -04:00
Evan You
09593c94c3
feat: error handling in scheduler
2019-08-30 15:15:23 -04:00
Evan You
966d7b5487
feat: error handling for setup / render / watch / event handlers
2019-08-30 15:05:39 -04:00
Evan You
3d681f8bcd
feat: error handling for lifecycle hooks
2019-08-30 12:16:09 -04:00
Evan You
b40b7356ef
test: tests for lifecycle api
2019-08-28 12:13:36 -04:00
Evan You
5a754aac81
test: test for setup()
2019-08-26 18:08:56 -04:00
Evan You
589d3c2feb
refactor: immutable -> readonly
2019-08-23 09:38:32 -04:00
Evan You
daf67397ae
wip: pass attrs fallthrough tests
2019-08-22 22:07:51 -04:00
Evan You
f3e9848bb2
refactor: use const enums for flags
2019-08-22 11:12:37 -04:00
Evan You
8a01c8e549
types: fix createComponent spec
2019-08-21 17:10:37 -04:00
Evan You
b5384006d2
wip: update runtime-test
2019-08-21 17:05:14 -04:00
Evan You
8d99ab1ff8
chore: allow custom assignment to this
2019-08-21 09:50:20 -04:00