Commit Graph

318 Commits

Author SHA1 Message Date
Evan You
cab9541ffd refactor(compiler-sfc): improve TLA codegen 2021-09-16 17:07:29 -04:00
Evan You
39cebf5f7a fix(compiler-sfc): fix TLA codegen semicolon insertion
fix #4596
2021-09-16 16:49:59 -04:00
edison
ae942cdcd9
fix(compiler-sfc): support nested await statements (#4458)
fix #4448
2021-09-16 16:23:46 -04:00
Thorsten Lünborg
bdb1a7958b
fix(compiler-sfc): handle empty strings during template usage analysis of setup bindings (#4608)
fix #4599
2021-09-16 13:47:11 -04:00
ygj6
fcd5422b4a
fix(compile-sfc): add symbol judge in prop type checks. (#4594)
fix #4592
2021-09-16 13:45:55 -04:00
Evan You
06c5bf53ab fix(compiler-sfc): properly reuse hoisted asset imports
fix #4581
2021-09-16 13:33:02 -04:00
Evan You
a6e5f82d8e fix(compiler-sfc): properly analyze destructured bindings with dynamic keys
fix #4540
2021-09-09 12:28:59 -04:00
webfansplz
fac9a2926d
fix(compile-sfc): support Date prop type with defineProps (#4519) 2021-09-05 18:13:12 -04:00
edison
14d65181f1
fix(compiler-sfc): support using declared interface in normal script with defineProps() (#4522)
fix #4423
2021-09-05 18:10:15 -04:00
edison
5594643d7b
fix(compiler-sfc): fix script setup ref assignment codegen edge case (#4520)
fix #4514
2021-09-05 18:02:50 -04:00
webfansplz
e6fe751b20
fix(compile-sfc): generate setup prop type format error (#4506)
fix #4505
2021-09-05 17:36:46 -04:00
Evan You
12acf5102c build: avoid require call to consolidate in esm-browser build 2021-09-05 17:30:18 -04:00
Evan You
bacb2012ac fix(compiler-sfc): ensure script setup generates type-valid ts output
fix #4455
2021-09-02 11:51:41 -04:00
webfansplz
85807967dc
fix(compiler-sfc): generate matching prop types when withDefaults is used (#4466)
fix #4455
2021-09-02 11:26:52 -04:00
dependabot[bot]
305883a12f
build(deps-dev): bump typescript from 4.3.5 to 4.4.2 (#4482)
* build(deps-dev): bump typescript from 4.3.5 to 4.4.2

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.3.5 to 4.4.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.3.5...v4.4.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps-dev): bump typescript from 4.3.5 to 4.4.2

* test: fix nodeOps types

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carlos Rodrigues <carlos@hypermob.co.uk>
Co-authored-by: Evan You <yyx990803@gmail.com>
2021-09-02 09:53:57 -04:00
Evan You
b89ff9291e fix(compiler-sfc): ensure script setup lang=ts output is tree-shakable 2021-09-01 12:40:36 -04:00
Evan You
586ec51c49 chore: warnings for ref transform 2021-08-24 10:26:38 -04:00
klwf
98263821f8
fix(compiler-sfc): fix <script> and <script setup> co-usage ordering edge case (#4419)
Fix: #4395
Fix: #4376
2021-08-23 19:02:54 -04:00
lidlanca
4792ebd687
fix(compiler-sfc): fix 'export default' rewrite with extra whitespaces (#4375) 2021-08-23 18:40:16 -04:00
Evan You
06051c4bf2 feat(experimental): support ref transform for sfc normal <script> 2021-08-23 16:00:46 -04:00
Evan You
40994e967c chore: fix sfc playground ci build 2021-08-23 14:10:11 -04:00
Evan You
0805abe573 refactor(compiler-sfc): refSugar -> refTransform, export shouldTransformRef 2021-08-23 12:19:41 -04:00
Evan You
e565831c98 feat(experimental): shouldTransform for ref-transform 2021-08-23 10:45:58 -04:00
Evan You
0c2ea1c134 refactor(compiler-sfc): remove parseOnly mode 2021-08-22 22:28:47 -04:00
Evan You
db8dc753c0 feat(experimental): standalone ref transform 2021-08-22 22:21:42 -04:00
Evan You
84b24a71f0 chore: bump deps 2021-08-22 15:33:21 -04:00
Evan You
73f8cae465 refactor(compiler): further extract babel ast utilities 2021-08-22 14:51:16 -04:00
Evan You
62f752552a refactor(compiler): extract shared ast transform utils
Also improve referenced identifier check using isReferenced from  @babel/types
2021-08-22 13:24:16 -04:00
Evan You
872b3f7ec5 fix(compiler-sfc): should also expose regular script block bindings when <script setup> is used
close #4369
2021-08-17 15:52:48 -04:00
似水微寒
c51fb74599
refactor(compiler-sfc): remove duplicate judgment conditions (#4368) 2021-08-17 12:12:18 -04:00
Evan You
57f10812cc fix(compiler-sfc): fix import usage check for lowercase imported components
fix #4358
2021-08-17 10:10:26 -04:00
Evan You
f855ccb2c1 fix(compiler-sfc): fix import usage check in template strings in expressions
fix #4340
2021-08-16 18:03:09 -04:00
webfansplz
ad66295cb3
fix(defineProps): defineProps generates unnecessary array of same types (#4353)
fix #4352
2021-08-16 17:40:00 -04:00
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