-
-
Notifications
You must be signed in to change notification settings - Fork 9k
Closed as not planned
Description
Version
3.5.24
Reproduction link
Steps to reproduce
- Clone the repo: https://github.com/Fi2zz/vue-compiler-ts-multi-export-default
- Install deps:
yarn install(ornpm install) - JS repro:
npx tsx compileJavascriptCode.ts- Expected result: throws duplicate default export error
- Actual result:
SyntaxError: [vue/compiler-sfc] Only one default export allowed per module.
- TS repro:
npx tsx compileTypescriptCode.ts- Expected result: same error as JS (multiple default exports should be invalid)
- Actual result: no error; logs include:
lang-> tscontent->followed by twoexport default { ... }blocks
What is expected?
TypeScript and JavaScript should be consistent: when the same module contains multiple export default declarations, both should report an error.
What is actually happening?
- JS: throws
DuplicateDefaultExport(Only one default export allowed per module). - TS: no error;
compileScriptreturns content keeping both default exports.
This repro uses vue/compiler-sfc with parse + compileScript.
Files of interest:
src/ComponentVanilla.vue(JS)src/ComponentTS.vue(TS)compile.ts(driver callingparse/compileScript)
<!-- generated by vue-issues. DO NOT REMOVE -->
Metadata
Metadata
Assignees
Labels
No labels