diff options
author | jacobsun <jacob.sun.meta@gmail.com> | 2021-03-16 19:49:09 +0300 |
---|---|---|
committer | jacobsun <jacob.sun.meta@gmail.com> | 2021-03-16 19:49:09 +0300 |
commit | 1bd77bbbdf4bf36cca521cde4cbc6e71d4127d4f (patch) | |
tree | 6c8aa1bf1a06245b969ac8f6b6f5f183e363270f /webpack.config.js | |
parent | 248aa9ba54a02593f4404951ae5bce2795c0ca5f (diff) |
update all dev dependancies
Diffstat (limited to 'webpack.config.js')
-rw-r--r-- | webpack.config.js | 73 |
1 files changed, 35 insertions, 38 deletions
diff --git a/webpack.config.js b/webpack.config.js index 8fa7ed6..5e66086 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,67 +1,64 @@ const path = require('path') const MiniCssExtractPlugin = require('mini-css-extract-plugin') -const TerserJSPlugin = require('terser-webpack-plugin') -const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin') +const CssMinimizerPlugin = require('css-minimizer-webpack-plugin') const postcssPresetEnv = require('postcss-preset-env') - let config = { mode: process.env.NODE_ENV, entry: path.resolve(__dirname, 'src/index.js'), output: { + filename: 'js/[name].js', path: path.resolve(__dirname, 'static'), - filename: 'js/[name].js' + publicPath: '/' }, + devtool: 'inline-source-map', + module: { rules: [ - { - test: /\.(png|jpe?g|gif|svg|eot|ttf|woff|woff2)$/, - use: [{ - loader: 'url-loader', - options: { - limit: 8000, - fallback: { - loader: 'file-loader', - options: { - name: '/images/[name].[ext]' - } - } - } - }] - }, - { - test: /\.scss$/, + { test: /\.(png|jpe?g|gif|svg|eot|ttf|woff|woff2)$/i, type: 'asset' }, + { test: /\.less$/i, use: [ - MiniCssExtractPlugin.loader, - { loader: 'css-loader', options: { importLoaders: 1 } }, + process.env.mode === 'development' ? + "style-loader" : + { + loader: MiniCssExtractPlugin.loader, + options: { publicPath: '/' } + }, + + "css-loader", { - loader: 'postcss-loader', + loader: "postcss-loader", options: { - ident: 'postcss', - plugins: () => [ - postcssPresetEnv({ - autoprefixer: {} - }) - ] - } + postcssOptions: { + plugins: [ + [ + "autoprefixer", + { + // Options + }, + ], + ], + }, + }, }, - 'sass-loader' - ] - } + { + loader: "less-loader", + options: { lessOptions: { strictMath: true } } + } + ], + }, ] }, optimization: { minimizer: [ - new TerserJSPlugin({}), - new OptimizeCSSAssetsPlugin({}) + `...`, + new CssMinimizerPlugin(), ] }, plugins: [ new MiniCssExtractPlugin({ filename: 'css/[name].css', - chunkFilename: '[id].css' }) ], - devtool: process.env.NODE_ENV === 'production' ? false : 'eval' } module.exports = config |