bitburner-src/tools/bundle-doc/index.js

36 lines
888 B
JavaScript

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<string, Document> = {};
${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
});