import path from "path";import webpack from "webpack";import _ from "lodash";import { CheckEsVersionPlugin } from "@bitjourney/check-es-version-webpack-plugin";
const config = { mode: "production",
entry: "./src/index.ts", target: ["web", "es5"], output: { path: path.resolve(__dirname, "dist.es5+umd"), library: "MessagePack", libraryTarget: "umd", globalObject: "this", filename: undefined as string | undefined, }, resolve: { extensions: [".ts", ".tsx", ".mjs", ".js", ".json", ".wasm"], }, module: { rules: [ { test: /\.tsx?$/, loader: "ts-loader", options: { configFile: "tsconfig.dist.webpack.json", }, }, ], },
plugins: [ new CheckEsVersionPlugin({ esVersion: 5, }), new webpack.DefinePlugin({ "process.env.TEXT_ENCODING": "undefined", "process.env.TEXT_DECODER": "undefined", }), ],
optimization: { minimize: undefined as boolean | undefined, },
node: false,
devtool: "source-map",};
export default [ ((config) => { config.output.filename = "msgpack.min.js"; config.optimization.minimize = true; return config; })(_.cloneDeep(config)),
((config) => { config.output.filename = "msgpack.js"; config.optimization.minimize = false; return config; })(_.cloneDeep(config)),];