swc README

The project's README from github.com/swc-project/swc. As one markdown file: README.md.

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

command to run the script.

Supported Node Versions:


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

Documentation

Check out the documentation in the website.

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

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:

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.

swc (swc-project/swc)

Searching Database…

34.2K ·GitHub
Что это такое?SWC (Speedy Web Compiler) — это сверхбыстрый компилятор TypeScript/JavaScript, написанный на Rust, то есть платформа для веба на базе Rust.
Это инструмент, который я запускаю, или библиотека, которую я подключаю в код?На самом деле и то, и другое: в README он описан одновременно как библиотека для Rust и для JavaScript — с одной стороны крейты Rust, с другой — использование из JavaScript.
Как подключить его в проект на Rust или JavaScript?Зависит от языка: для Rust документация находится в rustdoc, и обычно входная точка — крейт парсера; для JavaScript следуйте инструкциям по использованию на сайте.
Какие версии Rust и Node мне нужны?Крейтам SWC сейчас требуется Rust 1.73 или новее (это MSRV). Со стороны Node поддерживаются v10+ для использования и v20+ для разработки.
Он будет работать на Windows, macOS и Linux?Да — репозиторий помечен как поддерживающий Linux, macOS и Windows, то есть все три основные настольные платформы охвачены.
Можно ли использовать его в коммерческих проектах?Да — SWC распространяется в первую очередь по лицензии Apache License, Version 2.0, так что коммерческое использование разрешено.
Чем он отличается от Babel?В README отличия напрямую не перечислены: там дана ссылка на отдельную страницу сравнения с Babel и на результаты бенчмарков на сайте. Главное преимущество — скорость: это компилятор TS/JS, написанный на Rust.
Как обновлять свои крейты SWC до актуальных версий?Запустите приложенную однострочную команду (curl | bash -s): она обновляет все используемые вами крейты SWC до последней версии и запускает cargo build, чтобы убедиться, что всё по-прежнему работает. Предварительно нужно установить jq и команду cargo upgrade.
Это устоявшийся проект или ранняя экспериментальная разработка?Устоявшийся: разработка началась в декабре 2017 года, у репозитория около 34 тысяч звёзд на GitHub, а проект развивается силами сообщества при поддержке спонсоров.
What are similar projects?oxc, babel, closure-compiler, rspack, esbuild, less.js, marked, gopherjs
Size
456.6 MB
Stars
34.2K
Age
8y
Commits · 90 Days