feat(sfc): remove <template inherit-attrs>
support
This commit is contained in:
parent
65f8c823aa
commit
6f6f0cf5dc
@ -91,28 +91,6 @@ const myEmit = defineEmits(['foo', 'bar'])
|
|||||||
emits: ['foo', 'bar'],`)
|
emits: ['foo', 'bar'],`)
|
||||||
})
|
})
|
||||||
|
|
||||||
test('<template inherit-attrs="false">', () => {
|
|
||||||
const { content } = compile(`
|
|
||||||
<script>
|
|
||||||
export default {}
|
|
||||||
</script>
|
|
||||||
<template inherit-attrs="false">
|
|
||||||
{{ a }}
|
|
||||||
</template>
|
|
||||||
`)
|
|
||||||
assertCode(content)
|
|
||||||
|
|
||||||
const { content: content2 } = compile(`
|
|
||||||
<script setup>
|
|
||||||
const a = 1
|
|
||||||
</script>
|
|
||||||
<template inherit-attrs="false">
|
|
||||||
{{ a }}
|
|
||||||
</template>
|
|
||||||
`)
|
|
||||||
assertCode(content2)
|
|
||||||
})
|
|
||||||
|
|
||||||
describe('<script> and <script setup> co-usage', () => {
|
describe('<script> and <script setup> co-usage', () => {
|
||||||
test('script first', () => {
|
test('script first', () => {
|
||||||
const { content } = compile(`
|
const { content } = compile(`
|
||||||
|
@ -96,10 +96,17 @@ export function compileScript(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO remove on 3.2
|
||||||
|
if (sfc.template && sfc.template.attrs['inherit-attrs'] === 'false') {
|
||||||
|
warnOnce(
|
||||||
|
`experimetnal support for <template inherit-attrs="false"> support has ` +
|
||||||
|
`been removed. Use a <script> block with \`export default\` to ` +
|
||||||
|
`declare options.`
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
const scopeId = options.id ? options.id.replace(/^data-v-/, '') : ''
|
const scopeId = options.id ? options.id.replace(/^data-v-/, '') : ''
|
||||||
const cssVars = sfc.cssVars
|
const cssVars = sfc.cssVars
|
||||||
const hasInheritAttrsFlag =
|
|
||||||
sfc.template && sfc.template.attrs['inherit-attrs'] === 'false'
|
|
||||||
const scriptLang = script && script.lang
|
const scriptLang = script && script.lang
|
||||||
const scriptSetupLang = scriptSetup && scriptSetup.lang
|
const scriptSetupLang = scriptSetup && scriptSetup.lang
|
||||||
const isTS =
|
const isTS =
|
||||||
@ -125,9 +132,8 @@ export function compileScript(
|
|||||||
sourceType: 'module'
|
sourceType: 'module'
|
||||||
}).program.body
|
}).program.body
|
||||||
const bindings = analyzeScriptBindings(scriptAst)
|
const bindings = analyzeScriptBindings(scriptAst)
|
||||||
const needRewrite = cssVars.length || hasInheritAttrsFlag
|
|
||||||
let content = script.content
|
let content = script.content
|
||||||
if (needRewrite) {
|
if (cssVars.length) {
|
||||||
content = rewriteDefault(content, `__default__`, plugins)
|
content = rewriteDefault(content, `__default__`, plugins)
|
||||||
if (cssVars.length) {
|
if (cssVars.length) {
|
||||||
content += genNormalScriptCssVarsCode(
|
content += genNormalScriptCssVarsCode(
|
||||||
@ -137,9 +143,6 @@ export function compileScript(
|
|||||||
!!options.isProd
|
!!options.isProd
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
if (hasInheritAttrsFlag) {
|
|
||||||
content += `__default__.inheritAttrs = false`
|
|
||||||
}
|
|
||||||
content += `\nexport default __default__`
|
content += `\nexport default __default__`
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
@ -950,9 +953,6 @@ export function compileScript(
|
|||||||
// 11. finalize default export
|
// 11. finalize default export
|
||||||
// expose: [] makes <script setup> components "closed" by default.
|
// expose: [] makes <script setup> components "closed" by default.
|
||||||
let runtimeOptions = `\n expose: [],`
|
let runtimeOptions = `\n expose: [],`
|
||||||
if (hasInheritAttrsFlag) {
|
|
||||||
runtimeOptions += `\n inheritAttrs: false,`
|
|
||||||
}
|
|
||||||
if (hasInlinedSsrRenderFn) {
|
if (hasInlinedSsrRenderFn) {
|
||||||
runtimeOptions += `\n __ssrInlineRender: true,`
|
runtimeOptions += `\n __ssrInlineRender: true,`
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user