diff --git a/bin/update-modules-translations.mjs b/bin/update-modules-translations.mjs index 6d16b4710..580f69c70 100644 --- a/bin/update-modules-translations.mjs +++ b/bin/update-modules-translations.mjs @@ -8,6 +8,7 @@ import { resolve } from "node:path"; import { glob } from "glob"; import { load } from "js-yaml"; import { parseArgs } from "node:util"; +import { sep as filePathSeparator } from "path"; const BASE_URL = `https://static.zdassets.com/translations`; @@ -67,7 +68,7 @@ async function getModules() { for (const file of files) { const content = await readFile(file); const parsedContent = load(content); - const moduleName = file.split("/")[2]; + const moduleName = file.split(filePathSeparator)[2]; result[moduleName] = parsedContent.packages[0]; } diff --git a/rollup.config.mjs b/rollup.config.mjs index c50c046a3..dd8fed2e0 100644 --- a/rollup.config.mjs +++ b/rollup.config.mjs @@ -10,11 +10,21 @@ import terser from "@rollup/plugin-terser"; import svgr from "@svgr/rollup"; import { generateImportMap } from "./generate-import-map.mjs"; import { defineConfig } from "rollup"; +import { sep as filePathSeparator } from "path"; const fileNames = "[name]-bundle.js"; const isProduction = process.env.NODE_ENV === "production"; -const TRANSLATION_FILE_REGEX = - /src\/modules\/(.+?)\/translations\/locales\/.+?\.json$/; +const TRANSLATION_FILE_REGEX = ( // IIFE + () => { + // escape the file path separator if it's a backslash (Windows) + const escapedSeparator = filePathSeparator.replace("\\", "\\\\"); + + return new RegExp( + ["src", "modules", "(.+?)", "translations", "locales", ".+?\.json$"].join(escapedSeparator) + ); + } +)(); + export default defineConfig([ // Configuration for bundling the script.js file