Jarred Sumner
ecd23df4ca
Fix banner positioning with --format=cjs --target=bun ( #22641 )
...
## Summary
- Fixes incorrect banner positioning when using `--banner` with
`--format=cjs` and `--target=bun`
- Ensures Bun-specific comments (`// @bun @bun-cjs`) appear before user
banner content
- Properly extracts and positions hashbangs from banner content
## Problem
When using `--banner` with `--format=cjs --target=bun`, the banner was
incorrectly placed before the `// @bun @bun-cjs` comment and CJS wrapper
function, breaking the module format that Bun expects.
## Solution
Implemented proper ordering:
1. **Hashbang** (from source file or extracted from banner if it starts
with `#!`)
2. **@bun comments** (e.g., `// @bun`, `// @bun @bun-cjs`, `// @bun
@bytecode`)
3. **CJS wrapper** `(function(exports, require, module, __filename,
__dirname) {`
4. **Banner content** (excluding any extracted hashbang)
## Test plan
- [x] Added comprehensive tests for banner positioning with CJS/ESM and
Bun target
- [x] Tests cover hashbang extraction from banners
- [x] Tests verify proper ordering with bytecode generation
- [x] All existing tests pass
🤖 Generated with [Claude Code](https://claude.ai/code )
---------
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-14 01:01:22 -07:00
..
2025-09-09 20:41:10 -07:00
2025-07-22 17:51:38 -07:00
2025-09-01 02:35:55 -07:00
2025-09-09 23:29:39 -07:00
2025-08-11 20:19:34 -07:00
2025-09-11 17:53:06 -07:00
2025-07-22 17:51:38 -07:00
2025-09-13 14:52:19 -07:00
2025-09-14 01:01:22 -07:00
2025-09-10 23:02:24 -07:00
2025-09-13 14:52:19 -07:00
2025-09-09 20:41:10 -07:00
2025-08-26 12:50:25 -07:00
2025-09-12 23:44:10 -07:00
2025-09-12 18:16:32 -07:00
2025-07-21 13:26:47 -07:00
2025-07-22 17:51:38 -07:00
2025-08-28 17:34:35 -07:00
2025-09-11 19:36:01 -07:00
2025-07-17 03:13:48 -07:00
2025-09-12 23:44:48 -07:00
2025-09-09 20:41:10 -07:00
2025-09-09 20:41:10 -07:00
2025-09-13 14:52:19 -07:00
2025-07-21 13:26:47 -07:00
2025-07-22 17:51:38 -07:00
2025-09-07 17:53:00 -07:00
2025-07-31 22:07:17 -07:00
2025-08-11 20:19:34 -07:00
2025-09-09 20:41:10 -07:00
2025-09-01 02:35:55 -07:00
2025-09-09 20:41:10 -07:00
2025-09-09 20:41:10 -07:00
2025-07-23 17:10:58 -07:00
2025-09-09 20:41:10 -07:00
2025-09-09 20:41:10 -07:00
2025-09-13 14:52:19 -07:00
2025-09-09 23:31:07 -07:00
2025-08-26 12:50:25 -07:00
2025-07-21 13:26:47 -07:00
2025-09-03 15:40:44 -07:00
2025-09-11 17:50:18 -07:00
2025-08-11 20:19:34 -07:00
2025-09-03 15:40:44 -07:00
2025-08-23 06:55:30 -07:00
2025-07-29 19:35:46 -07:00
2025-07-22 17:51:38 -07:00
2025-07-22 17:51:38 -07:00
2025-08-26 12:50:25 -07:00
2025-07-22 17:51:38 -07:00
2025-09-03 18:57:39 -07:00
2025-07-22 17:51:38 -07:00
2025-07-20 23:04:17 -07:00
2025-09-01 01:12:11 -07:00
2025-09-09 20:41:10 -07:00
2025-08-26 12:50:25 -07:00
2025-08-11 20:19:34 -07:00
2025-07-21 13:26:47 -07:00
2025-09-09 23:29:39 -07:00
2025-09-13 16:15:03 -07:00
2025-09-03 18:57:39 -07:00
2025-07-31 00:56:50 -07:00
2025-08-11 20:19:34 -07:00
2025-09-04 18:14:47 -07:00
2025-07-22 17:51:38 -07:00
2025-07-21 13:26:47 -07:00
2025-07-22 17:51:38 -07:00
2025-08-07 15:16:44 -07:00
2025-07-21 13:26:47 -07:00
2025-07-22 17:51:38 -07:00
2025-07-28 00:13:17 -07:00
2025-08-22 23:04:58 -07:00
2025-08-14 18:03:26 -07:00
2025-08-27 06:39:11 -07:00
2025-08-21 15:28:15 -07:00
2025-08-30 02:50:35 -07:00
2025-08-23 06:55:30 -07:00
2025-09-11 19:24:43 -07:00
2025-08-26 12:50:25 -07:00
2025-09-03 15:40:44 -07:00
2025-07-22 17:51:38 -07:00
2025-07-22 17:51:38 -07:00
2025-09-09 20:41:10 -07:00
2025-09-04 18:06:47 -07:00
2025-07-09 00:19:57 -07:00
2025-07-22 17:51:38 -07:00
2025-07-22 17:51:38 -07:00
2025-08-23 06:55:30 -07:00
2025-07-22 17:51:38 -07:00
2025-08-26 12:50:25 -07:00
2025-08-25 17:37:12 -07:00
2025-09-09 20:41:10 -07:00
2025-09-11 23:29:53 -07:00
2025-09-09 20:41:10 -07:00
2025-07-22 17:51:38 -07:00
2025-08-14 21:12:22 -07:00
2025-07-21 13:26:47 -07:00
2025-07-22 17:51:38 -07:00
2025-08-26 12:50:25 -07:00
2025-07-22 17:51:38 -07:00
2025-09-03 15:40:44 -07:00
2025-09-03 15:40:44 -07:00
2025-07-22 17:51:38 -07:00
2025-07-22 17:51:38 -07:00
2025-09-09 23:29:39 -07:00
2025-09-09 21:42:01 -07:00
2025-07-22 17:51:38 -07:00
2025-09-12 23:59:24 -07:00
2025-07-21 13:26:47 -07:00
2025-07-21 13:26:47 -07:00
2025-07-21 13:26:47 -07:00
2025-09-09 20:41:10 -07:00
2025-07-21 13:26:47 -07:00
2025-09-03 15:40:44 -07:00
2025-07-22 17:51:38 -07:00
2025-08-26 12:50:25 -07:00
2025-06-22 20:51:45 -07:00
2025-09-09 23:29:39 -07:00
2025-09-03 15:40:44 -07:00
2025-07-21 13:26:47 -07:00
2025-09-04 18:17:14 -07:00
2025-07-21 13:26:47 -07:00
2025-08-31 18:27:51 -07:00
2025-07-13 04:27:43 -07:00
2025-07-13 04:27:43 -07:00
2025-07-13 04:27:43 -07:00
2025-07-25 12:38:06 -07:00
2025-09-04 18:17:14 -07:00
2025-07-21 13:26:47 -07:00
2025-09-03 15:40:44 -07:00
2025-07-25 12:38:06 -07:00
2025-07-21 13:26:47 -07:00
2025-09-09 20:41:10 -07:00
2025-07-21 13:26:47 -07:00
2025-08-11 20:19:34 -07:00
2025-07-21 13:26:47 -07:00
2025-08-26 12:50:25 -07:00
2025-08-26 12:50:25 -07:00
2025-07-22 17:51:38 -07:00
2025-08-11 20:19:34 -07:00
2025-07-20 23:04:17 -07:00
2025-08-23 06:55:30 -07:00
2025-07-21 13:26:47 -07:00
2025-07-22 17:51:38 -07:00
2025-07-21 13:26:47 -07:00
2025-09-03 18:57:39 -07:00