| 1234567891011121314151617181920212223242526272829303132333435363738 |
- import fs from 'fs-extra';
- import path from 'path';
- // This build script copies all .template.ts files from the "src" directory to the "dist" directory.
- // This is necessary because the .template.ts files are used to generate the actual source files.
- const templateFiles = findFilesWithSuffix(path.join(__dirname, 'src'), '.template.ts');
- for (const file of templateFiles) {
- // copy to the equivalent path in the "dist" rather than "src" directory
- const relativePath = path.relative(path.join(__dirname, 'src'), file);
- const distPath = path.join(__dirname, 'dist', relativePath);
- fs.ensureDirSync(path.dirname(distPath));
- fs.copyFileSync(file, distPath);
- }
- function findFilesWithSuffix(directory: string, suffix: string): string[] {
- const files: string[] = [];
- function traverseDirectory(dir: string) {
- const dirContents = fs.readdirSync(dir);
- dirContents.forEach(item => {
- const itemPath = path.join(dir, item);
- const stats = fs.statSync(itemPath);
- if (stats.isDirectory()) {
- traverseDirectory(itemPath);
- } else {
- if (item.endsWith(suffix)) {
- files.push(itemPath);
- }
- }
- });
- }
- traverseDirectory(directory);
- return files;
- }
|