Rust-based platform for the Web
Go to file
강동윤 aa2a394f7d
Fix #542 (#543)
swc_ecma_transforms:
 - preserve space after a jsx element
2019-12-30 00:05:43 +09:00
.cargo Allow stable rust (#118) 2019-01-17 23:17:16 +09:00
.github Fix bugs (#482) 2019-12-02 20:19:15 +09:00
.vscode Parser: Error recovery (#449) 2019-11-17 18:36:47 +09:00
atoms preset-env (#537) 2019-12-28 11:25:54 +09:00
common Attach comments to correct node (#541) 2019-12-28 22:02:58 +09:00
ecmascript Fix #542 (#543) 2019-12-30 00:05:43 +09:00
examples Plugin (#473) 2019-11-29 23:46:06 +09:00
macros Parser: respect jsc.target (#507) 2019-12-14 18:51:08 +09:00
scripts ECMAScript parser (#1) 2018-01-12 16:53:06 +09:00
src Attach comments to correct node (#541) 2019-12-28 22:02:58 +09:00
testing use 2018 edition syntax (#479) 2019-12-02 17:10:05 +09:00
tests Attach comments to correct node (#541) 2019-12-28 22:02:58 +09:00
.gitignore preset-env (#537) 2019-12-28 11:25:54 +09:00
.gitmodules Plugin (#473) 2019-11-29 23:46:06 +09:00
.rustfmt.toml Improve performance & update rustfmt (#504) 2019-12-13 06:21:25 +00:00
.travis.yml preset-env (#537) 2019-12-28 11:25:54 +09:00
ARCHITECTURE.md Update ARCHITECTURE.md (#156) 2019-02-11 17:50:06 +09:00
bors.toml ES3 (#498) 2019-12-11 13:35:15 +09:00
Cargo.toml preset-env (#537) 2019-12-28 11:25:54 +09:00
CONTRIBUTING.md Add dev environment setup instructions (#435) 2019-10-28 21:53:07 +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
README.md preset-env (#537) 2019-12-28 11:25:54 +09:00
rust-toolchain Parser: Error recovery (#449) 2019-11-17 18:36:47 +09:00

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. 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
  • es2019 (stage 4)

  • optional catch binding

  • big int literal

  • stage 3

  • class fields

  • numeric separator

  • nullish coalescing

  • stage 2

  • decorators

  • react

    • jsx
  • preset-env

    • entry with core-js@2/3
    • usage with core-js@2/3 It's implemented, but it's not perfect.

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. 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.