generate-index-modules.ts
1.04 KB
import * as glob from "glob";
import * as path from "path";
import * as fs from "fs";
let directories = glob.sync("./src/app/**/**/");
// maps to absolute path
directories = directories.map((directory: string) => {
return path.resolve(__dirname, "..", directory);
});
// iterate to generate the index folders
directories.forEach((directory: string) => {
// skips the app directory
if (!/\/app$/.test(directory)) {
let current_files = glob.sync("./*.ts", { nodir: true, cwd: directory, ignore: ['./index.ts', './*.spec.ts'] });
console.log("DIRECTORY: ", directory);
console.log("FILES: ", current_files);
let indexPath = path.join(directory, "index.ts");
let index_ts_content: string = "/* Module Index Entry - generated using the script npm run generate-index */\n";
let exports_content = current_files.map((file) => {
return `export * from "./${path.basename(file, ".ts")}";\n`;
});
fs.writeFileSync(indexPath, index_ts_content + exports_content.join(""));
}
});