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
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
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
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
Evan You
571ed4226b
feat(compiler-core/v-on): support @vnode-xxx usage for vnode hooks
2020-02-10 11:00:37 -05:00
djy0
782db6d7f5
chore(compiler-core/codegen): avoid generate indent spaces of empty lines. ( #701 )
2020-02-10 09:33:04 -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
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
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
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
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
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
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
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
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
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
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
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
8fd9e9ba97
test(compiler-core): test TempalteLiteral and IfStatement codegen
2020-02-02 21:35:44 -05:00
Evan You
efbbd19b3d
wip(ssr): initial scaffold for compiler-ssr
2020-02-02 00:05:27 -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
Evan You
f503167fb7
test: fix snapshots
2020-01-31 11:06:37 -05:00
Evan You
04da2a82e8
feat(compiler-core): support mode: cjs in codegen
2020-01-31 10:01:33 -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
730d329f79
fix(compiler-core): relax error on unknown entities
...
close #663
2020-01-29 12:16:58 -05:00
Evan You
d293876c34
release: v3.0.0-alpha.4
2020-01-27 16:20:00 -05:00
Evan You
cc47ae0118
test: update snapshots for toDisplayString
2020-01-27 16:00:18 -05:00
Evan You
066ba82c7f
wip(ssr): escape helpers
2020-01-27 16:00:18 -05:00
Evan You
b41677bf42
release: v3.0.0-alpha.3
2020-01-22 11:10:30 -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
Ruijia Tang
aca2c2a81e
fix(compiler-core): avoid override user keys when injecting branch key ( #630 )
2020-01-20 10:15:53 -05:00
Evan You
9f65d811af
release: v3.0.0-alpha.2
2020-01-13 17:44:30 -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
1bb1271b5e
release: v3.0.0-alpha.1
2020-01-02 18:25:17 -05:00
susiwen8
dee5480317
chore: use Boolean to filter TemplateChildNode ( #569 )
2019-12-30 11:26:45 -05:00
djy0
ad2a0bde98
perf(compiler-core): simplify advancePositionWithMutation
( #564 )
2019-12-30 11:25:06 -05:00
Evan You
59c595c1e8
refactor: use named export for compiled render function
2019-12-24 11:04:44 -05:00
Evan You
d6275a3c31
fix(sfc): treat custom block content as raw text
2019-12-22 21:09:39 -05:00
Evan You
90ddb7c260
refactor: expose parse in compiler-dom, improve sfc parse error handling
2019-12-22 19:44:21 -05:00
Evan You
94d692b0cf
test: fix tests after missing end tag error location fix
2019-12-20 10:10:08 -05:00
Evan You
3a3a24d621
feat(sfc): accept inMap in compileTemplate()
2019-12-19 16:25:05 -05:00
Evan You
02c6d5c4e3
fix: codeframe marker should have min width of 1
2019-12-19 15:42:53 -05:00
Evan You
bdbfead1e0
chore: adjust package.json
2019-12-19 14:19:58 -05:00
Evan You
9550302df4
build: esm-bunlder builds should be considered browser builds
2019-12-17 17:34:10 -05:00
Evan You
b689ca6e85
test: test scopeId support
2019-12-17 12:31:38 -05:00
Evan You
51980afca2
feat(sfc): wip scopeId compiler support
2019-12-17 12:31:38 -05:00
Evan You
35858cec8c
build: adjust global names + allow inline overrides of build flags
2019-12-15 15:37:43 -05:00
Evan You
75113c8d3e
test: fix tests
2019-12-14 22:28:54 -05:00
Evan You
49a50d3c9c
feat(compiler): accept line offset in codeframe
2019-12-13 18:01:04 -05:00
Evan You
b15951e190
chore: remove line numbers from default errors
2019-12-13 17:28:12 -05:00
Evan You
9e757b5cc5
refactor(compiler-core): move compile into separate file
2019-12-13 13:22:15 -05:00
Evan You
8277d131c4
refactor(compiler): downgrade to source-map v6 for sync API
2019-12-13 12:56:31 -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
5658f8b678
feat(compiler): expose generateCodeFrame
2019-12-12 21:09:47 -05:00
Evan You
136ab753b3
build: adjust esm formats
2019-12-10 22:14:02 -05:00
Evan You
8ed04ed503
build: release script
2019-12-10 21:29:52 -05:00
Evan You
95b2cb6fd2
fix(compiler-core): should only parse interpolations in DATA text mode
2019-12-10 15:30:17 -05:00
Evan You
5cd1495767
refactor(compiler-core): centralize compiler options
2019-12-10 12:53:26 -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
likui
810b3a3e2a
feat(compiler-sfc): transform asset url ( #500 )
2019-12-01 12:02:53 -05:00
Evan You
0e3e07079a
feat(transition): properly handle transition & transition-group in compiler
2019-11-29 12:42:04 -05:00
Evan You
4e8d57bdfb
feat(compiler-core): options.isBuiltInComponent
2019-11-29 12:13:49 -05:00
Evan You
52134a88d0
fix(compiler-core): handle base-transition
2019-11-29 12:02:31 -05:00
Gabriel Loiácono
812a0626ce
style(compiler): changed object-assign to spread ( #507 )
2019-11-28 10:49:39 -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
9e16ea3d30
test: update snapshots
2019-11-17 21:29:12 -05:00
Evan You
e89d009937
fix(compiler): include createTextVNode helper for hoisted static content ( fix #465 )
2019-11-17 21:26:25 -05:00
Evan You
1de072567d
perf(compiler): pre-compute maxCRNameLength for perf
2019-11-16 16:19:47 -05:00
Gabriel Loiácono
2780e0df4c
perf(compiler-core): add perf optimization to parseText ( #458 )
2019-11-15 17:48:01 -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
51d57b4566
perf(compiler): minor perf tweaks
2019-11-15 16:47:55 -05:00
Evan You
4fef8f342a
perf(compiler): improve perf of parseTextData
2019-11-15 16:17:52 -05:00
QuincyChen
d7d87622ce
refactor: use isArray function from shared ( #441 )
2019-11-08 09:52:24 -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
4b739e3bc0
fix(compiler-core): should not condense whitespace in RAWTEXT mode
2019-11-06 20:52:19 -05:00
Evan You
acbbe3298c
refactor: move codeframe to @vue/shared
2019-11-06 15:13:15 -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
likui
ea2e2ce5bd
chore: fix typo ( #409 )
2019-10-29 13:51:48 -04:00
Cédric Exbrayat
36b7e4e52e
chore: fix comments referencing renamed file [ci skip] ( #404 )
2019-10-28 12:04:04 -04:00
Evan You
34989ef7fe
chore: license
2019-10-28 11:15:17 -04:00
Evan You
ed29af7bea
fix: generate v-if fallback comment as block
2019-10-24 21:19:02 -04:00
Evan You
1c0a2c6d41
refactor(compiler): use shorter helpers for text and comment nodes
2019-10-24 17:55:00 -04:00
Evan You
eb20730a67
feat(compiler): preserve whitespace in pre tag, add tests
2019-10-24 16:42:09 -04:00
Evan You
9298f46f92
feat(compiler-core): whitespace handling
2019-10-24 16:22:48 -04:00
Evan You
516501e20e
chore: remove unused util function
2019-10-24 15:39:31 -04:00
Evan You
f7a7e8d71d
refactor(parser): remove ignoreSpaces option
2019-10-24 12:47:29 -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
113339c7b6
fix(compiler-dom): style transform of static styles should not add STYLE patchFlag
2019-10-23 10:49:16 -04:00
Evan You
052febc127
feat(compiler): convert text mixed with elements into createVNode calls
...
This ensures they are tracked as dynamic children when inside blocks.
Also guaruntees compiled vnodes always have vnode children in arrays
so that they can skip normalizeVNode safely in optimized mode.
2019-10-21 15:52:29 -04:00
Evan You
a0d570b16d
Revert "feat(compiler-core): hoist element with static ref ( #344 )"
...
Static refs still need to be tracked in dynamicChildren because unmount
also takes the fast path when dynamicChildren is present, and all refs
need to be properly unmounted.
This reverts commit 920773fc6b
.
2019-10-21 15:17:29 -04:00
Evan You
4abd8d29ef
chore: fix merge conflict
2019-10-21 10:33:10 -04:00
HcySunYang
920773fc6b
feat(compiler-core): hoist element with static ref ( #344 )
2019-10-21 10:29:17 -04:00
Evan You
1b9bd6912e
perf: v-for fragments do not need to track dynamicChildren
2019-10-21 10:00:45 -04:00
HcySunYang
71f3826f99
chore: rename & property missing ( #335 )
2019-10-21 10:00:23 -04:00
Evan You
6f9692dcdd
chore: cache isStaticNode result for missing branch
2019-10-20 17:01:01 -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
39157f7671
chore: fix ci ( #338 )
2019-10-19 20:03:15 -04:00
Evan You
58593c4714
feat(v-on): cache handlers
2019-10-18 21:51:34 -04:00
Evan You
e98a85f3cb
refactor: applyDirectives -> withDirectives
2019-10-18 16:35:01 -04:00
Evan You
cba34453db
refactor(v-on): avoid empty modifier guard with only key modifier
2019-10-18 16:20:45 -04:00
宋铄运
7f23eaf661
feat(core): support dynamic component via <component :is> ( #320 )
2019-10-18 12:09:04 -04:00
大江东去
bb9dca2047
test(compiler-core): add test for custom delimiter ( #315 )
2019-10-17 15:04:52 -04:00
Carlos Rodrigues
6c80e13986
chore: typos [ci-skip] ( #323 )
2019-10-17 15:01:51 -04:00
Evan You
4b2b29efa1
feat(compiler-core): support Suspense in templates
2019-10-16 17:43:41 -04:00
Evan You
e97951dd2e
feat: emit compiler error for invalid JavaScript expressions
2019-10-16 17:43:41 -04:00
Evan You
b980ddb607
perf: skip hasScopeRef check if there are no scope vars
2019-10-16 15:35:04 -04:00
Evan You
d69db0b2fd
feat(compiler-core/v-slot): only force dynamic slots when referencing scope vars
...
This feature is only applied with prefixIdentifiers: true.
2019-10-16 15:35:04 -04:00
Evan You
5e97643c85
feat(compiler-core/v-model): generate modelModifiers for component v-model
2019-10-16 15:35:04 -04:00
Evan You
25dd507f71
feat(compiler-core/v-model): error when v-model is used on scope variable
2019-10-16 15:35:04 -04:00
Evan You
5481f76ce8
feat(compiler-core/v-model): avoid patching v-model handler when possible
2019-10-16 15:35:04 -04:00
Evan You
6a75c3463b
feat(compiler-core): do not generate TEXT flag if child is constant
2019-10-16 12:00:55 -04:00