Rust-based platform for the Web
Go to file
강동윤 2ad0af9e91
fix(es/transforms/compat): Improve performance (#1673)
swc_ecma_transforms_compat:
 - `classes`: Fast-path.
 - `destructuring`: Fast-path.
 - `sticky_regex`: Fast-path.
 - `spread`: Fast-path.
 - `shorthand`: Fast-path.
 - `typeof_symbol`: Fast-path.
 - `block_scoped_functions`: Fast path.
 - `duplicate_keys`: Use fxhash.
 - `instance_of`: Fast path.
 - `reserved_words`: Make string comparison efficient.
2021-05-11 04:53:36 +00:00
.cargo feat(babel/compat): Improve performance of babelify (#1626) 2021-05-06 14:56:54 +09:00
.github fix(es/transforms/compat): Don't create unnecessary IIFE. (#1669) 2021-05-10 16:18:31 +09:00
.vscode Migrate to napi (#1009) 2020-08-30 15:29:42 +09:00
atoms fix(es/transforms/compat): Improve performance (#1673) 2021-05-11 04:53:36 +00:00
babel fix(es/parser): Allow using override with static (#1663) 2021-05-09 21:04:42 +09:00
benches fix(swc): Fix various bugs (#1550) 2021-04-08 12:55:02 +00:00
bundler feat(es/parser): Allow override in parameter properties (#1667) 2021-05-09 22:17:58 +09:00
common fix(es/transforms/compat): Improve performance (#1673) 2021-05-11 04:53:36 +00:00
ecmascript fix(es/transforms/compat): Improve performance (#1673) 2021-05-11 04:53:36 +00:00
examples Improve ux for rust users (#909) 2020-07-31 18:49:07 +09:00
integration-tests Test with real-world codes (#806) 2020-05-28 22:23:53 +09:00
macros feat(ast_node): Add #[ast_serde] (#1595) 2021-04-21 09:11:50 +00:00
native feat(babel/compat): Improve performance of babelify (#1626) 2021-05-06 14:56:54 +09:00
node/base feat(babel/compat): Improve performance of babelify (#1626) 2021-05-06 14:56:54 +09:00
node-swc fix(node-swc): Fixed parseFile (#1654) 2021-05-09 07:03:09 +00:00
scripts feat(node-swc): Support windows ia32 arch (#1367) 2021-01-29 15:09:44 +09:00
spack feat(babel/compat): Improve performance of babelify (#1626) 2021-05-06 14:56:54 +09:00
src feat(es/transforms/compat): Add pure comment to classes (#1646) 2021-05-08 15:47:20 +09:00
testing feat(es/transforms/react): Add pure annotation comments (#1564) 2021-04-11 15:09:27 +09:00
tests fix(es/transforms/compat): Don't create unnecessary IIFE. (#1669) 2021-05-10 16:18:31 +09:00
visit feat(babel/compat): Improve performance of babelify (#1626) 2021-05-06 14:56:54 +09:00
wasm fix(es/transforms/base): Fix resolver (#1666) 2021-05-09 09:52:29 +00:00
.gitattributes fix: Fix tests on windows (#1419) 2021-02-23 00:33:11 +09:00
.gitignore feat(node-swc): Babel ast translator (#1465) 2021-05-01 18:09:10 +09:00
.gitmodules Plugin (#473) 2019-11-29 23:46:06 +09:00
.npmignore Reduce npm package size (#1087) 2020-09-21 11:35:19 +09:00
.rustfmt.toml Upgrade to napi@1 (#1244) 2020-12-30 14:30:09 +09:00
.travis.yml feature: Macro for fixture testing (#1226) 2020-11-22 18:14:22 +09:00
ARCHITECTURE.md chore(ci): Configure github actions for rustdoc (#1523) 2021-03-31 13:09:10 +09:00
Cargo.toml feat(es/parser): Allow override in parameter properties (#1667) 2021-05-09 22:17:58 +09:00
CONTRIBUTING.md chore: Add note about required dev tools (#1467) 2021-03-13 00:08:24 +09:00
deny.toml fix(es/transforms/base): Fix fixer (#1496) 2021-03-27 00:45:51 +09:00
LICENSE-APACHE initial commit 2017-12-22 22:07:03 +09:00
LICENSE-MIT initial commit 2017-12-22 22:07:03 +09:00
package.json fix(es/transforms/base): Fix resolver (#1666) 2021-05-09 09:52:29 +00:00
README.md chore: Fix link (#1443) 2021-03-01 14:06:28 +09:00
rust-toolchain feat(babel/compat): Improve performance of babelify (#1626) 2021-05-06 14:56:54 +09:00
tsconfig.json spack: super-fast bundler (#825) 2020-06-13 23:09:45 +09:00

babel

Make the web (development) faster.

npm Downloads undefined

Travis Status Coverage

swc is a super-fast typescript / javascript compiler written in rust.

Documentation

Check out the documentation in the website.

Features

Please see comparison with babel.

Performance

The lower bound of the speedup compared to babel is 18. The benchmarks were run on Macbook pro, dual core, 2.3GHz Intel Core i5, 16 GB ram

performance
swc (es3) 761 ops/sec ±0.23% (89 runs sampled)
swc (es2015) 800 ops/sec ±1.02% (87 runs sampled)
swc (es2016) 2123 ops/sec ±0.84% (88 runs sampled)
swc (es2017) 2131 ops/sec ±1.13% (90 runs sampled)
swc (es2018) 2981 ops/sec ±0.25% (90 runs sampled)
swc-optimize (es3) 712 ops/sec ±0.21% (86 runs sampled)
babel 41.75 ops/sec ±8.07% (56 runs sampled)

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:

Open Collective Sponsors

Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]

Gold Sponsors

Silver Sponsors

Bronze Sponsors

Backers

Become a backer and get your image on our README on Github with a link to your site.

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.