Skip to content

Latest commit

 

History

History
65 lines (42 loc) · 1.33 KB

README.md

File metadata and controls

65 lines (42 loc) · 1.33 KB

esbuild-plugin-flow

Esbuild plugin to strip types for Flow files using flow-remove-types

Installation

npm i --dev https://github.com/dalcib/esbuild-plugin-flow

Usage

The esbuild plugin API isn't supported via CLI, so use a custom build script like so:

const esbuild = require('esbuild')
const flow = require('esbuild-plugin-flow')

esbuild
  .build({
    entryPoints: ['index.js'],
    outfile: 'dist/bundle.js',
    bundle: true,
    plugins: [flow(/\.flow\.jsx?$/)],
  })
  .catch(() => process.exit(1))

Options

The plugin has to parameters: regexp and [force]

regexp

The plugin needs a RegExp to define:

a) paths or packages to be included

;/node_modules\\package.*\.jsx?$/

b) extentions

;/\.flow\.jsx?$/

c) a combination of both

;/node_modules\\package1.*\.jsx?$|node_modules\\package2.*\.jsx?$|\.flow\.jsx?$/

force [optional]

A Boolean indicating that the plugin must act regardless of the existence of flow annotations (// @flow or /** @flow /*) in the file.

Entry Point

Due to limitations of Esbuild, the entry point is not processed.

Tests

For test, copy the folder flow-pkg to node_modules and run node tests/test