mirror of
https://github.com/nunocoracao/blowfish.git
synced 2025-04-20 18:41:53 +02:00
32 lines
770 B
JavaScript
32 lines
770 B
JavaScript
'use strict';
|
|
|
|
const path = require('path');
|
|
const fs = require('fs').promises;
|
|
const util = require('util');
|
|
const ncp = util.promisify(require('ncp'));
|
|
|
|
async function ensureDir(fromTo) {
|
|
const toPath = path.dirname(fromTo.to);
|
|
|
|
await fs.mkdir(toPath, { recursive: true });
|
|
}
|
|
|
|
async function copyFile(fromTo) {
|
|
await ncp(fromTo.from, fromTo.to, { dereference: true });
|
|
}
|
|
|
|
async function ensureDirAndCopy(root, relativeFromTo) {
|
|
const fromTo = {
|
|
from: path.join(root, relativeFromTo.from),
|
|
to: path.join(root, relativeFromTo.to)
|
|
};
|
|
|
|
await ensureDir(fromTo);
|
|
await copyFile(fromTo);
|
|
|
|
return fromTo;
|
|
}
|
|
|
|
module.exports = function (root, copyItems) {
|
|
return Promise.all(copyItems.map(relativeFromTo => ensureDirAndCopy(root, relativeFromTo)));
|
|
};
|