Skip to content

Latest commit

 

History

History
 
 

swc

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

npm size libera manifesto

@rollup/plugin-swc

🍣 A Rollup plugin to transpile TypeScript/JavaScript with the speedy-web-compiler (swc).

The plugin makes it possible to avoid the usage of @rollup/plugin-babel and @rollup/plugin-typescript. It is also blazingly fast 🔥 (between 20 - 70 times faster than Babel depending on how many cpu cores are used).

Requirements

This plugin requires an LTS Node version (v14.0.0+) and Rollup v3.0+.

Install

Using npm:

npm install @swc/core @rollup/plugin-swc --save-dev

Usage

Create a rollup.config.js configuration file and import the plugin:

import swc from '@rollup/plugin-swc';

export default {
  input: 'src/index.js',
  output: {
    dir: 'output',
    format: 'cjs'
  },
  plugins: [swc()]
};

Then call rollup either via the CLI or the API.

Options

The plugin accepts an object as input parameter to modify the default behaviour.

swc

import type { Options as SWCOptions } from '@swc/core';

declare type Options = {
  swc?: SWCOptions;
};

exclude

  • 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.

include

  • 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.

Alternatives

Alternative transpiler/transformer, which are also officially offered, are Babel and Sucrase. Both Babel and Sucrase are written in JavaScript, whereas the core of SWC is written in Rust. In addition, Sucrase transforms code to ES6+, whereas babel and SWC also support ES3 upwards.

Meta

CONTRIBUTING

LICENSE (MIT)