Evan You
b8d58ec4f4
fix(compiler-sfc): respect sfc parse options in cache key
2023-12-30 20:38:58 +08:00
Evan You
6fab8551e4
feat(compiler-sfc): support passing template parsing options when parsing sfc
...
- This is released in a patch because it is an relatively internal API
but required to properly fix https://github.com/vitejs/vite-plugin-vue/issues/322
- `parseExpressions` is now deprecated because it can be passed using
original template parsing options (`prefixIdentifiers`)
2023-12-30 08:44:39 +08:00
三咲智子 Kevin Deng
bfe6b459d3
style: update format & lint config ( #9162 )
...
Co-authored-by: 丶远方 <yangpanteng@gmail.com>
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
Co-authored-by: Guo Xingjun <99574369+Plumbiu@users.noreply.github.com>
2023-12-26 19:39:47 +08:00
Evan You
e12b10ac3e
chore: Merge branch 'main' into minor
2023-12-04 23:17:41 +08:00
Evan You
f12db7fb56
fix(compiler-sfc): avoid passing forEach index to genMap
2023-12-04 15:43:29 +08:00
Evan You
634519720a
fix(compiler-sfc): deindent pug/jade templates
...
close #3231
close #3842
close #7723
2023-12-01 16:45:53 +08:00
Evan You
e8bbc946cb
feat(compiler-sfc): analyze import usage in template via AST ( #9729 )
...
close #8897
close nuxt/nuxt#22416
2023-12-01 11:14:48 +08:00
Evan You
50cde7cfbc
perf(compiler-sfc): use faster source map addMapping
2023-11-27 14:42:12 +08:00
Evan You
f15d2f6cf6
perf: avoid sfc source map unnecessary serialization and parsing
2023-11-27 12:26:51 +08:00
Evan You
08f0baa2ad
refactor: preserve source location convention in sfc mode for base parser
...
For compatibility w/ usage like https://github.com/vue-macros/vue-macros/blob/main/packages/setup-block/src/core/index.ts
2023-11-25 18:07:29 +08:00
Evan You
79d3cc6cec
wip: should not reuse AST when using custom compiler
2023-11-25 16:18:29 +08:00
Evan You
37f9d3da8f
wip: compiler-sfc should not attach ast on template with src import
2023-11-25 16:18:29 +08:00
Evan You
e5afca6c1e
wip: treat template with preprocessor as plain text
2023-11-25 16:18:29 +08:00
Evan You
5fc695be26
wip: support reusing template ast from sfc descriptor
2023-11-25 16:18:29 +08:00
Evan You
059caafc13
wip: pass all compiler-sfc tests
2023-11-25 16:18:29 +08:00
Evan You
a60ad9180d
refactor: swap to new template parser
...
- get rid of SourceLocation.source for memory efficiency
- move source location generation logic transform phase into the parser
itself so that SourceLocation.source is no longer needed
- move v-for expression parsing into the parser itself
- added nameLoc on AttributeNode for use in transformElement
Tests are not passing yet.
2023-11-25 16:18:29 +08:00
Evan You
45765488d4
feat(compiler-sfc): expose parseCache
...
So that users can adjust cache's max size.
close #8202
2023-05-01 11:33:07 +08:00
Evan You
075498c959
refactor: avoid hard error when inferring runtime type
2023-04-15 22:08:39 +08:00
Evan You
c52157c87d
refactor(compiler-sfc): split more logic
2023-04-11 16:05:00 +08:00
Evan You
19e17a951c
perf(compiler): use source-map-js
2023-04-09 16:50:20 +08:00
Evan You
b2c874e3b9
refactor(compiler-sfc): move related files into separate directories
2023-04-05 16:35:10 +08:00
Evan You
71635be68d
feat(compiler-sfc): support generating variable instead of default export in compileScript
2023-03-30 16:58:41 +08:00
三咲智子 Kevin Deng
701b95ff3d
fix(compiler-sfc): rewrite default export with AST analysis instead of regex ( #7068 )
...
closes #7038
closes #7041
closes #7078
2023-03-28 11:54:22 +08:00
花果山大圣
a0c7f271a2
fix(compiler-sfc): require <template> or <script> in SFC ( #6781 )
...
fix #6676
2022-11-07 22:34:39 -05:00
三咲智子 Kevin Deng
97aadd8290
types: use actual type for script block ASTs ( #6457 )
2022-11-07 21:14:10 -05:00
ygj6
16939241b0
fix(compiler-sfc): automatically infer component name from filename when using script setup ( #4997 )
...
close #4993
2022-05-09 21:16:28 -04:00
Evan You
68c45e73da
feat(compiler-sfc): expose properties for more accurate HMR
...
ref #4358
reverts #4908
2021-11-26 14:22:26 +08:00
btea
fd7c3407c7
refactor(compiler-sfc): replace filter method with for loop ( #4905 )
2021-11-14 21:31:44 -05:00
Evan You
a42a14d3bc
types(compiler-sfc): type annotation tweaks + move @babel/types to devDeps
2021-09-20 22:06:12 -04:00
Evan You
0c2ea1c134
refactor(compiler-sfc): remove parseOnly mode
2021-08-22 22:28:47 -04:00
Evan You
3b38c9ae9b
feat(sfc): remove experimental status for sfc style v-bind
2021-07-28 18:31:48 -04:00
Evan You
f0ca233d8b
refactor(compiler-sfc): improve script setup import expose heuristics
2021-07-22 12:53:08 -04:00
Evan You
8dbecfcbb3
feat(compiler-sfc): add ignoreEmpty option for sfc parse method
2021-07-19 19:02:46 -04:00
Cédric Exbrayat
b771fdbef9
perf(compiler-sfc): ignore empty blocks ( #3520 )
2021-07-19 17:24:40 -04:00
Evan You
b274b08f5f
fix(compiler-sfc): expose correct range for empty blocks
2021-07-19 17:05:37 -04:00
Evan You
601a290caa
feat(compiler-sfc): compileScript parseOnly mode
...
This is an internal feature meant for IDE support
2021-06-29 17:56:49 -04:00
Evan You
467076361a
wip: warn against `<template functional>`
2021-04-17 23:51:40 -04:00
Evan You
540e26f49c
chore: only set slotted flag on sfc descriptor if style is scoped
2021-03-05 18:28:12 -05: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
HcySunYang
6d5b623512
fix(compiler-sfc): the empty lang attribute should be treated as no lang specified ( #3051 )
2021-02-03 19:11:45 +01:00
meteorlxy
5b9b37fc9b
fix(compiler-sfc): should keep template nodes with no content ( #2468 )
...
close #2463
2020-12-04 18:23:01 -05:00
edison
5f2a8533ac
fix(compiler-sfc): fix parsing error when `lang=""` is used on plain element ( #2569 )
...
fix #2566
2020-11-30 14:45:26 -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
9cb74960ac
chore: move style vars deprecation warning to a parse error
2020-11-21 23:53:32 -05:00
Evan You
62830f8fa4
wip: better experimental feature warnings
2020-11-19 20:36:15 -05:00
Evan You
9db42889e6
Revert "wip: allow scriptCompiled to be cached on sfc descriptor"
...
This reverts commit 737ef424a0
.
2020-11-19 20:02:27 -05:00
Evan You
737ef424a0
wip: allow scriptCompiled to be cached on sfc descriptor
2020-11-19 13:08:27 -05:00
Evan You
bb343383f2
refactor(compiler-sfc): parse css vars directly as part of sfc descriptor
2020-11-18 19:38:38 -05:00
Evan You
41bb7fa330
feat(compiler-sfc): new SFC css varaible injection implementation
...
ref: https://github.com/vuejs/rfcs/pull/231
2020-11-16 18:27:25 -05:00
Stanislav Lashmanov
4421c00903
feat(compiler-sfc): analyze script bindings ( #1962 )
...
Also expose `scriptAst` and `scriptSetupAst` on returned script block
2020-08-28 16:21:03 -04:00