mirror of
https://github.com/spacebarchat/server.git
synced 2024-11-22 10:22:39 +01:00
38 lines
1.0 KiB
JavaScript
38 lines
1.0 KiB
JavaScript
const path = require("path");
|
|
const fs = require("fs");
|
|
const { execIn, getLines } = require("./utils");
|
|
|
|
if (!process.argv[2] || !fs.existsSync(process.argv[2])) {
|
|
console.log("Please pass a directory that exists!");
|
|
process.exit(1);
|
|
}
|
|
console.log(`// ${process.argv[2]}/index.ts`);
|
|
const recurse = process.argv.includes("--recursive");
|
|
|
|
const files = fs.readdirSync(process.argv[2]).filter((x) => x.endsWith(".ts") && x != "index.ts");
|
|
|
|
let output = "";
|
|
|
|
files.forEach((x) => (output += `export * from "./${x.replaceAll(".ts", "")}";\n`));
|
|
|
|
const dirs = fs.readdirSync(process.argv[2]).filter((x) => {
|
|
try {
|
|
fs.readdirSync(path.join(process.argv[2], x));
|
|
return true;
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
});
|
|
dirs.forEach((x) => {
|
|
output += `export * from "./${x}/index";\n`;
|
|
});
|
|
console.log(output);
|
|
fs.writeFileSync(path.join(process.argv[2], "index.ts"), output);
|
|
|
|
dirs.forEach((x) => {
|
|
if (recurse)
|
|
console.log(
|
|
execIn([process.argv[0], process.argv[1], `"${path.join(process.argv[2], x)}"`, "--recursive"].join(" "), process.cwd())
|
|
);
|
|
});
|