mirror of
https://github.com/oven-sh/bun
synced 2026-02-12 03:48:56 +00:00
## Summary - Convert `file:` URL strings to filesystem paths via `Bun.fileURLToPath()` in the JS layer for both `fs.watch` and `fs.watchFile`/`fs.unwatchFile` - Handles percent-decoding (e.g. `%20` → space) and proper URL parsing, which the previous naive `slice[6..]` stripping in Zig could not do - Zig-level `file://` stripping is left unchanged; the JS layer now resolves file URLs before they reach native code ## Test plan - [x] New test: `fs.watch` with `file:` URL string containing `%20`-encoded spaces - [x] New test: `fs.watchFile` with `file:` URL string containing `%20`-encoded spaces - [x] Both tests fail with `USE_SYSTEM_BUN=1` and pass with `bun bd test` - [x] Existing `fs.watch` "should work with url" test (URL object) still passes - [x] Full `fs.watchFile` suite passes (6 pass, 1 skip, 0 fail) 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Bot <claude-bot@bun.sh> Co-authored-by: Claude <noreply@anthropic.com>