mirror of
https://github.com/oven-sh/bun
synced 2026-02-18 06:41:50 +00:00
## Summary - Fixes #25903 - `Bun.write()` mode option ignored when copying from `Bun.file()` - The destination file now correctly uses the specified `mode` option instead of default permissions - Works on Linux (via open flags), macOS (chmod after clonefile), and Windows (chmod after copyfile) ## Test plan - [x] Added regression test in `test/regression/issue/25903.test.ts` - [x] Test passes with `bun bd test test/regression/issue/25903.test.ts` - [x] Test fails with `USE_SYSTEM_BUN=1 bun test test/regression/issue/25903.test.ts` (verifies the bug exists) ## Changes - `src/bun.js/webcore/Blob.zig`: Add `mode` field to `WriteFileOptions` and parse from options - `src/bun.js/webcore/blob/copy_file.zig`: Use `destination_mode` in `CopyFile` struct and `doOpenFile` - `packages/bun-types/bun.d.ts`: Add `mode` option to BunFile copy overloads 🤖 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>
TypeScript types for Bun
These are the type definitions for Bun's JavaScript runtime APIs.
Installation
Install the @types/bun npm package:
# yarn/npm/pnpm work too
# @types/bun is an ordinary npm package
bun add -D @types/bun
That's it! VS Code and TypeScript automatically load @types/* packages into your project, so the Bun global and all bun:* modules should be available immediately.
Contributing
The @types/bun package is a shim that loads bun-types. The bun-types package lives in the Bun repo under packages/bun-types.
To add a new file, add it under packages/bun-types. Then add a triple-slash directive pointing to it inside ./index.d.ts.
+ /// <reference path="./newfile.d.ts" />
bun build
