Commit Graph

103 Commits

Author SHA1 Message Date
Evan You
c5e7d8b532 fix(compiler-core): hoist pure annotations should apply to all nested calls 2020-05-01 18:36:34 -04:00
Evan You
cad25d95a3 fix(compiler-core): hoisted vnode calls and scoped id calls should be marked pure
Otherwise they cannot be tree-shaken
2020-05-01 17:34:11 -04:00
Evan You
bd0f7da2c6 build: add browser builds for @vue/compiler-sfc 2020-04-26 01:24:25 -04:00
Evan You
3b40fc56db fix(compiler-ssr): fix input w/ v-bind="obj" codegen 2020-03-16 18:14:49 -04:00
Evan You
4dc8ffc378 fix: simplify and use correct ctx in withCtx 2020-03-16 13:06:46 -04:00
Evan You
ecd7ce60d5 feat(compiler-core): wrap slot functions with render context 2020-03-16 13:06:46 -04:00
Evan You
66b5f0b480 chore: fix hoistStatic exhaustive check 2020-02-14 16:41:55 -05:00
Evan You
9aaef60ad2 wip(ssr): adjust event hydration flag 2020-02-13 18:28:40 -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
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