const webpack = require("webpack"); const merge = require("webpack-merge"); const path = require("path"); const common = require("./webpack.common.js"); const HtmlWebpackPlugin = require("html-webpack-plugin"); const isWebpackDevServer = process.argv.some( (a) => path.basename(a) === "webpack-dev-server" ); const isWatch = process.argv.some((a) => a === "--watch"); const plugins = isWebpackDevServer || !isWatch ? [] : [ function () { this.plugin("done", function (stats) { process.stderr.write(stats.toString("errors-only")); }); }, ]; module.exports = merge(common, { mode: "development", devtool: "eval-source-map", devServer: { contentBase: path.resolve(__dirname, "dist"), port: 4008, stats: "errors-only", }, plugins: [ new webpack.LoaderOptionsPlugin({ debug: true, }), new HtmlWebpackPlugin({ title: "Purescript Fan Page", template: "index.html", }), ].concat(plugins), });