/* eslint global-require: 0 */ const webpack = require('webpack'); const ExtractTextPlugin = require('extract-text-webpack-plugin'); module.exports = { module: { rules: [ { test: /\.js?$/, use: 'babel-loader', exclude: /node_modules/, }, { /* CSS loader for npm modules that are shipped with CSS that should be loaded without processing. List all of theme in the array */ test: /\.css$/, include: [/redux-notifications/], use: ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader', }), }, { /* We use PostCSS for CMS styles */ test: /\.css$/, exclude: [/node_modules/], use: ExtractTextPlugin.extract({ fallback: 'style-loader', use: [ { loader: 'css-loader', options: { importLoaders: 1, }, }, { loader: 'postcss-loader' }, ], }), }, { test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, exclude: [/node_modules/], loader: 'svg-inline-loader', }, ], }, plugins: [ new webpack.IgnorePlugin(/^esprima$/, /js-yaml/), // Ignore Esprima import for js-yaml new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/), // Ignore all optional deps of moment.js ], target: 'web', // Make web variables accessible to webpack, e.g. window };