Bun implementa un conjunto de APIs nativas en el objeto global Bun y a través de varios módulos integrados. Estas APIs están altamente optimizadas y representan la forma canónica "nativa de Bun" de implementar algunas funcionalidades comunes.
Bun se esfuerza por implementar APIs Web estándar siempre que sea posible. Bun introduce nuevas APIs principalmente para tareas del lado del servidor donde no existe un estándar, como E/S de archivos e iniciar un servidor HTTP. En estos casos, el enfoque de Bun aún se basa en APIs estándar como Blob, URL y Request.
ts
Bun.serve({
fetch(req: Request) {
return new Response("Success!");
},
});Haz clic en el enlace de la columna derecha para saltar a la documentación asociada.
| Tema | APIs |
|---|---|
| Servidor HTTP | Bun.serve |
| Shell | $ |
| Bundler | Bun.build |
| E/S de Archivos | Bun.file, Bun.write, Bun.stdin, Bun.stdout, Bun.stderr |
| Procesos Hijo | Bun.spawn, Bun.spawnSync |
| Sockets TCP | Bun.listen, Bun.connect |
| Sockets UDP | Bun.udpSocket |
| WebSockets | new WebSocket() (cliente), Bun.serve (servidor) |
| Transpilador | Bun.Transpiler |
| Enrutamiento | Bun.FileSystemRouter |
| HTML en Streaming | HTMLRewriter |
| Hashing | Bun.password, Bun.hash, Bun.CryptoHasher, Bun.sha |
| SQLite | bun:sqlite |
| Cliente PostgreSQL | Bun.SQL, Bun.sql |
| Cliente Redis (Valkey) | Bun.RedisClient, Bun.redis |
| FFI (Interfaz de Función Externa) | bun:ffi |
| DNS | Bun.dns.lookup, Bun.dns.prefetch, Bun.dns.getCacheStats |
| Testing | bun:test |
| Workers | new Worker() |
| Cargadores de Módulos | Bun.plugin |
| Glob | Bun.Glob |
| Cookies | Bun.Cookie, Bun.CookieMap |
| Node-API | Node-API |
import.meta | import.meta |
| Utilidades | Bun.version, Bun.revision, Bun.env, Bun.main |
| Sueño y Temporización | Bun.sleep(), Bun.sleepSync(), Bun.nanoseconds() |
| Random y UUID | Bun.randomUUIDv7() |
| Sistema y Entorno | Bun.which() |
| Comparación e Inspección | Bun.peek(), Bun.deepEquals(), Bun.deepMatch, Bun.inspect() |
| Procesamiento de Cadenas y Texto | Bun.escapeHTML(), Bun.stringWidth(), Bun.indexOfLine |
| Utilidades de URL y Ruta | Bun.fileURLToPath(), Bun.pathToFileURL() |
| Compresión | Bun.gzipSync(), Bun.gunzipSync(), Bun.deflateSync(), Bun.inflateSync(), Bun.zstdCompressSync(), Bun.zstdDecompressSync(), Bun.zstdCompress(), Bun.zstdDecompress() |
| Procesamiento de Streams | Bun.readableStreamTo*(), Bun.readableStreamToBytes(), Bun.readableStreamToBlob(), Bun.readableStreamToFormData(), Bun.readableStreamToJSON(), Bun.readableStreamToArray() |
| Gestión de Memoria y Buffer | Bun.ArrayBufferSink, Bun.allocUnsafe, Bun.concatArrayBuffers |
| Resolución de Módulos | Bun.resolveSync() |
| Análisis y Formateo | Bun.semver, Bun.TOML.parse, Bun.color |
| Bajo Nivel / Internos | Bun.mmap, Bun.gc, Bun.generateHeapSnapshot, bun:jsc |