UNPKG

react-static

Version:

A progressive static site generator for React

83 lines (72 loc) 11 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = _default; var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _webpack = _interopRequireDefault(require("webpack")); var _resolveFrom = _interopRequireDefault(require("resolve-from")); var _htmlWebpackPlugin = _interopRequireDefault(require("html-webpack-plugin")); var _caseSensitivePathsWebpackPlugin = _interopRequireDefault(require("case-sensitive-paths-webpack-plugin")); var _extractCssChunksWebpackPlugin = _interopRequireDefault(require("extract-css-chunks-webpack-plugin")); var _path = _interopRequireDefault(require("path")); var _rules = _interopRequireDefault(require("./rules")); function _default(_ref) { var config = _ref.config; var _config$paths = config.paths, DIST = _config$paths.DIST, NODE_MODULES = _config$paths.NODE_MODULES, SRC = _config$paths.SRC, HTML_TEMPLATE = _config$paths.HTML_TEMPLATE; process.env.REACT_STATIC_BASE_PATH = config.basePath; process.env.REACT_STATIC_PUBLIC_PATH = config.publicPath; process.env.REACT_STATIC_ASSETS_PATH = config.assetsPath; return { mode: 'development', optimization: { noEmitOnErrors: true, concatenateModules: true }, context: _path["default"].resolve(__dirname, '../../../node_modules'), entry: ['react-hot-loader/patch'].concat((0, _toConsumableArray2["default"])(config.disableRuntime ? [] : [require.resolve('../../bootstrapPlugins'), require.resolve('../../bootstrapTemplates')]), [config.entry]).filter(Boolean), output: { filename: '[name].js', // never hash dev code chunkFilename: 'templates/[name].js', path: DIST, publicPath: process.env.REACT_STATIC_ASSETS_PATH || '/' }, module: { rules: (0, _rules["default"])({ config: config, stage: 'dev' }), strictExportPresence: true }, resolve: { modules: [NODE_MODULES, SRC, DIST].concat((0, _toConsumableArray2["default"])([NODE_MODULES, SRC, DIST].map(function (d) { return _path["default"].resolve(__dirname, d); })), ['node_modules']), extensions: ['.wasm', '.mjs', '.js', '.json', '.jsx'], alias: { react$: (0, _resolveFrom["default"])(NODE_MODULES, 'react'), 'react-dom$': (0, _resolveFrom["default"])(NODE_MODULES, 'react-dom'), 'react-universal-component': (0, _resolveFrom["default"])(__dirname, 'react-universal-component'), __react_static_root__: config.paths.ROOT, // This is here so HMR modules use the same emitter instance. // Likely this is only needed for locally linked dev on RS, but still... 'webpack/hot/emitter': (0, _resolveFrom["default"])(__dirname, 'webpack/hot/emitter') } }, plugins: [new _webpack["default"].EnvironmentPlugin(process.env), new _htmlWebpackPlugin["default"]({ inject: true, template: "!!raw-loader!".concat(HTML_TEMPLATE) }), new _webpack["default"].HotModuleReplacementPlugin(), new _webpack["default"].NamedModulesPlugin(), new _caseSensitivePathsWebpackPlugin["default"](), new _extractCssChunksWebpackPlugin["default"]({ filename: '[name].css' }) // never hash dev code ], devtool: 'cheap-module-source-map' }; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdGF0aWMvd2VicGFjay93ZWJwYWNrLmNvbmZpZy5kZXYuanMiXSwibmFtZXMiOlsiY29uZmlnIiwicGF0aHMiLCJESVNUIiwiTk9ERV9NT0RVTEVTIiwiU1JDIiwiSFRNTF9URU1QTEFURSIsInByb2Nlc3MiLCJlbnYiLCJSRUFDVF9TVEFUSUNfQkFTRV9QQVRIIiwiYmFzZVBhdGgiLCJSRUFDVF9TVEFUSUNfUFVCTElDX1BBVEgiLCJwdWJsaWNQYXRoIiwiUkVBQ1RfU1RBVElDX0FTU0VUU19QQVRIIiwiYXNzZXRzUGF0aCIsIm1vZGUiLCJvcHRpbWl6YXRpb24iLCJub0VtaXRPbkVycm9ycyIsImNvbmNhdGVuYXRlTW9kdWxlcyIsImNvbnRleHQiLCJwYXRoIiwicmVzb2x2ZSIsIl9fZGlybmFtZSIsImVudHJ5IiwiZGlzYWJsZVJ1bnRpbWUiLCJyZXF1aXJlIiwiZmlsdGVyIiwiQm9vbGVhbiIsIm91dHB1dCIsImZpbGVuYW1lIiwiY2h1bmtGaWxlbmFtZSIsIm1vZHVsZSIsInJ1bGVzIiwic3RhZ2UiLCJzdHJpY3RFeHBvcnRQcmVzZW5jZSIsIm1vZHVsZXMiLCJtYXAiLCJkIiwiZXh0ZW5zaW9ucyIsImFsaWFzIiwicmVhY3QkIiwiX19yZWFjdF9zdGF0aWNfcm9vdF9fIiwiUk9PVCIsInBsdWdpbnMiLCJ3ZWJwYWNrIiwiRW52aXJvbm1lbnRQbHVnaW4iLCJIdG1sV2VicGFja1BsdWdpbiIsImluamVjdCIsInRlbXBsYXRlIiwiSG90TW9kdWxlUmVwbGFjZW1lbnRQbHVnaW4iLCJOYW1lZE1vZHVsZXNQbHVnaW4iLCJDYXNlU2Vuc2l0aXZlUGF0aHNQbHVnaW4iLCJFeHRyYWN0Q3NzQ2h1bmtzIiwiZGV2dG9vbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFFZSx3QkFBcUI7QUFBQSxNQUFWQSxNQUFVLFFBQVZBLE1BQVU7QUFBQSxzQkFDaUJB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UUFBUSx5QkFBa0IxQyxhQUFsQjtBQUZZLEtBQXRCLENBRk8sRUFNUCxJQUFJc0Msb0JBQVFLLDBCQUFaLEVBTk8sRUFPUCxJQUFJTCxvQkFBUU0sa0JBQVosRUFQTyxFQVFQLElBQUlDLDJDQUFKLEVBUk8sRUFTUCxJQUFJQyx5Q0FBSixDQUFxQjtBQUFFdkIsTUFBQUEsUUFBUSxFQUFFO0FBQVosS0FBckIsQ0FUTyxDQVMyQztBQVQzQyxLQWpESjtBQTRETHdCLElBQUFBLE9BQU8sRUFBRTtBQTVESixHQUFQO0FBOEREIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHdlYnBhY2sgZnJvbSAnd2VicGFjaydcbmltcG9ydCByZXNvbHZlRnJvbSBmcm9tICdyZXNvbHZlLWZyb20nXG5pbXBvcnQgSHRtbFdlYnBhY2tQbHVnaW4gZnJvbSAnaHRtbC13ZWJwYWNrLXBsdWdpbidcbmltcG9ydCBDYXNlU2Vuc2l0aXZlUGF0aHNQbHVnaW4gZnJvbSAnY2FzZS1zZW5zaXRpdmUtcGF0aHMtd2VicGFjay1wbHVnaW4nXG5pbXBvcnQgRXh0cmFjdENzc0NodW5rcyBmcm9tICdleHRyYWN0LWNzcy1jaHVua3Mtd2VicGFjay1wbHVnaW4nXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuXG5pbXBvcnQgcnVsZXMgZnJvbSAnLi9ydWxlcydcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oeyBjb25maWcgfSkge1xuICBjb25zdCB7IERJU1QsIE5PREVfTU9EVUxFUywgU1JDLCBIVE1MX1RFTVBMQVRFIH0gPSBjb25maWcucGF0aHNcblxuICBwcm9jZXNzLmVudi5SRUFDVF9TVEFUSUNfQkFTRV9QQVRIID0gY29uZmlnLmJhc2VQYXRoXG4gIHByb2Nlc3MuZW52LlJFQUNUX1NUQVRJQ19QVUJMSUNfUEFUSCA9IGNvbmZpZy5wdWJsaWNQYXRoXG4gIHByb2Nlc3MuZW52LlJFQUNUX1NUQVRJQ19BU1NFVFNfUEFUSCA9IGNvbmZpZy5hc3NldHNQYXRoXG5cbiAgcmV0dXJuIHtcbiAgICBtb2RlOiAnZGV2ZWxvcG1lbnQnLFxuICAgIG9wdGltaXphdGlvbjoge1xuICAgICAgbm9FbWl0T25FcnJvcnM6IHRydWUsXG4gICAgICBjb25jYXRlbmF0ZU1vZHVsZXM6IHRydWUsXG4gICAgfSxcbiAgICBjb250ZXh0OiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzJyksXG4gICAgZW50cnk6IFtcbiAgICAgICdyZWFjdC1ob3QtbG9hZGVyL3BhdGNoJyxcbiAgICAgIC4uLihjb25maWcuZGlzYWJsZVJ1bnRpbWVcbiAgICAgICAgPyBbXVxuICAgICAgICA6IFtcbiAgICAgICAgICAgIHJlcXVpcmUucmVzb2x2ZSgnLi4vLi4vYm9vdHN0cmFwUGx1Z2lucycpLFxuICAgICAgICAgICAgcmVxdWlyZS5yZXNvbHZlKCcuLi8uLi9ib290c3RyYXBUZW1wbGF0ZXMnKSxcbiAgICAgICAgICBdKSxcbiAgICAgIGNvbmZpZy5lbnRyeSxcbiAgICBdLmZpbHRlcihCb29sZWFuKSxcbiAgICBvdXRwdXQ6IHtcbiAgICAgIGZpbGVuYW1lOiAnW25hbWVdLmpzJywgLy8gbmV2ZXIgaGFzaCBkZXYgY29kZVxuICAgICAgY2h1bmtGaWxlbmFtZTogJ3RlbXBsYXRlcy9bbmFtZV0uanMnLFxuICAgICAgcGF0aDogRElTVCxcbiAgICAgIHB1YmxpY1BhdGg6IHByb2Nlc3MuZW52LlJFQUNUX1NUQVRJQ19BU1NFVFNfUEFUSCB8fCAnLycsXG4gICAgfSxcbiAgICBtb2R1bGU6IHtcbiAgICAgIHJ1bGVzOiBydWxlcyh7IGNvbmZpZywgc3RhZ2U6ICdkZXYnIH0pLFxuICAgICAgc3RyaWN0RXhwb3J0UHJlc2VuY2U6IHRydWUsXG4gICAgfSxcbiAgICByZXNvbHZlOiB7XG4gICAgICBtb2R1bGVzOiBbXG4gICAgICAgIE5PREVfTU9EVUxFUyxcbiAgICAgICAgU1JDLFxuICAgICAgICBESVNULFxuICAgICAgICAuLi5bTk9ERV9NT0RVTEVTLCBTUkMsIERJU1RdLm1hcChkID0+IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsIGQpKSxcbiAgICAgICAgJ25vZGVfbW9kdWxlcycsXG4gICAgICBdLFxuICAgICAgZXh0ZW5zaW9uczogWycud2FzbScsICcubWpzJywgJy5qcycsICcuanNvbicsICcuanN4J10sXG4gICAgICBhbGlhczoge1xuICAgICAgICByZWFjdCQ6IHJlc29sdmVGcm9tKE5PREVfTU9EVUxFUywgJ3JlYWN0JyksXG4gICAgICAgICdyZWFjdC1kb20kJzogcmVzb2x2ZUZyb20oTk9ERV9NT0RVTEVTLCAncmVhY3QtZG9tJyksXG4gICAgICAgICdyZWFjdC11bml2ZXJzYWwtY29tcG9uZW50JzogcmVzb2x2ZUZyb20oXG4gICAgICAgICAgX19kaXJuYW1lLFxuICAgICAgICAgICdyZWFjdC11bml2ZXJzYWwtY29tcG9uZW50J1xuICAgICAgICApLFxuICAgICAgICBfX3JlYWN0X3N0YXRpY19yb290X186IGNvbmZpZy5wYXRocy5ST09ULFxuICAgICAgICAvLyBUaGlzIGlzIGhlcmUgc28gSE1SIG1vZHVsZXMgdXNlIHRoZSBzYW1lIGVtaXR0ZXIgaW5zdGFuY2UuXG4gICAgICAgIC8vIExpa2VseSB0aGlzIGlzIG9ubHkgbmVlZGVkIGZvciBsb2NhbGx5IGxpbmtlZCBkZXYgb24gUlMsIGJ1dCBzdGlsbC4uLlxuICAgICAgICAnd2VicGFjay9ob3QvZW1pdHRlcic6IHJlc29sdmVGcm9tKF9fZGlybmFtZSwgJ3dlYnBhY2svaG90L2VtaXR0ZXInKSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBwbHVnaW5zOiBbXG4gICAgICBuZXcgd2VicGFjay5FbnZpcm9ubWVudFBsdWdpbihwcm9jZXNzLmVudiksXG4gICAgICBuZXcgSHRtbFdlYnBhY2tQbHVnaW4oe1xuICAgICAgICBpbmplY3Q6IHRydWUsXG4gICAgICAgIHRlbXBsYXRlOiBgISFyYXctbG9hZGVyISR7SFRNTF9URU1QTEFURX1gLFxuICAgICAgfSksXG4gICAgICBuZXcgd2VicGFjay5Ib3RNb2R1bGVSZXBsYWNlbWVudFBsdWdpbigpLFxuICAgICAgbmV3IHdlYnBhY2suTmFtZWRNb2R1bGVzUGx1Z2luKCksXG4gICAgICBuZXcgQ2FzZVNlbnNpdGl2ZVBhdGhzUGx1Z2luKCksXG4gICAgICBuZXcgRXh0cmFjdENzc0NodW5rcyh7IGZpbGVuYW1lOiAnW25hbWVdLmNzcycgfSksIC8vIG5ldmVyIGhhc2ggZGV2IGNvZGVcbiAgICBdLFxuICAgIGRldnRvb2w6ICdjaGVhcC1tb2R1bGUtc291cmNlLW1hcCcsXG4gIH1cbn1cbiJdfQ==