Saltar al contenido principal

7.12.0 Lanzado: TypeScript 4.1, cadenas como nombres de importación/exportación y bloques estáticos de clase

· 6 min de lectura
Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

¡Acabamos de publicar una nueva versión menor de Babel!

Esta versión incluye soporte para las nuevas características beta de TypeScript 4.1: tipos de literales plantilla y remapeo de claves en tipos mapeados.

Además, implementamos dos nuevas propuestas de ECMAScript: bloques estáticos de clase e importaciones y exportaciones con nombres de cadena.

Finalmente, renombramos @babel/plugin-syntax-module-attributes (y el plugin de análisis sintáctico correspondiente moduleAttributes) a @babel/plugin-syntax-import-assertions (e importAssertions), para alinearnos con las actualizaciones recientes de la propuesta. El plugin antiguo seguirá funcionando hasta Babel 8, pero ahora está obsoleto.

Puedes leer el registro de cambios completo en GitHub.

7.11.0 Lanzado: Soporte para ECMAScript 2021 en preset-env, TypeScript 4.0, impresión de configuración y el futuro de `babel-eslint`

· 6 min de lectura
Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

¡Acabamos de publicar una nueva versión menor de Babel!

Esta versión 7.11 incluye:

  • Soporte en preset-env para Asignaciones Lógicas (??=), Separadores Numéricos (1_2) y Reexportación de Namespaces (export * as ns from ...)

  • Soporte para TypeScript 4.0

  • Soporte en el parser para la propuesta en Etapa 1 de Decimal (7.11m)

  • Una bandera de entorno para imprimir la configuración de Babel resuelta para un archivo (BABEL_SHOW_CONFIG_FOR)

Adicionalmente, ¡lanzamos el sucesor de babel-eslint: @babel/eslint-parser!

Puedes leer el registro completo de cambios en GitHub.

7.10.0 Lanzado: Campos de Clase en preset-env, verificaciones '#private in' y mejor tree-shaking para React

· 11 min de lectura
Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

¡Acabamos de publicar una nueva versión menor de Babel!

Esta versión 7.10 incluye:

  • Soporte completo para la nueva propuesta en Etapa 1: verificaciones #prop in obj para campos privados propuesta.

  • @babel/preset-env ahora compila secuencias de escape Unicode estilo ES2015 (\u{Babe1}) a sintaxis heredada equivalente (\uDAAA\uDFE1).

  • Dos mejoras al operador Encadenamiento Opcional (?.)

  • Soporte en el parser para la nueva propuesta en Etapa 1 Atributos de Módulo (import a from "./a.json" with type: "json").

  • ¡Mejor soporte de tree-shaking para código React (ej. React.memo)!

  • ¡Creación del repositorio RFCs y páginas de Discusiones en GitHub!

Puedes leer el changelog completo en GitHub.

7.9.0 Publicada: Menor tamaño de salida en preset-env, soporte para TypeScript 3.8 y nueva transformación JSX

· 10 min de lectura
Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

Mientras preparamos el lanzamiento de Babel 8.0.0 (en los próximos meses), acabamos de finalizar una nueva versión menor que incluye actualizaciones relacionadas con @babel/preset-env, TypeScript 3.8, Flow y JSX!

Hace unos meses, Jason Miller comenzó a trabajar en @babel/preset-modules: un experimento para reducir significativamente el tamaño de los bundles al usar el patrón module/nomodule. ¡Nos complace anunciar que su funcionalidad se ha integrado en @babel/preset-env! Esto significa que sus optimizaciones pueden aplicarse a todos los valores de destino de preset-env, sin necesidad de un preset adicional.

Nota: Estas optimizaciones estarán habilitadas por defecto en Babel 8. Pueden activarse manualmente en Babel 7.9 pasando la opción { bugfixes: true } a preset-env.

Esta versión también incluye soporte completo para TypeScript 3.8, que introdujo importaciones y exportaciones explícitas de solo tipo (ej. export type { foo }), y para Flow 0.120, que añadió el modificador declare para campos de clase (ej. class C { declare foo: string }).

También colaboramos con el equipo de React para proporcionar una nueva transformación JSX, que permitirá a React y bibliotecas similares optimizar aún más la creación de elementos JSX mediante la función jsx en lugar de React.createElement.

