Created
November 4, 2015 11:12
-
-
Save msikma/8c3ee557b03cb8bcceeb to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// hello | |
var ArgumentParser = require('argparse').ArgumentParser; | |
var ArrFormatter = require('./arr-formatter'); | |
// Data from our package, where we keep app-specific configuration. | |
var packageData = require('../../package.json'); | |
var appConfig = packageData._app; | |
var appVersion = packageData.name + ' (' + packageData.version + ')'; | |
var appArgs = require('./run-args'); | |
// Set up the arguments parser to accept command-line arguments. | |
var rootParser; | |
var buildParser; | |
var devParser; | |
var startParser; | |
var rootSubparsers; | |
rootParser = new ArgumentParser({ | |
'version': appVersion, | |
'addHelp': true, | |
'customFormatter': ArrFormatter, | |
'description': ['Builds and runs the main site code. ' | |
+ 'The primary function of the server is to serve an HTML page ' | |
+ 'with the contents returned by react-router. Requests to /api/* are ' | |
+ 'proxied to the API server, running at localhost:3030.', | |
'This server requires a more heavy-duty httpd like Apache or Nginx as ' | |
+ 'reverse proxy when running in production.'], | |
'epilog': 'See <http://github.com/some/url> for more information.' | |
}); | |
rootParser.addArgument(['--no-caching'], appArgs.argNoCaching); | |
rootParser.addArgument(['--staging'], appArgs.argStagingBuild); | |
rootParser.addArgument(['--port'], appArgs.argPort); | |
rootParser.addArgument(['--api-port'], appArgs.argApiPort); | |
rootSubparsers = rootParser.addSubparsers(); | |
// run.js build | |
buildParser = rootSubparsers.addParser('build', appArgs.parserBuild); | |
buildParser.addArgument(['--staging'], appArgs.argStagingBuild); | |
// run.js start | |
startParser = rootSubparsers.addParser('start', appArgs.parserStart); | |
startParser.addArgument(['--port'], appArgs.argPort); | |
startParser.addArgument(['--api-port'], appArgs.argApiPort); | |
// run.js dev | |
devParser = rootSubparsers.addParser('dev', appArgs.parserDev); | |
devParser.addArgument(['--server'], appArgs.argDevServer); | |
devParser.addArgument(['--webpack'], appArgs.argDevWebpack); | |
devParser.addArgument(['--port'], appArgs.argPort); | |
devParser.addArgument(['--api-port'], appArgs.argApiPort); | |
// run.js lint | |
rootSubparsers.addParser('lint', appArgs.parserLint); | |
// run.js clean | |
rootSubparsers.addParser('clean', appArgs.parserClean); | |
// run.js copy | |
rootSubparsers.addParser('copy', appArgs.parserCopy); | |
module.exports = { | |
'parser': rootParser, | |
'packageData': packageData, | |
'appConfig': appConfig, | |
'appVersion': appVersion | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment