24 lines
891 B
JavaScript
24 lines
891 B
JavaScript
import { readdirSync, mkdirSync, copyFileSync } from 'node:fs';
|
|
import { dirname, join, resolve } from 'node:path';
|
|
import { fileURLToPath } from 'node:url';
|
|
|
|
// tsc only emits .ts; non-TS assets read at runtime via import.meta.url must be
|
|
// copied into dist/ so the compiled build can find them.
|
|
function copyDir(src, dest) {
|
|
mkdirSync(dest, { recursive: true });
|
|
for (const entry of readdirSync(src, { withFileTypes: true })) {
|
|
const from = join(src, entry.name);
|
|
const to = join(dest, entry.name);
|
|
if (entry.isDirectory()) {
|
|
copyDir(from, to);
|
|
} else {
|
|
copyFileSync(from, to);
|
|
}
|
|
}
|
|
}
|
|
|
|
const backendRoot = resolve(dirname(fileURLToPath(import.meta.url)), '..');
|
|
const to = resolve(backendRoot, 'dist/services/email/htmlTemplates');
|
|
copyDir(resolve(backendRoot, 'src/services/email/htmlTemplates'), to);
|
|
console.log(`Copied email templates -> ${to}`);
|