#!/usr/bin/env node var RSG = require('../lib/rsg') var argv = require('minimist')(process.argv.slice(2)) var GRAY_COLOR = '\u001b[90m' var MAGENTA_COLOR = '\u001b[35m' var RESET_COLOR = '\u001b[0m' !(function () { if (!argv._[0] || argv.h || argv.help) { return require('fs').createReadStream(require('path').resolve(__dirname, 'usage.txt')) .pipe(process.stdout) .on('close', function () { process.exit(1) }) } if (argv.V || argv.version) { return console.log(require('../package.json').version) } var opts = { output: argv.o || argv.output, title: argv.t || argv.title, root: argv.r || argv.root, pushstate: argv.p || argv.pushstate, files: argv.f || argv.files, config: argv.c || argv.config } // removing falsy fields from an opts Object.keys(opts).forEach(function (name) { if (!opts[name]) { delete opts[name] } }) // convert files to array // 'a.js, b.js' -> ['a.js', 'b.js'] if (opts.files) { opts.files = opts.files.split(',').map(function (part) { return part.trim() }) } RSG(argv._[0], opts).generate(function (err) { if (err) { console.error(String(err)) process.exit(1) } if (argv.v || argv.verbose) { var time = '[' + GRAY_COLOR + new Date().toLocaleTimeString() + RESET_COLOR + ']' console.log(time, MAGENTA_COLOR + this.opts.output) } process.exit(0) }) })()