motion
Version:
motion - moving development forward
60 lines (41 loc) • 1.96 kB
JavaScript
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _commander = require('commander');
var _commander2 = _interopRequireDefault(_commander);
var _colors = require('colors');
var _colors2 = _interopRequireDefault(_colors);
var _child_process = require('child_process');
var _semverCompare = require('semver-compare');
var _semverCompare2 = _interopRequireDefault(_semverCompare);
var _libVersion = require('./lib/version');
var _libVersion2 = _interopRequireDefault(_libVersion);
if (process.env.MOTION_DEBUG) {
process.env.startedat = Date.now();
}
var commands = ['run', 'new', 'build', 'update'];
var _process$argv = process.argv;
var node = _process$argv[0];
var motion = _process$argv[1];
var _process$argv$2 = _process$argv[2];
var cmd = _process$argv$2 === undefined ? 'run' : _process$argv$2;
var flags = _process$argv.slice(3);
// motion --debug
if (cmd && cmd[0] == '-' && cmd != '--help') {
flags = [cmd].concat(flags);
cmd = 'run';
}
// bad command
if (cmd && commands.indexOf(cmd) === -1) {
cmd = '--help';
}
var args = [node, motion, cmd].concat(flags);
// async check for new versions
_child_process.exec('npm view motion@latest version -loglevel silent', function (err, current) {
var outdated = function outdated(a, b) {
return _semverCompare2['default'](a, b) == -1;
};
if (!err && _libVersion2['default'] && outdated(_libVersion2['default'].trim(), current.trim())) console.log(' Motion update available:'.yellow + (' v' + _libVersion2['default'].trim() + ' -> v' + current.trim()).dim + ' (motion update)'.dim);
});
_commander2['default'].version(_libVersion2['default']).command('run', 'run app, `motion` is a shortcut for this').command('new [name] [template]', 'start a new app').command('build', 'build for production')
// .command('up', 'upload app to the web with Surge.sh')
.command('update', 'update motion');
_commander2['default'].parse(args);