5dc4ba181d
swc_ecma_transforms: - fixer: handle member exprssion correctly - fixer: handle binary expression correctly - fixer: handle conditional expression correctly - fixer: handle unary expression correctly |
||
---|---|---|
.cargo | ||
.vscode | ||
atoms | ||
common | ||
ecmascript | ||
macros | ||
scripts | ||
src | ||
testing | ||
.gitignore | ||
.gitmodules | ||
.rustfmt.toml | ||
.travis.yml | ||
ARCHITECTURE.md | ||
bors.toml | ||
Cargo.toml | ||
CONTRIBUTING.md | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
README.md | ||
rust-toolchain |
Make the web (development) faster.
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 Slack for guidance!)
- Giving funds by becoming a sponsor (see below)! Slackin for swc
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.
Documentation
Check out the documentation in the website.
Features
Parsers
- es2019
- jsx
- typescript
Transforms
New generation javascript to old-days javascript.
-
es3
- member-expression-literals
- property-literals
- reserved-words
-
es5
- property-mutators
-
es2015
- arrow-functions
- block-scoped-functions
- block-scoping
- classes
- computed-properties
- destructuring
- duplicate-keys
- for-of
- function-name
- instanceof
- literals
- new-target
- object-super
- parameters
- shorthand-properties
- spread
- sticky regex (
y
flag) - template-literals
- invalid escape sequences inside tagged template literals. (aka es2018)
- typeof-symbol
- unicode-regex
-
es2016
- exponentiation-operator
-
es2017
- async-to-generator
-
es2018
- async-generator-functions
- dotall-regex
- object-rest-spread
- Using symbol as a key
- optional-catch-binding
- unicode-property-regex
-
react
- jsx
Performance
The lower bound of the speedup compared to babel is 16. The benchmarks were run on Macbook pro, dual core, 2.3GHz Intel Core i5, 16 GB ram
performance | |
---|---|
swc (es3) | 610 ops/sec ±1.76% (82 runs sampled) |
swc (es2015) | 682 ops/sec ±0.63% (88 runs sampled) |
swc (es2016) | 1,659 ops/sec ±4.32% (79 runs sampled) |
swc (es2017) | 1,384 ops/sec ±7.24% (82 runs sampled) |
swc (es2018) | 1,765 ops/sec ±11.78% (82 runs sampled) |
swc-optimize (es3) | 535 ops/sec ±1.01% (83 runs sampled) |
babel | 42.12 ops/sec ±6.27% (55 runs sampled) |
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.