Bun implémente un ensemble d'API natives sur l'objet global Bun et à travers plusieurs modules intégrés. Ces API sont fortement optimisées et représentent la manière canonique "native à Bun" d'implémenter certaines fonctionnalités courantes.
Bun s'efforce d'implémenter des API Web standard dans la mesure du possible. Bun introduit de nouvelles API principalement pour les tâches côté serveur où aucune norme n'existe, telles que les E/S de fichiers et le démarrage d'un serveur HTTP. Dans ces cas, l'approche de Bun s'appuie toujours sur des API standard comme Blob, URL et Request.
ts
Bun.serve({
fetch(req: Request) {
return new Response("Succès !");
},
});Cliquez sur le lien dans la colonne de droite pour accéder à la documentation associée.
| Thème | APIs |
|---|---|
| Serveur HTTP | Bun.serve |
| Shell | $ |
| Bundler | Bun.build |
| E/S de fichiers | Bun.file, Bun.write, Bun.stdin, Bun.stdout, Bun.stderr |
| Processus enfants | Bun.spawn, Bun.spawnSync |
| Sockets TCP | Bun.listen, Bun.connect |
| Sockets UDP | Bun.udpSocket |
| WebSockets | new WebSocket() (client), Bun.serve (serveur) |
| Transpileur | Bun.Transpiler |
| Routage | Bun.FileSystemRouter |
| HTML en streaming | HTMLRewriter |
| Hachage | Bun.password, Bun.hash, Bun.CryptoHasher, Bun.sha |
| SQLite | bun:sqlite |
| Client PostgreSQL | Bun.SQL, Bun.sql |
| Client Redis (Valkey) | Bun.RedisClient, Bun.redis |
| FFI (Foreign Function Interface) | bun:ffi |
| DNS | Bun.dns.lookup, Bun.dns.prefetch, Bun.dns.getCacheStats |
| Tests | bun:test |
| Workers | new Worker() |
| Chargeurs de modules | Bun.plugin |
| Glob | Bun.Glob |
| Cookies | Bun.Cookie, Bun.CookieMap |
| Node-API | Node-API |
import.meta | import.meta |
| Utilitaires | Bun.version, Bun.revision, Bun.env, Bun.main |
| Sommeil et minutage | Bun.sleep(), Bun.sleepSync(), Bun.nanoseconds() |
| Aléatoire et UUID | Bun.randomUUIDv7() |
| Système et environnement | Bun.which() |
| Comparaison et inspection | Bun.peek(), Bun.deepEquals(), Bun.deepMatch, Bun.inspect() |
| Traitement de chaînes et texte | Bun.escapeHTML(), Bun.stringWidth(), Bun.indexOfLine |
| Utilitaires URL et chemin | Bun.fileURLToPath(), Bun.pathToFileURL() |
| Compression | Bun.gzipSync(), Bun.gunzipSync(), Bun.deflateSync(), Bun.inflateSync(), Bun.zstdCompressSync(), Bun.zstdDecompressSync(), Bun.zstdCompress(), Bun.zstdDecompress() |
| Traitement de streams | Bun.readableStreamTo*(), Bun.readableStreamToBytes(), Bun.readableStreamToBlob(), Bun.readableStreamToFormData(), Bun.readableStreamToJSON(), Bun.readableStreamToArray() |
| Gestion de mémoire et Buffer | Bun.ArrayBufferSink, Bun.allocUnsafe, Bun.concatArrayBuffers |
| Résolution de modules | Bun.resolveSync() |
| Analyse et formatage | Bun.semver, Bun.TOML.parse, Bun.color |
| Bas niveau / Internes | Bun.mmap, Bun.gc, Bun.generateHeapSnapshot, bun:jsc |