{"id":20598,"library":"swc-loader","title":"swc-loader","description":"Webpack loader for the SWC compiler (Rust-based transpiler for JS/TS). Current stable version 0.2.7. Released as part of the swc project (monorepo under @swc). Key differentiators: integrates SWC into Webpack build pipeline for fast transpilation; supports both JavaScript and TypeScript via swc configuration; can be run synchronously or asynchronously. Alternatives include babel-loader, ts-loader.","status":"active","version":"0.2.7","language":"javascript","source_language":"en","source_url":"https://github.com/swc-project/pkgs","tags":["javascript"],"install":[{"cmd":"npm install swc-loader","lang":"bash","label":"npm"},{"cmd":"yarn add swc-loader","lang":"bash","label":"yarn"},{"cmd":"pnpm add swc-loader","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency: core SWC compiler","package":"@swc/core","optional":false},{"reason":"Peer dependency: webpack loader interface","package":"webpack","optional":false}],"imports":[{"note":"This is a webpack loader, not a programmatic API. Use it in webpack module.rules, not as an import.","wrong":"import swcLoader from 'swc-loader'","symbol":"swc-loader","correct":"use: { loader: 'swc-loader' } in webpack config"}],"quickstart":{"code":"// webpack.config.js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.m?js$/,\n        exclude: /node_modules/,\n        use: {\n          loader: 'swc-loader',\n          options: {\n            sync: true,\n            jsc: {\n              parser: {\n                syntax: 'ecmascript',\n                jsx: false\n              },\n              target: 'es2020'\n            }\n          }\n        }\n      }\n    ]\n  }\n};\n// package.json side: ensure @swc/core and webpack are installed\n// npm install --save-dev @swc/core swc-loader webpack","lang":"javascript","description":"Basic webpack configuration to transpile JavaScript files using swc-loader"},"warnings":[{"fix":"Add sync: true to loader options.","message":"Error messages may be truncated. Use sync: true for full error output.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Upgrade @swc/core to ^1.2.147.","message":"swc-loader requires @swc/core ^1.2.147. Incompatible with older versions.","severity":"breaking","affected_versions":">=0.2.0"},{"fix":"Refer to swc.rs/docs/configuring-swc for valid options.","message":"Options passed directly to loader are forwarded to swc. Some options changed between swc versions.","severity":"deprecated","affected_versions":">=0.2.0"},{"fix":"Either provide .swcrc or pass all config via loader options.","message":"The loader expects .swcrc config file by default. Inline options merge with .swcrc.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Add jsc: { parser: { syntax: 'typescript' } } to loader options.","message":"TypeScript support requires explicit parser syntax: 'typescript' in jsc.parser.","severity":"gotcha","affected_versions":">=0.1.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"npm install --save-dev @swc/core","cause":"@swc/core not installed","error":"Module not found: Error: Can't resolve '@swc/core'"},{"fix":"Upgrade webpack to >=2","cause":"Webpack version too low","error":"Error: swc-loader is not compatible with webpack < 2"},{"fix":"Set sync: true in loader options","cause":"Async mode may hide error details","error":"Error: swc-loader requires sync: true for full error stack"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}