fix: resolve options for parser

ref: https://github.com/vuejs/core/pull/9760
This commit is contained in:
三咲智子 Kevin Deng 2023-12-06 14:37:40 +08:00
parent 505c5a8c07
commit a9f2bfcdba
No known key found for this signature in database
GPG Key ID: 69992F2250DFD93E
2 changed files with 11 additions and 17 deletions

View File

@ -82,7 +82,10 @@ export function baseCompile(
onError(createCompilerError(ErrorCodes.X_SCOPE_ID_NOT_SUPPORTED))
}
const ast = isString(source) ? baseParse(source, options) : source
const resolvedOptions = extend({}, options, {
prefixIdentifiers
})
const ast = isString(source) ? baseParse(source, resolvedOptions) : source
const [nodeTransforms, directiveTransforms] =
getBaseTransformPreset(prefixIdentifiers)
@ -95,8 +98,7 @@ export function baseCompile(
transform(
ast,
extend({}, options, {
prefixIdentifiers,
extend({}, resolvedOptions, {
nodeTransforms: [
...nodeTransforms,
...(options.nodeTransforms || []) // user transforms
@ -109,10 +111,5 @@ export function baseCompile(
})
)
return generate(
ast,
extend({}, options, {
prefixIdentifiers
})
)
return generate(ast, resolvedOptions)
}

View File

@ -49,7 +49,10 @@ export function compile(
// onError(createCompilerError(ErrorCodes.X_SCOPE_ID_NOT_SUPPORTED))
// }
const ast = isString(source) ? parse(source, options) : source
const resolvedOptions = extend({}, options, {
prefixIdentifiers,
})
const ast = isString(source) ? parse(source, resolvedOptions) : source
const [nodeTransforms, directiveTransforms] =
getBaseTransformPreset(prefixIdentifiers)
@ -63,7 +66,6 @@ export function compile(
const ir = transform(
ast,
extend({}, options, {
prefixIdentifiers,
nodeTransforms: [
...nodeTransforms,
...(options.nodeTransforms || []), // user transforms
@ -76,12 +78,7 @@ export function compile(
}),
)
return generate(
ir,
extend({}, options, {
prefixIdentifiers,
}),
)
return generate(ir, resolvedOptions)
}
export type TransformPreset = [