babel

Make the web (development) faster.

npm Downloads undefined

Travis Status Coverage

Supporting swc

Backers on Open Collective Sponsors on Open Collective

swc is a community-driven project, and is maintained by a group of [volunteers](https://opencollective.com/swc#team). If you'd like to help support the future of the project, please consider: - Giving developer time on the project. (Message us on [Slack](https://swc-org.slack.com/) for guidance!) - Giving funds by becoming a sponsor (see below)! [Slackin for swc](https://swc-slackin.herokuapp.com) ## Open Collective Sponsors Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/swc#sponsor)]

Gold Sponsors

Silver Sponsors

Bronze Sponsors

Backers

[Become a backer](https://opencollective.com/swc#backer) and get your image on our README on Github with a link to your site. # Documentation Check out the documentation [in the website](https://swc-project.github.io/docs/installation). # Features ## Parsers - [x] es2019 - [x] jsx - [x] typescript ## Transforms New generation javascript to old-days javascript. - es3 - [x] member-expression-literals - [x] property-literals - [x] reserved-words - es5 - [ ] property-mutators - es2015 - [x] arrow-functions - [x] block-scoped-functions - [x] block-scoping - [x] classes - [x] computed-properties - [x] destructuring - [x] duplicate-keys - [x] for-of - [x] function-name - [x] instanceof - [x] literals - [x] new-target - [ ] object-super - [x] parameters - [x] shorthand-properties - [x] spread - [x] sticky regex (`y` flag) - [x] template-literals - [ ] invalid escape sequences inside tagged template literals. (aka es2018) - [x] typeof-symbol - [ ] unicode-regex - es2016 - [x] exponentiation-operator - es2017 - [x] async-to-generator - es2018 - [ ] async-generator-functions - [ ] dotall-regex - [x] object-rest-spread - [ ] Using symbol as a key - [x] optional-catch-binding - [ ] unicode-property-regex - es2019 (stage 4) - [x] optional catch binding - [x] big int literal - stage 3 - [x] class fields - [x] numeric separator - [ ] nullish coalescing - stage 2 - [x] decorators - react - [x] jsx # 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) | 2,123 ops/sec ±0.84% (88 runs sampled) | | swc (es2017) | 2,131 ops/sec ±1.13% (90 runs sampled) | | swc (es2018) | 2,981 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) | ## Contributing See [CONTRIBUTING.md](CONTRIBUTING.md). You may also find the architecture documentation useful ([ARCHITECTURE.md](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. [babel]: https://github.com/babel/babel [closure compiler]: https://github.com/google/closure-compiler [rust]: https://www.rust-lang.org