Files
cnm/config/webpack.config.dev.js
2020-07-15 23:07:07 +02:00

93 lines
2.3 KiB
JavaScript
Executable File

const webpackBaseConfig = require('./webpack.config.base');
const env = require('../environment/dev.env');
const webpack = require('webpack')
const path = require('path');
const helpers = require('./helpers');
const merge = require('webpack-merge')
const HtmlWebpackPlugin = require('html-webpack-plugin');
const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin');
const webpackDashboard = require('webpack-dashboard/plugin');
const DefinePlugin = require('webpack/lib/DefinePlugin');
const autoprefixer = require('autoprefixer');
const PrerenderSPAPlugin = require('prerender-spa-plugin')
const webpackDevConfig = {
module: {
exprContextCritical: false,
rules: [{
test: /\.s?css$/,
use: [{
loader: 'style-loader'
}, {
loader: 'css-loader',
options: {
minimize: false,
sourceMap: true,
importLoaders: 2
}
}, {
loader: 'postcss-loader',
options: {
plugins: () => [autoprefixer],
sourceMap: true
}
}, {
loader: 'sass-loader',
options: {
outputStyle: 'expanded',
sourceMap: true,
sourceMapContents: true
}
}],
}]
},
plugins: [
new HtmlWebpackPlugin({
inject: true,
template: helpers.root('/src/index.html'),
filename: 'index.html',
favicon: helpers.root('/src/assets/images/logo_M.png')
}),
new DefinePlugin({
'process.env': env
}),
new webpackDashboard(),
new FriendlyErrorsPlugin(),
new webpack.HotModuleReplacementPlugin(),
new webpack.NamedModulesPlugin(),
],
devServer: {
contentBase: path.join(__dirname, "dist"),
port: 5000,
historyApiFallback: true,
disableHostCheck: true,
host: "0.0.0.0",
hot: true,
open: true,
quiet: true,
inline: true,
noInfo: true,
stats: {
colors: true,
hash: false,
version: false,
timings: false,
assets: false,
chunks: false,
modules: false,
reasons: false,
children: false,
source: false,
errors: true,
errorDetails: true,
warnings: false,
publicPath: false
}
},
devtool: 'cheap-module-eval-source-map'
}
const devExport = merge(webpackBaseConfig, webpackDevConfig);
module.exports = devExport;