1
0
Code Issues Pull Requests Packages Projects Releases Wiki Activity GitHub Gitee

46 lines
1.1 KiB
JavaScript
Raw Normal View History

2016-02-23 00:36:23 +08:00
/**
* Created by tdzl2003 on 2/13/16.
*/
const {loadSession} = require('./api');
const userCommands = require('./user').commands;
import {commands as bundleCommands} from './bundle';
function printUsage({args}) {
// const commandName = args[0];
// TODO: print usage of commandName, or print global usage.
console.log('Usage is under development now.')
console.log('Visit `https://github.com/reactnativecn/react-native-pushy` for early document.');
process.exit(1);
}
const commands = {
...userCommands,
...bundleCommands,
help: printUsage,
};
function translateOptions(options){
for (let key in options) {
const v = options[key];
if (typeof(v) === 'string') {
options[key] = v.replace(/\$\{(\w+)\}/, function (v, n){
return options[n] || process.env[n] || v;
})
}
}
}
exports.run = function () {
const argv = require('cli-arguments').parse(require('../cli.json'));
translateOptions(argv.options);
loadSession()
.then(()=>commands[argv.command](argv))
.catch(err=>{setTimeout(()=>{
throw err;
})});
};