Babel plugin to convert Flow code into TypeScript
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 46 commits ahead, 14 commits behind Kiikurage:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
src
test/visitors
.gitignore
.yarnclean
README.md
package.json
tsconfig.json
tslint.json
yarn.lock

README.md

@cureapp/babel-plugin-flow-to-typescript

Babel plugin to convert Flow code into TypeScript

How to use

$ yarn global add @babel/cli 
$ yarn add @cureapp/babel-plugin-flow-to-typescript

# you must use babel@^7.x.x
$ babel --version 
7.0.0-beta.44 (@babel/core 7.0.0-beta.44)

$ babel --plugins @cureapp/babel-plugin-flow-to-typescript ${SRC_FLOW_FILE} -o ${DEST_TS_FILE}

Implementation status

Supported? Syntax Flow TypeScript
Maybe type let a:?number let a: number | null | undefined
Void type void void
Mixed type mixed {}
Function type (A, B) => C (a: A, b: B) => C
Exact type {| a: A |} { a: A }
Indexers { [A]: B } { [a: A]: B }
Existential type Map<*, *> Map<any, any>
Opaque types opaque type A = B type A = B
Variance interface A { +b: B, -c: C } interface A { readonly b: B, c: C }
Type parameter bounds function f<A: string>(a:A){} function f<A extends string>(a:A){}
Cast (a: A) (a as A)
type/typeof import import type A from 'module' import A from 'module'
$Keys $Keys<X> keyof X
$Values $Values<X> X[keyof X]
$ReadOnly $Readonly<X> Readonly<X>
$Exact $Exact<X> X
$Diff $Diff<X, Y> Pick<X, Exclude<keyof X, keyof Y>>
$PropertyType $PropertyType<T, k> T[k]
$ElementType $ElementType<T, k> T[k]
$Shape $Shape<T> Partial<T>
Class Class<T> typeof T
  • add CLI