@rollup/plugin-sucrase

Compile TypeScript, Flow, JSX, etc with Sucrase

Usage no npm install needed!

<script type="module">
  import rollupPluginSucrase from 'https://cdn.skypack.dev/@rollup/plugin-sucrase';
</script>

README

npm size libera manifesto

@rollup/plugin-sucrase

🍣 A Rollup plugin which compiles TypeScript, Flow, JSX, etc with Sucrase.

Requirements

This plugin requires an LTS Node version (v8.0.0+) and Rollup v1.20.0+.

Install

Using npm:

npm install @rollup/plugin-sucrase --save-dev

Usage

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.

Options

The following Sucrase options may be passed as options for this plugin:

  • enableLegacyBabel5ModuleInterop
  • enableLegacyTypeScriptModuleInterop
  • jsxFragmentPragma
  • jsxPragma
  • production
  • transforms

exclude

Type: String | Array[...String] Default: null

A minimatch pattern, or array of patterns, which specifies the files in the build the plugin should ignore. By default no files are ignored.

include

Type: String | Array[...String] Default: null

A minimatch pattern, or array of patterns, which specifies the files in the build the plugin should operate on. By default all files are targeted.

Meta

CONTRIBUTING

LICENSE (MIT)