Официальный Плагины Разработка

SWC

Установка
npm install -D @swc/core (см. README)

Описание

SWC — компилятор JavaScript и TypeScript на Rust, позиционируемый как замена Babel: транспиляция современного JS для старых браузеров и минификация выполняются в десятки раз быстрее, поддержка JSX, decorators и последних стандартов через плагины. Используется как транспилятор внутри Next.js, Parcel, Deno и множества других инструментов экосистемы.

Что умеет:
— транспилировать JS/TS в десятки раз быстрее Babel;
— минифицировать код;
— поддерживать JSX и плагины;
— работать как библиотека и CLI.

Полная документация ниже — автоматически из репозитория swc-project/swc (ветка main). Оригинальные материалы проекта распространяются на условиях его лицензии.


swc

Make the web (development) faster.

downloads (@swc/core)
downloads (3rd party)

undefined
GitHub release (latest SemVer)

GitHub code size in bytes
node-current (scoped)

Discord

SWC (stands for Speedy Web Compiler) is a super-fast TypeScript / JavaScript compiler written in Rust. It’s a library for Rust and JavaScript at the same time. If you are using SWC from Rust, see rustdoc and for most users, your entry point for using the library will be parser.

Also, SWC tries to ensure that

If you select the latest version of each crates, it will work

for rust users.

MSRV of crates is currently 1.73.

To update all SWC crates you use, you can run curl https://raw.githubusercontent.com/swc-project/swc/main/scripts/update-all-swc-crates.sh | bash -s. This script will update all dependencies to the latest version and run cargo build to ensure that everything works.
Note that you need

  • jq
  • cargo upgrade

command to run the script.

Supported Node Versions:

  • Node v10+ for usage
  • Node v20+ for development

If you are using SWC from JavaScript, please refer to docs on the website.

Documentation

Check out the documentation in the website.

Native npm packages use self-loading compressed addons on x64 and arm64 macOS,
Windows MSVC, and Linux GNU/musl. The first load materializes the verified
original addon; package names and JavaScript APIs stay the same. See
native addon carriers
for the supported-target boundary and SWC_NATIVE_BINDING_CACHE.

Features

Please see comparison with babel.

Performance

Please see benchmark results on the website.

Supporting development

Supporting swc

Star History

Star History Chart

Powered by

JetBrains logo.

Sponsors

CodSpeed logo


Sponsors

SWC is a community-driven project, and is maintained by a group of volunteers. If you’d like to help support the future of the project, please consider:

  • Giving developer time on the project. (Message us on Discord (preferred) or Github discussions for guidance!)
  • Giving funds by becoming a sponsor (see https://opencollective.com/swc)!

Contributing

See CONTRIBUTING.md. You may also find the architecture
documentation useful (ARCHITECTURE.md).

License

SWC is primarily distributed under the terms of the Apache License (Version 2.0).

See LICENSE for details.