{"id":21275,"library":"esbuild-plugin-swc","title":"esbuild-plugin-swc","description":"esbuild-plugin-swc v1.0.1 integrates SWC (Speedy Web Compiler) as a transform plugin for esbuild, handling JS/JSX/TS/TSX transpilation. It wraps SWC's official Compilation options, offering faster transforms than esbuild's built-in TypeScript stripping. The plugin is intended for projects that want to leverage SWC's speed while using esbuild for bundling. Released in 2023, it follows esbuild plugin conventions and is distributed as a CommonJS module via npm. Key differentiator: direct use of SWC's Compilation API for advanced configuration.","status":"active","version":"1.0.1","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","esbuild","swc","frontend"],"install":[{"cmd":"npm install esbuild-plugin-swc","lang":"bash","label":"npm"},{"cmd":"yarn add esbuild-plugin-swc","lang":"bash","label":"yarn"},{"cmd":"pnpm add esbuild-plugin-swc","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Runtime peer dependency - the plugin is called during esbuild builds","package":"esbuild","optional":false},{"reason":"Required peer dependency for SWC transformation","package":"@swc/core","optional":true}],"imports":[{"note":"This package is CJS-only; ESM import syntax will fail. Use require() in CommonJS environments or dynamic import() in ESM.","wrong":"import { swcPlugin } from 'esbuild-plugin-swc'","symbol":"swcPlugin","correct":"const { swcPlugin } = require('esbuild-plugin-swc')"},{"note":"The package exports swcPlugin as a named export, not default. Direct require() returns the module object; must destructure.","wrong":"const swcPlugin = require('esbuild-plugin-swc')","symbol":"default import","correct":"const swcPlugin = require('esbuild-plugin-swc').swcPlugin"},{"note":"Options mirror SWC's Compilation structure, not flattened. jsc object must wrap parser, transform, etc.","wrong":"swcPlugin({ parser: { syntax: 'typescript' } })","symbol":"swcPlugin options","correct":"swcPlugin({ jsc: { parser: { syntax: 'typescript' } } })"}],"quickstart":{"code":"const esbuild = require('esbuild');\nconst { swcPlugin } = require('esbuild-plugin-swc');\nesbuild.build({\n  entryPoints: ['index.ts'],\n  bundle: false,\n  outdir: 'out',\n  plugins: [swcPlugin()]\n}).catch(err => {\n  console.error(err);\n  process.exit(1);\n});","lang":"javascript","description":"Transpile a single TypeScript entry using esbuild with the SWC plugin, outputting to 'out' directory without bundling."},"warnings":[{"fix":"Use CommonJS require() or dynamic import('esbuild-plugin-swc').then(m => m.swcPlugin)","message":"ESM import not supported","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Run: npm install -D @swc/core","message":"@swc/core must be installed separately, not auto-installed","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Refer to SWC docs: https://swc.rs/docs/configuration/compilation","message":"Options must follow SWC Compilation structure (use jsc key for parser, transform)","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"npm install -D esbuild-plugin-swc","cause":"Package not installed or typo in package name","error":"Cannot find module 'esbuild-plugin-swc'"},{"fix":"const { swcPlugin } = require('esbuild-plugin-swc')","cause":"Using default import from require() without destructuring","error":"swcPlugin is not a function"},{"fix":"npm install -D @swc/core","cause":"@swc/core peer dependency not installed","error":"Error: The plugin 'swc' is not available (swc not installed)"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}