🍣 A Rollup plugin which compiles TypeScript, Flow, JSX, etc with Sucrase.
This plugin requires an LTS Node version (v14.0.0+) and Rollup v2.53.1+.
Using npm:
npm install @rollup/plugin-sucrase --save-dev
Create a rollup.config.js
configuration file and import the plugin. An example of compiling TypeScript (the node-resolve plugin is added to automatically add file extensions, since TypeScript expects not to find them):
import sucrase from '@rollup/plugin-sucrase';
import resolve from '@rollup/plugin-node-resolve';
export default {
input: 'src/index.ts',
output: {
file: 'dist/bundle.js',
format: 'cjs'
},
plugins: [
resolve({
extensions: ['.js', '.ts']
}),
sucrase({
exclude: ['node_modules/**'],
transforms: ['typescript']
})
]
};
Then call rollup
either via the CLI or the API.
The following Sucrase options may be passed as options for this plugin:
enableLegacyBabel5ModuleInterop
enableLegacyTypeScriptModuleInterop
jsxFragmentPragma
jsxPragma
production
transforms
Type: String
| Array[...String]
Default: null
A picomatch pattern, or array of patterns, which specifies the files in the build the plugin should ignore. By default no files are ignored.
Type: String
| Array[...String]
Default: null
A picomatch pattern, or array of patterns, which specifies the files in the build the plugin should operate on. By default all files are targeted.