Lanzamiento de Bun 1.1
(bun.sh)Soporte para Windows
- Bun ahora puede ejecutarse en Windows 10 y versiones posteriores
- Supera el 98% de la suite de pruebas de Bun en macOS y Linux
- Incluye un administrador de paquetes compatible con npm integrado, y al instalar una app de Vite React es 18 veces más rápido que
yarny 30 veces más rápido quenpm - Soporta ejecución de scripts más rápida en Windows con el formato de archivo
.bunx - Optimiza la API de Node.js usando las llamadas al sistema más rápidas en Windows
- Ejemplo:
fs.readdir()es 58% más rápido que en Node.js
- Ejemplo:
Bun es un runtime de JavaScript
- Soporta JavaScript, TypeScript y JSX
- Las herramientas de línea de comandos como
tscson hasta 2 veces más rápidas que en Bun 1.0 - Bun Shell ahora es un shell multiplataforma disponible también en Windows
- Incluye utilidades básicas como
ls,rmycat - Es posible ejecutar el shell desde JavaScript y TypeScript usando la API
Bun.$
- Incluye utilidades básicas como
Bun.Glob- Ofrece una API Glob integrada para coincidencia de archivos y cadenas
- Similar a
fast-globymicromatch, pero con coincidencia de cadenas 3 veces más rápida
Bun.Semver- Nueva API Semver para parsear y ordenar cadenas semver
- Similar al paquete
node-semver, pero 20 veces más rápida Bun.stringWidth()- Nueva API para medir el ancho visible de una cadena en la terminal
- Soporta códigos de escape ANSI, caracteres de ancho completo, grafemas y emoji
server.url: conBun.serve()se puede obtener la URL del servidor HTTP creado mediante la propiedadserver.urlserver.requestIP(): la dirección IP de una solicitud HTTP se puede obtener con el métodoserver.requestIP()subprocess.resourceUsage(): se puede acceder al uso de CPU y memoria de un subproceso creado conBun.spawn()mediante el métodoresourceUsage()- Mejoras en la compatibilidad con Node.js
- Diversas mejoras de API, como compatibilidad con la API cliente de
node:http2, compatibilidad conDate.parse()y soporte parafs.readdir()recursivo - IPC posible entre Bun y Node.js
- También soporta algunas API no documentadas de Node.js
- Diversas mejoras de API, como compatibilidad con la API cliente de
- Web API: soporte para API estándar de la Web como
WebSocket,performance.mark(),fetch()con compresión Brotli yURL.canParse()
Bun es un administrador de paquetes compatible con npm
- Con
bun install, se pueden instalar paquetes de npm hasta 29 veces más rápido - Mejoras en funciones como scripts de ciclo de vida,
trustedDependenciesybun pm trust
Bun es un bundler de JavaScript
- Soporta el bundling de código ejecutable en Node.js usando
bun build --target=node - Con la bandera
--compile, es posible compilar archivos TypeScript y JavaScript en un único ejecutable
Bun es un test runner
- Ofrece un módulo de pruebas integrado con la misma API que Jest
- Se agregaron nuevos matchers de
expect()y soporte para mocking de módulos
Soporte integrado para SQLite
- Soporte para SQLite con una API inspirada en
better-sqlite3 - Mejoras en consultas multi-statement, mensajes de error detallados, importación de bases de datos y soporte integrado
Opinión de GN⁺
- Bun es un toolkit de JavaScript que mejora mucho el rendimiento manteniendo la compatibilidad con Node.js, y con el soporte para Windows ahora puede llegar a una comunidad de desarrolladores más amplia.
- El test runner integrado y el soporte para SQLite permiten a los desarrolladores trabajar de forma eficiente sin herramientas adicionales.
- El alto rendimiento de Bun y la mejora en la experiencia de desarrollo pueden destacar especialmente en proyectos grandes o aplicaciones sensibles al rendimiento.
- A pesar de las múltiples funciones y mejoras que ofrece Bun, para lograr compatibilidad total con la amplia variedad de paquetes del ecosistema de Node.js seguirá siendo necesario el desarrollo continuo y la retroalimentación de la comunidad.
- Hace falta un análisis adicional sobre cómo las nuevas funciones de Bun pueden competir o colaborar con las herramientas existentes basadas en Node.js.
1 comentarios
Comentarios en Hacker News
La impresionante lista de cambios de Bun
La función de macros de Bun
Dudas sobre por qué usar Bun y Deno
Un gran fan de Bun
Evaluación del nuevo lanzamiento de Bun
.jsdel proyecto y el runtime para crear un ejecutable sin dependencias. Esto es útil cuando se quiere distribuir un único binario a los usuarios, pero actualmente el tamaño del archivo sigue siendo bastante grande (más de 90 MB para un proyecto pequeño en GNU/Linux).Solicitud al equipo de Bun
Participación de un desarrollador de Bun
Preguntas sobre la estabilidad de Bun
El modelo de ingresos de Bun y el financiamiento de VC