Files
handlers.js/webpack.config.js

58 lines
1.3 KiB
JavaScript

// Generated using webpack-cli https://github.com/webpack/webpack-cli
const path = require("path");
const isProduction = process.env.NODE_ENV == "production";
const config = {
output: {
path: path.resolve(__dirname, "dist"),
},
plugins: [
// Add your plugins here
// Learn more about plugins from https://webpack.js.org/configuration/plugins/
],
module: {
rules: [
{
test: /\.(ts|tsx)$/i,
loader: "ts-loader",
exclude: ["/node_modules/"],
}
// Add your rules for custom modules here
// Learn more about loaders from https://webpack.js.org/loaders/
],
},
resolve: {
extensions: [".tsx", ".ts", ".jsx", ".js", "..."],
fallback: {
"http": false
}
},
};
module.exports = () => {
if (isProduction) {
config.mode = "production";
config.entry = "./index.ts";
} else {
config.mode = "development";
config.entry = "./demo/index.ts";
}
switch(process.env.TARGET) {
case "node":
config.target = "node14";
config.output.filename = "main.node.js";
break;
case "webworker":
config.target = "webworker";
config.output.filename = "main.webworker.js";
break;
default:
config.target = "es6";
}
return config;
};