@ts-dev-tools/core
Version:
TS dev tools Core
32 lines (31 loc) • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.recreateFolderRecursive = recreateFolderRecursive;
exports.deleteFolderRecursive = deleteFolderRecursive;
exports.copyFolder = copyFolder;
const node_fs_1 = require("node:fs");
const cli_1 = require("./cli");
async function recreateFolderRecursive(path) {
if ((0, node_fs_1.existsSync)(path)) {
await deleteFolderRecursive(path);
}
(0, node_fs_1.mkdirSync)(path, { recursive: true });
}
async function deleteFolderRecursive(path) {
if ((0, node_fs_1.existsSync)(path)) {
await (0, cli_1.safeExec)(path, `rm -rf ${path}`);
}
}
async function copyFolder(src, dest) {
await recreateFolderRecursive(dest);
const command = [
"rsync -a",
"--include='/.git/'",
"--include='/.git/hooks/'",
"--include='/.git/hooks/**'",
"--exclude='/.git/**'",
`"${src}/"`,
`"${dest}/"`,
].join(" ");
await (0, cli_1.safeExec)(src, command);
}