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
47e984d31f
refactor(compiler): provide _ctx and _cache via arguments
2020-02-10 17:29:12 -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
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
3c27bf6133
wip(compiler-ssr): built-in component fallthrough
2020-02-06 17:45:46 -05:00
Evan You
ee5ed73361
wip(ssr): basic components
2020-02-05 23:07:23 -05:00
Evan You
201f18b58b
wip(ssr): v-model w/ dynamic type & props
2020-02-05 17:01:00 -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
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
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
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
04da2a82e8
feat(compiler-core): support mode: cjs in codegen
2020-01-31 10:01:33 -05:00
Evan You
066ba82c7f
wip(ssr): escape helpers
2020-01-27 16:00:18 -05:00
Evan You
59c595c1e8
refactor: use named export for compiled render function
2019-12-24 11:04:44 -05:00
Evan You
51980afca2
feat(sfc): wip scopeId compiler support
2019-12-17 12:31:38 -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
Evan You
5cd1495767
refactor(compiler-core): centralize compiler options
2019-12-10 12:53:26 -05:00
likui
810b3a3e2a
feat(compiler-sfc): transform asset url ( #500 )
2019-12-01 12:02:53 -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
51d57b4566
perf(compiler): minor perf tweaks
2019-11-15 16:47:55 -05:00
Evan You
1c0a2c6d41
refactor(compiler): use shorter helpers for text and comment nodes
2019-10-24 17:55:00 -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
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
869ae19c41
fix(compiler): cache handlers should be per-instance, fix hoist w/ cached handlers
2019-10-20 17:00:11 -04:00
Evan You
58593c4714
feat(v-on): cache handlers
2019-10-18 21:51:34 -04:00
HcySunYang
4587f4f7c9
chore: consistent call to the newline function ( #222 )
2019-10-12 10:30:39 -04:00
Illya Klymov
584ac88b54
fix(compiler): update v-if directive to use Comment instead of Empty ( #208 )
2019-10-11 11:04:55 -04:00
Evan You
d376439167
wip(compiler-dom): v-model runtime
2019-10-10 18:02:51 -04:00
Evan You
bfecf2cdce
refactor(compiler): use symbols for runtime helpers
2019-10-05 22:48:13 -04:00
Andrey Sukhonosov
de9507b6ff
fix(compiler/codegen): add simple expression node opening bracket for ConditionalExpression ( #110 )
2019-10-05 15:42:49 -04:00
Carlos Rodrigues
23ff681418
chore: fix comment typos ( #94 )
2019-10-05 10:35:19 -04:00
zrh122
12abcba2c5
chore: fix typo in codegen ( #92 )
2019-10-05 10:29:50 -04:00
Evan You
0873254c6c
workflow: improve template explorer
2019-10-04 17:43:20 -04:00
Evan You
277651ce89
fix(compiler): avoid hoisting components and directive calls
2019-10-04 14:34:26 -04:00
Evan You
095f5edf8d
feat(compiler): hoist static trees
2019-10-03 23:30:25 -04:00
Evan You
fc47029ed3
feat(compiler): support v-for on named slots
2019-10-02 23:10:41 -04:00
Evan You
24bd6c27e0
feat(compiler): block optimization codegen for RootNode
2019-10-02 13:11:07 -04:00
Evan You
3a95a2f148
fix(compiler): generate correct fragment children when it contains single text node or slot outlet
2019-10-01 23:53:52 -04:00
Evan You
a477594d65
feat(compiler): v-for codegen w/ correct blocks optimization + key flags
2019-10-01 23:19:48 -04:00