Skip to content

Instantly share code, notes, and snippets.

@msikma
Created November 4, 2015 11:12
Show Gist options
  • Save msikma/8c3ee557b03cb8bcceeb to your computer and use it in GitHub Desktop.
Save msikma/8c3ee557b03cb8bcceeb to your computer and use it in GitHub Desktop.
// 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