const fs = require("fs");
|
const path = require("path");
|
|
const root = path.resolve(__dirname, "..");
|
const dist = path.join(root, "dist");
|
const rootFiles = ["index.html"];
|
const directories = ["css", "js", "pages", "assets"];
|
|
function copyFile(source, target) {
|
fs.mkdirSync(path.dirname(target), { recursive: true });
|
fs.copyFileSync(source, target);
|
}
|
|
fs.rmSync(dist, { recursive: true, force: true });
|
rootFiles.forEach((file) => copyFile(path.join(root, file), path.join(dist, file)));
|
directories.forEach((directory) => copyDirectory(path.join(root, directory), path.join(dist, directory)));
|
|
console.log("Build output: " + dist);
|
|
function copyDirectory(source, target) {
|
fs.readdirSync(source, { withFileTypes: true }).forEach((entry) => {
|
const sourcePath = path.join(source, entry.name);
|
const targetPath = path.join(target, entry.name);
|
if (entry.isDirectory()) {
|
copyDirectory(sourcePath, targetPath);
|
return;
|
}
|
copyFile(sourcePath, targetPath);
|
});
|
}
|