create-cen-app
Version:
create an client-engineering-style app
31 lines (26 loc) • 933 B
text/typescript
import { escapeRegexChars } from "./escapeRegexChars.js";
import fs from "fs";
import path from "path";
function replaceTextInFilesBetween(
directoryPath: string,
searchStart: string,
searchEnd: string,
replacement: string,
): void {
const files = fs.readdirSync(directoryPath);
files.forEach((file) => {
const filePath = path.join(directoryPath, file);
if (fs.statSync(filePath).isDirectory()) {
replaceTextInFilesBetween(filePath, searchStart, searchEnd, replacement);
} else {
const data = fs.readFileSync(filePath, "utf8");
const updatedData = data.replace(
new RegExp(`${escapeRegexChars(searchStart)}[\\s\\S]*?${escapeRegexChars(searchEnd)}`, "g"),
replacement,
);
// const updatedData = data.replace(new RegExp(search, "g"), replacement);
fs.writeFileSync(filePath, updatedData, "utf8");
}
});
}
export default replaceTextInFilesBetween;