const webpack = require("webpack") const MiniCssExtractPlugin = require("mini-css-extract-plugin") const StyleLintPlugin = require('stylelint-webpack-plugin') module.exports = { devtool: 'source-map', entry: { "scripts": [ __dirname + "/src/main/assets/scripts.js", require.resolve('evil-icons/assets/evil-icons.js') ], "style": [ __dirname + "/src/main/assets/style.css", require.resolve('evil-icons/assets/evil-icons.css'), require.resolve('awesomplete/awesomplete.css') ] }, output: { path: __dirname + "/src/main/resources/static", filename: "[name].js" }, module: { rules: [ { test: /\.jsx?$/, loader: 'eslint-loader', enforce: 'pre', exclude: /node_modules/, options: { failOnWarning: false, failOnError: true, fix: true } }, { test: /\.js$/, loader: 'babel-loader', query: { presets: ['env'] } }, { test: /\.css$/, use: [ MiniCssExtractPlugin.loader, { loader: "css-loader" }, { loader: "postcss-loader", options: { plugins: () => [ require('autoprefixer')({ browsers: 'last 4 versions, > 1%, ie >= 8' }) ] } } ] }, { test: /\.png$/, loader: "url-loader?limit=10000000000" }, { test: /\.svg$/, loader: "url-loader?limit=10000000000" } ] }, plugins: [ new StyleLintPlugin({ configFile: '.stylelintrc.json', context: 'src/main/assets', files: ['**/*.css'], emitErrors: false }), new MiniCssExtractPlugin({ filename: "style.css", allChunks: true }) ], }