Commit Graph

285 Commits

Author SHA1 Message Date
Evan You
aae3725e57 fix(compiler-sfc): bail on import usage check when template has custom lang
fix #4312
2021-08-16 16:08:52 -04:00
Evan You
00b76d3dc1 feat(sfc): support $shallowRef ref sugar 2021-08-11 10:19:58 -04:00
Evan You
e42d7794cb chore(compiler-sfc): emit compiler error against incorrect ref sugar usage 2021-08-10 14:57:47 -04:00
Evan You
1e1682f060 fix(compiler-sfc): fix import usage check for last expression 2021-08-09 16:22:20 -04:00
Evan You
88a4504e82 fix(compiler-sfc): fix import usage detection for names containing $
fix #4274
2021-08-09 12:17:22 -04:00
Evan You
1994f1200d test: improve test case for 865b84bf 2021-08-06 13:01:39 -04:00
Eugene Kopich
fdc9a4d301
chore: update link in comments for new ref sugar (#4265) [ci skip] 2021-08-06 12:58:40 -04:00
Evan You
865b84bfe8 fix(compiler-sfc): fix ref sugar rewrite for identifiers in ts casting expressions
fix #4254
2021-08-06 12:55:48 -04:00
Evan You
9bee5ccea4 chore: update new ref sugar warning link 2021-08-04 17:06:23 -04:00
Evan You
bf2589b1f0 refactor(compiler-sfc): use shallowRef for ref sugar destructure 2021-08-04 15:39:32 -04:00
Evan You
3b38c9ae9b feat(sfc): remove experimental status for sfc style v-bind 2021-07-28 18:31:48 -04:00
edison
771635b72a
fix(sfc/style-vars): improve ignore style variable bindings in comments (#4202) 2021-07-28 10:51:25 -04:00
edison
3a75d5d694
fix(sfc/style-vars): should ignore style variable bindings in comments (#4188)
fix #4185
2021-07-26 11:19:56 -04:00
Evan You
f0ca233d8b refactor(compiler-sfc): improve script setup import expose heuristics 2021-07-22 12:53:08 -04:00
Evan You
5a3ccfd914 feat(compiler-sfc): avoid exposing imports not used in template
close #3183
2021-07-22 12:04:46 -04:00
webfansplz
457c9aed1f
chore(type): remove unnecessary type assertion (#4150) 2021-07-20 09:31:40 -04:00
Evan You
8dbecfcbb3 feat(compiler-sfc): add ignoreEmpty option for sfc parse method 2021-07-19 19:02:46 -04:00
Evan You
47f488350c chore: run updated prettier 2021-07-19 18:24:18 -04:00
Evan You
93a950d60d fix(compiler-sfc): support const enum 2021-07-19 17:31:13 -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
edison
f7607d3a15
fix(compiler-sfc): defineProps infer TSParenthesizedType (#4147) 2021-07-19 11:09:24 -04:00
Evan You
e66a493da1 refactor: remove deprecated defineEmit() support 2021-07-16 14:30:49 -04:00
Evan You
562bddb3ce feat(sfc): (experimental) new ref sugar 2021-07-16 14:30:49 -04:00
Evan You
27104eaaf0 feat: remove experimental status of <script setup> 2021-07-16 14:30:49 -04:00
Evan You
f596e008ef refactor: remove deprecated scopeId codegen
BREAKING CHANGE: Output of SFC using `<style scoped>` generated by 3.2+
will be incompatible w/ runtime <3.2.
2021-07-16 14:30:49 -04:00
patak
29010501cc
fix(compiler-sfc): duplicated injected css var with repeated vars in style (#2802) 2021-07-15 16:45:37 -04:00
Tan Zhen Yong
e508ee08e9
chore: fix typo in inherit-attrs warning (#4094) 2021-07-15 15:45:23 -04:00
Evan You
5df7dfcd71 fix(sfc): only enable jsx parser plugin when explicitly using tsx
fix #4106
2021-07-15 13:12:06 -04:00
Evan You
03e26845e2 fix(sfc): fix <script setup> async context preservation logic
fix #4050
2021-07-06 14:31:53 -04:00
Evan You
6fad2093a4 fix(compiler-sfc): should not rewrite ref sugar identifiers in types
fix #4062
2021-07-05 14:41:53 -04:00
Evan You
253ca2729d fix(compiler-sfc): fix parse-only mode when there is no script setup block 2021-07-02 08:24:24 -04:00
Evan You
1ffd48a2f5 fix(compiler-sfc): support TS runtime enum in <script setup> 2021-06-30 12:03:42 -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
96cc335aa7 feat(sfc): make ref sugar disabled by default 2021-06-29 15:22:26 -04:00
Evan You
0240e82a38 feat(sfc): auto restore current instance after await statements in async setup() 2021-06-29 09:24:12 -04:00
Evan You
211793d376 fix(compiler-sfc): avoid script setup marker showing up in devtools 2021-06-28 18:48:38 -04:00
Evan You
2e10261b38 chore: warn script setup compiler macro imports 2021-06-28 17:57:58 -04:00
Evan You
62c1b2f7dc fix(compiler-sfc): fix defineProps/defineEmits usage in multi-variable declarations
fix #3739
2021-06-28 16:31:55 -04:00
Evan You
2973b6c30a feat(sfc): support referenced types for defineEmits 2021-06-28 16:03:27 -04:00
Evan You
afdd2f2835 fix(compiler-sfc): support method signature in defineProps
fix #2983
2021-06-28 15:39:04 -04:00
Evan You
2f91db30cd feat(sfc): support using declared interface or type alias with defineProps() 2021-06-28 15:30:28 -04:00
Evan You
4c5844a9ca feat(sfc): withDefaults helper 2021-06-26 21:11:57 -04:00
Evan You
691d354af9 fix(compiler-sfc): fix defineProps() call on imported identifier 2021-06-25 14:05:59 -04:00
Evan You
be2b1d3c2f feat(sfc): defineExpose 2021-06-25 13:14:49 -04:00
Evan You
a5a66c5196 fix(compiler-sfc): fix script setup hidden flag codegen 2021-06-24 10:11:30 -04:00
Evan You
075889ebfc chore: comments 2021-06-23 10:21:33 -04:00
Evan You
0b8b576428 fix(sfc): allow variables that start with _ or $ in <script setup> 2021-06-23 10:13:23 -04:00
Evan You
6f6f0cf5dc feat(sfc): remove <template inherit-attrs> support 2021-06-22 21:06:51 -04:00
Eduardo San Martin Morote
a137da8a9f
feat(sfc): add defineEmits and deprecate defineEmit (#3725) 2021-06-22 15:02:56 -04:00
ygj6
b228abb72f
fix(compiler-sfc): rewriteDefault support multiline (#3917) 2021-06-09 15:07:48 -04:00
Evan You
8b94464a3b fix(compiler-sfc): fix style injection when using normal script + setup
fix #3688
2021-05-28 18:40:45 -04:00
HcySunYang
6bfb50aff9
fix(compiler-sfc): correctly remove parens used for wrapping (#3582)
fix #3581
2021-05-28 16:02:31 -04:00
Jason
01e8ba8f87
fix(compiler-sfc): support tsx in setup script (#3825)
close #3808
2021-05-24 12:13:37 -04:00
Evan You
c32760147c wip: relay compiler-core warnings in compiler-sfc with codeframe 2021-05-05 14:24:46 -04:00
Evan You
467076361a wip: warn against <template functional> 2021-04-17 23:51:40 -04:00
Evan You
b39208cf06 perf(compiler-sfc): skip srcset transform if all candidates are external 2021-03-29 19:15:57 -04:00
Jonas Kruckenberg
42b68c773d
fix(compiler-sfc): fix missing whitespace issue in srcsets (#3132)
fix #3069
2021-03-29 18:28:22 -04:00
Evan You
bb8cdcad9f fix(compiler-sfc): support proper type arguments for defineEmit helper
fix #2874
2021-03-29 16:38:07 -04:00
Evan You
f5827fdf78 fix(compiler-sfc): do not resolve assets from setup bindings
when not using script setup

fix #3270, fix #3275
2021-03-29 16:11:38 -04:00
Evan You
69b4727204 fix(compiler-sfc): fix function scope variable declaration marking 2021-03-29 00:32:46 -04:00
Evan You
d1bf35c8b8 workflow(sfc-playground): support multiple files 2021-03-28 18:41:33 -04:00
Evan You
f76ddc5ac3 workflow: sfc playground 2021-03-28 01:35:45 -04:00
edison
bbc5fe6a97
fix(compiler-sfc): should not rewrite scope variable (#3449)
fix #3445
2021-03-25 16:16:48 -04:00
HcySunYang
6cb94752b0
fix(compiler-sfc): scope Id should not be attached to @keyframe breakpoint rules (#3308)
fix #3304
2021-03-19 10:32:30 -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
Evan You
3e4c3ac66d build(deps): bump @babel/parser and @babel/types 2021-03-03 11:25:13 -05:00
Evan You
1dedc19e1f fix(compiler-sfc): handle more edge cases in default rewrite 2021-02-26 11:05:20 -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
Matias Capeletto
6d762a84ca
fix(compiler-sfc): removeSpecifier issue when removing initial imports (script-setup) (#2729) 2021-02-13 10:06:34 +01:00
Evan You
03360cefa1 fix(compiler-sfc): treat const reactive() bindings as mutable 2021-02-10 11:39:07 -05:00
Evan You
49bc2e4db5
feat(compiler-sfc): upgrade to postcss 8 (#2710) 2021-02-04 14:37:55 +01:00
underfin
9dc816d634
fix(compiler-sfc): compiler blank srcset (#3005)
fix https://github.com/vitejs/vite/issues/1523
2021-02-03 19:27:34 +01: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
Evan You
fd16f2bd78 refactor: avoid global scope parentStack 2021-01-15 16:28:55 -05:00
Evan You
2ea9867398 fix(compiler-sfc): transformAssetUrls.base should not affect known module requests
fix https://github.com/vitejs/vite/issues/1343
2021-01-04 15:10:51 -05:00
meteorlxy
5b9b37fc9b
fix(compiler-sfc): should keep template nodes with no content (#2468)
close #2463
2020-12-04 18:23:01 -05:00
Joel Denning
db786b1afe
fix(compiler-sfc): support transforming asset urls with full base url. (#2477) 2020-12-04 18:20:25 -05:00
Evan You
085bbd5fe0 fix(compiler-sfc): named imports from .vue file should not be treated as constant
fix #2699
2020-12-01 11:52:29 -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
43eab923ea fix(compiler-sfc): should not remove import statements with no specifier when compiling script setup 2020-11-28 13:51:32 -05:00
Evan You
faed98972c wip: support inherit-attrs="false" on sfc <tempalte> 2020-11-24 19:04:21 -05:00
Evan You
47d73c23e1 wip: defineOptions -> defineProps + defineEmit + useContext 2020-11-24 19:04:21 -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
90bdf59f4c refactor(compiler): better constant hoist/stringify checks 2020-11-20 19:26:07 -05:00
Evan You
8ac2241b22 wip: more consistent compiler-sfc usage + inline mode for ssr 2020-11-20 14:23:09 -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
6806facfa1 wip: fix default export side effect handling 2020-11-19 16:58:07 -05:00
Evan You
08879cc3b5 wip: fix compileScript script/script-setup co-usage 2020-11-19 16:17:54 -05:00
Evan You
a9424354b0 wip: fix cssVars option warning check 2020-11-19 15:32:32 -05:00
Evan You
0e86cbfcf2 wip: fix default export codegen 2020-11-19 15:30:33 -05:00
Evan You
737ef424a0 wip: allow scriptCompiled to be cached on sfc descriptor 2020-11-19 13:08:27 -05:00
Evan You
6541e70acb wip: return empty string if no cssVars are present 2020-11-19 13:08:27 -05:00
Evan You
03b2bfff09 wip: do not return type imports 2020-11-19 13:08:26 -05:00
Evan You
4c6078ce25 fix(compiler-core/compiler-sfc): handle destructure assignment expressions 2020-11-18 22:39:08 -05:00
Evan You
8567feb2aa wip: properly handle assignment/update expressions in inline mode 2020-11-18 19:38:38 -05:00
Evan You
4449fc3b9e refactor: finer grained binding types for setup 2020-11-18 19:38:38 -05:00