|
/* 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 |
|
}; |