diff --git a/src/node/markdownToVue.ts b/src/node/markdownToVue.ts
index 273d4dc134f4..34036c2225fa 100644
--- a/src/node/markdownToVue.ts
+++ b/src/node/markdownToVue.ts
@@ -162,8 +162,9 @@ export async function createMarkdownToVueRenderFn(
}
const scriptRE = /<\/script>/
+const scriptLangTsRE = /<\s*script[^>]*\blang=['"]ts['"][^>]*/
const scriptSetupRE = /<\s*script[^>]*\bsetup\b[^>]*/
-const scriptClientRe = /<\s*script[^>]*\bclient\b[^>]*/
+const scriptClientRE = /<\s*script[^>]*\bclient\b[^>]*/
const defaultExportRE = /((?:^|\n|;)\s*)export(\s*)default/
const namedDefaultExportRE = /((?:^|\n|;)\s*)export(.+)as(\s*)default/
@@ -176,10 +177,12 @@ function genPageDataCode(tags: string[], data: PageData) {
return (
scriptRE.test(tag) &&
!scriptSetupRE.test(tag) &&
- !scriptClientRe.test(tag)
+ !scriptClientRE.test(tag)
)
})
+ const isUsingTS = tags.findIndex((tag) => scriptLangTsRE.test(tag)) > -1
+
if (existingScriptIndex > -1) {
const tagSrc = tags[existingScriptIndex]
// user has `
+ ``
)
}