Evan You
02339b67d8
perf: hoist dynamic props lists
2021-07-16 14:30:49 -04:00
HcySunYang
ceff89905b
perf: improve VNode creation performance with compiler hints ( #3334 )
2021-07-16 14:30:49 -04:00
Evan You
7dc681c196
wip: filters compat
2021-04-19 12:29:55 -04:00
Evan You
e130c7db23
wip: compiler deprecation config
2021-04-12 19:43:53 -04:00
HcySunYang
7715c49af9
fix(compiler-core): avoid generating useless createVNode helper ( #2938 )
...
close #2739
2021-03-25 17:01:50 -04:00
Evan You
02cbbb718c
perf: support only attaching slot scope ids when necessary
...
This is done by adding the `slotted: false` option to:
- compiler-dom
- compiler-ssr
- compiler-sfc (forwarded to template compiler)
At runtime, only slotted component will render slot fragments with
slot scope Ids. For SSR, only slotted component will add slot scope Ids
to rendered slot content. This should improve both runtime performance
and reduce SSR rendered markup size.
Note: requires SFC tooling (e.g. `vue-loader` and `vite`) to pass on
the `slotted` option from the SFC descriptoer to the `compileTemplate`
call.
2021-03-05 18:28:12 -05:00
Evan You
c69f4ea857
fix(compiler-ssr): avoid duplicated asset imports merged from component slot client branch
...
fix vitejs/vite#2034
2021-02-15 12:12:50 -05:00
Evan You
a8352506f6
refactor: cache constant check result on transform context
...
also fix edge case for missed createVNode import on static svg nodes
2020-12-03 11:10:40 -05:00
Evan You
67d1aac6ae
feat(sfc): allow sfcs to recursively self-reference in template via name inferred from filename
...
e.g. A file named `FooBar.vue` can refer to itself as `<FooBar/>`. This gets rid of the need for the `name` option.
2020-11-30 12:30:51 -05:00
Evan You
3bc2914e32
fix(attr-fallthrough): ensure consistent attr fallthrough for root fragments with comments
...
fix #2549
2020-11-27 18:04:26 -05:00
Evan You
90bdf59f4c
refactor(compiler): better constant hoist/stringify checks
2020-11-20 19:26:07 -05:00
Evan You
c15bd6235e
wip: generate valid v-model and TS code in script setup inline mode
2020-11-17 12:42:58 -05:00
Evan You
2a4fc32d15
wip: remove unnecessary inlinePropsIdentifier option
2020-11-11 10:36:59 -05:00
Evan You
886ed7681d
feat(compiler-sfc): compileScript inline render function mode
2020-11-10 16:28:34 -05:00
Evan You
3f99e239e0
feat(compiler-sfc): support kebab-case components in <script setup>
sfc template
2020-11-09 17:22:58 -05:00
edison
b29bc0d694
chore(compiler-core): define child
if necessary. ( #2033 )
2020-09-14 20:56:53 -04:00
Evan You
52e45a9850
fix(v-once): fix v-once usage with v-if and v-for
...
fix #2035
2020-09-02 12:30:37 -04:00
Evan You
71c3c6e2a0
fix(v-model): allow v-model usage on declared custom elements
...
fix #1699
2020-07-27 17:09:30 -04:00
Evan You
b9595e64cf
feat: ssr support for <style vars>
2020-07-12 18:04:09 -04:00
Evan You
b6cdd5621e
wip: template binding optimization
2020-07-10 22:12:25 -04:00
Evan You
baa6973b13
wip(compiler): tests for new stringification
2020-05-15 15:50:42 -04:00
Evan You
cb9444807e
wip(compiler): improve node stringification to support adjacent nodes
2020-05-15 12:58:44 -04:00
Evan You
8449a9727c
feat(compiler-core): switch to @babel/parser for expression parsing
...
This enables default support for parsing bigInt, optional chaining
and nullish coalescing, and also adds the `expressionPlugins`
compiler option for enabling additional parsing plugins listed at
https://babeljs.io/docs/en/next/babel-parser#plugins .
2020-02-27 16:53:51 -05:00
likui
7b987d9450
fix(compiler-core): should alias name in helperString ( #743 )
...
fix #740
2020-02-19 09:49:46 -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
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
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
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
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
b685805a26
wip(ssr): ssr helper codegen
2020-02-03 18:31:10 -05:00
Evan You
066ba82c7f
wip(ssr): escape helpers
2020-01-27 16:00:18 -05:00
Evan You
51980afca2
feat(sfc): wip scopeId compiler support
2019-12-17 12:31:38 -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
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
0e3e07079a
feat(transition): properly handle transition & transition-group in compiler
2019-11-29 12:42:04 -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
113339c7b6
fix(compiler-dom): style transform of static styles should not add STYLE patchFlag
2019-10-23 10:49:16 -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
Evan You
e98a85f3cb
refactor: applyDirectives -> withDirectives
2019-10-18 16:35:01 -04:00
Evan You
004223ade6
chore: use consistent type signature
2019-10-14 17:12:02 -04:00
Evan You
d376439167
wip(compiler-dom): v-model runtime
2019-10-10 18:02:51 -04:00