Rust-based platform for the Web
Go to file
Donny/강동윤 9dd8f6facf
Some checks failed
CI / Cargo fmt (push) Has been cancelled
CI / Cargo clippy (push) Has been cancelled
CI / Check license of dependencies (push) Has been cancelled
CI / Check (macos-latest) (push) Has been cancelled
CI / Check (ubuntu-latest) (push) Has been cancelled
CI / Check (windows-latest) (push) Has been cancelled
CI / Test wasm (binding_core_wasm) (push) Has been cancelled
CI / Test wasm (binding_minifier_wasm) (push) Has been cancelled
CI / Test wasm (binding_typescript_wasm) (push) Has been cancelled
CI / List crates (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Has been cancelled
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Has been cancelled
CI / Test with @swc/cli (push) Has been cancelled
CI / Miri (better_scoped_tls) (push) Has been cancelled
CI / Miri (string_enum) (push) Has been cancelled
CI / Miri (swc) (push) Has been cancelled
CI / Miri (swc_bundler) (push) Has been cancelled
CI / Miri (swc_ecma_codegen) (push) Has been cancelled
CI / Miri (swc_ecma_minifier) (push) Has been cancelled
Benchmark / Bench everything (push) Has been cancelled
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Has been cancelled
CI / Done (push) Has been cancelled
test(es): Add tests for arm64 windows (#9547)
2024-09-14 19:34:03 +09:00
.cargo chore(ci): Integrate changeset (#9284) 2024-07-19 18:44:43 +09:00
.github chore: Fix CLI upload script 2024-09-11 11:47:08 +09:00
.husky fix(es): Remove wrong debug assertion (#4445) 2022-04-26 14:16:38 +00:00
.vscode feat(allocator): Implement default mode (#9242) 2024-07-15 18:53:09 +09:00
bindings chore: Publish 1.7.27 with swc_core v0.104.1 2024-09-11 12:31:52 +00:00
crates chore: Publish crates with swc_core v0.104.2 2024-09-13 08:53:22 +00:00
docs/adr feat(visit): Add path-aware variants (#5073) 2022-07-05 04:38:27 +00:00
packages test(es): Add tests for arm64 windows (#9547) 2024-09-14 19:34:03 +09:00
rules refactor(common): Drop SyntaxContext from AST nodes (#9175) 2024-07-12 13:13:20 +09:00
scripts chore(ci): Fix publish-npm-package action (#9461) 2024-08-20 14:54:07 +09:00
tools feat(visit): Add experimental traverse APIs (#9464) 2024-08-21 08:29:24 +09:00
xtask chore(xtask): Make reducing version of swc_core easier (#9406) 2024-08-09 14:52:10 +09:00
.gitattributes feat(html): Prepare processing system (#4358) 2022-04-22 20:20:47 +09:00
.gitignore perf(es/codegen): Optimize using swc_allocator (#9294) 2024-07-20 03:05:08 +09:00
.gitmodules test(es/decorators): Add tests written by evanw (#8967) 2024-05-23 14:18:32 +09:00
.kodiak.toml chore: Make kodiak auto-approve PRs by @kdy1 2024-01-04 04:46:43 +09:00
.mocha.setup.js chore(repo): Configure prettier (#4523) 2022-05-04 14:25:28 +00:00
.mocharc.js chore(repo): Configure prettier (#4523) 2022-05-04 14:25:28 +00:00
.prettierignore refactor(es/helpers): Move packages for monorepo (#7833) 2023-08-18 04:25:37 +00:00
.prettierrc chore(repo): Configure prettier (#4523) 2022-05-04 14:25:28 +00:00
.rustfmt.toml feat(wasm): Expose async facade interfaces (#5352) 2022-08-01 03:00:28 +00:00
.taplo.toml chore: Update toml formatting (#5368) 2022-08-03 03:07:28 +00:00
.yarnrc.yml chore: Use static .yarnrc 2024-05-29 00:35:29 +09:00
ARCHITECTURE.md doc(contributing): Remove enum_kind from ARCHITECTURE.md (#8666) 2024-02-27 03:53:03 +00:00
Cargo.lock chore: Publish crates with swc_core v0.104.2 2024-09-13 08:53:22 +00:00
Cargo.toml chore(es): Update wasmer to v4.3.7 (#9557) 2024-09-13 17:38:44 +09:00
CHANGELOG.md chore: Update changelog 2024-09-11 09:40:08 +00:00
cliff.toml chore: Publish v1.3.93 with swc_core v0.85.7 (#8112) 2023-10-13 12:26:21 +09:00
clippy.toml perf(allocator): Drop scoped_tls (#9240) 2024-07-15 14:25:58 +09:00
CONTRIBUTING.md doc(contributing): Add warning for test --all (#9338) 2024-07-29 10:20:45 +09:00
cspell.json feat(css/ast): Make AST intuitive (#6606) 2022-12-09 02:27:19 +00:00
deny.toml build(plugin): Update wasmer to v4.2.5 (#8624) 2024-02-10 03:40:55 +00:00
knope.toml chore(ci): Integrate changeset (#9284) 2024-07-19 18:44:43 +09:00
LICENSE chore: Mention swc in the license (#9417) 2024-08-11 19:31:43 +09:00
MAINTENANCE.md chore: Update cargo-mono (#9323) 2024-07-24 10:59:32 +09:00
package.json chore(ci): Fix publish action (#9463) 2024-08-20 17:29:43 +09:00
README.md perf(allocator): Drop scoped_tls (#9240) 2024-07-15 14:25:58 +09:00
renovate.json fix(common): Use SourceMap::adjust_mappings in correct order (#9447) 2024-08-19 11:37:02 +09:00
rust-toolchain build: Update rustc to nightly-2024-07-21 (#9319) 2024-07-23 05:31:35 +00:00
sgconfig.yml refactor(es/ast): Improve type definitions of patterns (#8532) 2024-02-05 15:32:52 +09:00
tests.yml chore(ci): Use dynamic matrix for cargo-test action (#9233) 2024-07-14 13:19:15 +09:00
yarn.lock chore(ci): Fix publish action (#9463) 2024-08-20 17:29:43 +09:00

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 swc

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.