const ESLintPlugin = require('eslint-webpack-plugin'); const CopyPlugin = require('copy-webpack-plugin'); module.exports = (env, argv) => { const dev = argv.mode !== 'production'; const config = { devtool: dev ? 'source-map' : false, entry: { 'scripts': [ __dirname + '/src/main/assets/scripts.js' ] }, output: { path: __dirname + '/src/main/resources/static', filename: '[name].js' }, module: { rules: [ { test: /\.js$/, loader: 'babel-loader' } ] }, plugins: [ new ESLintPlugin({ files: 'src/main/assets', lintDirtyModulesOnly: true, failOnWarning: false, failOnError: true, fix: false }), new CopyPlugin({ patterns: [{ from: __dirname + '/node_modules/evil-icons/assets/sprite.svg', to: __dirname + '/src/main/resources/static/' }], }), ], }; config.optimization = { minimize: !dev }; return config; };