Make the web (development) faster.
swc is rust port of babel and closure compiler.
Currently this requires nightly version of rust.
npm i -D swc
or
yarn add --dev swc
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
- Note: this might be buggy (at this time)
- 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
- optional-catch-binding
- unicode-property-regex
The benchmarks were run on Macbook pro, dual core, 2.3GHz Intel Core i5, 16 GB ram
performance | |
---|---|
swc (ffi) | 1,086 ops/sec ±0.77% (84 runs sampled) |
swc-optimize (ffi) | 1,060 ops/sec ±0.63% (87 runs sampled) |
swc (ffi, simd) | 1,295 ops/sec ±0.87% (89 runs sampled) |
swc-optimize (ffi, simd) | 1,270 ops/sec ±0.24% (89 runs sampled) |
babel | 65.72 ops/sec ±6.45% (62 runs sampled) |
See CONTRIBUTING.md. You may also find the architecture documentation useful (ARCHITECTURE.md).
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.