babel-plugin-flow-comments

Turn flow type annotations into comments

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
babel-plugin-flow-comments
6.3.197 years ago7 years agoMinified + gzip package size for babel-plugin-flow-comments in KB

Readme

babel-plugin-flow-comments
Turn flow type annotations into comments.
When using this plugin, you might want to also blacklist the flow transformer to preserve the /* @flow */ directive.
http://flowtype.org/blog/2015/02/20/Flow-Comments.html

Example

In
function foo(bar?) {}
function foo2(bar?: string) {}
function foo(x: number): string {}
type B = {
  name: string;
};
export type GraphQLFormattedError = number;
import type A, { B, C } from './types';
import typeof D, { E, F } from './types';

Out
"use strict";

function foo(bar /*:: ?*/) {}
function foo2(bar /*:: ?: string*/) {}
function foo(x /*: number*/) /*: string*/ {}
/*:: type B = {
  name: string;
};*/
/*:: export type GraphQLFormattedError = number;*/
/*:: import type A, { B, C } from './types';*/
/*:: import typeof D, { E, F } from './types';*/

Installation

$ npm install babel-plugin-flow-comments

Usage

Via .babelrc (Recommended)

.babelrc
{
  "plugins": ["flow-comments"],
  "blacklist": ["flow"]
}

Via CLI

$ babel --plugins flow-comments --blacklist flow script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["flow-comments"],
  blacklist: ["flow"]
});