From 66cd1640d16170e0c2d9eb4565ad1ebe81f940e1 Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Sat, 24 Sep 2022 19:57:56 +0530 Subject: [PATCH] fix(build): remove leading underscore from chunks (#1394) --- src/node/build/bundle.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/node/build/bundle.ts b/src/node/build/bundle.ts index 1ec51b37..1d3fb566 100644 --- a/src/node/build/bundle.ts +++ b/src/node/build/bundle.ts @@ -68,6 +68,7 @@ export async function bundle( // other preserveEntrySignatures: 'allow-extension', output: { + sanitizeFileName, ...rollupOptions?.output, ...(ssr ? { @@ -197,3 +198,19 @@ function staticImportedByEntry( cache.set(id, someImporterIs) return someImporterIs } + +// https://github.com/rollup/rollup/blob/69ff4181e701a0fe0026d0ba147f31bc86beffa8/src/utils/sanitizeFileName.ts + +const INVALID_CHAR_REGEX = /[\x00-\x1F\x7F<>*#"{}|^[\]`;?:&=+$,]/g +const DRIVE_LETTER_REGEX = /^[a-z]:/i + +function sanitizeFileName(name: string) { + const driveLetter = DRIVE_LETTER_REGEX.exec(name)?.[0] || '' + return ( + driveLetter + + name + .substring(driveLetter.length) + .replace(INVALID_CHAR_REGEX, '_') + .replace(/^_+/, '') + ) +}