const webpack = require("webpack"); const merge = require("webpack-merge"); const common = require("./webpack.common.js"); const moment = require("dayjs"); const path = require("path"); const VERSION = require("./version.js"); function makeBuildStr() { let buildStr = moment().format("YYYYMMDD-HHmmss"); console.log("Prompt " + VERSION + " build " + buildStr); return buildStr; } const BUILD = makeBuildStr(); let BundleAnalyzerPlugin = null; if (process.env.WEBPACK_ANALYZE) { BundleAnalyzerPlugin = require("webpack-bundle-analyzer").BundleAnalyzerPlugin; } let merged = merge.merge(common, { mode: "production", output: { path: path.resolve(__dirname, "dist"), filename: "[name].js", }, devtool: false, optimization: { minimize: true, }, }); if (BundleAnalyzerPlugin != null) { merged.plugins.push(new BundleAnalyzerPlugin()); } merged.plugins.push( new webpack.DefinePlugin({ __PROMPT_DEV__: "false", __PROMPT_VERSION__: JSON.stringify(VERSION), __PROMPT_BUILD__: JSON.stringify(BUILD), }) ); module.exports = merged;