Commit Graph

272 Commits

Author SHA1 Message Date
Evan You 4355d2492d fix(compiler-sfc): handle more TS built-in utilities in defineProps inference 2023-03-28 15:41:24 +08:00
三咲智子 Kevin Deng 151a8ad6b9
fix(compiler-sfc): infer TSIntersectionType in defineProps (#7394) 2023-03-28 15:40:03 +08:00
三咲智子 Kevin Deng 1b69d5f2f4
fix(compiler-sfc): unwrap TS node for defineProps (#7340) 2023-03-28 15:22:01 +08:00
三咲智子 Kevin Deng 6391daf658
fix(compiler-sfc): infer TS Extract&Exclude runtime type (#7339)
closes #7337
closes #6252
2023-03-28 15:19:14 +08:00
三咲智子 Kevin Deng 3a7572cdb2
fix(compiler-sfc): infer function prop type from type literal w/ callable signature (#7119) 2023-03-28 11:59:21 +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
三咲智子 Kevin Deng 7def8b15b8
feat(complier-sfc): hoist literal constants for script (#5752)
- Support using literal constants in macros
- fix useCssVars insert position edge case
- fix non-literal-const enum hoisting

close #5750
2023-03-28 11:34:29 +08:00
三咲智子 Kevin Deng bcf5841dde
feat(compiler-sfc): add defineOptions macro (#5738) 2023-03-28 10:43:51 +08:00
Evan You efb54e7315 feat(sfc): deprecate reactivity transform 2023-03-27 21:01:36 +08:00
Evan You 53e3533b75 chore: bump deps 2023-02-03 05:47:40 +08:00
edison 30399d46b1
fix(compiler-sfc): support resolving type declaration from normal script (#5831)
fix #5830
2023-02-01 04:24:50 -05:00
Julien Huang 686c829fec
fix(compiler-sfc): allow declaring variables after defineProps (#7461)
* fix(compiler-sfc): allow declaring variables after defineProps

* test(compiler-sfc): test defineProps in multiple variable declaration
2023-01-09 15:13:58 +01:00
三咲智子 Kevin Deng 3427052229
fix(reactivity-transform): prohibit const assignment at compile time (#6993)
close #6992
2022-11-14 02:54:41 -05:00
三咲智子 Kevin Deng 9060bf0353
refactor(compiler-core): make ast.helpers a Set (#6774) 2022-11-13 20:44:02 -05:00
三咲智子 Kevin Deng 4e5d9cdb82
refactor(compiler-sfc): drop Function prop type when no static default value (#7125) 2022-11-13 20:15:17 -05:00
三咲智子 Kevin Deng 584eae60d1
fix(compiler-sfc): always generate runtime prop type for Function (#7112)
fix #7111
2022-11-13 19:36:03 -05:00
Evan You 0594400980 fix(sfc): also generate getter for import bindings during dev 2022-11-10 17:32:06 +08:00
Evan You 5a3d45ae29 fix(sfc): ensure consistent dev/prod behavior for non-reactive variables declared in `<script setup>`
fix #5655
2022-11-10 17:02:45 +08:00
三咲智子 Kevin Deng 8a882ce0a1
fix(compiler-sfc): handle method shorthand syntax in withDefaults (#6972)
fix #6971
2022-11-08 22:12:54 -05:00
三咲智子 Kevin Deng 910fa7677f
fix(compiler-sfc): resolve computed object key (#6963) 2022-11-08 21:57:40 -05:00
Evan You 6861d2380b refactor(compiler-sfc): optimize import alias check for binding analysis 2022-11-08 17:47:47 +08:00
Evan You 8d1f526174 fix(compiler-sfc): fix binding analysis for aliased late import 2022-11-08 17:19:45 +08:00
三咲智子 Kevin Deng 4a00fddfed
fix(compiler-sfc): check import source during binding analysation (#6826)
fix #6825
2022-11-08 04:07:28 -05:00
花果山大圣 99b6697fb4
fix(compiler-sfc): fix macro usage in multi-variable declaration (#6778)
fix #6757
2022-11-07 22:16:21 -05:00
三咲智子 Kevin Deng b72a4af38a
fix(compiler-sfc): add semicolon after `defineProps` statement (#6461)
fix #6428
2022-11-07 21:17:48 -05:00
三咲智子 Kevin Deng c4f213b425
fix(reactivity-transform): add semicolon after statements (#6303) 2022-11-07 20:38:47 -05:00
三咲智子 (Kevin) bbb66d7ac7
ci: check prettier format (#6830) 2022-10-28 09:39:34 +08:00
ygj6 eab76046e3
fix(compiler-sfc): allow type annotation for defineEmits variable (#5394)
fix #5393
2022-10-26 05:12:55 -04:00
edison 83f7e6f8a6
fix(compiler-sfc): support using extends interface with defineProps() (#4512)
fix #4498
2022-10-26 04:44:30 -04:00
Travis 6958ec1b37
fix(compiler-sfc): fix expression check for v-on with object literal value (#6652)
fix #6650
fix #6674
2022-09-27 05:30:10 -04:00
Evan You 769e5555f9 fix(compiler-sfc): fix template usage check edge case for v-on statements
ref: https://github.com/vuejs/vue/issues/12591
2022-07-04 11:49:47 +08:00
Evan You fb3bfde264 chore: fix wrong condition in 3ff83694 2022-07-01 12:18:21 +08:00
Evan You 3ff83694f5 fix(compiler-sfc): only add decorators-legacy parser plugin when new decorators plugin is not used 2022-06-30 10:39:14 +08:00
Evan You 9734b31c31 fix(sfc): avoid auto name inference leading to unwanted recursion
fix #5965
fix #6027
fix #6029
2022-06-06 17:36:49 +08:00
Evan You 583b625987 fix(compiler-sfc): fix usage detection for types in v-for/v-slot expressions
fix #5959
2022-05-21 00:09:15 +08:00
Yunyoung LEE 991d62322f
fix(compiler-sfc): type-only defineProps does not recognize Promise (fix #5941) (#5943) 2022-05-18 19:34:52 -04:00
Evan You efea4a8b57 fix(ssr/sfc-css-vars): fix v-bind css vars codegen for SSR
fix #5443
close #5444
2022-05-17 09:21:44 +08:00
Evan You be6a0bff98 refactor: simplify logic 2022-05-13 15:41:49 +08:00
liulinboyi 6c3b681d23 fix(compiler-sfc): async transformer doesn't correctly detect need for semicolon in block #5808 2022-05-13 15:41:49 +08:00
Evan You de7a879cda chore: fix snapshot + simplify fix 2022-05-13 11:04:24 +08:00
liulinboyi 3b7b107120 fix(compiler-sfc): <script> after <script setup> the script content not end with `\\n` 2022-05-13 11:04:24 +08:00
edison 242914d938
fix(reactivity-transform): fix props access codegen for non-identifier prop names (#5436)
fix #5425
2022-05-12 22:38:46 -04:00
Travis f2c48f5352
fix(compiler-sfc): fix defineEmits() scope reference check error message (#5404) 2022-05-12 21:08:28 -04:00
Evan You 8a123ac34f fix(compiler-sfc): fix treeshaking of namespace import when used in template
fix #5209
2022-05-12 18:56:54 +08:00
Evan You ccf92564d3 fix(compiler-sfc): fix template usage check false positives on types
fix #5414
2022-05-12 18:23:10 +08:00
Evan You b7025d24f1 fix(compiler-sfc): ensure consistent behavior of export default render with script setup
close #4980
2022-05-11 17:20:32 +08:00
Evan You 410144149f fix(compiler-sfc): defineProps return binding or rest binding should be considered reactive 2022-05-10 17:34:15 +08:00
小刘(liulinboyi) 7d7a2410e5
fix(compiler-sfc): remove the jsx from the babelParserPlugins when not match the case of adding jsx (#5846)
fix #5845
2022-05-09 21:20:18 -04: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 7dfe146096 fix(compiler-sfc): fix object default values for reactive props destructure 2022-05-10 08:39:27 +08:00
木杉 8e29ef6019
fix(compiler-sfc): handle type modifier in import specifiers (#5498) 2022-04-13 22:10:26 -04:00
Evan You 4768f26f59 fix(compiler-sfc/reactivity-transform): fix edge case where normal script has ref macros but script setup does not 2022-01-21 08:47:48 +08:00
Evan You fef191fb07 chore: remove stale references of ref-transform 2021-12-23 16:56:36 +08:00
Evan You 7e4f0a8694 fix(compiler-sfc): generate valid TS in script and script setup co-usage with TS
fix #5094
2021-12-12 09:53:52 +08:00
Evan You d70fd8d36b feat(reactivity-transform): rename @vue/ref-transform to @vue/reactivity-transform 2021-12-12 00:04:38 +08:00
Evan You 93ba6b974e feat(reactivity-transform): use toRef() for $() destructure codegen
- now supports destructuring reactive objects
- no longer supports rest elements
2021-12-11 17:13:15 +08:00
Ziwen Mei 2d4f455434
chore(compiler-sfc): fix typo in compileScript (#5000)
Co-authored-by: meiziwen1 <meiziwen1@xdf.cn>
2021-11-26 10:21:35 +01: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
ygj6 c61baac75a
feat(compiler-sfc): export resolveTemplateUsageCheckString for HMR plugin use (#4908) 2021-11-25 22:58:14 -05:00
edison 31fd590fd4
fix(compiler-sfc): fix expose codegen edge case (#4919)
fix #4917
2021-11-14 22:22:53 -05:00
ygj6 9c42a1e2a3
fix(compiler-sfc): add type for props include Function in prod mode (#4938) 2021-11-14 21:31:11 -05:00
ygj6 090df0837e
fix(compiler-sfc): add type for props's properties in prod mode (#4790)
fix #4783
2021-11-02 22:04:04 -04:00
Evan You d4c04e9799 fix(compiler-sfc): fix props codegen w/ leading import
fix #4764
2021-10-08 12:52:48 -04:00
HanochMa 7a1e6620bf
chore: grammar in comments [ci skip]
Co-authored-by: maheng <maheng01@longfor.com>
2021-10-08 11:59:47 -04:00
edison f66d456b7a
fix(compiler-sfc): support runtime Enum in normal script (#4698) 2021-10-08 11:57:39 -04:00
Evan You 646e694f0a chore: remove babelParserDefaultPlugins
The version of @babel/parser we are using now has these plugins enabled by default.
2021-10-07 19:33:06 -04:00
Evan You 467e113b95
feat(compiler-sfc): `<script setup>` defineProps destructure transform (#4690) 2021-09-27 14:24:21 -04:00
Evan You 6d6cc90912 fix(compiler-sfc): fix local var access check for bindings in normal script
fix #4644
2021-09-22 10:10:20 -04: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 585615beb1 feat(compiler-sfc): allow disabling sourcemap when not needed 2021-09-18 17:42:09 -04:00
edison 8055445b68
fix(compiler-sfc): register exported bindings in normal script when using script setup (#4601)
fix #4600
2021-09-16 17:22:29 -04:00
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 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 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 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