diff --git a/package.json b/package.json index 1f097019b..364ec7f76 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "node": ">=10.0.0" }, "devDependencies": { + "@babel/types": "^7.12.0", "@ls-lint/ls-lint": "^1.9.2", "@microsoft/api-extractor": "^7.9.15", "@rollup/plugin-commonjs": "^15.0.0", diff --git a/packages/compiler-core/package.json b/packages/compiler-core/package.json index 73fbc3c04..1b73fc601 100644 --- a/packages/compiler-core/package.json +++ b/packages/compiler-core/package.json @@ -32,8 +32,8 @@ "homepage": "https://github.com/vuejs/vue-next/tree/master/packages/compiler-core#readme", "dependencies": { "@vue/shared": "3.0.0", - "@babel/parser": "^7.11.5", - "@babel/types": "^7.11.5", + "@babel/parser": "^7.12.0", + "@babel/types": "^7.12.0", "estree-walker": "^2.0.1", "source-map": "^0.6.1" } diff --git a/packages/compiler-sfc/package.json b/packages/compiler-sfc/package.json index ae351528f..6c4332508 100644 --- a/packages/compiler-sfc/package.json +++ b/packages/compiler-sfc/package.json @@ -35,8 +35,8 @@ "vue": "3.0.0" }, "dependencies": { - "@babel/parser": "^7.11.5", - "@babel/types": "^7.11.5", + "@babel/parser": "^7.12.0", + "@babel/types": "^7.12.0", "@vue/compiler-core": "3.0.0", "@vue/compiler-dom": "3.0.0", "@vue/compiler-ssr": "3.0.0", diff --git a/packages/compiler-sfc/src/compileScript.ts b/packages/compiler-sfc/src/compileScript.ts index a17f3babb..93cc6cc43 100644 --- a/packages/compiler-sfc/src/compileScript.ts +++ b/packages/compiler-sfc/src/compileScript.ts @@ -160,7 +160,7 @@ export function compileScript( ) } else if (node.type === 'ExportNamedDeclaration' && node.specifiers) { const defaultSpecifier = node.specifiers.find( - s => s.exported.name === 'default' + s => s.exported.type === 'Identifier' && s.exported.name === 'default' ) as ExportSpecifier if (defaultSpecifier) { defaultExport = node @@ -334,7 +334,10 @@ export function compileScript( specifier.exported.start! + startOffset + 7, defaultTempVar ) - } else if (specifier.type === 'ExportSpecifier') { + } else if ( + specifier.type === 'ExportSpecifier' && + specifier.exported.type === 'Identifier' + ) { if (specifier.exported.name === 'default') { checkDuplicateDefaultExport(node) defaultExport = node diff --git a/yarn.lock b/yarn.lock index af373ddf5..325f3bbc0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -217,7 +217,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.11.5", "@babel/parser@^7.4.4", "@babel/parser@^7.5.5", "@babel/parser@^7.7.5", "@babel/parser@^7.8.6", "@babel/parser@^7.9.0": +"@babel/parser@^7.1.0", "@babel/parser@^7.12.0", "@babel/parser@^7.4.4", "@babel/parser@^7.5.5", "@babel/parser@^7.7.5", "@babel/parser@^7.8.6", "@babel/parser@^7.9.0": version "7.12.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.0.tgz#2ad388f3960045b22f9b7d4bf85e80b15a1c9e3a" integrity sha512-dYmySMYnlus2jwl7JnnajAj11obRStZoW9cG04wh4ZuhozDn11tDUrhHcUZ9iuNHqALAhh60XqNaYXpvuuE/Gg== @@ -347,7 +347,7 @@ globals "^11.1.0" lodash "^4.17.13" -"@babel/types@^7.0.0", "@babel/types@^7.11.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.5.5", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.9.0": +"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.5.5", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.9.0": version "7.11.5" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d" integrity sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q== @@ -356,6 +356,15 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" +"@babel/types@^7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.0.tgz#b6b49f425ee59043fbc89c61b11a13d5eae7b5c6" + integrity sha512-ggIyFmT2zMaYRheOfPDQ4gz7QqV3B+t2rjqjbttDJxMcb7/LukvWCmlIl1sWcOxrvwpTDd+z0OytzqsbGeb3/g== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"