Bun 1.4.3, publicada el 10 de octubre de 2026, incorpora bun check, un verificador de tipos TypeScript integrado en el runtime. Es un port del compilador typescript-go y reporta los mismos errores que tsc sin generar JavaScript, aprovechando todos los núcleos disponibles. La versión también corrige una regresión que mantenía activo un temporizador en los servidores inactivos, con una reducción de entre el 67 % y el 89 % del consumo de CPU en reposo.
Un verificador sin dependencia del paquete TypeScript
bun check lee directamente el tsconfig.json del proyecto y no requiere el paquete typescript. No sustituye al servidor de lenguaje del editor, que sigue apoyándose en TypeScript para la retroalimentación en tiempo real, pero se ejecuta desde la línea de comandos o integrado en otras órdenes de Bun.
bun check
bun check --no-pretty # salida en bruto, útil para comparar con diff
bun run --check dev # verifica tipos antes de ejecutar el script
bun test --check # verifica archivos de prueba y sus imports
bun build --check ./src/index.ts --outdir outEl comando se apoya en el editor para la experiencia en tiempo real y en su propio motor para la verificación en línea de comandos, lo que permite integrarlo en un script de build o en un paso de CI sin instalar el compilador oficial.
Diferencias de rendimiento medidas en proyectos reales
En un Mac Apple Silicon de 16 núcleos, el equipo de Bun comparó bun check con tsc 7.0.2 sobre varias bases de código de código abierto.
| Proyecto | Archivos | bun check | tsc 7.0.2 | Mejora |
|---|---|---|---|---|
| VS Code (src) | 9.795 | 1,24 s | 5,98 s | 4,8x |
| mikro-orm | 2.883 | 1,20 s | 5,97 s | 5,0x |
| Next.js (packages/next) | 2.881 | 0,28 s | 1,82 s | 6,4x |
| Playwright | 706 | 0,15 s | 0,64 s | 4,2x |
En el proyecto VS Code, el consumo de memoria baja a 2,14 GB frente a los 7,97 GB de tsc, es decir 3,7 veces menos. Una segunda prueba en Linux x64, con 64 hilos y promediada sobre 20 ejecuciones, confirma la diferencia en los 10.947 archivos de VS Code: 1,75 s para bun check frente a 5,88 s para tsc 7 con 16 procesos de verificación.
La cuestión de la conformidad
Un verificador más rápido solo interesa si da el mismo veredicto que el original. El equipo de Bun afirma superar el 100 % de la suite de conformidad de TypeScript 7.0.2, 51.210 pruebas, y haber comparado su salida con la de tsc en 72 proyectos de código abierto configurados deliberadamente mal.
Bun asegura haber comparado su salida con la de tsc sobre 286.267 errores reportados en 72 proyectos, con una sola discrepancia encontrada.
Estas cifras provienen del propio equipo de Bun, no de una auditoría independiente. El equipo publicó un protocolo para reproducir la comparación en cualquier proyecto: ejecutar tsc y bun check en paralelo, comparar las salidas con diff y abrir un ticket si difieren.
bunx -p [email protected] tsc --noEmit --pretty false > tsc.txt
bun check --no-pretty > bun.txt
diff tsc.txt bun.txtUn servidor que realmente descansa en reposo
La segunda corrección notable afecta a las aplicaciones HTTP de larga duración. Desde la versión 1.4.2, una petición ocasional mantenía activo un temporizador del recolector de basura cada segundo, incluso sin tráfico. La versión 1.4.3 solo despierta el proceso para trabajo real, como una comprobación de estado cada diez segundos.
| Framework | v1.4.0 | v1.4.2 | v1.4.3 |
|---|---|---|---|
| Express | 308 ms | 282 ms | 57 ms |
| Elysia | 280 ms | 197 ms | 21 ms |
| Hono | 263 ms | 195 ms | 21 ms |
| Next.js SSR | 628 ms | 815 ms | 268 ms |
Estas cifras de CPU acumulado, medidas durante dos minutos de inactividad con una comprobación de estado cada diez segundos, afectan sobre todo a los despliegues facturados por uso, donde un proceso que corre sin motivo tiene un coste directo. La memoria en reposo también baja entre un 6 % y un 11 % respecto a la versión anterior.
El resto de la entrega
La versión añade también Bun.FetchSession, que aísla TLS, proxy y conexiones persistentes por grupo de peticiones, y una clase experimental Bun.ModuleGraph capaz de ejecutar varias instancias de una misma aplicación en un solo proceso. Varios parches de seguridad completan la entrega, entre ellos un endurecimiento TLS catalogado como CVE-2026-48618.
Para una comparativa más amplia de gestores de paquetes y runtimes de JavaScript, véase la comparativa de npm, pnpm, Bun y Deno. En el apartado específico del compilador de TypeScript, el paso a un compilador escrito en Go ya se cubrió en el artículo sobre TypeScript 7 y su compilador en Go, cuyo tsc 7.0.2 sirve aquí como referencia de comparación.
Lo que hay que recordar
Bun 1.4.3 convierte la verificación de tipos en un argumento de velocidad y no en un servicio delegado por completo al ecosistema TypeScript. Las ganancias anunciadas, de 3x a 6,4x según el proyecto, se refieren a la verificación en línea de comandos y en CI, no a la experiencia dentro del editor, que sigue dependiendo del servidor de lenguaje TypeScript habitual. Para los equipos que ejecutan servicios Bun en producción facturada por uso, la corrección del temporizador en reposo puede pesar tanto como el nuevo verificador.
La cifra que merece atención no es el 6,4x en Next.js, sino la caída del 89 % de CPU en reposo en Elysia. He visto más de una factura de hosting inflada por un proceso Node que giraba sin motivo entre peticiones que un build ralentizado por un verificador de tipos lento. Queda por ver si bun check aguanta en bases de código menos cuidadas que las elegidas para la demostración, con configuraciones tsconfig heredadas y tipos genéricos recursivos que hacen descarrilar a más de una herramienta de terceros. Mientras tanto, el script de diff publicado por el equipo es la forma correcta de comprobarlo en el propio proyecto antes de retirar tsc de una cadena de CI. — Simon Janvier
Para profundizar: la entrada oficial del equipo de Bun sobre la versión 1.4.3.
