motion
Version:
motion - moving development forward
68 lines (43 loc) • 2.26 kB
JavaScript
;
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 _version = require('./lib/version');
var _version2 = _interopRequireDefault(_version);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } }
function _toArray(arr) { return Array.isArray(arr) ? arr : Array.from(arr); }
if (process.env.MOTION_DEBUG) {
process.env.startedat = Date.now();
}
const commands = ['run', 'new', 'build', 'update'];
var _process$argv = _toArray(process.argv);
let node = _process$argv[0];
let motion = _process$argv[1];
var _process$argv$ = _process$argv[2];
let cmd = _process$argv$ === undefined ? 'run' : _process$argv$;
let flags = _process$argv.slice(3);
// motion --debug
if (cmd && cmd[0] == '-' && cmd != '--help') {
flags = [cmd].concat(_toConsumableArray(flags));
cmd = 'run';
}
// bad command
if (cmd && commands.indexOf(cmd) === -1) {
cmd = '--help';
}
let args = [node, motion, cmd].concat(_toConsumableArray(flags));
// async check for new versions
(0, _child_process.exec)('npm view motion@latest version -loglevel silent', (err, current) => {
const outdated = (a, b) => (0, _semverCompare2.default)(a, b) == -1;
if (!err && _version2.default && outdated(_version2.default.trim(), current.trim())) console.log(` Motion update available:`.yellow + ` v${ _version2.default.trim() } -> v${ current.trim() }`.dim + ` (motion update)`.dim);
});
_commander2.default.version(_version2.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);
//# sourceMappingURL=motion.js.map