46 lines
968 B
JavaScript
46 lines
968 B
JavaScript
var path = require("path");
|
|
|
|
module.exports = (env) => {
|
|
const mode = env === "dev" ? "development" : "production";
|
|
|
|
return {
|
|
entry: "./src/index.tsx",
|
|
output: {
|
|
filename: "bundle.js",
|
|
path: path.join(__dirname, "dist"),
|
|
clean: true,
|
|
},
|
|
|
|
mode: mode,
|
|
target: "web",
|
|
|
|
// Enable sourcemaps for debugging webpack's output.
|
|
devtool: "source-map",
|
|
|
|
devServer: {
|
|
static: {
|
|
directory: __dirname,
|
|
},
|
|
port: 8080
|
|
},
|
|
|
|
resolve: {
|
|
// Add '.ts' and '.tsx' as resolvable extensions.
|
|
extensions: [".ts", ".tsx", ".js", ".json"],
|
|
modules: [path.resolve(__dirname, "src"), "node_modules"],
|
|
},
|
|
|
|
module: {
|
|
rules: [
|
|
{ test: /\.tsx?$/, loader: "ts-loader", exclude: /node_modules/, },
|
|
|
|
{ enforce: "pre", test: /\.js$/, loader: "source-map-loader" }
|
|
]
|
|
},
|
|
|
|
experiments: {
|
|
topLevelAwait: true
|
|
}
|
|
}
|
|
};
|