BabelJS - Trabalhando com Babel e Flow
Flow é um verificador de tipo estático para JavaScript. Para trabalhar com flow e babel, vamos primeiro criar uma configuração de projeto. Usamos o babel 6 na configuração do projeto. Caso você queira mudar para o babel 7, instale os pacotes necessários do babel usando@babel/babel-package-name.
comando
npm initInstale os pacotes necessários para flow e babel -
npm install --save-dev babel-core babel-cli babel-preset-flow flow-bin babel-plugin-transform-flow-strip-typesAqui está o package.json final após a instalação. Também foi adicionado o comando babel e flow para executar o código na linha de comando.
 
                Crio .babelrc dentro da configuração do projeto e adicionar predefinições como mostrado abaixo
 
                Criar uma main.js arquivo e escreva seu código JavaScript usando o fluxo -
main.js
/* @flow */
function concat(a: string, b: string) {
   return a + b;
}
let a = concat("A", "B");
console.log(a);Use o comando babel para compilar o código usando presets: flow to normal javascript
npx babel main.js --out-file main_flow.jsmain_flow.js
function concat(a, b) {
   return a + b;
}
let a = concat("A", "B");
console.log(a);Também podemos usar um plugin chamado babel-plugin-transform-flow-strip-types em vez de predefinições da seguinte forma -
No .babelrc, adicione o plugin da seguinte forma -
 
                main.js
/* @flow */
function concat(a: string, b: string) {
   return a + b;
}
let a = concat("A", "B");
console.log(a);comando
npx babel main.js --out-file main_flow.jsmain_flow.js
function concat(a, b) {
   return a + b;
}
let a = concat("A", "B");
console.log(a);