// @ts-check const ESLintPlugin = require("eslint-webpack-plugin"); const TerserPlugin = require("terser-webpack-plugin"); const { merge } = require("webpack-merge"); const baseConfigs = require("./webpack.config.js"); const [main, vnc] = baseConfigs; module.exports = [ merge(main, { mode: "production", devtool: "source-map", // TODO figure out minifying lit templates optimization: { runtimeChunk: "single", splitChunks: { // Split both async and non-async chunks (only async by default) chunks: "all", }, minimize: true, minimizer: [ new TerserPlugin({ terserOptions: { compress: { drop_console: ["log", "info"], }, }, }), ], }, plugins: [ new ESLintPlugin({ failOnWarning: true, extensions: ["ts", "js"], }), ], }), { ...vnc, mode: "production", }, ];