import webpack from 'webpack'; import HTMLWebpackPlugin from 'html-webpack-plugin'; import ExtractTextPlugin from 'extract-text-webpack-plugin'; import baseConfig from './webpack.config' import env from '../../config/env' import _ from 'lodash' baseConfig.module.rules .filter(loader => Array.isArray(loader.use) && loader.use.find(v => /css/.test(v.loader.split('-')[0])) ).forEach(loader => { loader.use = ExtractTextPlugin.extract({ fallback: 'style-loader', use: _.tail(loader.use) }) }) export default { ...baseConfig, entry: { main: `${env.SRC_ROOT}/webui/src/index.jsx` }, output: { ...baseConfig.output, publicPath: '/-/static/' }, plugins: [ new webpack.DefinePlugin({ __DEBUG__: false, 'process.env.NODE_ENV': '"production"' }), new webpack.optimize.UglifyJsPlugin({ sourceMap: true, compress: { warnings: false } }), new ExtractTextPlugin('style.[contenthash].css'), new HTMLWebpackPlugin({ title: 'Verdaccio', filename: 'index.html', verdaccioURL: 'ToReplaceByVerdaccio', template: `${env.SRC_ROOT}/webui/template.html`, debug: false, inject: true, }), new webpack.NoEmitOnErrorsPlugin() ] }