Saltar al contenido principal

@babel/preset-flow

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 →

Este preset se recomienda si utilizas Flow, un comprobador de tipos estático para código JavaScript. Incluye los siguientes plugins:

Ejemplo

Entrada

JavaScript
function foo(one: any, two: number, three?): string {}

Salida

JavaScript
function foo(one, two, three) {}

Instalación

npm install --save-dev @babel/preset-flow

Uso

Mediante un archivo de configuración (Recomendado)

babel.config.json
{
"presets": ["@babel/preset-flow"]
}

Mediante la CLI

Shell
babel --presets @babel/preset-flow script.js

Mediante la API de Node

JavaScript
require("@babel/core").transformSync("code", {
presets: ["@babel/preset-flow"],
});

Opciones

all

boolean, valor predeterminado: false.

Flow solo analizará características específicas si existe un pragma @flow en la parte superior del archivo, o si la opción all está configurada en el archivo .flowconfig.

Si estás utilizando la opción all en tu configuración de Flow, asegúrate de establecer esta opción en true para obtener un comportamiento equivalente.

Por ejemplo, sin ninguno de los anteriores configurados, la siguiente expresión de llamada con un argumento de tipo:

f<T>(e)

Se analizaría como una expresión binaria anidada:

JavaScript
f < T > e;

allowDeclareFields

boolean, valor predeterminado: false

Añadido en: v7.9.0

nota

Estará habilitado por defecto en Babel 8

Cuando está habilitado, los campos de clase exclusivamente de tipo solo se eliminan si están prefijados con el modificador declare:

JavaScript
class A {
declare foo: string; // Removed
bar: string; // Initialized to undefined
}

ignoreExtensions

boolean, valor predeterminado: true

Añadido en: v7.24.0

Cuando se establece en true, Babel aplicará la transformación de Flow a todas las extensiones. Cuando se establece en false, Babel evitará la transformación de Flow para archivos *.tsx.

experimental_useHermesParser

boolean, valor predeterminado: false

Añadido en: v7.24.0

El equipo de Hermes mantiene un parser alternativo de Flow para Babel, que se mantiene mejor actualizado con las últimas características de sintaxis de Flow. Puedes habilitarlo estableciendo esta opción en true.

advertencia

El parser de Hermes actualmente no adjunta comentarios al AST. Esto puede causar problemas con transformaciones que dependen de la presencia de comentarios específicos.

Puedes leer más sobre cómo configurar opciones de presets aquí