48 lines
1.3 KiB
JavaScript
Executable File
48 lines
1.3 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
'use strict';
|
|
var copyfiles = require('./index');
|
|
var args = require('yargs');
|
|
var path = require('path');
|
|
args.alias('u', 'up')
|
|
.describe('u', 'slice a path off the bottom of the paths')
|
|
.number('u')
|
|
if (path.basename(args.argv.$0) === 'copyup') {
|
|
args.default('u', '1');
|
|
}
|
|
args.alias('a', 'all')
|
|
.describe('a', 'include files & directories begining with a dot (.)')
|
|
.boolean('a')
|
|
.alias('f','flat')
|
|
.describe('f', 'flatten the output')
|
|
.boolean('f')
|
|
.alias('e', 'exclude')
|
|
.describe('e', 'pattern or glob to exclude (may be passed multiple times)')
|
|
.alias('E', 'error')
|
|
.boolean('E')
|
|
.describe('E', 'throw error if nothing is coppied')
|
|
.alias('V', 'verbose')
|
|
.boolean('V')
|
|
.describe('V', 'print more information to console')
|
|
.alias('s','soft')
|
|
.boolean('s')
|
|
.describe('s', 'do not overwrite destination files if they exist')
|
|
.alias('F', 'follow')
|
|
.boolean('F')
|
|
.describe('F', 'follow symbolink links')
|
|
.usage('$0 [options] inFile [more files ...] outDirectory')
|
|
.help()
|
|
.alias('v', 'version')
|
|
.alias('h', 'help');
|
|
var argv = args.argv;
|
|
if (argv.flat) {
|
|
argv.up = true;
|
|
}
|
|
copyfiles(argv._, argv, function (err) {
|
|
if (err) {
|
|
console.error(err);
|
|
process.exit(1);
|
|
} else {
|
|
process.exit(0);
|
|
}
|
|
});
|