Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
fs.removeAsync = pathArg => new Promise((resolve, reject) => {
try {
if (fs.lstatSync(pathArg).isDirectory()) {
rimraf(pathArg);
} else {
fs.unlinkSync(pathArg);
}
resolve();
} catch (err) {
reject(err);
}
});
function copyDirSync(src, dest) {
if (fs.lstatSync(src).isDirectory()) {
const files = fs.readdirSync(src);
files.forEach((file) => {
const curSource = path.join(src, file);
const curDest = path.join(dest, file);
if (fs.lstatSync(curSource).isDirectory()) {
if (!fs.existsSync(curDest)) {
createDir(curDest);
}
copyDirSync(curSource, curDest);
} else {
copyFileSync(curSource, curDest);
}
});
}
}
function copyFileSync(src, dest) {
if (!fs.lstatSync(src).isFile()) {
throw new Error(`copyFileSync expected file but got: ${src}`);
}
fs.writeFileSync(dest, fs.readFileSync(src));
}
fs.readdirSync(dirPath).forEach((entry) => {
const entryPath = path.join(dirPath, entry);
if (fs.lstatSync(entryPath).isDirectory()) {
rimraf(entryPath);
} else {
fs.unlinkSync(entryPath);
}
});
fs.rmdirSync(dirPath);
files.forEach((file) => {
const curSource = path.join(src, file);
const curDest = path.join(dest, file);
if (fs.lstatSync(curSource).isDirectory()) {
if (!fs.existsSync(curDest)) {
createDir(curDest);
}
copyDirSync(curSource, curDest);
} else {
copyFileSync(curSource, curDest);
}
});
}
fs.copySync = (src, dest) => {
if (fs.lstatSync(src).isDirectory()) {
copyDirSync(src, dest);
} else {
copyFileSync(src, dest);
}
};