32 lines
942 B
JavaScript
32 lines
942 B
JavaScript
// scripts/build.mjs — copies src to dist (no transpilation needed, plain JS)
|
|
import { readFileSync, writeFileSync, mkdirSync, readdirSync, statSync, copyFileSync, existsSync } from 'fs';
|
|
import { join, dirname, relative } from 'path';
|
|
|
|
const root = dirname(new URL(import.meta.url).pathname);
|
|
const projectRoot = join(root, '..');
|
|
const srcDir = join(projectRoot, 'src');
|
|
const distDir = join(projectRoot, 'dist');
|
|
|
|
function copyDir(src, dest) {
|
|
mkdirSync(dest, { recursive: true });
|
|
const entries = readdirSync(src);
|
|
for (const entry of entries) {
|
|
const srcPath = join(src, entry);
|
|
const destPath = join(dest, entry);
|
|
const stat = statSync(srcPath);
|
|
if (stat.isDirectory()) {
|
|
copyDir(srcPath, destPath);
|
|
} else {
|
|
copyFileSync(srcPath, destPath);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Clean dist
|
|
if (existsSync(distDir)) {
|
|
// Just overwrite files
|
|
}
|
|
|
|
copyDir(srcDir, distDir);
|
|
console.log('Build complete: src → dist');
|