From 8f8e601bb69f9cf05756700481cfc8db0fa50672 Mon Sep 17 00:00:00 2001 From: Hydrogen <3038094028@qq.com> Date: Sat, 19 Nov 2022 01:18:19 +0800 Subject: [PATCH 01/11] feat(compiler-sfc): default script lang --- packages/compiler-sfc/src/parse.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/compiler-sfc/src/parse.ts b/packages/compiler-sfc/src/parse.ts index 79065fc667e..f8f3e7a5392 100644 --- a/packages/compiler-sfc/src/parse.ts +++ b/packages/compiler-sfc/src/parse.ts @@ -22,6 +22,9 @@ export interface SFCParseOptions { pad?: boolean | 'line' | 'space' ignoreEmpty?: boolean compiler?: TemplateCompiler + + defaultScriptLang?: string + defaultScriptSetupLang?: string } export interface SFCBlock { @@ -95,7 +98,9 @@ export function parse( sourceRoot = '', pad = false, ignoreEmpty = true, - compiler = CompilerDOM + compiler = CompilerDOM, + defaultScriptLang, + defaultScriptSetupLang }: SFCParseOptions = {} ): SFCParseResult { const sourceKey = @@ -190,6 +195,14 @@ export function parse( case 'script': const scriptBlock = createBlock(node, source, pad) as SFCScriptBlock const isSetup = !!scriptBlock.attrs.setup + if (isSetup && defaultScriptSetupLang) { + scriptBlock.lang ??= defaultScriptSetupLang + } + + if (defaultScriptLang) { + scriptBlock.lang ??= defaultScriptLang + } + if (isSetup && !descriptor.scriptSetup) { descriptor.scriptSetup = scriptBlock break From 415f75e06024f576e565b840a9c6491fe931bda2 Mon Sep 17 00:00:00 2001 From: Hydrogen <3038094028@qq.com> Date: Sat, 19 Nov 2022 01:43:23 +0800 Subject: [PATCH 02/11] test(compiler-sfc): cases for default lang --- packages/compiler-sfc/__tests__/parse.spec.ts | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/packages/compiler-sfc/__tests__/parse.spec.ts b/packages/compiler-sfc/__tests__/parse.spec.ts index 5f1db5e2499..4634e2f82a4 100644 --- a/packages/compiler-sfc/__tests__/parse.spec.ts +++ b/packages/compiler-sfc/__tests__/parse.spec.ts @@ -319,5 +319,32 @@ h1 { color: red } `At least one