JSPM

  • Created
  • Published
  • Downloads 3538
  • Score
    100M100P100Q147459F
  • License MIT

Turn flow type annotations into comments

Package Exports

  • @babel/plugin-transform-flow-comments

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@babel/plugin-transform-flow-comments) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@babel/plugin-transform-flow-comments

Turn flow type annotations into comments.

You should be able to use this plugin instead of @babel/plugin-flow-strip-types to preserve the /* @flow */ directive and still use flow.

Flow Comments Blog Post

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 --save-dev @babel/plugin-transform-flow-comments

Usage

.babelrc

{
  "plugins": ["@babel/transform-flow-comments"]
}

Via CLI

babel --plugins @babel/transform-flow-comments script.js

Via Node API

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