const fs = require("fs"); const files = []; const docRoot = "./src/Documentation/doc"; const processDir = (dir) => { console.log(dir); for (const file of fs.readdirSync(dir)) { const path = `${dir}/${file}`; if (fs.lstatSync(`${dir}/${file}`).isDirectory()) { processDir(path); continue; } if (path.startsWith(docRoot + "/")) { files.push(path.slice(docRoot.length + 1)); } } }; processDir(docRoot); const autogenfile = `// THIS FILE IS AUTOGENERATED ${files.map((f, i) => `import file${i} from "!!raw-loader!./doc/${f}";`).join("\n")} interface Document { default: string; } export const AllPages: Record = {}; ${files.map((f, i) => `AllPages["${f}"] = file${i};`).join("\n")} `; fs.writeFile(docRoot + "/../pages.ts", autogenfile, (err) => { if (err) { console.error(err); } // file written successfully });