mirror of
https://github.com/oven-sh/bun
synced 2026-02-02 15:08:46 +00:00
## Summary - Add validation to require `--compile` when using ESM bytecode - Update documentation to clarify ESM bytecode requirements ## Why ESM module resolution is two-phase: (1) analyze imports/exports, (2) evaluate. Without `--compile`, there's no `module_info` embedded, so JSC must still parse the file for module analysis even with bytecode - causing a double-parse deopt. ## Changes - **CLI**: Error when `--bytecode --format=esm` is used without `--compile` - **JS API**: Error when `bytecode: true, format: 'esm'` is used without `compile: true` - **Docs**: Update bytecode.mdx, executables.mdx, index.mdx to clarify requirements - **Types**: Update JSDoc for bytecode option in bun.d.ts ## Test plan ```bash # Should error bun build ./test.js --bytecode --format=esm --outdir=./out # error: ESM bytecode requires --compile. Use --format=cjs for bytecode without --compile. # Should work bun build ./test.js --bytecode --format=esm --compile --outfile=./mytest bun build ./test.js --bytecode --format=cjs --outdir=./out ``` 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Bot <claude-bot@bun.sh> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
37 KiB
37 KiB