SWC Setup for JavaScript and TypeScript Transpilation

Your project uses TypeScript and webpack, but the build takes minutes? Babel works, but as the codebase grows, time is lost. Developers spend up to 30% of their time waiting for recompilation — we eliminate that delay. We've seen projects where cold start exceeded 30 seconds, killing team productivi

Development and maintenance of all types of websites:

Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Our competencies:

Frequently Asked Questions

Latest works

  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1283
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1237
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    980
  • image_crm_chasseurs_493_0.webp
    CRM development for Chasseurs
    1029
  • image_website-sbh_0.webp
    Website development for SBH Partners
    1104
  • image_website-_0.webp
    Website development for Red Pear
    552

Your project uses TypeScript and webpack, but the build takes minutes? Babel works, but as the codebase grows, time is lost. Developers spend up to 30% of their time waiting for recompilation — we eliminate that delay. We've seen projects where cold start exceeded 30 seconds, killing team productivity. Every second of waiting is a loss of focus. The solution is SWC (Speedy Web Compiler), a Rust transpiler that runs 20–70x faster than Babel. Implementation takes 2 to 8 hours, and the speedup pays off on every rebuild. We help configure SWC for your stack: from replacing babel-loader to integrating with Jest and Next.js. Get a migration consultation — we'll assess your project and propose a turnkey plan.

Why SWC is faster than Babel

Babel is written in JavaScript; each pass parses and regenerates the AST from scratch. SWC uses Rust and a single AST, giving a radical speed boost. As noted in SWC documentation, it is not a replacement for the TypeScript compiler — type checking remains with tsc --noEmit. But transpilation and minification become near-instant.

Aspect Babel SWC
Speed Baseline 20–70x faster
Type checking No No
Custom plugins JS, easy to write Rust/Wasm, more complex
Ecosystem Huge Growing
Decorator metadata Via plugin Built-in

Which projects benefit from SWC?

SWC is especially effective in:

  • Monorepos with dozens of packages (each second of build time multiplies by the number of packages)
  • CI pipelines where build time is critical for deployments
  • Projects with microfrontends and frequent rebuilds
Project type Build time (Babel) Build time (SWC) Speedup
React SPA (100 components) 8–12 s 1–2 s 6–10x
Express API (50 routes) 5–8 s 0.5–1.5 s 5–10x
Monorepo (Lerna, 20 packages) 30–60 s 3–8 s 10–15x

How we do it: a real case

On a recent monorepo project with 20 internal packages, the cold start with Babel was 45 seconds. After migrating to SWC, it dropped to 4 seconds — an 11x improvement. The team's development cycle shortened significantly, and CI build time for the entire pipeline went from 8 minutes to under 2 minutes. We used the same configuration steps described below.

How to set up SWC in your project

Step 1. Create configuration

Install @swc/core and @swc/cli:

npm install --save-dev @swc/core @swc/cli @swc/helpers core-js@3 

Create .swcrc:

{ "$schema": "https://swc.rs/schema.json", "jsc": { "parser": { "syntax": "typescript", "tsx": true, "decorators": true, "dynamicImport": true }, "transform": { "react": { "runtime": "automatic" } }, "target": "es2020", "externalHelpers": true }, "env": { "targets": "> 0.5%, last 2 versions, not dead", "mode": "usage", "coreJs": "3" } } 

Step 2. Integrate with webpack

Replace babel-loader with swc-loader in webpack.config.js:

module.exports = { module: { rules: [ { test: /\.(t|j)sx?$/, exclude: /node_modules/, use: { loader: 'swc-loader' }, }, ], }, }; 

Step 3. Integrate with Jest

Install @swc/jest and configure transform in jest.config:

export default { transform: { '^.+\\.(t|j)sx?$': [ '@swc/jest', { jsc: { parser: { syntax: 'typescript', tsx: true, decorators: true }, transform: { react: { runtime: 'automatic' } }, }, env: { targets: { node: 18 } }, }, ], }, }; 

Step 4. Custom plugins

SWC plugins compile to WebAssembly. For styled-components: install the package and add to .swcrc:

{ "jsc": { "experimental": { "plugins": [ ["@swc-contrib/plugin-styled-components", { "displayName": true, "ssr": true }] ] } } } 

Next.js integration (optional)

Since Next.js 13, SWC is the default transpiler. If you use a custom Babel config, manual adaptation may be needed. We can migrate your configuration and verify compatibility.

What's included in the SWC setup service

  • Audit of your current build config (Babel, webpack, Jest)
  • Development of .swcrc tailored to your plugins and transpilation needs
  • Replacement of babel-loader with swc-loader, Jest and Next.js configuration
  • Testing of all scenarios (npm run build, npm test, dev server)
  • Documentation of changes and recommendations
  • 30-day guarantee — any regressions fixed free of charge

Our experience and guarantees

Over 5 years in web development, 10+ projects migrated to SWC. We guarantee at least 3x build speedup when replacing Babel. Each setup is accompanied by tests and documentation. Our engineers have experience with Rust and compilers.

Common migration pitfalls

  • Missing type checking: SWC does not check types — always add tsc --noEmit to CI.
  • Incorrect target: setting too low a target causes compatibility errors. Use es2020.
  • Ignoring externalHelpers: without @swc/helpers, helpers are inlined into every module, increasing bundle size.
  • Forgotten plugins: styled-components, emotion, Linaria require wasm plugins.
  • Wrong source maps: SWC generates source maps by default, but they must be explicitly enabled in webpack.

Timeline estimate

  • Replace Babel with SWC in a webpack project: 2–4 hours
  • Configure Jest with @swc/jest: 1–2 hours
  • Full migration with decorators and custom plugins: 4–8 hours

How to get started

Contact us — we'll analyze your project and propose the optimal migration strategy to SWC. We'll estimate the timeline and cost individually.