babel-plugin-flow-to-typescript
TypeScript icon, indicating that this package has built-in type declarations

0.6.0 • Public • Published

babel-plugin-flow-to-typescript

Babel plugin to convert Flow code into TypeScript

How to use

$ npm install -g @babel/cli @babel/core
$ npm install babel-plugin-flow-to-typescript
 
# you must use babel@^7.x.x 
$ babel --version
7.4.4 (@babel/core 7.4.5)
 
$ babel --plugins 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
Object type Object object
Mixed type mixed unknown
Function type (A, B) => C (x1: A, x2: 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
typeof operator typeof foo typeof foo
JSX - -
Tuple type [number, string] [number, string]
Type alias type A = string type A = string
Flow Ignore $FlowFixMe any
Interfaces interface X { +prop: string } interface X { readonly prop: string }
Optional Members a?.b ...
Declare functions declare function x(false): true; function x(x0: false): true;
Declare Class ... ...

Readme

Keywords

Package Sidebar

Install

npm i babel-plugin-flow-to-typescript

Weekly Downloads

5,394

Version

0.6.0

License

MIT

Unpacked Size

163 kB

Total Files

177

Last publish

Collaborators

  • kikurage