esbuild Build System (scripts/build-bundle.ts)
- Entity ID:
ent-20260420-b01a00000005 - Type:
file - Scope:
shared - Status:
active - Aliases: scripts/build-bundle.ts, esbuild build, Claude Code dev build system
Description
Replacement build system for the missing Bun bundler config. Targets node20 ESM, entrypoint src/entrypoints/cli.tsx, output dist/cli.mjs (banner: #!/usr/bin/env node). Key operations: (1) aliases bun:bundle → src/shims/bun-bundle.ts; (2) injects src/shims/macro.ts globally via the inject option so MACRO is defined before any user code; (3) declares ~25 node built-ins as external plus fsevents; (4) uses resolveExtensions ['.tsx','.ts','.jsx','.js','.json'] so codebase .js-extension imports map to .ts files; (5) jsx:'automatic' for React 19; (6) produces sourcemaps for debugging. Supports --watch and --minify.
Key claims
- esbuild replaces Bun's bundler for rebuild via three targeted overrides
- tsconfig paths handles bun:bundle type-checking while esbuild handles runtime resolution
- Node built-ins plus fsevents are declared external to esbuild bundling
- Source codebase uses .js-extension imports that esbuild maps to .ts
Relations
- esbuild Build System (scripts/build-bundle.ts) --[aliases]--> bun:bundle Runtime Shim
- esbuild Build System (scripts/build-bundle.ts) --[injects]--> MACRO Global Object
- esbuild Build System (scripts/build-bundle.ts) --[bundles]--> src/entrypoints/cli.tsx
- esbuild Build System (scripts/build-bundle.ts) --[produces]--> dist/cli.mjs Production Bundle
- esbuild Build System (scripts/build-bundle.ts) --[handles]--> .js-to-.ts Import Extension Convention
- esbuild Build System (scripts/build-bundle.ts) --[consumes]--> src/shims Directory