O Bun implementa um conjunto de APIs nativas no objeto global Bun e através de vários módulos builtin. Estas APIs são altamente otimizadas e representam a maneira canônica "Bun-native" de implementar algumas funcionalidades comuns.
O Bun se esforça para implementar APIs Web padrão sempre que possível. O Bun introduz novas APIs principalmente para tarefas do lado do servidor onde não existe padrão, como I/O de arquivo e inicialização de um servidor HTTP. Nestes casos, a abordagem do Bun ainda se baseia em APIs padrão como Blob, URL e Request.
ts
Bun.serve({
fetch(req: Request) {
return new Response("Success!");
},
});Clique no link na coluna da direita para pular para a documentação associada.
| Tópico | APIs |
|---|---|
| Servidor HTTP | Bun.serve |
| Shell | $ |
| Bundler | Bun.build |
| I/O de Arquivo | Bun.file, Bun.write, Bun.stdin, Bun.stdout, Bun.stderr |
| Processos Filhos | Bun.spawn, Bun.spawnSync |
| Sockets TCP | Bun.listen, Bun.connect |
| Sockets UDP | Bun.udpSocket |
| WebSockets | new WebSocket() (cliente), Bun.serve (servidor) |
| Transpilador | Bun.Transpiler |
| Roteamento | Bun.FileSystemRouter |
| HTML 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 (Foreign Function Interface) | bun:ffi |
| DNS | Bun.dns.lookup, Bun.dns.prefetch, Bun.dns.getCacheStats |
| Testes | bun:test |
| Workers | new Worker() |
| Module Loaders | Bun.plugin |
| Glob | Bun.Glob |
| Cookies | Bun.Cookie, Bun.CookieMap |
| Node-API | Node-API |
import.meta | import.meta |
| Utilitários | Bun.version, Bun.revision, Bun.env, Bun.main |
| Sleep & Timing | Bun.sleep(), Bun.sleepSync(), Bun.nanoseconds() |
| Random & UUID | Bun.randomUUIDv7() |
| Sistema & Ambiente | Bun.which() |
| Comparação & Inspeção | Bun.peek(), Bun.deepEquals(), Bun.deepMatch, Bun.inspect() |
| Processamento de String & Texto | Bun.escapeHTML(), Bun.stringWidth(), Bun.indexOfLine |
| Utilitários de URL & Caminho | Bun.fileURLToPath(), Bun.pathToFileURL() |
| Compressão | Bun.gzipSync(), Bun.gunzipSync(), Bun.deflateSync(), Bun.inflateSync(), Bun.zstdCompressSync(), Bun.zstdDecompressSync(), Bun.zstdCompress(), Bun.zstdDecompress() |
| Processamento de Stream | Bun.readableStreamTo*(), Bun.readableStreamToBytes(), Bun.readableStreamToBlob(), Bun.readableStreamToFormData(), Bun.readableStreamToJSON(), Bun.readableStreamToArray() |
| Gerenciamento de Memória & Buffer | Bun.ArrayBufferSink, Bun.allocUnsafe, Bun.concatArrayBuffers |
| Resolução de Módulos | Bun.resolveSync() |
| Parsing & Formatação | Bun.semver, Bun.TOML.parse, Bun.color |
| Baixo Nível / Internos | Bun.mmap, Bun.gc, Bun.generateHeapSnapshot, bun:jsc |