import { resolve as pathResolve } from "path"; const __dirname = import.meta.dirname; export default (env, argv) => { const config = { entry: argv.mode == "production" ? { "dropdown-list-element.dist.min": ["./src/index.ts"] } : { "dropdown-list-element.dist": ["./src/index.ts"] }, devtool: argv.mode == "production" ? undefined : false, module: { rules: [ { test: /\.tsx?$/, use: "ts-loader", exclude: /node_modules/, } ], }, output: { filename: "[name].js", path: pathResolve(__dirname, "dist"), }, resolve: { extensions: [".tsx", ".ts", ".js"], // I hate that TSC's decision to not support module import rewriting has knockoff effects like this extensionAlias: { '.js': ['.js', '.ts'], } }, plugins: [], optimization: argv.mode == "production" ? undefined : { providedExports: true, usedExports: true, concatenateModules: true, flagIncludedChunks: true, removeAvailableModules: true, innerGraph: true, sideEffects: true, removeEmptyChunks: true }, mode: argv.mode, stats: "detailed"// argv.mode == "production" ? "normal" : "detailed" }; console.log("config.mode:", config.mode); return config; };