20 lines
564 B
JavaScript
20 lines
564 B
JavaScript
import path from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
import { build } from "esbuild";
|
|
|
|
const outputDirectory = path.resolve(process.argv[2] ?? "web");
|
|
const reactDirectory = path.dirname(fileURLToPath(import.meta.url));
|
|
|
|
await build({
|
|
entryPoints: [path.join(reactDirectory, "src/main.tsx")],
|
|
bundle: true,
|
|
format: "esm",
|
|
platform: "browser",
|
|
target: ["es2022"],
|
|
minify: true,
|
|
sourcemap: false,
|
|
define: { "process.env.NODE_ENV": '"production"' },
|
|
outfile: path.join(outputDirectory, "app.js"),
|
|
loader: { ".tsx": "tsx" },
|
|
});
|