build: switch binary bundler to esbuild

- Add explicit `--format=esm` flag to `build`
- Update `rolldown` to ^1.1.1 and add `esbuild` ^0.28.1 as a dependency
- Create `pnpm-workspace.yaml` with `allowBuilds: esbuild` to support native prebuilt binaries across platforms
This commit is contained in:
mitchell 2026-06-15 02:42:20 -04:00
parent dd6df6dd6d
commit 710d2e7593
3 changed files with 364 additions and 90 deletions

View file

@ -13,8 +13,8 @@
"clean": "rm -rf dist",
"build": "pnpm run check && pnpm run bundle --minify index.ts && pnpm run bundle --minify tts.ts",
"build:bin": "pnpm run check && pnpm run bundle:bin --minify index.ts && pnpm run bundle:bin --minify tts.ts && pnpm run bin",
"bundle": "rolldown --dir=dist --platform=node --transform.target=node22",
"bundle:bin": "rolldown --dir=dist --platform=node --no-code-splitting --format=cjs",
"bundle": "rolldown --dir=dist --platform=node --transform.target=node22 --format=esm",
"bundle:bin": "esbuild --bundle --outdir=dist --platform=node --target=node26 --format=cjs",
"bin": "node --build-sea sea-config.json && node --build-sea sea-config-tts.json",
"tc": "tsc --noEmit --incremental"
},
@ -28,10 +28,11 @@
"ai": "^6.0.161",
"ansi-styles": "^6.2.3",
"chalk": "^5.6.2",
"esbuild": "^0.28.1",
"execa": "^9.6.1",
"happy-dom": "^20.10.2",
"marked": "^18.0.4",
"rolldown": "^1.0.3",
"rolldown": "^1.1.1",
"shiki": "^4.0.2",
"string-width": "^8.2.1",
"terminal-link": "^5.0.0",