UNPKG

@dotgov/core

Version:

DGS core.

49 lines (41 loc) 1.36 kB
const path = require('path'); const fs = require('fs'); function copyFileSync(source, target) { let targetFile = target; // If target is a directory a new file with the same name will be created if (fs.existsSync(target)) { if (fs.lstatSync(target).isDirectory()) { targetFile = path.join(target, path.basename(source)); } } fs.writeFileSync(targetFile, fs.readFileSync(source)); }; function copyFolderRecursiveSync(source, target, blacklist) { let files = []; // Check if folder needs to be created or integrated let targetFolder = path.join(target, path.basename(source)); if (!fs.existsSync(targetFolder)) { fs.mkdirSync(targetFolder); } // Copy if (fs.lstatSync(source).isDirectory()) { files = fs.readdirSync(source); files.forEach(function (file) { if (blacklist.indexOf(file) !== -1) { return; } let curSource = path.join(source, file); if (fs.lstatSync(curSource).isDirectory()) { copyFolderRecursiveSync(curSource, targetFolder, blacklist); } else { copyFileSync(curSource, targetFolder); } }); } }; const moveAssets = (input, output, blacklist = []) => { if (fs.existsSync(input)) { copyFolderRecursiveSync(input, output, blacklist); } }; module.exports = { moveAssets };