Rust-based platform for the Web
Go to file
강동윤 c8b46bf6db
feat(es/minifier): Implement more rules (#2183)
swc_ecma_codegen:
 - Don't panic on `Pat::Invalid`.
 - Fix codegen of unary minus. (#2213)

swc_ecma_minifier:
 - Remove identifier of function expressions if a variable with same name exists.
 - `sequences`: Merge into the argument of a throw statement.
 - Use `ignore_return_value` for `void` expressions.
 - Improve inlining.
 - Drop last `return` if the return value is not used.
 - `sequences`: Merge `c++; use(c)` as `use(++c)`.
 - `sequences`: Merge assignments with an operator.
 - `comparisons`: Optimize the comparison operator if type is equivalent.
 - Fix `negate_cost`.
 - `unused`: Fix order or variable initalizer when variables are dropped.
 - Fix `top_retain` option.
 - `if_return`: Don't merge nested if it's wrong to do so. (#2214)
 - Fix negation of `if_return`.
2021-09-08 09:45:39 +00:00
.cargo fix(swc): Disable aes feature (#2109) 2021-08-19 12:12:16 +00:00
.github feat(plugin): Groundwork for rust plugin system (#1893) 2021-08-25 15:07:09 +00:00
.vscode Migrate to napi (#1009) 2020-08-30 15:29:42 +09:00
atoms feat(css): Implement parser (#2074) 2021-08-19 05:16:32 +00:00
benches fix(es): Fix source map (#2159) 2021-08-26 10:44:38 +00:00
bundler feat(common): Add variants to FileName (#2202) 2021-09-03 13:55:31 +09:00
common feat(common): Add variants to FileName (#2202) 2021-09-03 13:55:31 +09:00
css fix(css/parser): Fix parsing of selectors (#2217) 2021-09-08 01:19:14 +00:00
ecmascript feat(es/minifier): Implement more rules (#2183) 2021-09-08 09:45:39 +00:00
examples fix(swc): Report error correctly (#2065) 2021-08-13 07:05:40 +00:00
macros fix(bundler): Prepare renaming of bundler (#2066) 2021-08-13 10:03:04 +00:00
node feat(common): Add variants to FileName (#2202) 2021-09-03 13:55:31 +09:00
node-swc fix(es/transforms/base): Optimize hygiene (#2193) 2021-09-01 13:11:55 +00:00
plugin feat(common): Add variants to FileName (#2202) 2021-09-03 13:55:31 +09:00
scripts fix(es/transforms/base): Optimize hygiene (#2193) 2021-09-01 13:11:55 +00:00
src fix(swc): Improve rust apis (#2197) 2021-09-01 23:34:37 +00:00
testing feat(common): Add variants to FileName (#2202) 2021-09-03 13:55:31 +09:00
tests feat(es/minifier): Implement more rules (#2183) 2021-09-08 09:45:39 +00:00
vendor feat(es/minifier): Implement minifier partially (#1302) 2021-05-20 13:51:30 +09:00
visit doc(common): Improve doc of Take (#2192) 2021-09-01 12:52:07 +09:00
wasm fix(swc): Improve rust apis (#2197) 2021-09-01 23:34:37 +00:00
.gitattributes fix: Fix tests on windows (#1419) 2021-02-23 00:33:11 +09:00
.gitignore feat(node/swc): Support sourceFileName (#1976) 2021-08-03 00:49:34 +09:00
.gitmodules feat(es/minifier): Implement minifier partially (#1302) 2021-05-20 13:51:30 +09:00
.npmignore fix(bundler): Prepare renaming of bundler (#2066) 2021-08-13 10:03:04 +00:00
.prettierrc feat(es/minifier): Implement minifier partially (#1302) 2021-05-20 13:51:30 +09:00
.rustfmt.toml fix(bundler): Prepare renaming of bundler (#2066) 2021-08-13 10:03:04 +00:00
ARCHITECTURE.md chore: Fix typo (#1958) 2021-07-24 13:37:47 +09:00
Cargo.lock feat(es/minifier): Implement more rules (#2183) 2021-09-08 09:45:39 +00:00
Cargo.toml feat(common): Add variants to FileName (#2202) 2021-09-03 13:55:31 +09:00
CONTRIBUTING.md fix(testing): Allow using it with stable rustc (#1974) 2021-07-29 14:18:21 +09:00
deny.toml fix(es/transforms/base): Fix fixer (#1496) 2021-03-27 00:45:51 +09:00
jest.config.js fix(node-swc): Fix visitor (#1890) 2021-07-04 12:35:25 +00: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(swc): Improve rust apis (#2197) 2021-09-01 23:34:37 +00:00
README.md chore: Update README.md (#1910) 2021-07-09 20:01:23 +09:00
rust-toolchain perf(node/swc): Use mimalloc (#2068) 2021-08-13 18:39:13 +09:00
tsconfig.json spack: super-fast bundler (#825) 2020-06-13 23:09:45 +09:00
yarn.lock feat(node/swc): Support sourceFileName (#1976) 2021-08-03 00:49:34 +09:00

babel

Make the web (development) faster.

npm Downloads undefined

CI Status

swc is a super-fast typescript / javascript compiler written in rust. It's a library for rust and javascript at the same time. If you are using swc from rust, see rustdoc and for most users, your entrypoint for using library will be parser.

If you are using swc from javascript, please refer to docs on the website.

Documentation

Check out the documentation in the website.

Features

Please see comparison with babel.

Performance

Please see benchmark results on the website.

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:

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.