16 releases (4 major breaking)

4.0.0 Feb 24, 2025
3.0.1 Feb 20, 2025
2.0.0 Dec 2, 2024
1.0.0 Oct 12, 2024
0.1.8 Jul 21, 2024

#795 in Memory management

Download history 83793/week @ 2024-12-19 53144/week @ 2024-12-26 165655/week @ 2025-01-02 227531/week @ 2025-01-09 184964/week @ 2025-01-16 134118/week @ 2025-01-23 131256/week @ 2025-01-30 148900/week @ 2025-02-06 141939/week @ 2025-02-13 191777/week @ 2025-02-20 186810/week @ 2025-02-27 196722/week @ 2025-03-06 174996/week @ 2025-03-13 183953/week @ 2025-03-20 190412/week @ 2025-03-27 181797/week @ 2025-04-03

767,324 downloads per month
Used in 248 crates (9 directly)

Apache-2.0

13KB
214 lines

Allocator for swc.

Features

  • scoped: Enable scoped mode.

Modes

Default mode

In default mode, crate::boxed::Box and crate::vec::Vec are identical to the original types in [std].

Scoped mode

  • You need to enable scoped feature to use this mode.

In scoped mode you can use [FastAlloc] to make crate::boxed::Box and crate::vec::Vec very fast.

In this mode, you need to be careful while using crate::boxed::Box and crate::vec::Vec. You should ensure that [Allocator] outlives all crate::boxed::Box and crate::vec::Vec created in the scope.

Recommened way to use this mode is to wrap the whole operations in a call to Allocator::scope.


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.


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.

Dependencies

~0.7–1.6MB
~26K SLoC