Bun 1.4 Parsea JSON5, JSONL y YAML de Fábrica: Fin del Drama de los Comentarios en JSON
El runtime que ya era de los más rápidos parseando JSON ahora soporta JSON5, JSONL y YAML sin dependencias. Qué significa para tus archivos de configuración y tus logs.
JSON es terrible para configuración y todo el mundo lo sabe
Cuando analizamos el RFC 8259 actualizado ya lo decíamos: JSON no tiene comentarios, no admite trailing commas y exige comillas en las claves. Para APIs es perfecto; para un tsconfig.json que tiene que explicarse a sí mismo, es un desastre.
Por eso existen JSON5, JSONC, YAML y TOML. La noticia: Bun 1.4 los soporta de serie, con APIs nativas — Bun.JSON5, Bun.JSONL, Bun.YAML — escritas en Zig y a la velocidad a la que Bun nos tiene acostumbrados con JSON.parse.
Qué aporta cada formato
JSON5: JSON que admite humanos
const config = Bun.JSON5.parse(`
{
// esto es un comentario, por fin
'puerto': 3000,
plugins: [
'auth',
'cache', // trailing comma sin drama
],
}`);
Comillas simples, claves sin comillas, comentarios y trailing commas. Todo lo que tsconfig.json lleva años haciendo de facto con JSONC, pero con spec y parser oficial.
JSONL/NDJSON: una línea, un objeto
El formato de facto para logs, exports masivos y datasets de LLMs. Bun lo trata como ciudadano de primera:
for await (const row of Bun.JSONL.stream(file.stream())) {
// cada línea del archivo ya es un objeto parseado
}
Si alguna vez hiciste text.split('\n').map(JSON.parse), sabes que se rompe con líneas vacías y es una bomba de memoria. Esto lo resuelve bien.
YAML: el estándar de facto de la configuración
Kubernetes, GitHub Actions, Docker Compose: la mitad de tu repo ya es YAML. Bun.YAML.parse() lo parsea sin traerte js-yaml como dependencia.
¿Y esto por qué importa?
- Sin dependencias: cada parser que metías por npm era una dependencia que auditar, actualizar y, como vemos cada semana, defender de supply chain attacks.
- Rendimiento nativo: parsear un YAML grande para cargar config deja de ser una penalización de arranque.
- Validación previa gratis: antes de commitear un JSON5 o un JSONL enorme, pásalo por nuestro formateador JSON para verificar la estructura — JSON5 estricto de datos sigue siendo JSON válido en su núcleo.
¿Cambio mis configs ya?
- Si el proyecto vive en Bun: sí, JSON5 para configs internas y JSONL para exports/logs es la opción sensata.
- Si compartes configs con Node u otros runtimes: quédate en JSON estándar y deja JSON5 para lo estrictamente local — nuestro validador JSON te dirá en dos segundos si ese archivo sigue siendo JSON puro o ya no.
El ecosistema lleva una década pidiendo "JSON con comentarios". Que un runtime lo incorpore nativamente es la señal de que, por fin, la presión ganó.
관련 기사
El Gusano Shai-Hulud Sigue Vivo en npm: Qué Credenciales Rotar y en Qué Orden
tensorlake@0.5.144 es la última variante del gusano que roba tokens de npm, GitHub y tu .env antes de republicarse con tu identidad. Checklist práctico si instalaste paquetes afectados.
OAuth 2.1 Ya Jubila Oficialmente a RFC 6749: Estas Son las Reglas Nuevas
El draft-16 de OAuth 2.1, publicado en septiembre, declara obsoletos RFC 6749 y 6750: PKCE para todos, adiós al implicit grant. Y el nuevo BCP de validación de JWT está a punto de ser RFC.
Temporal Ya Es Estándar: La API Que Por Fin Sustituye a Date
TC39 aprobó Temporal en Stage 4 y ya funciona sin flags en Chrome, Firefox y Node 26. Qué cambia para tus timestamps, zonas horarias y cálculos de fechas.