pkg-assets
Version:
Small lib to handle/publish static files/assets in node modules.
51 lines (32 loc) • 941 B
JavaScript
const path = require('path');
const fs = require('fs-extra');
const findModules = require('find-modules');
module.exports = (srcFolder, destFolder) => new Promise((resolve, reject) => {
let resultList = [];
findModules(srcFolder, (err, modules) => {
if(err) {
return reject(err);
}
for(i in modules) {
let mod = modules[i];
try {
let pkg = fs.readJsonSync(path.resolve(mod, 'package.json'));
if(!pkg.assets) {
continue;
}
for(j in pkg.assets) {
let folder = pkg.assets[j];
let src = path.resolve(mod, folder);
let dest = path.resolve(destFolder, pkg.name, folder);
fs.copySync(src, dest);
resultList.push({
src,
dest,
});
}
} catch (error) {
}
}
resolve(resultList);
});
});