98df64517e
- Lots of code only needs `lo` or `hi`, but they call `span()`, which is inefficient in some cases. - This PR only adds a trivial amount of optimization. I may add full optimization in future. - This PR improves codegen performance of `ExprOrSpread` and `Option<ExprOrSpread>`. |
||
---|---|---|
.cargo | ||
.github | ||
.husky | ||
.vscode | ||
crates | ||
docs/adr | ||
node-swc | ||
packages/swc-helpers | ||
scripts | ||
tests | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.kodiak.toml | ||
.mocha.setup.js | ||
.mocharc.js | ||
.npmignore | ||
.prettierignore | ||
.prettierrc | ||
.prettierrc.json | ||
.rustfmt.toml | ||
ARCHITECTURE.md | ||
Cargo.lock | ||
Cargo.toml | ||
CHANGELOG.md | ||
cliff.toml | ||
clippy.toml | ||
CONTRIBUTING.md | ||
cspell.json | ||
deny.toml | ||
jest.config.js | ||
LICENSE | ||
package.json | ||
README.md | ||
rust-toolchain | ||
tsconfig.json | ||
yarn.lock |
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.
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 swc
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 both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.