Skip to content

Commit 03ca5c8

Browse files
Regex fixes
1 parent 5869695 commit 03ca5c8

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/index.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,19 @@ export type Config = {
2525
const defaultConfig = { useRecommendedBuildConfig: true, removeViteModuleLoader: false, deleteInlinedFiles: true }
2626

2727
export function replaceScript(html: string, scriptFilename: string, scriptCode: string, removeViteModuleLoader = false): string {
28-
const reScript = new RegExp(`<script([^>]*?) src="(.*)?${scriptFilename}"([^>]*)></script>`)
28+
const f = scriptFilename.replaceAll(".", "\\.")
29+
const reScript = new RegExp(`<script([^>]*?) src="(?:[^"]*?/)?${f}"([^>]*)></script>`)
2930
const preloadMarker = /"?__VITE_PRELOAD__"?/g
3031
const newCode = scriptCode.replace(preloadMarker, "void 0").replace(/<(\/script>|!--)/g, '\\x3C$1')
31-
const inlined = html.replace(reScript, (_, beforeSrc, _base, afterSrc) => `<script${beforeSrc}${afterSrc}>${newCode.trim()}</script>`)
32+
const inlined = html.replace(reScript, (_, beforeSrc, afterSrc) => `<script${beforeSrc}${afterSrc}>${newCode.trim()}</script>`)
3233
return removeViteModuleLoader ? _removeViteModuleLoader(inlined) : inlined
3334
}
3435

3536
export function replaceCss(html: string, scriptFilename: string, scriptCode: string): string {
36-
const reStyle = new RegExp(`<link([^>]*?) href="(.*)?${scriptFilename}"([^>]*?)>`)
37+
const f = scriptFilename.replaceAll(".", "\\.")
38+
const reStyle = new RegExp(`<link([^>]*?) href="(?:[^"]*?/)?${f}"([^>]*)>`)
3739
const newCode = scriptCode.replace(`@charset "UTF-8";`, "")
38-
const inlined = html.replace(reStyle, (_, beforeSrc, _base, afterSrc) => `<style${beforeSrc}${afterSrc}>${newCode.trim()}</style>`);
40+
const inlined = html.replace(reStyle, (_, beforeSrc, afterSrc) => `<style${beforeSrc}${afterSrc}>${newCode.trim()}</style>`);
3941
return inlined
4042
}
4143

0 commit comments

Comments
 (0)