Bun
Ir a la navegación
Ir a la búsqueda
General
Bun es un entorno en tiempo de ejecución de JavaScript, como Node o Deno, pero todo en uno. Bun tiene un paquete nativo, un transpilador, un ejecutor de tareas y un cliente npm integrado. Bun se creó en abril de 2021.
Features principales
Algunas características:
- JavaScriptCore: un motor de JavaScript incorporado para WebKit. Más rápido que el V8.
- Zig: un lenguaje de programación de propósito general y una cadena de herramientas para mantener un software robusto, óptimo y reutilizable.
- Esbuild: un paquete y minificador de JavaScript/CSS extremadamente rápido.
- APIs web integradas (fetch, WebSocket, ReadableStream, etc...)
- node_modules: bun implementa un algoritmo de resolución de módulos de Node.js, por lo que puedes usar paquetes npm en bun.js. ESM y CommonJS son compatibles, pero Bun utiliza internamente ESM.
- Transpilador de Typescript y JSX.
- Soporta paths, jsxImportSource y más desde los archivos tsconfig.json.
- Utiliza las llamadas al sistema más rápidas disponibles con Bun.write para write, copy, pipe, send y clone files.
- Cargado automático de .env sin require("dotenv").load()
- Cliente SQLite3 integrado con bun:sqlite
- bun:ffi Para código iteroperable con JavaScript
- node:fs node:path Bun soporta de manera nativa la mayoría de módulos del core de Node.js
- wiptest para test de JavaScript y TypeScript
Ejemplo
Levantemos un servidor HTTP sencillito.
// http.js export default { port: 3000, fetch(request) { return new Response("Welcome to Bun!"); }, };
En la terminal:
bun run http.js
Sale por pantalla:
Welcome to Bun!