UNPKG

react-static

Version:

A progressive static site generator for React

67 lines (52 loc) 8.03 kB
"use strict"; 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 _path = _interopRequireDefault(require("path")); var _fsExtra = _interopRequireDefault(require("fs-extra")); var _chunkBuilder = require("../utils/chunkBuilder"); var _default = /*#__PURE__*/function () { var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(state) { var paths, templates, file, dynamicRoutesPath; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: paths = state.config.paths, templates = state.templates; file = "\n".concat(process.env.NODE_ENV === 'production' ? "\nimport React from 'react'\nimport universal, { setHasBabelPlugin } from 'react-universal-component'\n\nsetHasBabelPlugin()\n\nconst universalOptions = {\n loading: () => null,\n error: props => {\n console.error(props.error);\n return <div>An error occurred loading this page's template. More information is available in the console.</div>;\n },\n ignoreBabelRename: true\n}\n\n".concat(templates.map(function (template, index) { var chunkName = ''; // relative resolving produces the wrong path, a "../" is missing // as the files looks equal, we simple use an absolute path then if (!paths.DIST.startsWith(paths.ROOT)) { chunkName = "/* webpackChunkName: \"".concat((0, _chunkBuilder.chunkNameFromFile)(template), "\" */"); } return "const t_".concat(index, " = universal(import('").concat(template, "'").concat(chunkName, "), universalOptions)\n t_").concat(index, ".template = '").concat(template, "'\n "); }).join('\n'), "\n\n// Template Map\nexport default {\n ").concat(templates.map(function (template, index) { return "'".concat(template, "': t_").concat(index); }).join(',\n'), "\n}\n// Not Found Template\nexport const notFoundTemplate = ").concat(JSON.stringify(templates[0]), "\n") : "\n\n// Template Map\nexport default {\n ".concat(templates.map(function (template) { return "'".concat(template, "': require('").concat(template, "').default"); }).join(',\n'), "\n}\n\nexport const notFoundTemplate = '").concat(templates[0], "'\n"), "\n"); dynamicRoutesPath = _path["default"].join(process.env.REACT_STATIC_TEMPLATES_PATH); _context.next = 5; return _fsExtra["default"].remove(dynamicRoutesPath); case 5: _context.next = 7; return _fsExtra["default"].outputFile(dynamicRoutesPath, file); case 7: return _context.abrupt("return", state); case 8: case "end": return _context.stop(); } } }, _callee); })); return function (_x) { return _ref.apply(this, arguments); }; }(); exports["default"] = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0aWMvZ2VuZXJhdGVUZW1wbGF0ZXMuanMiXSwibmFtZXMiOlsic3RhdGUiLCJwYXRocyIsImNvbmZpZyIsInRlbXBsYXRlcyIsImZpbGUiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJtYXAiLCJ0ZW1wbGF0ZSIsImluZGV4IiwiY2h1bmtOYW1lIiwiRElTVCIsInN0YXJ0c1dpdGgiLCJST09UIiwiam9pbiIsIkpTT04iLCJzdHJpbmdpZnkiLCJkeW5hbWljUm91dGVzUGF0aCIsInBhdGgiLCJSRUFDVF9TVEFUSUNfVEVNUExBVEVTX1BBVEgiLCJmcyIsInJlbW92ZSIsIm91dHB1dEZpbGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7OzJGQUVlLGlCQUFNQSxLQUFOO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVEQyxZQUFBQSxLQUZDLEdBSVRELEtBSlMsQ0FFWEUsTUFGVyxDQUVERCxLQUZDLEVBR1hFLFNBSFcsR0FJVEgsS0FKUyxDQUdYRyxTQUhXO0FBTVBDLFlBQUFBLElBTk8sZUFRYkMsT0FBTyxDQUFDQyxHQUFSLENBQVlDLFFBQVosS0FBeUIsWUFBekIsbVpBZ0JBSixTQUFTLENBQ1JLLEdBREQsQ0FDSyxVQUFDQyxRQUFELEVBQVdDLEtBQVgsRUFBcUI7QUFDeEIsa0JBQUlDLFNBQVMsR0FBRyxFQUFoQixDQUR3QixDQUd4QjtBQUNBOztBQUVBLGtCQUFJLENBQUNWLEtBQUssQ0FBQ1csSUFBTixDQUFXQyxVQUFYLENBQXNCWixLQUFLLENBQUNhLElBQTVCLENBQUwsRUFBd0M7QUFDdENILGdCQUFBQSxTQUFTLG9DQUE0QixxQ0FBa0JGLFFBQWxCLENBQTVCLFVBQVQ7QUFDRDs7QUFFRCx1Q0FBa0JDLEtBQWxCLGtDQUErQ0QsUUFBL0MsY0FBMkRFLFNBQTNELDJDQUNNRCxLQUROLDBCQUMyQkQsUUFEM0I7QUFHRCxhQWRELEVBZUNNLElBZkQsQ0FlTSxJQWZOLENBaEJBLHNEQW1DRVosU0FBUyxDQUFDSyxHQUFWLENBQWMsVUFBQ0MsUUFBRCxFQUFXQyxLQUFYO0FBQUEsZ0NBQXlCRCxRQUF6QixrQkFBeUNDLEtBQXpDO0FBQUEsYUFBZCxFQUFnRUssSUFBaEUsQ0FBcUUsS0FBckUsQ0FuQ0YseUVBc0NnQ0MsSUFBSSxDQUFDQyxTQUFMLENBQWVkLFNBQVMsQ0FBQyxDQUFELENBQXhCLENBdENoQyw2REE0Q0VBLFNBQVMsQ0FDUkssR0FERCxDQUNLLFVBQUFDLFFBQVE7QUFBQSxnQ0FBUUEsUUFBUix5QkFBK0JBLFFBQS9CO0FBQUEsYUFEYixFQUVDTSxJQUZELENBRU0sS0FGTixDQTVDRixxREFpRGlDWixTQUFTLENBQUMsQ0FBRCxDQWpEMUMsUUFSYTtBQThEUGUsWUFBQUEsaUJBOURPLEdBOERhQyxpQkFBS0osSUFBTCxDQUFVVixPQUFPLENBQUNDLEdBQVIsQ0FBWWMsMkJBQXRCLENBOURiO0FBQUE7QUFBQSxtQkErRFBDLG9CQUFHQyxNQUFILENBQVVKLGlCQUFWLENBL0RPOztBQUFBO0FBQUE7QUFBQSxtQkFnRVBHLG9CQUFHRSxVQUFILENBQWNMLGlCQUFkLEVBQWlDZCxJQUFqQyxDQWhFTzs7QUFBQTtBQUFBLDZDQXNFTkosS0F0RU07O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gJ3BhdGgnXG5pbXBvcnQgZnMgZnJvbSAnZnMtZXh0cmEnXG5pbXBvcnQgeyBjaHVua05hbWVGcm9tRmlsZSB9IGZyb20gJy4uL3V0aWxzL2NodW5rQnVpbGRlcidcblxuZXhwb3J0IGRlZmF1bHQgYXN5bmMgc3RhdGUgPT4ge1xuICBjb25zdCB7XG4gICAgY29uZmlnOiB7IHBhdGhzIH0sXG4gICAgdGVtcGxhdGVzLFxuICB9ID0gc3RhdGVcblxuICBjb25zdCBmaWxlID0gYFxuJHtcbiAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJ1xuICAgID8gYFxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHVuaXZlcnNhbCwgeyBzZXRIYXNCYWJlbFBsdWdpbiB9IGZyb20gJ3JlYWN0LXVuaXZlcnNhbC1jb21wb25lbnQnXG5cbnNldEhhc0JhYmVsUGx1Z2luKClcblxuY29uc3QgdW5pdmVyc2FsT3B0aW9ucyA9IHtcbiAgbG9hZGluZzogKCkgPT4gbnVsbCxcbiAgZXJyb3I6IHByb3BzID0+IHtcbiAgICBjb25zb2xlLmVycm9yKHByb3BzLmVycm9yKTtcbiAgICByZXR1cm4gPGRpdj5BbiBlcnJvciBvY2N1cnJlZCBsb2FkaW5nIHRoaXMgcGFnZSdzIHRlbXBsYXRlLiBNb3JlIGluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZSBpbiB0aGUgY29uc29sZS48L2Rpdj47XG4gIH0sXG4gIGlnbm9yZUJhYmVsUmVuYW1lOiB0cnVlXG59XG5cbiR7dGVtcGxhdGVzXG4gIC5tYXAoKHRlbXBsYXRlLCBpbmRleCkgPT4ge1xuICAgIGxldCBjaHVua05hbWUgPSAnJ1xuXG4gICAgLy8gcmVsYXRpdmUgcmVzb2x2aW5nIHByb2R1Y2VzIHRoZSB3cm9uZyBwYXRoLCBhIFwiLi4vXCIgaXMgbWlzc2luZ1xuICAgIC8vIGFzIHRoZSBmaWxlcyBsb29rcyBlcXVhbCwgd2Ugc2ltcGxlIHVzZSBhbiBhYnNvbHV0ZSBwYXRoIHRoZW5cblxuICAgIGlmICghcGF0aHMuRElTVC5zdGFydHNXaXRoKHBhdGhzLlJPT1QpKSB7XG4gICAgICBjaHVua05hbWUgPSBgLyogd2VicGFja0NodW5rTmFtZTogXCIke2NodW5rTmFtZUZyb21GaWxlKHRlbXBsYXRlKX1cIiAqL2BcbiAgICB9XG5cbiAgICByZXR1cm4gYGNvbnN0IHRfJHtpbmRleH0gPSB1bml2ZXJzYWwoaW1wb3J0KCcke3RlbXBsYXRlfScke2NodW5rTmFtZX0pLCB1bml2ZXJzYWxPcHRpb25zKVxuICAgICAgdF8ke2luZGV4fS50ZW1wbGF0ZSA9ICcke3RlbXBsYXRlfSdcbiAgICAgIGBcbiAgfSlcbiAgLmpvaW4oJ1xcbicpfVxuXG4vLyBUZW1wbGF0ZSBNYXBcbmV4cG9ydCBkZWZhdWx0IHtcbiAgJHt0ZW1wbGF0ZXMubWFwKCh0ZW1wbGF0ZSwgaW5kZXgpID0+IGAnJHt0ZW1wbGF0ZX0nOiB0XyR7aW5kZXh9YCkuam9pbignLFxcbicpfVxufVxuLy8gTm90IEZvdW5kIFRlbXBsYXRlXG5leHBvcnQgY29uc3Qgbm90Rm91bmRUZW1wbGF0ZSA9ICR7SlNPTi5zdHJpbmdpZnkodGVtcGxhdGVzWzBdKX1cbmBcbiAgICA6IGBcblxuLy8gVGVtcGxhdGUgTWFwXG5leHBvcnQgZGVmYXVsdCB7XG4gICR7dGVtcGxhdGVzXG4gICAgLm1hcCh0ZW1wbGF0ZSA9PiBgJyR7dGVtcGxhdGV9JzogcmVxdWlyZSgnJHt0ZW1wbGF0ZX0nKS5kZWZhdWx0YClcbiAgICAuam9pbignLFxcbicpfVxufVxuXG5leHBvcnQgY29uc3Qgbm90Rm91bmRUZW1wbGF0ZSA9ICcke3RlbXBsYXRlc1swXX0nXG5gXG59XG5gXG5cbiAgY29uc3QgZHluYW1pY1JvdXRlc1BhdGggPSBwYXRoLmpvaW4ocHJvY2Vzcy5lbnYuUkVBQ1RfU1RBVElDX1RFTVBMQVRFU19QQVRIKVxuICBhd2FpdCBmcy5yZW1vdmUoZHluYW1pY1JvdXRlc1BhdGgpXG4gIGF3YWl0IGZzLm91dHB1dEZpbGUoZHluYW1pY1JvdXRlc1BhdGgsIGZpbGUpXG5cbiAgLy8gV2UgaGF2ZSB0byB3YWl0IGhlcmUgZm9yIGEgc21pZGdlLCBiZWNhdXNlIHdlYnBhY2sgd2F0Y2hlciBpc1xuICAvLyBvdmVybHkgYWdncmVzc2l2ZSBvbiBmaXJzdCBzdGFydFxuICAvLyBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgNTAwKSlcblxuICByZXR1cm4gc3RhdGVcbn1cbiJdfQ==