From 59df10590b958bbc39cc2e8c81a2209eda9d431b Mon Sep 17 00:00:00 2001
From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com>
Date: Mon, 6 Jun 2022 10:09:48 +0530
Subject: [PATCH] fix: allow lang='ts' on scripts in markdown (#693) (#701)
fix #693
---
src/node/markdownToVue.ts | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/node/markdownToVue.ts b/src/node/markdownToVue.ts
index 8dca195e..740c3713 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 `
+ ``
)
}