@rollup/plugin-sucrase

Compile TypeScript, Flow, JSX, etc with Sucrase

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@rollup/plugin-sucrase
2,805714.0.45 months ago3 years agoMinified + gzip package size for @rollup/plugin-sucrase in KB

Readme

!npmnpmnpm-url !sizesizesize-url 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)