Rust-based platform for the Web
Go to file
Donny/강동윤 98df64517e
perf(common): Add more methods to Spanned (#4749)
- 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>`.
2022-05-23 09:18:40 +00:00
.cargo feat(node-swc): Add libc field in Linux platform packages (#4046) 2022-03-16 18:58:24 +09:00
.github refactor(es/minifier): Make rust-analyzer fast, really (#4746) 2022-05-23 16:16:05 +09:00
.husky fix(es): Remove wrong debug assertion (#4445) 2022-04-26 14:16:38 +00:00
.vscode chore(repo): Configure prettier (#4523) 2022-05-04 14:25:28 +00:00
crates perf(common): Add more methods to Spanned (#4749) 2022-05-23 09:18:40 +00:00
docs/adr feat(common): Reserve BytePos(0) for dummy spans (#4616) 2022-05-11 16:14:42 +00:00
node-swc fix(es/loader): Fix jsc.paths on windows (#4739) 2022-05-22 20:12:22 +00:00
packages/swc-helpers fix(es/decorators): Make legacy decorator identical to tsc (#4496) 2022-05-03 07:48:09 +00:00
scripts refactor(es/minifier): Make rust-analyzer fast, really (#4746) 2022-05-23 16:16:05 +09:00
tests feat(common): Reserve BytePos(0) for dummy spans (#4616) 2022-05-11 16:14:42 +00:00
.gitattributes feat(html): Prepare processing system (#4358) 2022-04-22 20:20:47 +09:00
.gitignore fix(es/resolver): Fix handling of a complex try catch (#4574) 2022-05-08 10:12:50 +00:00
.gitmodules fix(html/parser): Fix bugs (#4502) 2022-05-03 02:49:06 +00:00
.kodiak.toml refactor(common): Cleanup & rustfmt (#3495) 2022-02-09 06:33:32 +00: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
.npmignore refactor(plugin/runner): Split modules and introduce feature flags (#4035) 2022-03-15 22:45:40 +00:00
.prettierignore test(es/minifier): Ignore difference of parens (#4546) 2022-05-07 06:08:23 +00:00
.prettierrc chore(repo): Configure prettier (#4523) 2022-05-04 14:25:28 +00:00
.prettierrc.json chore(repo): Configure prettier (#4523) 2022-05-04 14:25:28 +00:00
.rustfmt.toml refactor(common): Cleanup & rustfmt (#3495) 2022-02-09 06:33:32 +00:00
ARCHITECTURE.md feat(swc): Add IsModule (#2601) 2021-11-16 10:31:02 +00:00
Cargo.lock refactor(es/minifier): Make rust-analyzer fast, really (#4746) 2022-05-23 16:16:05 +09:00
Cargo.toml refactor(es/minifier): Make rust-analyzer fast, really (#4746) 2022-05-23 16:16:05 +09:00
CHANGELOG.md chore: Publish crates 2022-05-23 07:49:57 +00:00
cliff.toml feat(node-swc): Add libc field in Linux platform packages (#4046) 2022-03-16 18:58:24 +09:00
clippy.toml feat(node-swc): Add libc field in Linux platform packages (#4046) 2022-03-16 18:58:24 +09:00
CONTRIBUTING.md chore: Remove an incorrect link in CONTRIBUTING.md (#4363) 2022-04-18 18:53:13 +09:00
cspell.json build(repo): Update rustc (#4667) 2022-05-15 09:03:54 +00:00
deny.toml feat(node-swc): Add libc field in Linux platform packages (#4046) 2022-03-16 18:58:24 +09:00
jest.config.js chore(repo): Configure prettier (#4523) 2022-05-04 14:25:28 +00:00
LICENSE chore(node): Publish v1.2.121 2021-12-19 14:14:12 +09:00
package.json chore: Publish v1.2.189 2022-05-21 23:19:12 +09:00
README.md test(es/transform/jest): Ensure that sourcemap is working (#3864) 2022-03-05 07:30:24 +00:00
rust-toolchain build(repo): Downgrade rustc (#4674) 2022-05-15 19:28:55 +00:00
tsconfig.json chore(repo): Configure prettier (#4523) 2022-05-04 14:25:28 +00:00
yarn.lock feat(es/minifier): Enable conditionals by default (#4687) 2022-05-17 07:34:47 +00:00

babel

Make the web (development) faster.

npm Downloads undefined

CI Status

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

Backers on Open Collective Gold sponsors on Open Collective Silver sponsors on Open Collective Bronze sponsors on Open Collective

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 both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.