2026-09-15 11:30:42 +08:00
|
|
|
|
import { build } from "esbuild";
|
2026-09-18 12:22:05 +08:00
|
|
|
|
import { execSync } from "node:child_process";
|
|
|
|
|
|
|
|
|
|
|
|
let buildId;
|
|
|
|
|
|
try {
|
|
|
|
|
|
buildId = execSync("git log -1 --format=%h-%cd --date=format:%Y%m%d%H%M").toString().trim();
|
|
|
|
|
|
} catch {
|
|
|
|
|
|
buildId = "dev-" + Date.now();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-09-15 11:30:42 +08:00
|
|
|
|
await build({
|
2026-09-18 12:22:05 +08:00
|
|
|
|
entryPoints: ["src/index.ts"], bundle: true, minify: true, format: "iife",
|
2026-09-15 16:40:35 +08:00
|
|
|
|
outfile: "dist/v1.js", target: ["es2020"], // 代码依赖 globalThis(es2018 目标名不副实)
|
2026-09-18 12:22:05 +08:00
|
|
|
|
// define 键必须用点链:esbuild 只做精确表达式匹配,裸键不会替换
|
|
|
|
|
|
// globalThis.__BUILD_ID__ 成员访问(实测 0.24.2),裸键将恒为 "unknown"
|
|
|
|
|
|
define: { "globalThis.__BUILD_ID__": JSON.stringify(buildId) },
|
2026-09-15 11:30:42 +08:00
|
|
|
|
});
|