const webpack = require('webpack'); const { merge } = require('webpack-merge'); const common = require('./webpack.common.js'); const CopyPlugin = require('copy-webpack-plugin'); const WebpackNotifierPlugin = require('webpack-notifier'); const path = require('path'); const statusesPaths = { success: path.join(__dirname, 'public/assets/images/favicon-64x64.png'), error: path.join(__dirname, 'public/assets/images/virtual.png'), }; module.exports = merge(common, { mode: 'development', devtool: 'eval', plugins: [ new CopyPlugin({ patterns: [ { from: './node_modules/vue/dist/vue.global.js', to: './javascripts/vue.global.prod.js', }, { from: './node_modules/vuex/dist/vuex.global.js', to: './javascripts/vuex.global.prod.js', }, ], }), new webpack.WatchIgnorePlugin({ paths:[ /\.d\.[cm]ts$/ ] }), new webpack.DefinePlugin({ __VUE_OPTIONS_API__: 'true', __VUE_PROD_DEVTOOLS__: 'true', __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: 'true' }), new WebpackNotifierPlugin({ appID: 'Stud.IP Webpack', title: function (params) { return `Build status is ${params.status}`; }, timeout: false, hint: process.platform === 'linux' ? 'int:transient:1' : undefined, excludeWarnings: true, contentImage: statusesPaths, }), ], });