react-static
Version:
A progressive static site generator for React
43 lines (31 loc) • 4.63 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = makeWebpackConfig;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _rules = require("./rules");
var _plugins = _interopRequireDefault(require("../plugins"));
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
// Builds a compiler using a stage preset, then allows extension via
// webpackConfigurator
function makeWebpackConfig(state) {
var _state = state,
stage = _state.stage;
var webpackConfig;
if (stage === 'dev') {
webpackConfig = require('./webpack.config.dev')["default"](state);
} else if (['prod', 'node'].includes(stage)) {
webpackConfig = require('./webpack.config.prod')["default"](state);
} else {
throw new Error("An invalid stage option was detected: ".concat(stage.toString(), ". Stage must equal one of: 'prod', 'dev', or 'node'."));
} // set the default loaders
state = _objectSpread(_objectSpread({}, state), {}, {
defaultLoaders: (0, _rules.getStagedRules)(state)
}); // run the webpack plugin (should be synchronous)
webpackConfig = _plugins["default"].webpack(webpackConfig, state);
return webpackConfig;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdGF0aWMvd2VicGFjay9tYWtlV2VicGFja0NvbmZpZy5qcyJdLCJuYW1lcyI6WyJtYWtlV2VicGFja0NvbmZpZyIsInN0YXRlIiwic3RhZ2UiLCJ3ZWJwYWNrQ29uZmlnIiwicmVxdWlyZSIsImluY2x1ZGVzIiwiRXJyb3IiLCJ0b1N0cmluZyIsImRlZmF1bHRMb2FkZXJzIiwicGx1Z2lucyIsIndlYnBhY2siXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7Ozs7OztBQUVBO0FBQ0E7QUFDZSxTQUFTQSxpQkFBVCxDQUEyQkMsS0FBM0IsRUFBa0M7QUFBQSxlQUM3QkEsS0FENkI7QUFBQSxNQUN2Q0MsS0FEdUMsVUFDdkNBLEtBRHVDO0FBRy9DLE1BQUlDLGFBQUo7O0FBRUEsTUFBSUQsS0FBSyxLQUFLLEtBQWQsRUFBcUI7QUFDbkJDLElBQUFBLGFBQWEsR0FBR0MsT0FBTyxDQUFDLHNCQUFELENBQVAsWUFBd0NILEtBQXhDLENBQWhCO0FBQ0QsR0FGRCxNQUVPLElBQUksQ0FBQyxNQUFELEVBQVMsTUFBVCxFQUFpQkksUUFBakIsQ0FBMEJILEtBQTFCLENBQUosRUFBc0M7QUFDM0NDLElBQUFBLGFBQWEsR0FBR0MsT0FBTyxDQUFDLHVCQUFELENBQVAsWUFBeUNILEtBQXpDLENBQWhCO0FBQ0QsR0FGTSxNQUVBO0FBQ0wsVUFBTSxJQUFJSyxLQUFKLGlEQUNxQ0osS0FBSyxDQUFDSyxRQUFOLEVBRHJDLDBEQUFOO0FBR0QsR0FiOEMsQ0FlL0M7OztBQUNBTixFQUFBQSxLQUFLLG1DQUNBQSxLQURBO0FBRUhPLElBQUFBLGNBQWMsRUFBRSwyQkFBZVAsS0FBZjtBQUZiLElBQUwsQ0FoQitDLENBcUIvQzs7QUFDQUUsRUFBQUEsYUFBYSxHQUFHTSxvQkFBUUMsT0FBUixDQUFnQlAsYUFBaEIsRUFBK0JGLEtBQS9CLENBQWhCO0FBRUEsU0FBT0UsYUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0U3RhZ2VkUnVsZXMgfSBmcm9tICcuL3J1bGVzJ1xuaW1wb3J0IHBsdWdpbnMgZnJvbSAnLi4vcGx1Z2lucydcblxuLy8gQnVpbGRzIGEgY29tcGlsZXIgdXNpbmcgYSBzdGFnZSBwcmVzZXQsIHRoZW4gYWxsb3dzIGV4dGVuc2lvbiB2aWFcbi8vIHdlYnBhY2tDb25maWd1cmF0b3JcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1ha2VXZWJwYWNrQ29uZmlnKHN0YXRlKSB7XG4gIGNvbnN0IHsgc3RhZ2UgfSA9IHN0YXRlXG5cbiAgbGV0IHdlYnBhY2tDb25maWdcblxuICBpZiAoc3RhZ2UgPT09ICdkZXYnKSB7XG4gICAgd2VicGFja0NvbmZpZyA9IHJlcXVpcmUoJy4vd2VicGFjay5jb25maWcuZGV2JykuZGVmYXVsdChzdGF0ZSlcbiAgfSBlbHNlIGlmIChbJ3Byb2QnLCAnbm9kZSddLmluY2x1ZGVzKHN0YWdlKSkge1xuICAgIHdlYnBhY2tDb25maWcgPSByZXF1aXJlKCcuL3dlYnBhY2suY29uZmlnLnByb2QnKS5kZWZhdWx0KHN0YXRlKVxuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBBbiBpbnZhbGlkIHN0YWdlIG9wdGlvbiB3YXMgZGV0ZWN0ZWQ6ICR7c3RhZ2UudG9TdHJpbmcoKX0uIFN0YWdlIG11c3QgZXF1YWwgb25lIG9mOiAncHJvZCcsICdkZXYnLCBvciAnbm9kZScuYFxuICAgIClcbiAgfVxuXG4gIC8vIHNldCB0aGUgZGVmYXVsdCBsb2FkZXJzXG4gIHN0YXRlID0ge1xuICAgIC4uLnN0YXRlLFxuICAgIGRlZmF1bHRMb2FkZXJzOiBnZXRTdGFnZWRSdWxlcyhzdGF0ZSksXG4gIH1cblxuICAvLyBydW4gdGhlIHdlYnBhY2sgcGx1Z2luIChzaG91bGQgYmUgc3luY2hyb25vdXMpXG4gIHdlYnBhY2tDb25maWcgPSBwbHVnaW5zLndlYnBhY2sod2VicGFja0NvbmZpZywgc3RhdGUpXG5cbiAgcmV0dXJuIHdlYnBhY2tDb25maWdcbn1cbiJdfQ==