Saltar al contenido principal

Lanzada la versión 7.29.0: La última versión menor de Babel 7

· 4 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 →

¡Babel 7.29.0 ya está aquí!

Esta es la última versión menor de Babel 7 mientras nos preparamos para lanzar Babel 8.0.0. ¡Babel 8.0.0-rc también sale hoy: pruébalo!

Esta versión incluye soporte para definir objetivos de transpilación en @babel/standalone mediante un atributo data-target en elementos <script>. También añade soporte para la API asíncrona de @babel/core en @babel/standalone.

Ambos cambios están diseñados para facilitar la migración de Babel 7 a Babel 8.

Puedes leer el registro de cambios completo en GitHub. Si ya usas la beta de Babel 8, todas las nuevas características de 7.29.0 están incluidas en v8.0.0-rc.1.

Si tú o tu empresa quieren apoyar a Babel y la evolución de JavaScript pero no saben cómo, pueden donar a través de nuestro Open Collective y, mejor aún, ¡trabajar directamente con nosotros implementando nuevas propuestas de ECMAScript! Como proyecto impulsado por voluntarios, dependemos del apoyo de la comunidad para financiar nuestros esfuerzos en soportar la amplia gama de usuarios de JavaScript. Contáctenos en team@babeljs.io si desean conversar más.

Destacados

Soporte para el atributo data-targets en @babel/standalone (#17482)

Por defecto, @babel/preset-env transforma tu código hasta ES5. Esto cambiará en Babel 8, donde por defecto se usará la consulta defaults de Browserslist.

Se recomienda especificar explícitamente tus targets desde Babel 7 para que tu resultado no cambie con la actualización mayor. Este nuevo atributo permite hacerlo al usar @babel/standalone para transformar automáticamente etiquetas <script>:

<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>

<script type="text/babel" data-targets="firefox 97, chrome 102">
const getMessage = () => "Hello World";
document.getElementById("output").innerHTML = getMessage();
</script>

Ten en cuenta que Browserslist no admite especificar "navegador actual" como objetivo: es tu responsabilidad elegir objetivos lo suficientemente antiguos para que se admitan los navegadores de tus usuarios.

Babel 8.0.0-rc.1

Tras años de desarrollo, Babel 8 está finalmente listo. Lo lanzamos como 8.0.0-rc.1 para que más usuarios puedan probarlo e informar problemas antes del lanzamiento final. No planeamos introducir más cambios, salvo que surjan de comentarios sobre las últimas versiones preliminares.

Un principio rector de los cambios con ruptura de compatibilidad que hemos introducido es que actualizar a Babel 8 debería ser sencillo: la mayoría ya estaban disponibles en Babel 7 mediante una opción configurable, lo que permite adaptar tu código antes de realizar la actualización.

Hemos preparado excelentes recursos para guiarte en lo necesario para migrar de Babel 7 a Babel 8:

Hay muchos cambios con ruptura de compatibilidad que esperamos no afecten a nuestros usuarios, pero que nos entusiasman enormemente: por ejemplo, Babel 8 se distribuirá como paquete exclusivo de ESM. Llevamos mucho tiempo intentando resolver esto, y finalmente con el soporte de require(esm) incluido en Node.js 20 nos sentimos cómodos sin ofrecer una alternativa CommonJS.

También puedes leer el registro de cambios completo de cada versión preliminar de Babel 8 en GitHub.