Commit Graph

2380 Commits

Author SHA1 Message Date
Evan You
8383e5450e fix(runtime-core): ensure renderCache always exists 2020-02-18 14:43:12 -05:00
Evan You
028f748c32 fix(v-on): transform click.right and click.middle modifiers
fix #735
2020-02-18 14:32:06 -05:00
Evan You
583f9468fa refactor: extract remove util 2020-02-18 13:52:59 -05:00
Evan You
fd031490fb feat(ssr): useSSRContext 2020-02-18 13:26:15 -05:00
Evan You
86464e8c04 refactor: only run useCssModule code in non-global builds 2020-02-18 13:23:30 -05:00
Evan You
e8e67729cb fix(reactivity): effect should handle self dependency mutations 2020-02-18 13:22:09 -05:00
Evan You
e1c9153b9e fix(reactivity): trigger iteration effect on Map.set
fix #709
2020-02-18 00:09:24 -05:00
Evan You
cb03362b08 chore: fix dts tests 2020-02-17 23:26:25 -05:00
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