kkt
Version:
Create React apps with no build configuration, Cli tool for creating react apps.
82 lines (81 loc) • 4.57 kB
JavaScript
#!/usr/bin/env node
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _minimist = _interopRequireDefault(require("minimist"));
var helpStr = "\n Usage: kkt [start|build|test|doc] [--help|h]\n\n Displays help information.\n\n Options:\n\n --version, -v Show version number\n --help, -h Displays help information.\n --app-src Specify the entry directory.\n --docs Static asset preview in package(Dev mode works).\n --config-overrides Specify the directory where the configuration is located.\n --no-open-browser Do not open in browser.\n --no-clear-console Do not clear the command line information.\n\n Example:\n\n $ \x1B[35mkkt\x1B[0m build\n $ \x1B[35mkkt\x1B[0m build --app-src ./website\n $ \x1B[35mkkt\x1B[0m test\n $ \x1B[35mkkt\x1B[0m test --env=jsdom\n $ \x1B[35mkkt\x1B[0m test --env=jsdom --coverage\n $ \x1B[35mkkt\x1B[0m start\n $ \x1B[35mkkt\x1B[0m start --no-open-browser\n $ \x1B[35mkkt\x1B[0m start --watch\n $ \x1B[35mkkt\x1B[0m start --no-clear-console\n $ \x1B[35mkkt\x1B[0m start --app-src ./website\n \x1B[30;1m# Static asset preview in \"@uiw/doc\" package.\x1B[0m\n \x1B[30;1m# Default preview:\x1B[0m \x1B[34;1mhttp://localhost:3000/_doc/\x1B[0m\n $ \x1B[35mkkt\x1B[0m start --docs @uiw/doc/web\n \x1B[30;1m# Specify a static website route\x1B[0m \x1B[34;1m\"_uiw/doc\"\x1B[0m\n \x1B[30;1m# Default preview:\x1B[0m \x1B[34;1mhttp://localhost:3000/_uiw/doc\x1B[0m\n $ \x1B[35mkkt\x1B[0m start --docs @uiw/doc/web:_uiw/doc\n \n \x1B[30;1m# Run static services separately\x1B[0m\n $\x1B[35m kkt\x1B[0m doc --path\x1B[34;1m @uiw/doc/web\x1B[0m\n $\x1B[35m kkt\x1B[0m doc --path\x1B[34;1m @uiw/doc/web:_uiw/doc\x1B[0m --port 30002\n $\x1B[35m kkt\x1B[0m doc --path\x1B[34;1m @uiw/doc/web:_uiw/doc\x1B[0m -p 30002\n $\x1B[35m kkt\x1B[0m doc --path\x1B[34;1m ./build/doc\x1B[0m -p 30002\n";
function help() {
console.log(helpStr);
}
(0, _asyncToGenerator2["default"])( /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee() {
var args, argvs, _require, version, scriptName;
return (0, _regeneratorRuntime2["default"])().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.prev = 0;
args = process.argv.slice(2);
argvs = (0, _minimist["default"])(args);
if (!(argvs.h || argvs.help)) {
_context.next = 5;
break;
}
return _context.abrupt("return", help());
case 5:
if (!(argvs.v || argvs.version)) {
_context.next = 9;
break;
}
_require = require('../../package.json'), version = _require.version;
console.log("\n create-kkt v".concat(version || '', "\n"));
return _context.abrupt("return");
case 9:
scriptName = argvs._[0];
if (!(scriptName && /(^build|start|test|docs?)$/.test(scriptName))) {
_context.next = 26;
break;
}
if (!/^docs?$/i.test(scriptName)) {
_context.next = 17;
break;
}
argvs.port = argvs.port || argvs.p;
_context.next = 15;
return require('../scripts/doc')(argvs);
case 15:
_context.next = 24;
break;
case 17:
if (!(scriptName === 'test')) {
_context.next = 22;
break;
}
_context.next = 20;
return require('../scripts/testk')(argvs);
case 20:
_context.next = 24;
break;
case 22:
_context.next = 24;
return require("../scripts/".concat(scriptName))(argvs);
case 24:
_context.next = 30;
break;
case 26:
console.log("Unknown script \"\x1B[1;37m".concat(scriptName, "\x1B[0m\"."));
console.log('Perhaps you need to update react-scripts?');
console.log('See: https://github.com/kktjs/kkt#command-help');
help();
case 30:
_context.next = 35;
break;
case 32:
_context.prev = 32;
_context.t0 = _context["catch"](0);
console.log('\x1b[31m KKT:ERROR:\x1b[0m', _context.t0);
case 35:
case "end":
return _context.stop();
}
}, _callee, null, [[0, 32]]);
}))();