diff --git a/packages/compiler-sfc/src/compileScript.ts b/packages/compiler-sfc/src/compileScript.ts index 8693fb29b..40deb6723 100644 --- a/packages/compiler-sfc/src/compileScript.ts +++ b/packages/compiler-sfc/src/compileScript.ts @@ -1,4 +1,3 @@ -import MagicString from 'magic-string' import { BindingTypes, UNREF, @@ -23,13 +22,12 @@ import { import { walk } from 'estree-walker' import { RawSourceMap } from 'source-map-js' import { - CSS_VARS_HELPER, - genCssVarsCode, - genNormalScriptCssVarsCode -} from './style/cssVars' + processNormalScript, + normalScriptDefaultVar +} from './script/normalScript' +import { CSS_VARS_HELPER, genCssVarsCode } from './style/cssVars' import { compileTemplate, SFCTemplateCompileOptions } from './compileTemplate' import { warnOnce } from './warn' -import { rewriteDefaultAST } from './rewriteDefault' import { shouldTransform, transformAST } from '@vue/reactivity-transform' import { transformDestructuredProps } from './script/definePropsDestructure' import { ScriptCompileContext } from './script/context' @@ -130,15 +128,6 @@ export function compileScript( sfc: SFCDescriptor, options: SFCScriptCompileOptions ): SFCScriptBlock { - let { script, scriptSetup, source, filename } = sfc - // feature flags - // TODO remove in 3.4 - const enableReactivityTransform = !!options.reactivityTransform - const isProd = !!options.isProd - const genSourceMap = options.sourceMap !== false - const hoistStatic = options.hoistStatic !== false && !script - let refBindings: string[] | undefined - if (!options.id) { warnOnce( `compileScript now requires passing the \`id\` option.\n` + @@ -147,85 +136,23 @@ export function compileScript( ) } + const ctx = new ScriptCompileContext(sfc, options) + const { script, scriptSetup, source, filename } = sfc + const hoistStatic = options.hoistStatic !== false && !script const scopeId = options.id ? options.id.replace(/^data-v-/, '') : '' - const cssVars = sfc.cssVars const scriptLang = script && script.lang const scriptSetupLang = scriptSetup && scriptSetup.lang - const genDefaultAs = options.genDefaultAs - ? `const ${options.genDefaultAs} =` - : `export default` - const normalScriptDefaultVar = `__default__` - const ctx = new ScriptCompileContext(sfc, options) - const { isTS } = ctx + // TODO remove in 3.4 + const enableReactivityTransform = !!options.reactivityTransform + let refBindings: string[] | undefined if (!scriptSetup) { if (!script) { throw new Error(`[@vue/compiler-sfc] SFC contains no