} from '@babel/types'
import { walk } from 'estree-walker'
import { RawSourceMap } from 'source-map'
-import {
- CSS_VARS_HELPER,
- parseCssVars,
- genCssVarsCode,
- injectCssVarsCalls
-} from './cssVars'
+import { CSS_VARS_HELPER, genCssVarsCode, injectCssVarsCalls } from './cssVars'
import { compileTemplate, SFCTemplateCompileOptions } from './compileTemplate'
import { warnOnce } from './warn'
}
const scopeId = options.id ? options.id.replace(/^data-v-/, '') : ''
- const cssVars = parseCssVars(sfc)
+ const cssVars = sfc.cssVars
const scriptLang = script && script.lang
const scriptSetupLang = scriptSetup && scriptSetup.lang
const isTS = scriptLang === 'ts' || scriptSetupLang === 'ts'
id: string,
isProd: boolean
): string {
- return genCssVarsFromList(parseCssVars(sfc), id, isProd)
+ return genCssVarsFromList(sfc.cssVars, id, isProd)
}
function genCssVarsFromList(
import { RawSourceMap, SourceMapGenerator } from 'source-map'
import { TemplateCompiler } from './compileTemplate'
import { Statement } from '@babel/types'
+import { parseCssVars } from './cssVars'
export interface SFCParseOptions {
filename?: string
scriptSetup: SFCScriptBlock | null
styles: SFCStyleBlock[]
customBlocks: SFCBlock[]
+ cssVars: string[]
}
export interface SFCParseResult {
script: null,
scriptSetup: null,
styles: [],
- customBlocks: []
+ customBlocks: [],
+ cssVars: []
}
const errors: (CompilerError | SyntaxError)[] = []
descriptor.customBlocks.forEach(genMap)
}
+ // parse CSS vars
+ descriptor.cssVars = parseCssVars(descriptor)
+
const result = {
descriptor,
errors