hexo/node_modules/ncp/bin/ncp

49 lines
1.1 KiB
JavaScript

#!/usr/bin/env node
var ncp = require('../lib/ncp'),
args = process.argv.slice(2),
source, dest;
if (args.length < 2) {
console.error('Usage: ncp [source] [destination] [--filter=filter] [--limit=concurrency limit]');
process.exit(1);
}
// parse arguments the hard way
function startsWith(str, prefix) {
return str.substr(0, prefix.length) == prefix;
}
var options = {};
args.forEach(function (arg) {
if (startsWith(arg, "--limit=")) {
options.limit = parseInt(arg.split('=', 2)[1], 10);
}
if (startsWith(arg, "--filter=")) {
options.filter = new RegExp(arg.split('=', 2)[1]);
}
if (startsWith(arg, "--stoponerr")) {
options.stopOnErr = true;
}
});
ncp.ncp(args[0], args[1], options, function (err) {
if (Array.isArray(err)) {
console.error('There were errors during the copy.');
err.forEach(function (err) {
console.error(err.stack || err.message);
});
process.exit(1);
}
else if (err) {
console.error('An error has occurred.');
console.error(err.stack || err.message);
process.exit(1);
}
});