1
0
Code Issues Pull Requests Packages Projects Releases Wiki Activity GitHub Gitee
react-native-pushy/react-native-pushy-cli/cli.js
2016-02-14 16:49:04 +08:00

65 lines
1.4 KiB
JavaScript
Executable File

#!/usr/bin/env node
/**
* Created by tdzl2003 on 2/13/16.
*/
var path = require('path');
var fs = require('fs');
var CLI_MODULE_PATH = function() {
return path.resolve(
process.cwd(),
'node_modules',
'react-native-pushy',
'local-cli'
);
};
var PACKAGE_JSON_PATH = function() {
return path.resolve(
process.cwd(),
'node_modules',
'react-native-pushy',
'package.json'
);
};
checkForVersionCommand();
require('babel-register')({
'plugins': [
'transform-async-to-generator',
'transform-strict-mode',
'transform-object-rest-spread',
'transform-es2015-parameters',
'transform-es2015-destructuring',
],
});
var cli;
var cliPath = CLI_MODULE_PATH();
if (fs.existsSync(cliPath)) {
cli = require(cliPath);
}
if (cli) {
cli.run();
} else {
console.error('Are you at home directory of a react-native project?');
console.error('`pushy install` is under development, please run `npm install react-native-pushy` to install pushy manually.');
process.exit(1);
}
function checkForVersionCommand() {
if (process.argv.indexOf('-v') >= 0 || process.argv[2] === 'version') {
console.log('react-native-pushy-cli: ' + require('./package.json').version);
try {
console.log('react-native-pushy: ' + require(PACKAGE_JSON_PATH()).version);
} catch (e) {
console.log('react-native-pushy: n/a - not inside a React Native project directory')
}
process.exit();
}
}