Registry / devops / esbuild-plugin-swc2

esbuild-plugin-swc2

JSON →
library0.0.3jsnpmunverified

An ESBuild plugin that integrates the SWC compiler for fast JavaScript/TypeScript transformation and bundling. Version 0.0.3 requires Node >=16.0.0 and peer dependencies @swc/core and esbuild. It claims faster performance than the alternative 'esbuild-plugin-swc' and supports SWC's env mode 'usage' for automatic polyfilling based on browser targets. It ships TypeScript types and uses named exports.

npm install esbuild-plugin-swc2
INSTALL
IMPORT
SIG · ESBUILD-PLUGIN-SWC
E
esbuild-plugin-swc2
devopsjavascriptv0.0.3
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

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

pluginSwc
import { pluginSwc } from 'esbuild-plugin-swc2'
import pluginSwc from 'esbuild-plugin-swc2'
Named export, not default. CommonJS users should use const { pluginSwc } = require('esbuild-plugin-swc2').
PluginSwcOptions
import type { PluginSwcOptions } from 'esbuild-plugin-swc2'
Type import for TypeScript users; not exported at runtime.
PluginSwcConfig
import type { PluginSwcConfig } from 'esbuild-plugin-swc2'
Another type export for TypeScript users; not exported at runtime.

Example configuration of esbuild with swc plugin for TypeScript/React using browserslist for auto-polyfill.

import { BuildOptions } from 'esbuild'; import { pluginSwc } from 'esbuild-plugin-swc2'; import fs from 'fs'; const list = JSON.parse(fs.readFileSync('package.json', 'utf-8')).browserslist; const esbuildConfig: BuildOptions = { plugins: [ pluginSwc({ jsc: { parser: { tsx: true, syntax: 'typescript' }, transform: { react: { runtime: 'automatic', useBuiltins: false }, }, }, env: { mode: 'usage', targets: list }, }), ], };
Debug
Known issues
gotchaSWC's Module type must be set to 'ES6' for ESBuild to handle output correctly
fix
Set module: { type: 'es6' } in SWC options if using ESBuild's default format.
affects: >=0.0.0
gotchaPlugin does not support esbuild's 'incremental: true' feature when used with this plugin
fix
Use esbuild without incremental mode, or toggle incremental off.
affects: >=0.0.0
gotchaSWC's jsc.target set to 'esnext' may cause unexpected behavior with older browsers
fix
Specify jsc.target to match your target browsers (e.g., 'es2015', 'es2020').
affects: >=0.0.0
gotchaIf using SWC's env mode 'usage', ensure browserslist data is available and correctly parsed
fix
Provide a valid browserslist string or array in env.targets.
affects: >=0.0.0
deprecatedThe package name 'esbuild-plugin-swc2' is similar to other packages, may cause confusion
fix
Consider using unique package name or verify you have the correct one.
affects: >=0.0.0
Errors
Common errors & fixes
Error: Cannot find module '@swc/core'
Missing peer dependency @swc/core
fix
npm install @swc/core
TypeError: pluginSwc is not a function
Incorrect import (default instead of named)
fix
import { pluginSwc } from 'esbuild-plugin-swc2'
Error: ESBuild plugin error: SWC transform error: Failed to resolve module
SWC configuration issue or missing dependency
fix
Check SWC jsc.parser.syntax and ensure all required SWC plugins are installed.
Upgrade
Version history
0.0.3latest on npm
Audit
Dependencies
@swc/corerequiredRequired peer dependency: SWC compiler core for transforming JS/TS
esbuildrequiredRequired peer dependency: ESBuild bundler to which this plugin is attached
Agent activity
2 hits · last 30 days
node
2
Resources
esbuild-plugin-swc2 — npm install esbuild-plugin-swc2 · libregistry