UNPKG

react-torch

Version:

A lib to server-side render with react.

72 lines (71 loc) 2.73 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var commander_1 = require("commander"); var chalk_1 = __importDefault(require("chalk")); var leven_1 = __importDefault(require("leven")); var dev_1 = __importDefault(require("../scripts/dev")); var build_1 = __importDefault(require("../scripts/build")); var start_1 = __importDefault(require("../scripts/start")); var pkg = require('../../package.json'); var program = new commander_1.Command(); program.version(pkg.version).name(pkg.name); program .command('dev') .description("start development mode at " + process.cwd()) .option('-d, --dir <dir>', 'root path') .option('-p, --port <port>', 'listening port') .option('-c, --config <config>', 'config file path') .action(function (options) { (0, dev_1.default)(options); }); program .command('build') .description("build project at " + process.cwd()) .option('-d, --dir <dir>', 'root path') .option('-p, --port <port>', 'listening port') .option('-c, --config <config>', 'config file path') .action(function (options) { (0, build_1.default)(options); }); program .command('start') .description("start production mode at " + process.cwd()) .option('-d, --dir <dir>', 'root path') .option('-p, --port <port>', 'listening port') .option('-c, --config <config>', 'config file path') .action(function (options) { (0, start_1.default)(options); }); // output help information on unknown COMMANDS program.arguments('<command>').action(function (cmd) { program.outputHelp(); console.log(" " + chalk_1.default.red("Unknown command " + chalk_1.default.yellow(cmd) + ".")); console.log(); suggestCommands(cmd); }); program.on('--help', function () { console.log(''); console.log('Example call:'); console.log(' $ ' + pkg.name + ' --help'); }); program.parse(process.argv); if (!process.argv.slice(2).length) { program.outputHelp(); } function suggestCommands(unknownCommand) { // @ts-ignore var availableCommands = program.commands.map(function (cmd) { return cmd._name; }); var suggestion = undefined; availableCommands.forEach(function (cmd) { var isBestMatch = (0, leven_1.default)(cmd, unknownCommand) < (0, leven_1.default)(suggestion || '', unknownCommand); if ((0, leven_1.default)(cmd, unknownCommand) < 3 && isBestMatch) { suggestion = cmd; } }); if (suggestion) { console.log(" " + chalk_1.default.red("Did you mean " + chalk_1.default.yellow(suggestion) + "?")); } }