rollup-umd-scripts
Version:
CLI for rollup-umd projects
47 lines (45 loc) • 1.41 kB
JavaScript
;
/* eslint-disable no-undef, no-param-reassign, global-require, no-unused-vars, no-console, no-underscore-dangle, prefer-destructuring, no-shadow */
var async = require('async');
var path = require('path');
var fs = require('fs');
exports.command = 'copy';
exports.desc = 'Copy template documentation from `internal/templates/docs` to `docs`.';
exports.builder = function (yargs) {
return yargs.option('path', {
alias: 'p',
describe: 'path',
default: process.cwd()
});
};
exports.handler = function (argv, cb) {
switch (argv.path[0]) {
case '/':
break;
default:
argv.path = argv.path[1] === '/' ? path.join(process.cwd(), argv.path.slice(2)) : path.join(process.cwd(), argv.path);
break;
}
var p = path.join(argv.path, 'internals/templates/docs');
var d = path.join(argv.path, 'docs');
async.series([function (cb) {
return spawn('mkdir -p ' + d, cb);
}], function (err, results) {
if (err) {
console.error('[ERROR] ' + err.message);
process.exit(1);
}
var files = fs.readdirSync(p);
async.map(files, function (file, done) {
return spawn('cp ' + path.join(p, file) + ' ' + path.join(d, file), done);
}, function (err, results) {
if (err) {
console.error('[ERROR] ' + err.message);
process.exit(1);
}
if (cb) {
cb(null, results);
}
});
});
};