Finalmente, @babel/parser ahora soporta una propuesta adicional de ECMAScript: Record & Tuple. Ten en cuenta que esto es solo soporte en el parser, y las transformaciones aún están en desarrollo.

Puedes leer el changelog completo en GitHub.

7.8.0 Publicado: ECMAScript 2020, archivos de configuración .mjs y mejoras en @babel/cli

· 9 min de lectura
Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

¡Esta es la primera publicación del año! 🎉

Babel 7.8.0 soporta las nuevas características de ECMAScript 2020 por defecto: ya no necesitas habilitar plugins individuales para fusión nula (??), encadenamiento opcional (?.) e import() dinámico con preset-env.

También terminamos de alinear nuestros distintos archivos de configuración con los formatos soportados nativamente por Node.js, un proceso que iniciamos en el lanzamiento 7.7.0.

Finalmente, la CLI de Babel ahora soporta dos nuevas opciones: --out-file-extension y --copy-ignored.

Puedes leer el registro de cambios completo en GitHub.

Planes de financiación de Babel

· 10 min de lectura
Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

Una de las mayores fortalezas del software de código abierto es que está abierto y es gratuito para que cualquiera pueda contribuir. Esto también conlleva uno de sus mayores desafíos: garantizar un mantenimiento constante y sostenible.

Babel no es una empresa. Como mencionamos en la publicación de la versión 7.0.0, el equipo de Babel (compuesto enteramente por voluntarios excepto Henry) ha hecho todo lo posible por gestionar el proyecto y cumplir con las expectativas de la comunidad. Nos alegra haber seguido publicando versiones, pero incluso mantenerse al día con los problemas reportados es difícil de gestionar, y más aún nuestras integraciones con otras herramientas, nuevas propuestas e impacto en el ecosistema.

En marzo de 2018, Henry dejó su trabajo para comenzar a trabajar en conseguir más financiación para Babel. Tras mucho esfuerzo y apoyo de la comunidad, el equipo logró financiar a Henry como mantenedor a tiempo completo.

Esto ha sido un gran logro para el equipo, pero estamos viendo que no es suficiente.

Lanzamiento 7.7.0: Recuperación de errores y TypeScript 3.7

· 10 min de lectura
Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

¡Hoy lanzamos Babel 7.7.0!

Esta versión incluye nuevas funcionalidades en el parser como top-level await (await x(), Etapa 3) y declaraciones Flow enum (propuesta Flow). ¡Además, @babel/parser ahora puede recuperarse de ciertos errores de sintaxis!

También hemos añadido soporte para TypeScript 3.7: Babel puede analizar y transformar campos privados de clase con anotaciones de tipo, anotaciones de campos públicos definidos con la palabra clave declare, firmas de funciones de aserción de tipo y literales plantilla en declaraciones enum.

Babel ahora reconoce tres nuevos archivos de configuración: babel.config.json, babel.config.cjs y .babelrc.cjs, que se comportan igual que los archivos babel.config.js y .babelrc.js.

Finalmente, Babel 7.7.0 consume un 20% menos de memoria que la versión 7.6.0.

Puedes leer el changelog completo en GitHub.

Publicada la versión 7.6.0: Accesores estáticos privados y sintaxis intrínseca de V8

· 5 min de lectura
Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

¡Acabamos de publicar una nueva versión menor de Babel!

Incluye soporte para accesores estáticos privados en clases y soporte en el parser para la sintaxis intrínseca de V8. También corregimos varios problemas persistentes relacionados con el manejo de TDZ (Zona Muerta Temporal) y mejoramos el soporte para expresiones do. Puedes leer el registro de cambios completo en GitHub.

7.5.0 publicada: import dinámico y tuberías F#

· 9 min de lectura
Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

¡Hoy lanzamos Babel 7.5.0!

Esta versión incluye mejoras en el soporte para varias propuestas de ECMAScript: la variante F# del operador de tubería (Stage 1) y un plugin oficial para la propuesta de import() dinámico (Stage 4), además de soporte en preset-env. También añade soporte experimental para namespace de TypeScript y para la consulta default de Browserslist en preset-env.

Puedes consultar el registro completo de cambios en GitHub.