Commit Graph

1327 Commits

Author SHA1 Message Date
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
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
Evan You
571ed4226b feat(compiler-core/v-on): support @vnode-xxx usage for vnode hooks 2020-02-10 11:00:37 -05:00
Jonas
5495c70c4a
fix(transition-group): handle multiple move-classes (#679)
fix #678
2020-02-10 09:36:19 -05:00
Dmitry Sharshakov
430d4e10bb
test(compiler-sfc): add real tests for source maps (#704) 2020-02-10 09:34:13 -05:00
djy0
782db6d7f5
chore(compiler-core/codegen): avoid generate indent spaces of empty lines. (#701) 2020-02-10 09:33:04 -05:00
djy0
42db2fef9d
test(compiler-ssr): fix typo (#713) 2020-02-10 09:20:07 -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
4bc4cb970f fix: remove effect from public API
close #712
2020-02-09 21:43:54 -05:00
jods
21944c4a42
feat(runtime-core/reactivity): expose shallowReactive (#711) 2020-02-09 21:42:34 -05:00
Evan You
03680399f2 wip(ssr): use consistent attr key behavior in compiler 2020-02-09 15:32:33 -05:00
jods
8874b21a7e perf(reactivity): better computed tracking (#710) 2020-02-09 15:25:17 -05:00
hareku
fc7bcca1b3
chore(shared): fix comment (#705) [ci skip] 2020-02-09 13:12:16 -05:00
Evan You
8b2d6a35d0 test: update tests and snapshots for helper prefixing 2020-02-07 19:04:55 -05:00
Evan You
51317af6e8 refactor(compiler): prefix all imported helpers to avoid scope collision 2020-02-07 18:53:39 -05:00
Evan You
c44d9fbe3d build: drop unnecessary codegen branch for global build 2020-02-07 18:00:30 -05:00
Evan You
0f67aa7da5 fix(runtime-core): fix ShapeFlags tree shaking 2020-02-07 17:18:12 -05:00
Evan You
5b43764eac fix(runtime-core): fix keep-alive tree-shaking 2020-02-07 17:00:39 -05:00
Evan You
9e51297702 fix(compiler-dom): fix duplicated transforms 2020-02-07 14:24:56 -05:00
Evan You
a51e710396 wip(ssr): proper scope analysis for ssr vnode slot fallback 2020-02-07 13:56:18 -05:00
Evan You
b7a74d0439 wip(ssr): ssr slot vnode fallback 2020-02-07 01:06:51 -05:00
Evan You
31f3383a02 workflow: log compile time in template explorer 2020-02-06 21:47:07 -05:00
Evan You
f1d579932e chore: comment typo 2020-02-06 18:31:55 -05:00
Evan You
4659c366e0 wip(ssr): generate correct component code 2020-02-06 18:03:14 -05:00
Evan You
7984a135ca wip(ssr): scopeId in slots 2020-02-06 17:45:46 -05:00
Evan You
797cc18967 wip(ssr): element scopeId 2020-02-06 17:45:46 -05:00
Evan You
4cc39e14a2 feat(compiler): warn invalid children for transition and keep-alive 2020-02-06 17:45:46 -05:00
Evan You
3c27bf6133 wip(compiler-ssr): built-in component fallthrough 2020-02-06 17:45:46 -05:00
Evan You
ae8fc9297d test: update snapshots 2020-02-06 12:09:09 -05:00
Evan You
bc8f91d181 refactor(ssr): prefix ssr helpers 2020-02-06 12:07:25 -05:00
Evan You
f3e70b3733 wip(compiler-ssr): component slots 2020-02-06 12:05:53 -05:00
Evan You
39d1acf417 workflow: improve template-explorer local load speed 2020-02-06 10:22:16 -05:00
Evan You
ee5ed73361 wip(ssr): basic components 2020-02-05 23:07:23 -05:00
Evan You
0b90baec28 test: increase e2e tests timeout 2020-02-05 21:10:43 -05:00
Evan You
9b3b6962df wip(srr): slot outlet 2020-02-05 21:04:40 -05:00
Evan You
7a63103a11 chore: fix snapshot 2020-02-05 17:29:41 -05:00
Evan You
201f18b58b wip(ssr): v-model w/ dynamic type & props 2020-02-05 17:01:00 -05:00
Evan You
1f2de9e232 fix(v-model): should use dynamic directive on input with dynamic v-bind 2020-02-05 15:21:47 -05:00
Evan You
ae92925011 wip(ssr): should only render renderable values 2020-02-05 15:21:20 -05:00
Evan You
8f9e85afb1 test: fix tests w/ nested CompoundExpressions 2020-02-05 14:30:34 -05:00
Evan You
c952321fcf wip(compiler-ssr): v-model static types + textarea 2020-02-05 14:23:03 -05:00
Evan You
8f6b6690a2 fix(compiler-ssr): import helpers from correct packages 2020-02-05 11:20:50 -05:00
Evan You
c441e88469 chore: fix snapshots 2020-02-04 22:56:53 -05:00
Evan You
8da6df7235 wip(ssr): handle <textarea> with dynamic key v-bind 2020-02-04 22:49:47 -05:00
Evan You
1958314976 wip(compiler-ssr): v-show 2020-02-04 21:03:16 -05:00
Evan You
e2c5060fb4 test(ssr): test renderAttr 2020-02-04 18:42:13 -05:00
Evan You
ebf920e6af wip(compiler-ssr): dynamic v-bind + class/style merging 2020-02-04 18:37:32 -05:00
Evan You
c059fc88b9 wip(compiler-ssr): v-bind with static keys 2020-02-04 16:47:12 -05:00
Evan You
e71781dcab workflow: add ssr mode in template explorer 2020-02-04 15:59:41 -05:00
Evan You
98e3e03fd1 wip(ssr): fix index 2020-02-04 15:59:26 -05:00
Evan You
ba263c909c wip(ssr): remove cjs codegen mode 2020-02-04 15:58:54 -05:00
Evan You
6a5ed49ea9 wip(ssr): v-bind basic usage 2020-02-04 12:21:04 -05:00
Dmitry Sharshakov
7f38c1e0ff
feat(reactivity): add shallowReactive function (#689) 2020-02-04 10:15:27 -05:00
Jason
2d56dfdc4f
fix(compiler-sfc): handle empty nodes with src attribute (#695) 2020-02-04 10:03:32 -05:00
Eduardo San Martin Morote
5742a0b826
fix(runtime-core/watch): trigger watcher with undefined as initial value (#687)
Fix #683
2020-02-04 09:59:04 -05:00
likui
3ddb441c56
wip(ssr): fix naming for runtime helpers (#694) 2020-02-04 09:24:49 -05:00
Jacek Karczmarczyk
1b2878d80f
chore: update runtime-dom/README example to latest signature (#693) [ci skip] 2020-02-04 09:24:29 -05:00
Evan You
eb9e089277 chore: fix test types 2020-02-03 22:21:45 -05:00
Evan You
8cf6b5731d test(compiler-ssr): v-for tests 2020-02-03 20:47:41 -05:00
Evan You
93c37b94f2 wip(ssr): v-for 2020-02-03 18:31:11 -05:00
Evan You
2ad0eed5cd refactor(ssr): adjust helper structure + renderList 2020-02-03 18:31:11 -05:00
Evan You
889a0276eb wip(ssr): do not generate commas between statements 2020-02-03 18:31:11 -05:00
Evan You
b685805a26 wip(ssr): ssr helper codegen 2020-02-03 18:31:10 -05:00
Evan You
d1d81cf1f9 chore: remove stale files 2020-02-03 18:31:10 -05:00
Evan You
e8c5de6cfd wip(compiler-ssr): v-if 2020-02-03 18:31:10 -05:00
Evan You
090eb0ce67 wip(compiler-ssr): v-html, v-text & textarea value 2020-02-03 18:31:10 -05:00
Evan You
63e4486645 wip(compiler-ssr): text and interpolation 2020-02-02 22:28:54 -05:00
Evan You
d1eed36452 refactor(ssr): move escapeHtml to shared 2020-02-02 22:08:20 -05:00