Einige Web-APIs sind im Kontext einer server-first-Laufzeitumgebung wie Bun nicht relevant, wie z. B. die DOM API oder History API. Viele andere sind jedoch außerhalb des Browser-Kontexts allgemein nützlich; wann immer möglich, implementiert Bun diese Web-Standard-APIs, anstatt neue APIs einzuführen.
Die folgenden Web-APIs werden teilweise oder vollständig unterstützt.
| Kategorie | APIs |
|---|---|
| HTTP | fetch, Response, Request, Headers, AbortController, AbortSignal |
| URLs | URL, URLSearchParams |
| Web Workers | Worker, self.postMessage, structuredClone, MessagePort, MessageChannel, BroadcastChannel |
| Streams | ReadableStream, WritableStream, TransformStream, ByteLengthQueuingStrategy, CountQueuingStrategy und zugehörige Klassen |
| Blob | Blob |
| WebSockets | WebSocket |
| Kodierung und Dekodierung | atob, btoa, TextEncoder, TextDecoder |
| JSON | JSON |
| Timeouts | setTimeout, clearTimeout |
| Intervalle | setInterval, clearInterval |
| Krypto | crypto, SubtleCrypto, CryptoKey |
| Debugging | console, performance |
| Microtasks | queueMicrotask |
| Fehler | reportError |
| Benutzerinteraktion | alert, confirm, prompt (für interaktive CLIs vorgesehen) |
| Realms | ShadowRealm |
| Events | EventTarget, Event, ErrorEvent, CloseEvent, MessageEvent |