@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 @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.
This object has an swc
property to provide library specific Options.
import type { Options as SWCOptions } from '@swc/core';
declare type Options = {
swc?: SWCOptions;
};
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)