Files
bun.sh/test/js
Jarred Sumner 8ea625ea6c feat: implement bytes import type attribute
Adds support for importing binary files as Uint8Array using the ES2022 import attributes syntax:

```javascript
import data from './file.bin' with { type: "bytes" };
// data is a Uint8Array containing the file contents
```

This follows the same pattern as the existing "text" and "file" import types, providing a convenient way to load binary data at build time. The implementation uses base64 encoding during transpilation and converts to Uint8Array at runtime using the native Uint8Array.fromBase64 method when available, with a polyfill fallback.

Key changes:
- Add bytes loader enum value and mappings in options.zig
- Add __base64ToUint8Array runtime helper using Uint8Array.fromBase64
- Implement transpiler support using lazy export AST pattern
- Add bundler support in ParseTask.zig
- Handle bytes loader in ModuleLoader with special case for runtime
- Add comprehensive test coverage

The loader validates that only default imports are allowed, matching the behavior of text and file loaders.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-05 04:18:28 -07:00
..
2024-12-12 02:07:29 -08:00