Commit Graph

557 Commits

Author SHA1 Message Date
三咲智子 Kevin Deng 8ec73a3aea
fix(compiler-sfc): don't hoist regexp literial (#8300) 2023-05-18 11:09:40 +08:00
Evan You b36addd3bd fix(compiler-sfc): handle ts files with relative imports with .js extension
close #8339
2023-05-17 10:14:44 +08:00
Kalven Schraut f69dbabf87
fix(compiler-sfc): fix props destructing default value type checking with unresolved type (#8340)
close #8326
2023-05-17 09:59:49 +08:00
Evan You 82350721a4 fix(compiler-sfc): raise specific warning for failed extends and allow ignoring extends
ref #8286
2023-05-12 13:17:55 +01:00
Evan You f25bd37c67 fix(compiler-sfc): fix regression on props destructure when transform is not enabled
close #8289
2023-05-12 12:53:36 +01:00
Evan You 574c83b522 refactor(compiler-sfc): move prop key escape logic to utils 2023-05-12 11:26:33 +01:00
白雾三语 690ef29635
fix(compiler-sfc): handle prop keys that need escaping (#7803)
close #8291
2023-05-12 18:24:59 +08:00
Evan You aa1e77d532 fix(compiler-sfc): properly parse d.ts files when resolving types
close #8285
2023-05-12 11:08:29 +01:00
Cédric Exbrayat ab9256a4bb
chore: fix typos in defineOptions (#8277) 2023-05-11 19:34:27 +08:00
Haoqun Jiang 287bd99994
fix(compiler-sfc): transform destructured props when reactivity transform option is enabled (#8252)
fixup 862edfd91a
2023-05-08 15:27:28 +08:00
LiuSeen 8ccc570022
chore(compileScript): remove unused methods (#8211) 2023-05-08 14:43:39 +08:00
Evan You 6b194bcf3b fix(compiler-sfc): fix built-in type resolving in external files
close #8244
2023-05-08 12:30:19 +08:00
Evan You 862edfd91a fix(compiler-sfc): enable props destructure when reactivity transform option is enabled
...to retain backwards compatible behavior before removal
2023-05-06 16:55:38 +08:00
Evan You d40d4a3380 chore: experimental warnings for reactive props destructure and defineModel 2023-05-02 16:23:02 +08:00
Evan You bff63c5498 feat(types): provide ExtractPublicPropTypes utility type
ref #5272
close #8168
2023-05-02 11:06:32 +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 1c0be5c744 feat(compiler-sfc): support project references when resolving types
close #8140
2023-04-25 16:30:11 +08:00
Evan You a370e8006a perf(compiler-sfc): infer ref binding type for more built-in methods 2023-04-25 09:29:30 +08:00
Evan You 433a58ccb6 fix(compiler-sfc): props bindings should not override user declared bindings
fix #8148
2023-04-25 09:21:14 +08:00
Evan You 01f43c1741
ci: setup windows ci for compiler and SSR tests (#8143) 2023-04-24 11:31:13 +08:00
edison 29da504687
fix(compiler-sfc): normalize windows paths when resolving types (#8136) 2023-04-24 11:03:57 +08:00
Evan You 2d9f6f9264 fix(compiler-sfc): avoid all hard errors when inferring runtime type 2023-04-21 16:48:21 +08:00
Evan You 7b2ff1e207 chore: remove deprecated ref sugar warning 2023-04-21 15:54:51 +08:00
edison 1d1d728949 feat(compiler-sfc): improve utility type Partial and Required (#8103) 2023-04-20 21:17:10 +08:00
Evan You 50c0bbe522 feat(compiler-sfc): support ExtractPropTypes when resolving types
close #8104
2023-04-20 21:02:50 +08:00
Evan You 5c6989557d chore: avoid hard error when inferring types 2023-04-20 16:57:36 +08:00
Evan You 4496456d7d feat(compiler-sfc): support dynamic imports when resolving types 2023-04-20 16:18:35 +08:00
Evan You 7c3ca3cc3e feat(compiler-sfc): support export * when resolving types 2023-04-20 15:56:24 +08:00
Evan You d53e157805 fix(compiler-sfc): handle type merging + fix namespace access when inferring type
close #8102
2023-04-20 14:13:08 +08:00
n028 f630555caa
chore: fix typo (#8113) [ci skip] 2023-04-20 10:08:00 +08:00
agoni1212 a58785945d
chore: typo (#8108) [ci skip] 2023-04-20 10:07:31 +08:00
Evan You 9b5a34bf8c fix(compiler-sfc): normalize filename when invalidating cache 2023-04-18 22:21:29 +08:00
Evan You 271df09470 fix(compiler-sfc): normalize windows paths when resolving types 2023-04-17 21:11:22 +08:00
Evan You 4e028b9669 feat(compiler-sfc): support specifying global types for sfc macros
ref: https://github.com/vuejs/core/pull/8083#issuecomment-1508468713
2023-04-16 15:49:41 +08:00
Evan You f22e32e365 feat(compiler-sfc): expose type resolve APIs 2023-04-16 11:11:26 +08:00
Evan You 6b13e04b4c feat(compiler-sfc): mark props destructure as experimental and require explicit opt-in 2023-04-15 22:09:08 +08:00
Evan You 760755f4f8 feat(compiler-sfc): support string/number indexed types in macros 2023-04-15 22:08:39 +08:00
Evan You 8d8ddd686c feat(compiler-sfc): expose type import deps on compiled script block 2023-04-15 22:08:39 +08:00
Evan You 075498c959 refactor: avoid hard error when inferring runtime type 2023-04-15 22:08:39 +08:00
Evan You a9f5e14c7c chore: comments [ci skip] 2023-04-15 22:08:39 +08:00
Evan You 3982bef533 feat(compiler-sfc): support resolving type imports from modules 2023-04-15 22:08:39 +08:00
Evan You 8451b92a7a wip: cache fileToScope + improve vue file offset 2023-04-15 22:08:39 +08:00
Evan You c93c11710e refactor: improve type resolve error output 2023-04-15 22:08:39 +08:00
Evan You 8aa4ea81d6 feat(compiler-sfc): support relative imported types in macros 2023-04-15 22:08:39 +08:00
Evan You 5ff40bb0dc feat(compiler-sfc): support namespace members type in macros 2023-04-13 12:32:52 +08:00
Evan You 3f779ddbf8 feat(compiler-sfc): support string indexed type in macros 2023-04-13 11:21:09 +08:00
Evan You 51773d5d1d refactor: adjust ResolvedElements shape 2023-04-13 10:42:15 +08:00
Evan You 1cfab4c695 feat(compiler-sfc): support limited built-in utility types in macros 2023-04-13 10:28:22 +08:00
Evan You fb8ecc803e feat(compiler-sfc): support mapped types, string types & template type in macros 2023-04-13 09:59:54 +08:00
Evan You d1f973bff8 feat(compiler-sfc): support intersection and union types in macros
close #7553
2023-04-12 21:34:13 +08:00
Evan You b2cdb2645f refactor(compiler-sfc): rework macro type resolution 2023-04-11 23:00:28 +08:00
Evan You ae5a9323b7 refactor(compiler-sfc): split normal script logic 2023-04-11 16:05:00 +08:00
Evan You 3da1bb36b1 refactor(compiler-sfc): split all macros 2023-04-11 16:05:00 +08:00
Evan You c52157c87d refactor(compiler-sfc): split more logic 2023-04-11 16:05:00 +08:00
Evan You 0232c00e11 refactor(compiler-sfc): simplify props destructure arguments 2023-04-11 16:05:00 +08:00
Evan You 5a529bbf23 refactor(compiler-sfc): extract defineEmits logic 2023-04-11 16:05:00 +08:00
Evan You 9f2ca5155e refactor(compiler-sfc): extract processDefineModel, move main magic string instance to context 2023-04-11 16:05:00 +08:00
Evan You 9f5692e052 refactor(compiler-sfc): collapse genRuntimeProps logic 2023-04-11 16:05:00 +08:00
Evan You d0ac57872c refactor(compiler-sfc): extract more defineProps logic 2023-04-11 16:05:00 +08:00
Evan You fe9760188d refactor(compiler-sfc): remove useless type generation
we are no longer type-checking generated code
2023-04-11 16:05:00 +08:00
Evan You acd7eb22cf refactor(compiler-sfc): (wip) split compileScript logic, use context, move defineProps 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
三咲智子 Kevin Deng 14f3d747a3
feat(sfc): introduce `defineModel` macro and `useModel` helper (#8018) 2023-04-08 12:13:05 +08:00
三咲智子 Kevin Deng f7f4624191
fix(compiler-sfc): fix binding type for constants when hoistStatic is disabled (#8029) 2023-04-06 17:19:00 +08:00
-isum 3ccbea08e0
fix(compiler-sfc): accept `StringLiteral` node in `defineEmit` tuple syntax (#8041)
close #8040
2023-04-06 17:13:34 +08:00
三咲智子 Kevin Deng 955752951e
fix(compiler-sfc): skip empty `defineOptions` and support TypeScript type assertions (#8028) 2023-04-05 17:33:29 +08:00
Evan You b2c874e3b9 refactor(compiler-sfc): move related files into separate directories 2023-04-05 16:35:10 +08:00
Evan You f3145a915a fix(compiler-sfc): check binding is prop before erroring
fix #8017
2023-04-04 18:10:13 +08:00
三咲智子 Kevin Deng 5a2f5d59cf
feat(types/slots): support slot presence / props type checks via `defineSlots` macro and `slots` option (#7982) 2023-04-03 16:49:16 +08:00
Evan You 59e828448e
feat(reactivity): improve support of getter usage in reactivity APIs (#7997) 2023-04-02 10:17:51 +08:00
Roland Hummel c346af2b6a
docs: comments on reactivity functions (fixes #4832) (#4836)
close #4832
2023-03-31 17:06:10 +08:00
Evan You 482f2e3434 fix(compiler-sfc): use dynamic defaults merging for methods with computed keys
ref #7113
2023-03-31 09:08:23 +08:00
Evan You fe619443d2 feat(compiler-sfc): support arbitrary expression as withDefaults argument
ref #6459
2023-03-31 09:04:27 +08:00
Evan You 566748c1ed chore: remove unused param 2023-03-31 08:58:03 +08:00
Evan You 4af5d1b075 feat(sfc): revert withDefaults() deprecation
In some cases, the user still needs access to the full props object,
in such cases withDefaults() is still needed.
2023-03-31 08:53:15 +08:00
Evan You f5971468e5 refactor(compiler-sfc): remove unnecessary emits type codegen
This is no longer necessary as we no longer recommend type checking generated code
2023-03-30 20:06:11 +08:00
Evan You ef73ea53ea feat(compiler-sfc): codegen support for defineEmits() short syntax (followup of #7992) 2023-03-30 19:59:07 +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 ba4cec31b9
fix(compiler-sfc): infer runtime type in defineProps (#7972) 2023-03-30 14:49:28 +08:00
Evan You ba9c2ae247
feat(compiler-sfc): enable reactive props destructure by default and deprecate withDefaults() (#7986) 2023-03-30 11:58:16 +08:00
Evan You e10a89e608 fix(compiler-sfc): fix function default value handling w/ props destructure 2023-03-29 22:21:27 +08:00
Evan You 1a04fba10b fix(compiler-sfc): infer object type for empty type literal 2023-03-29 21:01:52 +08:00
Evan You a94072dd2c fix(compiler-sfc): fix defineExpose() codegen regression from #7949 2023-03-29 20:31:25 +08:00
三咲智子 Kevin Deng 63ad77f6f6
feat(runtime-core): add skipCheck for prop (#7548) 2023-03-28 22:29:54 +08:00
Evan You 1bde9fbc91 chore: fix accidentally replaced comments [ci skip] 2023-03-28 21:22:11 +08:00
三咲智子 Kevin Deng c839129ab9
fix(compiler-sfc): avoid codegen conflict with user variable named `expose` (#7949)
rename `expose` to `__expose` to avoid duplicate identifier

relate #7890
2023-03-28 17:34:23 +08:00
三咲智子 Kevin Deng 93f77292c9
fix(compiler-sfc): disallow `expose` property in `defineOptions` (#7967) 2023-03-28 17:32:37 +08:00
Evan You eded94712e feat(compiler-sfc): improve runtime props inference for enum 2023-03-28 17:29:31 +08:00
Evan You 5fb406e3e1 fix(compiler-sfc): properly handle unknown types in runtime prop inference
fix #7511
2023-03-28 17:15:25 +08:00
Evan You 6f5698c932 Revert "fix(compiler-sfc): infer correct type for enums"
This reverts commit 2e074a7009.
2023-03-28 16:55:19 +08:00
Evan You 2e074a7009 fix(compiler-sfc): infer correct type for enums
fix #7511
2023-03-28 16:39:13 +08:00
三咲智子 Kevin Deng 0002567728
feat(compiler-sfc): support module string names syntax (#7428)
https://github.com/tc39/ecma262/pull/2154
2023-03-28 16:28:06 +08:00
三咲智子 Kevin Deng d60e58c9f6
fix(compiler-sfc): fix edge case of default export call with no args (#7536)
closes #7534
2023-03-28 16:27:34 +08:00
三咲智子 Kevin Deng 336a3d7b91
fix(compiler-sfc): properly remove comma of multiple macros in the same declaration (#7423)
closes #7422
reverts #6778
2023-03-28 16:23:39 +08:00
三咲智子 Kevin Deng 9f5e20ccff
fix(compiler-sfc): allow `<script>` with lang='js' (#7398) 2023-03-28 15:48:41 +08:00
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
Evan You 124373db50 wip: isolatedModules + use rollup-plugin-esbuild 2023-02-03 04:30:19 +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 57c9013837
fix(compiler-sfc): only escape parsing-breaking characters in v-bind css var names (#6816)
close #6803
2022-11-08 22:30:05 -05: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
花果山大圣 a0c7f271a2
fix(compiler-sfc): require <template> or <script> in SFC (#6781)
fix #6676
2022-11-07 22:34:39 -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 97aadd8290
types: use actual type for script block ASTs (#6457) 2022-11-07 21:14:10 -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
林烁壕 81a7819535
fix(compiler-sfc): rewriteDefault for class with decorators (#6320)
fix #6318
2022-08-18 04:07:55 -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 e60244bcdf fix(compiler-sfc): improve css v-bind parsing
fix #6022
2022-06-06 20:02:08 +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
Jinesh Patel 0cd21ba77c
chore: remove unnecessary optional check (#5958) 2022-05-22 20:29:15 -04: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
小刘(liulinboyi) 73e6523134
fix(compiler-sfc): support `export { default } from '...'` (#5937)
fix #5935
2022-05-18 19:51:44 -04: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 41d255ba5d fix(compiler-sfc): fix skipped srcset transform when using base option
Based on implementation from #4835 due to conflicts

fix #4819
close #4834, close #4835
2022-05-11 16:55:58 +08:00