305 releases (8 major breaking)
new 8.1.0 | Apr 10, 2025 |
---|---|
8.0.1 | Mar 23, 2025 |
8.0.0 | Feb 24, 2025 |
7.0.0 | Feb 17, 2025 |
0.1.3 | Nov 26, 2018 |
#391 in Parser implementations
892,020 downloads per month
Used in 450 crates
(187 directly)
420KB
10K
SLoC
Utilities for the swc project
Cargo features
tty-emitter
Adds default implementation of Emitter. Enabling this feature will add tty-related dependencies.
sourcemap
Adds methods to generate web sourcemap.
plugin-base
Base mode for plugins, which can be enabled by plugin-mode
or plugin-rt
.
This mode creates a trait which can be used to override swc_common
itself.
plugin-rt
Creates an implementation for the plugin trait. This implements simply
invokes thread-locals declared in swc_common
.
plugin-mode
Allows replacing operations related to thread-local variables with a trait.
Make the web (development) faster.
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.
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
Powered by
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.
Dependencies
~6–16MB
~176K SLoC