Move HTTPParsers, HeaderFieldTokenizer, RFC7230 from webcore/ to web/http/.
Updated cmake/Sources.json and cmake/targets/BuildBun.cmake.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Move SerializedScriptValue, StructuredClone, StructuredSerializeOptions,
JSStructuredSerializeOptions, JSDOMConvertSerializedScriptValue
from webcore/ to web/serialization/.
Updated cmake/Sources.json and cmake/targets/BuildBun.cmake.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Move JSMIMEBindings, JSMIMEParams, JSMIMEType from webcore/ to web/mime/.
Updated cmake/Sources.json and cmake/targets/BuildBun.cmake.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Move MessageChannel, JSMessageChannel files from webcore/ to web/messaging/.
Updated cmake/Sources.json and cmake/targets/BuildBun.cmake.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Move Worker, JSWorker, JSWorkerOptions, WorkerOptions, JSServiceWorker
from webcore/ to web/workers/.
Updated cmake/Sources.json and cmake/targets/BuildBun.cmake.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Move 8 WebSocket-related files from webcore/ to web/websocket/.
Includes WebSocket core, JSWebSocket bindings, and helpers.
Updated cmake/Sources.json and cmake/targets/BuildBun.cmake.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Move 60 performance-related files from webcore/ to web/performance/.
Includes Performance API, PerformanceObserver, Timing, Marks, Measures,
ResourceTiming, ServerTiming, and NetworkLoadMetrics.
Added JSDOMWrapperCache.h include to JSPerformanceEntryCustom.cpp.
Updated cmake/Sources.json and cmake/targets/BuildBun.cmake.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Move Event*, MessagePort*, BroadcastChannel*, AbortSignal,
EventTarget, EventEmitter, JS* event files from bindings/
and webcore/ to web/events/.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Move Base64Helpers, TextCodec*, TextEncoder*, TextDecoder*,
EncodingLabel, encoding.zig and related files from bindings/
and webcore/ to web/encoding/.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Move blob.cpp, DOMFormData, JSDOMFile, and JSDOMFormData
from bindings/ and webcore/ to web/blob/.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Move DOMURL, URLSearchParams, URLPattern*, EncodeURIComponent,
decodeURIComponentSIMD, ObjectURLRegistry, NodeURL and related
files from bindings/ and webcore/ to web/url/.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Move FetchHeaders, FetchTasklet, HTTPHeader*, JSFetchHeaders,
NodeFetch, Undici, and fetch.zig from bindings/ and webcore/
to web/fetch/.
This groups all fetch-related functionality in one directory
for easier navigation.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Move BunClientData, BunCommonStrings, BunGCOutputConstraint,
BunGlobalScope, BunIDL*, BunJSCEventLoop, BunObject, BunString,
and BunWorkerGlobalScope from bindings/ to core/.
This makes the purpose of these files clearer - they are core Bun
runtime infrastructure rather than JavaScript bindings.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Move process-related files from bindings/ to api/process/:
- BunProcess, ProcessBindingBuffer, ProcessBindingConstants
- ProcessBindingFs, ProcessBindingHTTPParser, ProcessBindingNatives
- ProcessBindingTTYWrap, ProcessBindingUV, ProcessIdentifier
- bun-spawn
Part of source code reorganization to make code location "guessable".
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Move napi files from bindings/ to compat/napi/
- Move module loader files from bindings/ to module/
- InternalModuleRegistry, JSModuleLoader, JSCommonJSModule, etc.
- Update all import paths and cmake configurations
Part of source code reorganization to make code location "guessable".
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Move bindings/libuv/ to compat/libuv/ for libuv compatibility layer
- Move bindings/webcore/ to webcore/ (438 files)
- Update all include paths for webcore/ prefix removal
- Fix relative includes in webcrypto files
Part of source code reorganization to make code location "guessable".
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Consolidate node compatibility files:
- Move node C++ files from bindings/node/ to buntime/node/
- Rename bindings/node/crypto to node/crypto_bindings for clarity
- Move webcrypto from bindings/ to webcore/webcrypto/
- Update cmake include paths and source patterns
Part of source code reorganization to make code location "guessable".
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Move webcrypto directory from bindings/ to webcore/webcrypto/ for
better organization of web-related APIs.
Part of source code reorganization to make code location "guessable".
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Move v8 directory from bindings/ to compat/v8/ for better organization
of compatibility layers.
Part of source code reorganization to make code location "guessable".
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Step 3 of source reorganization - move test runner files from
src/buntime/test/ to src/test_runner/ for better discoverability.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Step 1 of source reorganization - rename the JavaScript runtime
directory from bun.js to buntime for better discoverability.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add a new generator for JS → Zig bindings. The bulk of the conversion is
done in C++, after which the data is transformed into an FFI-safe
representation, passed to Zig, and then finally transformed into
idiomatic Zig types.
In its current form, the new bindings generator supports:
* Signed and unsigned integers
* Floats (plus a “finite” variant that disallows NaN and infinities)
* Strings
* ArrayBuffer (accepts ArrayBuffer, TypedArray, or DataView)
* Blob
* Optional types
* Nullable types (allows null, whereas Optional only allows undefined)
* Arrays
* User-defined string enumerations
* User-defined unions (fields can optionally be named to provide a
better experience in Zig)
* Null and undefined, for use in unions (can more efficiently represent
optional/nullable unions than wrapping a union in an optional)
* User-defined dictionaries (arbitrary key-value pairs; expects a JS
object and parses it into a struct)
* Default values for dictionary members
* Alternative names for dictionary members (e.g., to support both
`serverName` and `servername` without taking up twice the space)
* Descriptive error messages
* Automatic `fromJS` functions in Zig for dictionaries
* Automatic `deinit` functions for the generated Zig types
Although this bindings generator has many features not present in
`bindgen.ts`, it does not yet implement all of `bindgen.ts`'s
functionality, so for the time being, it has been named `bindgenv2`, and
its configuration is specified in `.bindv2.ts` files. Once all
`bindgen.ts`'s functionality has been incorporated, it will be renamed.
This PR ports `SSLConfig` to use the new bindings generator; see
`SSLConfig.bindv2.ts`.
(For internal tracking: fixes STAB-1319, STAB-1322, STAB-1323,
STAB-1324)
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Alistair Smith <hi@alistair.sh>