Skip to content

maxsalven/vite-plugin-flow

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vite-plugin-flow

Support Flow static type checking in Vite

Install

npm install @bunchtogether/vite-plugin-flow --save-dev

or

yarn add @bunchtogether/vite-plugin-flow --dev

Usage

import { flowPlugin, esbuildFlowPlugin } from '@bunchtogether/vite-plugin-flow';

export default {
  optimizeDeps: {
    esbuildOptions: {
      plugins: [esbuildFlowPlugin()]
    }
  },
  plugins: [
    flowPlugin()
  ]
}

API

Table of Contents

flowPlugin

Create a Vite plugin object

Parameters

  • options Object? Filter options (optional, default {include:/\.(flow|jsx?)$/,exclude:/node_modules/,flow:{all:false,pretty:false,ignoreUninitializedFields:false}})

    • options.include (string | Regexp | Array<(string | Regexp)>) Strings and/or regular expressions matching file paths to include (optional, default /\.(flow|jsx?)$/)
    • options.exclude (string | Regexp | Array<(string | Regexp)>) Strings and/or regular expressions matching file paths to exclude (optional, default /node_modules/)

Returns VitePlugin Returns esbuild plugin object

esbuildFlowPlugin

Create an esbuild plugin object

Parameters

  • filter RegExp Regular expression matching the path a files to be processed (optional, default /\.(flow|jsx?)$/)

  • loaderFunction Function Function that accepts the file path and returns the esbuild loader type (optional, default (path)=>(/\.jsx$/.test(path)?'jsx':'js'))

  • flowOptions Object Options to pass to flow-remove-types (optional, default {all:false,pretty:false,ignoreUninitializedFields:false})

    • flowOptions.all boolean If true, bypasses looking for an @flow pragma comment before parsing. (optional, default false)
    • flowOptions.pretty boolean If true, removes types completely rather than replacing with spaces. (optional, default false)
    • flowOptions.ignoreUninitializedFields boolean If true, removes uninitialized class fields (foo;, foo: string;) completely rather than only removing the type. THIS IS NOT SPEC COMPLIANT! Instead, use declare foo: string; for type-only fields. (optional, default false)

Returns EsbuildPlugin Returns esbuild plugin object

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 97.8%
  • Shell 2.2%