Registry / devops / unplugin-swc

unplugin-swc

JSON →
library1.5.9jsnpmunverified

unplugin-swc v1.5.9 is a build tool plugin that integrates SWC (Speedy Web Compiler) into Vite and Rollup pipelines. It automatically infers SWC options from tsconfig.json, simplifying migration from Babel/tsc. Released under MIT, actively maintained with frequent updates (monthly releases). Key differentiator: it replaces esbuild in Vite automatically, supports minification in Rollup, and recognizes .mts files (v1.5+). Peer dependency on @swc/core ^1.2.108.

npm install unplugin-swc
INSTALL
IMPORT
SIG · UNPLUGIN-SWC
U
unplugin-swc
devopsjavascriptv1.5.9
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18223 runs
build_error
glibc
node 18223 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default (swc)
import swc from 'unplugin-swc'
const swc = require('unplugin-swc')
ESM-only; CommonJS require fails as package is ESM-only since v1.5
vite plugin
swc.vite()
swc.Vite()
Function name is lowercase; case-sensitive
rollup plugin
swc.rollup()
swc.Rollup()
Function name is lowercase; case-sensitive
Options type
import type { Options } from 'unplugin-swc'
TypeScript type exported; for type-checking only

Minimal Vite configuration using unplugin-swc with tsconfig inference and optional minification.

import swc from 'unplugin-swc' import { defineConfig } from 'vite' export default defineConfig({ plugins: [ swc.vite({ tsconfigFile: './tsconfig.json', include: /\.[jt]sx?$/, exclude: /node_modules/, minify: process.env.NODE_ENV === 'production' }) ] })
Debug
Known issues
breakingPackage is ESM-only since v1.5.1; requires 'type': 'module' in package.json or .mjs extension.
fix
Use import syntax and set type: module in package.json.
affects: >=1.5.1
deprecatedUsing require('unplugin-swc') is deprecated; ESM-only from v1.5.1 onward.
fix
Switch to import statements.
affects: >=1.5.1
gotchaThe minify option only works with Rollup, not Vite (Vite uses esbuild for minification and cannot be changed).
fix
Only enable minify for Rollup builds; for Vite, use esbuild minify configuration directly.
affects: >=1.0.0
gotchaSetting jsc options in plugin options may conflict with .swcrc or tsconfig.json inference. It's recommended to configure jsc in .swcrc instead.
fix
Use .swcrc for jsc options, or set tsconfigFile: false to disable tsconfig inference.
affects: >=1.0.0
breakingIn version 1.5.0, .mts files are now recognized; if you relied on previous behavior of ignoring .mts, update your include/exclude regex.
fix
Adjust include/exclude patterns if needed; .mts is now included by default.
affects: >=1.5.0
gotchaWhen using experimentalDecorators, jsc.keepClassNames is automatically enabled; this may affect class naming in production builds.
fix
If you don't need keepClassNames, set tsconfigFile: false and configure SWC manually.
affects: >=1.0.0
Errors
Common errors & fixes
Cannot find module 'unplugin-swc'
Missing peer dependency @swc/core or wrong package manager cache.
fix
Run: npm install unplugin-swc @swc/core -D
TypeError: swc.vite is not a function
Using CommonJS require() instead of ESM import.
fix
Use: import swc from 'unplugin-swc'
Error: [unplugin-swc] 'minify' only works with rollup
Using minify: true for Vite plugin, which is unsupported.
fix
Remove minify option from Vite plugin, or use Rollup plugin if minification needed.
Module parse failed: Unexpected token (1:0) You may need an appropriate loader to handle this file type.
unplugin-swc is not correctly included in Vite/Rollup configuration; often due to missing plugin registration.
fix
Ensure plugin is added to the plugins array: swc.vite() for Vite or swc.rollup() for Rollup.
Upgrade
Version history
1.5.9latest on npm
Audit
Dependencies
@swc/corerequiredpeer dependency: required at runtime for SWC compilation
Agent activity
2 hits · last 30 days
node
2
Resources