kkt
Version:
Create React apps with no build configuration, Cli tool for creating react apps.
68 lines (67 loc) • 3.4 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = docs;
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _path = _interopRequireDefault(require("path"));
var _fsExtra = _interopRequireDefault(require("fs-extra"));
var _express = _interopRequireDefault(require("express"));
var _staticDoc = require("../plugins/staticDoc");
var _WebpackDevServerUtils = require("react-dev-utils/WebpackDevServerUtils");
var _excluded = ["route", "docRoot", "dirPath"];
var app = (0, _express["default"])();
var HOST = process.env.DOC_HOST || '0.0.0.0';
var protocol = process.env.DOC_HTTPS === 'true' ? 'https' : 'http';
function docs(_x) {
return _docs.apply(this, arguments);
}
function _docs() {
_docs = (0, _asyncToGenerator2["default"])( /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee(argv) {
var _getDocsData, route, docRoot, dirPath, other, DEFAULT_PORT, port, message;
return (0, _regeneratorRuntime2["default"])().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.prev = 0;
_getDocsData = (0, _staticDoc.getDocsData)(argv.path, '/'), route = _getDocsData.route, docRoot = _getDocsData.docRoot, dirPath = _getDocsData.dirPath, other = (0, _objectWithoutProperties2["default"])(_getDocsData, _excluded);
if (route && docRoot) {
app.use(route, _express["default"]["static"](docRoot), function (req, res, next) {
var content = _fsExtra["default"].readFileSync(_path["default"].resolve(docRoot, './index.html'));
res.send(content.toString());
next();
});
}
DEFAULT_PORT = process.env.DOC_PORT && parseInt(process.env.DOC_PORT, 10) || argv.port || 3002;
_context.next = 6;
return (0, _WebpackDevServerUtils.choosePort)(HOST, DEFAULT_PORT);
case 6:
port = _context.sent;
app.listen(port, function () {
var urls = (0, _WebpackDevServerUtils.prepareUrls)(protocol, HOST, port,
// @ts-ignore
route);
console.log("You can now view \x1B[37;1m".concat(dirPath, "\x1B[0m in the browser."));
console.log(" Local: ".concat(urls.lanUrlForTerminal));
console.log(" On Your Network: ".concat(urls.localUrlForTerminal));
});
_context.next = 16;
break;
case 10:
_context.prev = 10;
_context.t0 = _context["catch"](0);
message = _context.t0 && _context.t0 instanceof Error && _context.t0.message ? _context.t0.message : '';
console.log('\x1b[31;1m KKT:DOC:ERROR: \x1b[0m\n', _context.t0);
new Error("KKT:BUILD:ERROR: \n ".concat(message));
process.exit(1);
case 16:
case "end":
return _context.stop();
}
}, _callee, null, [[0, 10]]);
}));
return _docs.apply(this, arguments);
}
module.exports = exports.default;