react-static
Version:
A progressive static site generator for React
118 lines (87 loc) • 8.48 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _chalk = _interopRequireDefault(require("chalk"));
var _exportRoutes = _interopRequireDefault(require("../static/exportRoutes"));
var _getRoutes = _interopRequireDefault(require("../static/getRoutes"));
var _getConfig = _interopRequireDefault(require("../static/getConfig"));
var _extractTemplates = _interopRequireDefault(require("../static/extractTemplates"));
var _clientStats = require("../static/clientStats");
//
var _default = /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
var state,
_state,
debug,
isBuildCommand,
staging,
incremental,
_args = arguments;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
state = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
_state = state, debug = _state.debug, isBuildCommand = _state.isBuildCommand, staging = _state.staging, incremental = _state.incremental; // ensure ENV variables are set
if (typeof process.env.NODE_ENV === 'undefined' && !debug) {
process.env.NODE_ENV = 'production';
}
process.env.REACT_STATIC_ENV = 'production';
process.env.BABEL_ENV = 'production';
if (incremental) {
process.env.REACT_STATIC_INCREMENTAL = 'true';
}
state.stage = 'prod';
if (!isBuildCommand) {
console.log("Exporting application for ".concat(staging ? 'Staging' : 'Production', "..."));
console.log('');
} // Allow config location to be overriden
if (isBuildCommand) {
_context.next = 18;
break;
}
_context.next = 11;
return (0, _getConfig["default"])(state);
case 11:
state = _context.sent;
_context.next = 14;
return (0, _getRoutes["default"])(state);
case 14:
state = _context.sent;
_context.next = 17;
return (0, _extractTemplates["default"])(state);
case 17:
state = _context.sent;
case 18:
if (state.routes) {
_context.next = 22;
break;
}
_context.next = 21;
return (0, _getRoutes["default"])(state);
case 21:
state = _context.sent;
case 22:
_context.next = 24;
return (0, _clientStats.importClientStats)(state);
case 24:
state = _context.sent;
_context.next = 27;
return (0, _exportRoutes["default"])(state);
case 27:
state = _context.sent;
console.log("\nYour app is now exported! Here's what we suggest doing next:\n".concat(staging ? "\n- Test your app locally\n - ".concat(_chalk["default"].green('serve dist -p 3000'), " (or your preferred static server utility)") : "\n- Upload your 'dist' directory to your favorite static host! We recommend using Netlify:\n - ".concat(_chalk["default"].green('npx netlify-cli deploy')), "\n- Analyze your app's webpack bundles\n - ").concat(_chalk["default"].green('react-static bundle --analyze'), "\n"));
return _context.abrupt("return", state);
case 30:
case "end":
return _context.stop();
}
}
}, _callee);
}));
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9leHBvcnQuanMiXSwibmFtZXMiOlsic3RhdGUiLCJkZWJ1ZyIsImlzQnVpbGRDb21tYW5kIiwic3RhZ2luZyIsImluY3JlbWVudGFsIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiUkVBQ1RfU1RBVElDX0VOViIsIkJBQkVMX0VOViIsIlJFQUNUX1NUQVRJQ19JTkNSRU1FTlRBTCIsInN0YWdlIiwiY29uc29sZSIsImxvZyIsInJvdXRlcyIsImNoYWxrIiwiZ3JlZW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFMQTswR0FPZTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQU9BLFVBQUFBLEtBQVAsMkRBQWUsRUFBZjtBQUFBLG1CQUMyQ0EsS0FEM0MsRUFDTEMsS0FESyxVQUNMQSxLQURLLEVBQ0VDLGNBREYsVUFDRUEsY0FERixFQUNrQkMsT0FEbEIsVUFDa0JBLE9BRGxCLEVBQzJCQyxXQUQzQixVQUMyQkEsV0FEM0IsRUFFYjs7QUFDQSxjQUFJLE9BQU9DLE9BQU8sQ0FBQ0MsR0FBUixDQUFZQyxRQUFuQixLQUFnQyxXQUFoQyxJQUErQyxDQUFDTixLQUFwRCxFQUEyRDtBQUN6REksWUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVlDLFFBQVosR0FBdUIsWUFBdkI7QUFDRDs7QUFFREYsVUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVlFLGdCQUFaLEdBQStCLFlBQS9CO0FBQ0FILFVBQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFZRyxTQUFaLEdBQXdCLFlBQXhCOztBQUVBLGNBQUlMLFdBQUosRUFBaUI7QUFDZkMsWUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVlJLHdCQUFaLEdBQXVDLE1BQXZDO0FBQ0Q7O0FBRURWLFVBQUFBLEtBQUssQ0FBQ1csS0FBTixHQUFjLE1BQWQ7O0FBRUEsY0FBSSxDQUFDVCxjQUFMLEVBQXFCO0FBQ25CVSxZQUFBQSxPQUFPLENBQUNDLEdBQVIscUNBQytCVixPQUFPLEdBQUcsU0FBSCxHQUFlLFlBRHJEO0FBR0FTLFlBQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFZLEVBQVo7QUFDRCxXQXJCWSxDQXVCYjs7O0FBdkJhLGNBd0JSWCxjQXhCUTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBLGlCQXlCRywyQkFBVUYsS0FBVixDQXpCSDs7QUFBQTtBQXlCWEEsVUFBQUEsS0F6Qlc7QUFBQTtBQUFBLGlCQTBCRywyQkFBVUEsS0FBVixDQTFCSDs7QUFBQTtBQTBCWEEsVUFBQUEsS0ExQlc7QUFBQTtBQUFBLGlCQTJCRyxrQ0FBaUJBLEtBQWpCLENBM0JIOztBQUFBO0FBMkJYQSxVQUFBQSxLQTNCVzs7QUFBQTtBQUFBLGNBOEJSQSxLQUFLLENBQUNjLE1BOUJFO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUEsaUJBK0JHLDJCQUFVZCxLQUFWLENBL0JIOztBQUFBO0FBK0JYQSxVQUFBQSxLQS9CVzs7QUFBQTtBQUFBO0FBQUEsaUJBa0NDLG9DQUFrQkEsS0FBbEIsQ0FsQ0Q7O0FBQUE7QUFrQ2JBLFVBQUFBLEtBbENhO0FBQUE7QUFBQSxpQkFtQ0MsOEJBQWFBLEtBQWIsQ0FuQ0Q7O0FBQUE7QUFtQ2JBLFVBQUFBLEtBbkNhO0FBcUNiWSxVQUFBQSxPQUFPLENBQUNDLEdBQVIsMkVBR0FWLE9BQU8sNENBR0hZLGtCQUFNQyxLQUFOLENBQ0Ysb0JBREUsQ0FIRyw0SkFRSEQsa0JBQU1DLEtBQU4sQ0FBWSx3QkFBWixDQVJHLENBSFAseURBY0lELGtCQUFNQyxLQUFOLENBQVksK0JBQVosQ0FkSjtBQXJDYSwyQ0FzRE5oQixLQXRETTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJ1xuLy9cbmltcG9ydCBleHBvcnRSb3V0ZXMgZnJvbSAnLi4vc3RhdGljL2V4cG9ydFJvdXRlcydcbmltcG9ydCBnZXRSb3V0ZXMgZnJvbSAnLi4vc3RhdGljL2dldFJvdXRlcydcbmltcG9ydCBnZXRDb25maWcgZnJvbSAnLi4vc3RhdGljL2dldENvbmZpZydcbmltcG9ydCBleHRyYWN0VGVtcGxhdGVzIGZyb20gJy4uL3N0YXRpYy9leHRyYWN0VGVtcGxhdGVzJ1xuaW1wb3J0IHsgaW1wb3J0Q2xpZW50U3RhdHMgfSBmcm9tICcuLi9zdGF0aWMvY2xpZW50U3RhdHMnXG5cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIChzdGF0ZSA9IHt9KSA9PiB7XG4gIGNvbnN0IHsgZGVidWcsIGlzQnVpbGRDb21tYW5kLCBzdGFnaW5nLCBpbmNyZW1lbnRhbCB9ID0gc3RhdGVcbiAgLy8gZW5zdXJlIEVOViB2YXJpYWJsZXMgYXJlIHNldFxuICBpZiAodHlwZW9mIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAndW5kZWZpbmVkJyAmJiAhZGVidWcpIHtcbiAgICBwcm9jZXNzLmVudi5OT0RFX0VOViA9ICdwcm9kdWN0aW9uJ1xuICB9XG5cbiAgcHJvY2Vzcy5lbnYuUkVBQ1RfU1RBVElDX0VOViA9ICdwcm9kdWN0aW9uJ1xuICBwcm9jZXNzLmVudi5CQUJFTF9FTlYgPSAncHJvZHVjdGlvbidcblxuICBpZiAoaW5jcmVtZW50YWwpIHtcbiAgICBwcm9jZXNzLmVudi5SRUFDVF9TVEFUSUNfSU5DUkVNRU5UQUwgPSAndHJ1ZSdcbiAgfVxuXG4gIHN0YXRlLnN0YWdlID0gJ3Byb2QnXG5cbiAgaWYgKCFpc0J1aWxkQ29tbWFuZCkge1xuICAgIGNvbnNvbGUubG9nKFxuICAgICAgYEV4cG9ydGluZyBhcHBsaWNhdGlvbiBmb3IgJHtzdGFnaW5nID8gJ1N0YWdpbmcnIDogJ1Byb2R1Y3Rpb24nfS4uLmBcbiAgICApXG4gICAgY29uc29sZS5sb2coJycpXG4gIH1cblxuICAvLyBBbGxvdyBjb25maWcgbG9jYXRpb24gdG8gYmUgb3ZlcnJpZGVuXG4gIGlmICghaXNCdWlsZENvbW1hbmQpIHtcbiAgICBzdGF0ZSA9IGF3YWl0IGdldENvbmZpZyhzdGF0ZSlcbiAgICBzdGF0ZSA9IGF3YWl0IGdldFJvdXRlcyhzdGF0ZSlcbiAgICBzdGF0ZSA9IGF3YWl0IGV4dHJhY3RUZW1wbGF0ZXMoc3RhdGUpXG4gIH1cblxuICBpZiAoIXN0YXRlLnJvdXRlcykge1xuICAgIHN0YXRlID0gYXdhaXQgZ2V0Um91dGVzKHN0YXRlKVxuICB9XG5cbiAgc3RhdGUgPSBhd2FpdCBpbXBvcnRDbGllbnRTdGF0cyhzdGF0ZSlcbiAgc3RhdGUgPSBhd2FpdCBleHBvcnRSb3V0ZXMoc3RhdGUpXG5cbiAgY29uc29sZS5sb2coYFxuWW91ciBhcHAgaXMgbm93IGV4cG9ydGVkISBIZXJlJ3Mgd2hhdCB3ZSBzdWdnZXN0IGRvaW5nIG5leHQ6XG4ke1xuICBzdGFnaW5nXG4gICAgPyBgXG4tIFRlc3QgeW91ciBhcHAgbG9jYWxseVxuICAtICR7Y2hhbGsuZ3JlZW4oXG4gICAgJ3NlcnZlIGRpc3QgLXAgMzAwMCdcbiAgKX0gKG9yIHlvdXIgcHJlZmVycmVkIHN0YXRpYyBzZXJ2ZXIgdXRpbGl0eSlgXG4gICAgOiBgXG4tIFVwbG9hZCB5b3VyICdkaXN0JyBkaXJlY3RvcnkgdG8geW91ciBmYXZvcml0ZSBzdGF0aWMgaG9zdCEgV2UgcmVjb21tZW5kIHVzaW5nIE5ldGxpZnk6XG4gIC0gJHtjaGFsay5ncmVlbignbnB4IG5ldGxpZnktY2xpIGRlcGxveScpfWBcbn1cbi0gQW5hbHl6ZSB5b3VyIGFwcCdzIHdlYnBhY2sgYnVuZGxlc1xuICAtICR7Y2hhbGsuZ3JlZW4oJ3JlYWN0LXN0YXRpYyBidW5kbGUgLS1hbmFseXplJyl9XG5gKVxuXG4gIHJldHVybiBzdGF0ZVxufVxuIl19