webpack-config-vacuumlabs
Version:
Default Webpack 2 & 3 config we use in vacuumlabs.
55 lines (38 loc) • 3.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = makeConfig;
var _isomorphic = _interopRequireDefault(require("./isomorphic"));
var styles = _interopRequireWildcard(require("./styles"));
var _assetsLoaders = _interopRequireDefault(require("./assetsLoaders"));
var _babelLoader = _interopRequireDefault(require("./babelLoader"));
var _polyfills = _interopRequireDefault(require("./polyfills"));
var devtools = _interopRequireWildcard(require("./devtools"));
var _globals = _interopRequireDefault(require("./globals"));
var _optimize = _interopRequireDefault(require("./optimize"));
var _output = _interopRequireDefault(require("./output"));
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
function makeConfig(options) {
return {
// the cache seems to be in-memory only: https://webpack.github.io/docs/configuration.html#cache
cache: options.useDevServer,
// cheap-module-eval-source-map, because we want original source, but we don't
// care about columns, which makes this devtool faster than eval-source-map.
// http://webpack.github.io/docs/configuration.html#devtool
devtool: options.env === 'development' ? 'cheap-module-eval-source-map' : '',
entry: {
app: [].concat(_toConsumableArray(_polyfills["default"]), _toConsumableArray(devtools.entry(options)), [options.entry])
},
module: {
rules: [].concat(_toConsumableArray(_assetsLoaders["default"]), [(0, _babelLoader["default"])(options)], _toConsumableArray(devtools.loaders(options)), _toConsumableArray(styles.loaders(options)))
},
output: (0, _output["default"])(options),
plugins: [].concat(_toConsumableArray((0, _globals["default"])(options)), _toConsumableArray(devtools.plugins(options)), _toConsumableArray(styles.plugins(options)), _toConsumableArray((0, _optimize["default"])(options)), _toConsumableArray((0, _isomorphic["default"])(options)))
};
}