@lesnoypudge/builder
Version:
lesnoypudge-builder
30 lines (29 loc) • 857 B
JavaScript
import { pathReplacer } from "../replacers/pathReplacer.js";
import fs from "node:fs/promises";
import { invariant } from "@lesnoypudge/utils";
const pathRegex = /(from\s+['"])([^'"]+)(['"])/g;
const processJSFiles = async ({
jsMap,
...replacerOption
}) => {
for (const [filePath, data] of jsMap.entries()) {
const updatedData = data.replaceAll(
pathRegex,
(match, leftQuote, pathToReplace, rightQuote) => {
invariant(typeof pathToReplace === "string");
const newPath = pathReplacer({
...replacerOption,
fileNames: [...jsMap.keys()],
filePath,
data: pathToReplace
});
return `${leftQuote}${newPath}${rightQuote}`;
}
);
await fs.writeFile(filePath, updatedData, "utf8");
}
};
export {
processJSFiles
};
//# sourceMappingURL=processJSFiles.js.map