robobun
40b310c208
Fix child_process stdio properties not enumerable for Object.assign() compatibility ( #22322 )
...
## Summary
Fixes compatibility issue with Node.js libraries that use
`Object.assign(promise, childProcess)` pattern, specifically `tinyspawn`
(used by `youtube-dl-exec`).
## Problem
In Node.js, child process stdio properties (`stdin`, `stdout`, `stderr`,
`stdio`) are enumerable own properties that can be copied by
`Object.assign()`. In Bun, they were non-enumerable getters on the
prototype, causing `Object.assign()` to fail copying them.
This broke libraries like:
- `tinyspawn` - uses `Object.assign(promise, childProcess)` to merge
properties
- `youtube-dl-exec` - depends on tinyspawn internally
## Solution
Make stdio properties enumerable own properties during spawn while
preserving:
- ✅ Lazy initialization (streams created only when accessed)
- ✅ Original getter functionality and caching
- ✅ Performance (minimal overhead)
## Testing
- Added comprehensive regression tests
- Verified compatibility with `tinyspawn` and `youtube-dl-exec`
- Existing child_process tests still pass
## Related
- Fixes: https://github.com/microlinkhq/youtube-dl-exec/issues/246
🤖 Generated with [Claude Code](https://claude.ai/code )
---------
Co-authored-by: Claude Bot <claude-bot@bun.sh >
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-09-06 01:40:36 -07:00
..
2025-07-15 22:02:03 -07:00
2024-09-03 21:32:52 -07:00
2024-09-12 16:44:03 -07:00
2025-05-08 23:22:16 -07:00
2024-09-03 21:32:52 -07:00
2024-09-11 17:33:01 -07:00
2025-01-31 22:39:43 -08:00
2024-10-02 02:24:37 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2025-08-06 06:44:46 -07:00
2025-02-15 01:16:28 -08:00
2025-02-26 16:02:15 -08:00
2024-09-03 21:32:52 -07:00
2025-05-08 23:22:16 -07:00
2025-05-08 23:22:16 -07:00
2025-07-14 00:47:53 -07:00
2025-05-08 23:22:16 -07:00
2025-01-28 17:23:57 -08:00
2025-02-19 20:21:52 -08:00
2025-05-08 23:22:16 -07:00
2025-06-03 13:23:12 -07:00
2025-07-17 02:02:57 -07:00
2025-06-03 23:41:37 -07:00
2025-08-18 16:47:45 -07:00
2025-09-06 01:40:36 -07:00
2025-08-25 17:37:12 -07:00
2024-09-03 21:32:52 -07:00
2024-08-31 02:29:16 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-11-21 17:46:45 -08:00
2024-01-23 20:03:56 -08:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2025-07-14 00:47:53 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2025-07-14 00:47:53 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-08-30 20:14:47 -07:00
2024-12-10 12:43:17 -08:00
2024-12-10 12:43:17 -08:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2025-01-17 22:08:07 -08:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-10-04 18:14:20 -07:00
2025-09-02 23:30:52 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2025-05-08 23:22:16 -07:00
2024-09-03 21:32:52 -07:00
2024-06-14 01:50:36 -07:00
2024-09-03 21:32:52 -07:00
2024-09-24 22:46:18 -07:00
2025-09-02 03:26:51 -07:00
2025-05-08 23:22:16 -07:00
2025-07-14 20:50:32 -07:00
2025-05-08 23:22:16 -07:00
2025-05-08 23:22:16 -07:00
2025-05-08 23:22:16 -07:00
2025-05-08 23:22:16 -07:00
2025-05-08 23:22:16 -07:00
2025-05-08 23:22:16 -07:00
2025-07-20 23:38:24 -07:00
2025-05-08 23:22:16 -07:00
2025-03-03 21:38:05 -08:00
2025-09-03 18:57:39 -07:00
2025-09-03 18:57:39 -07:00
2025-09-03 18:57:39 -07:00
2025-09-03 18:57:39 -07:00
2025-05-26 21:18:22 -07:00
2025-05-08 23:22:16 -07:00
2025-08-01 19:30:51 -07:00
2025-08-06 06:39:25 -07:00
2025-09-02 01:59:06 -07:00
2025-05-16 22:30:58 -07:00
2025-09-02 03:26:25 -07:00
2025-07-03 01:06:22 -07:00
2025-07-23 22:31:42 -07:00
2025-07-25 12:53:49 -07:00
2025-08-14 16:34:38 -07:00
2025-08-15 22:35:38 -07:00
2025-08-15 21:25:54 -07:00
2025-08-15 20:59:50 -07:00
2025-08-27 15:31:28 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-09-03 21:32:52 -07:00
2024-10-14 13:43:06 -07:00
2025-05-08 23:22:16 -07:00
2025-05-08 23:22:16 -07:00
2025-05-08 23:22:16 -07:00
2024-11-18 19:29:55 -08:00
2024-03-30 20:57:40 -07:00
2025-08-26 16:51:41 -07:00
2025-08-09 05:11:50 -07:00
2025-09-04 18:17:14 -07:00
2025-05-08 23:22:16 -07:00
2025-07-15 22:02:03 -07:00
2025-07-15 22:02:03 -07:00
2025-03-04 14:16:18 -08:00
2025-07-28 00:09:16 -07:00
2025-07-25 13:59:33 -07:00
2025-08-15 22:35:38 -07:00
2025-09-02 01:53:39 -07:00
2025-07-25 22:22:04 -07:00
2025-08-19 18:47:04 -07:00
2025-08-18 03:04:37 -07:00
2025-08-18 16:47:45 -07:00
2025-07-15 22:31:54 -07:00
2025-08-19 18:08:00 -07:00
2025-07-15 16:20:34 -07:00
2025-07-15 16:20:34 -07:00
2025-08-22 22:39:47 -07:00
2025-08-28 17:16:37 -07:00
2025-07-20 23:02:10 -07:00
2025-08-09 06:40:36 -07:00
2025-08-30 01:05:51 -07:00
2025-07-17 04:33:30 -07:00
2025-08-20 00:02:14 -07:00