Evan You
2fb7a63943
fix(computed): support arrow function usage for computed option
...
fix #733
2020-02-17 23:22:25 -05:00
Evan You
9571ede84b
refactor(watch): adjsut watch API behavior
...
BREAKING CHANGE: `watch` behavior has been adjusted.
- When using the `watch(source, callback, options?)` signature, the
callback now fires lazily by default (consistent with 2.x
behavior).
Note that the `watch(effect, options?)` signature is still eager,
since it must invoke the `effect` immediately to collect
dependencies.
- The `lazy` option has been replaced by the opposite `immediate`
option, which defaults to `false`. (It's ignored when using the
effect signature)
- Due to the above changes, the `watch` option in Options API now
behaves exactly the same as 2.x.
- When using the effect signature or `{ immediate: true }`, the
intital execution is now performed synchronously instead of
deferred until the component is mounted. This is necessary for
certain use cases to work properly with `async setup()` and
Suspense.
The side effect of this is the immediate watcher invocation will
no longer have access to the mounted DOM. However, the watcher can
be initiated inside `onMounted` to retain previous behavior.
2020-02-17 23:16:58 -05:00
Evan You
d9d63f21b1
fix(reactivity): avoid cross-component dependency leaks in setup()
2020-02-17 23:14:07 -05:00
Evan You
202532c301
chore: use consistent signature for shared utilities
2020-02-17 14:43:16 -05:00
Evan You
0c1fe72dcf
build: make watch tree-shakable in lean build
2020-02-17 11:02:15 -05:00
Evan You
77103e1fd7
types: fix tsx dts tests
2020-02-15 21:48:45 -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
9d2ac6675a
refactor: make portal tree-shakeable
2020-02-15 17:44:37 -05:00
dependabot-preview[bot]
0fc720c34a
build(deps): bump csstype from 2.6.8 to 2.6.9 ( #722 )
...
Bumps [csstype](https://github.com/frenic/csstype ) from 2.6.8 to 2.6.9.
- [Release notes](https://github.com/frenic/csstype/releases )
- [Commits](https://github.com/frenic/csstype/compare/v2.6.8...v2.6.9 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-15 17:42:46 -05:00
Dmitry Sharshakov
e495fa4a18
feat(ssr): render portals ( #714 )
2020-02-15 17:41:20 -05:00
Evan You
aa09f01a1e
chore: mark main package side-effects free
2020-02-15 12:02:00 -05:00
hareku
66e7d7f28e
test(server-renderer): implement ssrRenderList tests ( #726 )
2020-02-15 11:42:38 -05:00
夜宴
8a4412077c
chore: remove redundant Non-Null Assertion ( #728 )
2020-02-15 11:33:22 -05:00
Dmitry Sharshakov
4669215ca2
fix(ssr): render components returning render function from setup ( #720 )
2020-02-15 11:11:55 -05:00
Evan You
a0163f1aa8
chore: fix snapshots
2020-02-15 11:10:52 -05:00
Evan You
70dc3e3ae7
feat(ssr): support portal hydration
2020-02-14 21:04:08 -05:00
Evan You
688ad92391
fix(ssr): fix class/style rendering + ssrRenderComponent export name
2020-02-14 20:48:06 -05:00
Evan You
66b5f0b480
chore: fix hoistStatic exhaustive check
2020-02-14 16:41:55 -05:00
Evan You
96605b79a3
types: avoid duplicate type declarations for renderer closure functions
2020-02-14 16:25:41 -05:00
Evan You
e0f3c6b352
fix(compiler-core): should apply text transform to if branches
...
fix #725
2020-02-14 15:57:14 -05:00
Evan You
80904e92b8
types: cleanup renderer & hydration typing
2020-02-14 12:33:32 -05:00
Evan You
629ee75588
perf: prevent renderer hot functions being inlined by minifiers
...
Terser will aggressively inline hot functions in renderer.ts in order
to reduce "function" declarations, but the inlining leads to performance
overhead (small, but noticeable in benchmarks).
Since we cannot control user's minifier options, we have to avoid the
deopt in the source code by using arrow functions in hot paths.
2020-02-14 03:27:27 -05:00
dependabot-preview[bot]
f71a50ae96
build(deps-dev): bump rollup from 1.31.0 to 1.31.1
...
Bumps [rollup](https://github.com/rollup/rollup ) from 1.31.0 to 1.31.1.
- [Release notes](https://github.com/rollup/rollup/releases )
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rollup/rollup/compare/v1.31.0...v1.31.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-14 07:54:22 +00:00
Evan You
6df2aca070
refactor(types): move shapeFlags to shared
2020-02-14 01:36:42 -05:00
Evan You
167f8241bd
refactor(ssr): make hydration logic tree-shakeable
2020-02-14 01:30:08 -05:00
Evan You
112d8f7d86
refactor: use explicit exports for runtime-core
2020-02-14 00:13:54 -05:00
Evan You
42d80b5888
wip(ssr): component hydration
2020-02-13 23:31:03 -05:00
Evan You
32d6a46474
build: avoid runtime wildcard import in global build
2020-02-13 18:50:36 -05:00
Evan You
5455e8e69a
fix(compiler-core): should not hoist element with cached + merged event handlers
2020-02-13 18:34:08 -05:00
Evan You
9aaef60ad2
wip(ssr): adjust event hydration flag
2020-02-13 18:28:40 -05:00
Evan You
6b505dcd23
wip(ssr): basic element hydration
2020-02-13 17:47:00 -05:00
Evan You
35d91f4e18
fix(runtime-core): handle component updates with only class/style bindings
2020-02-13 17:27:52 -05:00
Evan You
c6a9787941
fix(types): ensure correct oldValue typing based on lazy option
...
close #719
2020-02-13 12:09:13 -05:00
Evan You
8e19424c04
refactor(security): mark potential unsafe code paths
2020-02-12 15:00:32 -05:00
Evan You
8b7c162125
feat(compiler-dom): handle constant expressions when stringifying static content
2020-02-12 15:00:00 -05:00
Evan You
1389d7b88c
refactor(compiler-core): use more concise marker for compiled slots
2020-02-12 13:45:35 -05:00
Evan You
175f8aae8d
feat(compiler): mark hoisted trees with patchFlag
2020-02-12 13:31:29 -05:00
Evan You
d866d389f3
chore: fix import path + comment
2020-02-12 12:12:53 -05:00
Evan You
27913e661a
feat(compiler-dom/runtime-dom): stringify eligible static trees
2020-02-12 11:56:42 -05:00
Evan You
e861c6da90
test: test updates for d40c642
2020-02-11 18:40:42 -05:00
Evan You
e3988b40d8
refactor(compiler-core): use dedicated node type for element codegen
...
Previously codegen node for elements and components used raw expressions,
which leads to multiple permutations of AST shapes based on whether the
node is a block or has directives. The complexity is spread across the
entire compiler and occurs whenever a transform needs to deal with
element codegen nodes.
This refactor centralizes the handling of all possible permutations
into the codegen phase, so that all elements/components will have a
consistent node type throughout the transform phase.
The refactor is split into two commits (with test updates in a separate
one) so changes can be easier to inspect.
2020-02-11 18:40:42 -05:00
Yang Mingshan
fe9da2d0e4
fix(runtime-core/scheduler): invalidate job ( #717 )
2020-02-11 07:30:25 -05:00
Evan You
f4c54a888b
refactor(compiler-core): hoist static text calls between elements
2020-02-10 18:32:11 -05:00
Evan You
12fcf9ab95
fix(compiler): fix v-for fragment openBlock argument
2020-02-10 18:19:49 -05:00
Evan You
47e984d31f
refactor(compiler): provide _ctx and _cache via arguments
2020-02-10 17:29:12 -05:00
Evan You
ade07c64a1
fix(compiler-core): fix keep-alive when used in templates
...
fix #715
2020-02-10 16:49:37 -05:00
Dmitry Sharshakov
6d10a6c772
feat(server-renderer): support on-the-fly template compilation ( #707 )
2020-02-10 14:37:35 -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
8a87074df0
fix(runtime-core/scheduler): avoid duplicate updates of child component
2020-02-10 13:09:15 -05:00
Evan You
778f3a5e88
fix(runtime-core): should not return early on text patchFlag
...
fix vnode updated hook on elements with dynamic text children
2020-02-10 12:06:36 -05:00