spinjs
Version:
[](https://gitter.im/sysgears/spinjs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [;
var cluster = require("cluster");
var minilog = require("minilog");
var yargs = require("yargs");
var createBuilders_1 = require("./createBuilders");
var executor_1 = require("./executor");
minilog.enable();
var logger = minilog('spin');
try {
var VERSION = require('../package.json').version;
var argv = yargs
.command('build', 'compiles package for usage in production')
.command(['watch', 'start'], 'launches package in development mode with hot code reload')
.command('exp', 'launches server for exp and exp tool')
.command('test [mochapack options]', 'runs package tests')
.demandCommand(1, '')
.option('c', {
describe: 'Specify path to config file',
type: 'string'
})
.option('d', {
describe: 'Disable builders with names having regexp',
type: 'string'
})
.option('e', {
describe: 'Enable builders with names having regexp',
type: 'string'
})
.option('n', {
describe: 'Show builder names',
default: false,
type: 'boolean'
})
.option('verbose', {
alias: 'v',
default: false,
describe: 'Show generated config',
type: 'boolean'
})
.version(VERSION).argv;
var cmd = argv._[0];
var config_1;
if (argv.help && cmd !== 'exp') {
yargs.showHelp();
}
else {
var cwd = process.cwd();
if (['exp', 'build', 'test', 'watch', 'start'].indexOf(cmd) >= 0) {
config_1 = createBuilders_1.default({ cwd: cwd, cmd: cmd, argv: argv });
}
if (cluster.isMaster) {
logger.info("Version " + VERSION);
if (argv.n) {
logger.info('Builders:');
var builderNames = Object.keys(config_1.builders)
.map(function (key) { return (config_1.builders[key].enabled ? '+' : '-') + key; })
.sort();
builderNames.forEach(function (key) { return logger.info(' ' + key); });
}
}
var enabledBuilders = Object.keys(config_1.builders)
.filter(function (key) { return config_1.builders[key].enabled; })
.reduce(function (out, key) {
out[key] = config_1.builders[key];
return out;
}, {});
if (Object.keys(enabledBuilders).length === 0) {
logger.warn('No enabled spinjs builders found, exiting.');
}
else {
executor_1.default(cmd, argv, enabledBuilders, config_1.spin);
}
}
}
catch (e) {
logger.error(e);
process.exit(1);
}
//# sourceMappingURL=cli.js.map