178 Commits

Author SHA1 Message Date
Evan You
6b505dcd23 wip(ssr): basic element hydration 2020-02-13 17:47:00 -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
27913e661a feat(compiler-dom/runtime-dom): stringify eligible static trees 2020-02-12 11:56: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
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
ade07c64a1 fix(compiler-core): fix keep-alive when used in templates
fix #715
2020-02-10 16:49:37 -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
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
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
bc8f91d181 refactor(ssr): prefix ssr helpers 2020-02-06 12:07:25 -05:00
Evan You
ee5ed73361 wip(ssr): basic components 2020-02-05 23:07:23 -05:00
Evan You
9b3b6962df wip(srr): slot outlet 2020-02-05 21:04:40 -05:00
Evan You
c952321fcf wip(compiler-ssr): v-model static types + textarea 2020-02-05 14:23:03 -05:00
Evan You
ebf920e6af wip(compiler-ssr): dynamic v-bind + class/style merging 2020-02-04 18:37:32 -05:00
Evan You
6a5ed49ea9 wip(ssr): v-bind basic usage 2020-02-04 12:21:04 -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
b685805a26 wip(ssr): ssr helper codegen 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
63e4486645 wip(compiler-ssr): text and interpolation 2020-02-02 22:28:54 -05:00
Evan You
34e61197c7 refactor(compiler-core): improve template type handling 2020-01-31 17:20:52 -05:00
Evan You
78c4f321cd fix(compiler-core): only check is prop on <component> 2020-01-31 16:15:05 -05:00
Gabriel Loiácono
c088169170
style(compiler-core): while/expression instead of while/true (#680) 2020-01-31 09:43:34 -05:00
Evan You
4f06eebc1c fix(dom): fix <svg> and <foreignObject> mount and updates 2020-01-21 11:32:33 -05:00
Evan You
f2ac28b31e fix(compiler-core): force <svg> into blocks for correct runtime isSVG
state during patch
2020-01-20 14:48:26 -05:00
Evan You
2ac4b723e0 fix(compiler/v-slot): handle implicit default slot mixed with named slots 2020-01-06 15:31:21 -05:00
Evan You
137893a4fd fix(compiler/v-on): handle multiple statements in v-on handler (close #572) 2020-01-06 11:45:48 -05:00
Evan You
51980afca2 feat(sfc): wip scopeId compiler support 2019-12-17 12:31:38 -05:00
Cr
6797e35703 chore: fix typos (#541) 2019-12-13 11:49:01 +01:00
Evan You
c36941c498 fix(compiler-core): should apply text transform to <template v-for> children 2019-12-12 21:09:47 -05:00
Evan You
8ffd79c754 fix(compiler-core): handle template root and template v-if as stable fragments 2019-12-12 21:09:47 -05:00
Evan You
ef50c333ce fix(core): generate fragment root with patchFlag + optimize fragment w/ patchFlag 2019-12-12 21:09:47 -05:00
Evan You
a984d3a531 test: skip optimizing single text root 2019-12-02 15:49:59 -05:00
Evan You
42f3f9e832 fix(compiler-core): should pre-convert text nodes in all non-element cases 2019-12-02 15:17:00 -05:00
Evan You
0e3e07079a feat(transition): properly handle transition & transition-group in compiler 2019-11-29 12:42:04 -05:00
Evan You
52134a88d0 fix(compiler-core): handle base-transition 2019-11-29 12:02:31 -05:00
Gabriel Loiácono
009dc80674 perf(compiler-core): set simple expression outside map (#485) 2019-11-26 09:02:22 -05:00
Evan You
c6fb506fc0 feat(transition): compat with keep-alive 2019-11-25 17:35:15 -05:00
Evan You
08a3d95e52 fix: resolveDynamicComponent should use context instance 2019-11-25 11:41:28 -05:00
Evan You
1765985ec2 feat(transition): support in templates 2019-11-24 18:37:59 -05:00
Evan You
353b06df77 perf(compiler): should only perform assertions during tests
Compiler assertions are made to ensure implementation correctness,
but they have performance costs that should not affect users
during development.
2019-11-15 17:29:08 -05:00
Evan You
f178874ace fix(v-model): generate separate modifiers for v-model with args 2019-11-07 09:40:34 -05:00
Evan You
98e9b769e6 feat(compiler): support keep-alive in templates 2019-11-05 10:26:56 -05:00
Dmitry Sharshakov
4b9483fd5e feat(compiler): compile suspense children as slots (#419) 2019-11-04 14:35:00 -05:00
Evan You
5eee1152ca types: (wip) improve dts output 2019-11-01 11:32:53 -04:00