rune
Version:
CLI to upload your games to Rune
37 lines (36 loc) • 1.03 kB
JavaScript
import fs from "fs";
import path from "path";
export function formatTargetDir(targetDir) {
return targetDir.trim().replace(/\/+$/g, "");
}
export const copy = async (src, dest) => {
const stat = await fs.promises.stat(src);
if (stat.isDirectory()) {
await copyDir(src, dest);
}
else {
await fs.promises.copyFile(src, dest);
}
};
const copyDir = async (srcDir, destDir) => {
await fs.promises.mkdir(destDir, { recursive: true });
for (const file of await fs.promises.readdir(srcDir)) {
const srcFile = path.resolve(srcDir, file);
const destFile = path.resolve(destDir, file);
await copy(srcFile, destFile);
}
};
export async function emptyDir(dir) {
if (!fs.existsSync(dir)) {
return;
}
for (const file of await fs.promises.readdir(dir)) {
if (file === ".git") {
continue;
}
await fs.promises.rm(path.resolve(dir, file), {
recursive: true,
force: true,
});
}
}