UNPKG

react-static

Version:

A progressive static site generator for React

94 lines (68 loc) 9.55 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 _slash = _interopRequireDefault(require("slash")); var _fsExtra = _interopRequireDefault(require("fs-extra")); var _plugins = _interopRequireDefault(require("./plugins")); // var _default = /*#__PURE__*/function () { var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(state) { var _state, plugins, config, pluginImports, recurse, pluginsText, pluginImportsText, file, targetPath; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return _plugins["default"].beforePrepareBrowserPlugins(state); case 2: state = _context.sent; _state = state, plugins = _state.plugins, config = _state.config; // A deduped list of pluginImports pluginImports = []; recurse = function recurse(plugins) { return (// Return an array of plugins "[".concat(plugins.map(function (plugin) { var browserLocation = plugin.browserLocation; // Add the plugin to the list of pluginImports var pluginIndex = browserLocation ? pluginImports.indexOf(browserLocation) : -1; if (pluginIndex === -1 && browserLocation) { pluginImports.push((0, _slash["default"])("__react_static_root__/".concat(_path["default"].relative(config.paths.ROOT, browserLocation)))); pluginIndex = pluginImports.length - 1; } var location = plugin.location, plugins = plugin.plugins, options = plugin.options; // IIF to return the final plugin return "{\n location: \"".concat((0, _slash["default"])("__react_static_root__/".concat(_path["default"].relative(config.paths.ROOT, location))), "\",\n plugins: ").concat(recurse(plugins || []), ",\n hooks: ").concat(browserLocation ? "plugin".concat(pluginIndex, "(").concat(JSON.stringify(options), ")") : "{}", "\n }"); }).join(',\n'), "]") ); }; // Create the pluginsText pluginsText = recurse(plugins || []); // Create the pluginImportsText pluginImportsText = pluginImports.map(function (imp, index) { return "import plugin".concat(index, " from '").concat(imp, "'"); }).join('\n'); // Create the file text file = "// Imports\n".concat(pluginImportsText, "\n\n// Plugins\nconst plugins = ").concat(pluginsText, "\n\n// Export em!\nexport default plugins"); targetPath = _path["default"].join(process.env.REACT_STATIC_PLUGINS_PATH); _context.next = 12; return _fsExtra["default"].remove(targetPath); case 12: _context.next = 14; return _fsExtra["default"].outputFile(targetPath, file); case 14: return _context.abrupt("return", _plugins["default"].afterPrepareBrowserPlugins(state)); case 15: 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGF0aWMvZ2VuZXJhdGVCcm93c2VyUGx1Z2lucy5qcyJdLCJuYW1lcyI6WyJzdGF0ZSIsImNvcmVQbHVnaW5zIiwiYmVmb3JlUHJlcGFyZUJyb3dzZXJQbHVnaW5zIiwicGx1Z2lucyIsImNvbmZpZyIsInBsdWdpbkltcG9ydHMiLCJyZWN1cnNlIiwibWFwIiwicGx1Z2luIiwiYnJvd3NlckxvY2F0aW9uIiwicGx1Z2luSW5kZXgiLCJpbmRleE9mIiwicHVzaCIsInBhdGgiLCJyZWxhdGl2ZSIsInBhdGhzIiwiUk9PVCIsImxlbmd0aCIsImxvY2F0aW9uIiwib3B0aW9ucyIsIkpTT04iLCJzdHJpbmdpZnkiLCJqb2luIiwicGx1Z2luc1RleHQiLCJwbHVnaW5JbXBvcnRzVGV4dCIsImltcCIsImluZGV4IiwiZmlsZSIsInRhcmdldFBhdGgiLCJwcm9jZXNzIiwiZW52IiwiUkVBQ1RfU1RBVElDX1BMVUdJTlNfUEFUSCIsImZzIiwicmVtb3ZlIiwib3V0cHV0RmlsZSIsImFmdGVyUHJlcGFyZUJyb3dzZXJQbHVnaW5zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBREE7OzJGQUdlLGlCQUFNQSxLQUFOO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLG1CQUNDQyxvQkFBWUMsMkJBQVosQ0FBd0NGLEtBQXhDLENBREQ7O0FBQUE7QUFDYkEsWUFBQUEsS0FEYTtBQUFBLHFCQUdlQSxLQUhmLEVBR0xHLE9BSEssVUFHTEEsT0FISyxFQUdJQyxNQUhKLFVBR0lBLE1BSEosRUFLYjs7QUFDTUMsWUFBQUEsYUFOTyxHQU1TLEVBTlQ7O0FBUVBDLFlBQUFBLE9BUk8sR0FRRyxTQUFWQSxPQUFVLENBQUFILE9BQU87QUFBQSxxQkFDckI7QUFEcUIsMkJBRWpCQSxPQUFPLENBQ1JJLEdBREMsQ0FDRyxVQUFBQyxNQUFNLEVBQUk7QUFBQSxzQkFDTEMsZUFESyxHQUNlRCxNQURmLENBQ0xDLGVBREssRUFHYjs7QUFDQSxzQkFBSUMsV0FBVyxHQUFHRCxlQUFlLEdBQzdCSixhQUFhLENBQUNNLE9BQWQsQ0FBc0JGLGVBQXRCLENBRDZCLEdBRTdCLENBQUMsQ0FGTDs7QUFHQSxzQkFBSUMsV0FBVyxLQUFLLENBQUMsQ0FBakIsSUFBc0JELGVBQTFCLEVBQTJDO0FBQ3pDSixvQkFBQUEsYUFBYSxDQUFDTyxJQUFkLENBQ0UsdURBQzJCQyxpQkFBS0MsUUFBTCxDQUN2QlYsTUFBTSxDQUFDVyxLQUFQLENBQWFDLElBRFUsRUFFdkJQLGVBRnVCLENBRDNCLEVBREY7QUFRQUMsb0JBQUFBLFdBQVcsR0FBR0wsYUFBYSxDQUFDWSxNQUFkLEdBQXVCLENBQXJDO0FBQ0Q7O0FBakJZLHNCQW1CTEMsUUFuQkssR0FtQjBCVixNQW5CMUIsQ0FtQkxVLFFBbkJLO0FBQUEsc0JBbUJLZixPQW5CTCxHQW1CMEJLLE1BbkIxQixDQW1CS0wsT0FuQkw7QUFBQSxzQkFtQmNnQixPQW5CZCxHQW1CMEJYLE1BbkIxQixDQW1CY1csT0FuQmQsRUFxQmI7O0FBQ0EsMERBQ2EsdURBQ2NOLGlCQUFLQyxRQUFMLENBQWNWLE1BQU0sQ0FBQ1csS0FBUCxDQUFhQyxJQUEzQixFQUFpQ0UsUUFBakMsQ0FEZCxFQURiLG1DQUlXWixPQUFPLENBQUNILE9BQU8sSUFBSSxFQUFaLENBSmxCLCtCQU1FTSxlQUFlLG1CQUNGQyxXQURFLGNBQ2FVLElBQUksQ0FBQ0MsU0FBTCxDQUFlRixPQUFmLENBRGIsYUFOakI7QUFXRCxpQkFsQ0MsRUFtQ0RHLElBbkNDLENBbUNJLEtBbkNKLENBRmlCO0FBQUE7QUFBQSxhQVJWLEVBK0NiOzs7QUFDTUMsWUFBQUEsV0FoRE8sR0FnRE9qQixPQUFPLENBQUNILE9BQU8sSUFBSSxFQUFaLENBaERkLEVBa0RiOztBQUNNcUIsWUFBQUEsaUJBbkRPLEdBbURhbkIsYUFBYSxDQUNwQ0UsR0FEdUIsQ0FDbkIsVUFBQ2tCLEdBQUQsRUFBTUMsS0FBTjtBQUFBLDRDQUFnQ0EsS0FBaEMsb0JBQStDRCxHQUEvQztBQUFBLGFBRG1CLEVBRXZCSCxJQUZ1QixDQUVsQixJQUZrQixDQW5EYixFQXVEYjs7QUFDTUssWUFBQUEsSUF4RE8seUJBeURiSCxpQkF6RGEsNkNBNERHRCxXQTVESDtBQWlFUEssWUFBQUEsVUFqRU8sR0FpRU1mLGlCQUFLUyxJQUFMLENBQVVPLE9BQU8sQ0FBQ0MsR0FBUixDQUFZQyx5QkFBdEIsQ0FqRU47QUFBQTtBQUFBLG1CQWtFUEMsb0JBQUdDLE1BQUgsQ0FBVUwsVUFBVixDQWxFTzs7QUFBQTtBQUFBO0FBQUEsbUJBbUVQSSxvQkFBR0UsVUFBSCxDQUFjTixVQUFkLEVBQTBCRCxJQUExQixDQW5FTzs7QUFBQTtBQUFBLDZDQXFFTjFCLG9CQUFZa0MsMEJBQVosQ0FBdUNuQyxLQUF2QyxDQXJFTTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcbmltcG9ydCBzbGFzaCBmcm9tICdzbGFzaCdcbmltcG9ydCBmcyBmcm9tICdmcy1leHRyYSdcbi8vXG5pbXBvcnQgY29yZVBsdWdpbnMgZnJvbSAnLi9wbHVnaW5zJ1xuXG5leHBvcnQgZGVmYXVsdCBhc3luYyBzdGF0ZSA9PiB7XG4gIHN0YXRlID0gYXdhaXQgY29yZVBsdWdpbnMuYmVmb3JlUHJlcGFyZUJyb3dzZXJQbHVnaW5zKHN0YXRlKVxuXG4gIGNvbnN0IHsgcGx1Z2lucywgY29uZmlnIH0gPSBzdGF0ZVxuXG4gIC8vIEEgZGVkdXBlZCBsaXN0IG9mIHBsdWdpbkltcG9ydHNcbiAgY29uc3QgcGx1Z2luSW1wb3J0cyA9IFtdXG5cbiAgY29uc3QgcmVjdXJzZSA9IHBsdWdpbnMgPT5cbiAgICAvLyBSZXR1cm4gYW4gYXJyYXkgb2YgcGx1Z2luc1xuICAgIGBbJHtwbHVnaW5zXG4gICAgICAubWFwKHBsdWdpbiA9PiB7XG4gICAgICAgIGNvbnN0IHsgYnJvd3NlckxvY2F0aW9uIH0gPSBwbHVnaW5cblxuICAgICAgICAvLyBBZGQgdGhlIHBsdWdpbiB0byB0aGUgbGlzdCBvZiBwbHVnaW5JbXBvcnRzXG4gICAgICAgIGxldCBwbHVnaW5JbmRleCA9IGJyb3dzZXJMb2NhdGlvblxuICAgICAgICAgID8gcGx1Z2luSW1wb3J0cy5pbmRleE9mKGJyb3dzZXJMb2NhdGlvbilcbiAgICAgICAgICA6IC0xXG4gICAgICAgIGlmIChwbHVnaW5JbmRleCA9PT0gLTEgJiYgYnJvd3NlckxvY2F0aW9uKSB7XG4gICAgICAgICAgcGx1Z2luSW1wb3J0cy5wdXNoKFxuICAgICAgICAgICAgc2xhc2goXG4gICAgICAgICAgICAgIGBfX3JlYWN0X3N0YXRpY19yb290X18vJHtwYXRoLnJlbGF0aXZlKFxuICAgICAgICAgICAgICAgIGNvbmZpZy5wYXRocy5ST09ULFxuICAgICAgICAgICAgICAgIGJyb3dzZXJMb2NhdGlvblxuICAgICAgICAgICAgICApfWBcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICAgcGx1Z2luSW5kZXggPSBwbHVnaW5JbXBvcnRzLmxlbmd0aCAtIDFcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgbG9jYXRpb24sIHBsdWdpbnMsIG9wdGlvbnMgfSA9IHBsdWdpblxuXG4gICAgICAgIC8vIElJRiB0byByZXR1cm4gdGhlIGZpbmFsIHBsdWdpblxuICAgICAgICByZXR1cm4gYHtcbiAgICAgICAgbG9jYXRpb246IFwiJHtzbGFzaChcbiAgICAgICAgICBgX19yZWFjdF9zdGF0aWNfcm9vdF9fLyR7cGF0aC5yZWxhdGl2ZShjb25maWcucGF0aHMuUk9PVCwgbG9jYXRpb24pfWBcbiAgICAgICAgKX1cIixcbiAgICAgICAgcGx1Z2luczogJHtyZWN1cnNlKHBsdWdpbnMgfHwgW10pfSxcbiAgICAgICAgaG9va3M6ICR7XG4gICAgICAgICAgYnJvd3NlckxvY2F0aW9uXG4gICAgICAgICAgICA/IGBwbHVnaW4ke3BsdWdpbkluZGV4fSgke0pTT04uc3RyaW5naWZ5KG9wdGlvbnMpfSlgXG4gICAgICAgICAgICA6IGB7fWBcbiAgICAgICAgfVxuICAgICAgfWBcbiAgICAgIH0pXG4gICAgICAuam9pbignLFxcbicpfV1gXG5cbiAgLy8gQ3JlYXRlIHRoZSBwbHVnaW5zVGV4dFxuICBjb25zdCBwbHVnaW5zVGV4dCA9IHJlY3Vyc2UocGx1Z2lucyB8fCBbXSlcblxuICAvLyBDcmVhdGUgdGhlIHBsdWdpbkltcG9ydHNUZXh0XG4gIGNvbnN0IHBsdWdpbkltcG9ydHNUZXh0ID0gcGx1Z2luSW1wb3J0c1xuICAgIC5tYXAoKGltcCwgaW5kZXgpID0+IGBpbXBvcnQgcGx1Z2luJHtpbmRleH0gZnJvbSAnJHtpbXB9J2ApXG4gICAgLmpvaW4oJ1xcbicpXG5cbiAgLy8gQ3JlYXRlIHRoZSBmaWxlIHRleHRcbiAgY29uc3QgZmlsZSA9IGAvLyBJbXBvcnRzXG4ke3BsdWdpbkltcG9ydHNUZXh0fVxuXG4vLyBQbHVnaW5zXG5jb25zdCBwbHVnaW5zID0gJHtwbHVnaW5zVGV4dH1cblxuLy8gRXhwb3J0IGVtIVxuZXhwb3J0IGRlZmF1bHQgcGx1Z2luc2BcblxuICBjb25zdCB0YXJnZXRQYXRoID0gcGF0aC5qb2luKHByb2Nlc3MuZW52LlJFQUNUX1NUQVRJQ19QTFVHSU5TX1BBVEgpXG4gIGF3YWl0IGZzLnJlbW92ZSh0YXJnZXRQYXRoKVxuICBhd2FpdCBmcy5vdXRwdXRGaWxlKHRhcmdldFBhdGgsIGZpbGUpXG5cbiAgcmV0dXJuIGNvcmVQbHVnaW5zLmFmdGVyUHJlcGFyZUJyb3dzZXJQbHVnaW5zKHN0YXRlKVxufVxuIl19