Support [Flow static type checking](https://flow.org/) in [Vite](https://vitejs.dev/)
npm install @bunchtogether/vite-plugin-flowSupport Flow static type checking in Vite
``shell`
npm install @bunchtogether/vite-plugin-flow --save-dev
or
`shell`
yarn add @bunchtogether/vite-plugin-flow --dev
`js
import { flowPlugin, esbuildFlowPlugin } from '@bunchtogether/vite-plugin-flow';
export default {
optimizeDeps: {
esbuildOptions: {
plugins: [esbuildFlowPlugin()]
}
},
plugins: [
flowPlugin()
]
}
`
#### Table of Contents
* flowPlugin
* Parameters
* esbuildFlowPlugin
* Parameters
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
* See: esbuild plugins documentation
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;)declare foo: string;
completely rather than only removing the type. THIS IS NOT SPEC
COMPLIANT! Instead, use for type-only fields. (optional, default false`)
Returns EsbuildPlugin Returns esbuild plugin object