Rust-based platform for the Web
Go to file
Donny/강동윤 286334c4d0
feat(es/minifier): Drop vars from sequential inliner (#5993)
**Description:**

This PR renames `CloningMultiReplacer` to `Finalizer` and makes it handle the removal of unused variables. Also, this PR improves the sequential inliner so we can drop variables within a single pass.
2022-09-30 09:43:31 +00:00
.cargo build(bindings): Use new llvm pass manager (#5816) 2022-09-10 16:20:30 +00:00
.github chore(ci): Merge CI scripts (#5999) 2022-09-30 16:57:15 +09:00
.husky fix(es): Remove wrong debug assertion (#4445) 2022-04-26 14:16:38 +00:00
.vscode build(rustc): Update rustc (#5943) 2022-09-24 03:33:47 +00:00
bindings chore(ci): Merge CI scripts (#5999) 2022-09-30 16:57:15 +09:00
crates feat(es/minifier): Drop vars from sequential inliner (#5993) 2022-09-30 09:43:31 +00:00
docs/adr feat(visit): Add path-aware variants (#5073) 2022-07-05 04:38:27 +00:00
node-swc chore(ci): Merge CI scripts (#5999) 2022-09-30 16:57:15 +09:00
packages/swc-helpers feat(es/generator): Use new generator implementation (#5627) 2022-08-25 16:10:47 +00:00
scripts chore: Fix publish script 2022-09-16 15:46:59 +09:00
.gitattributes feat(html): Prepare processing system (#4358) 2022-04-22 20:20:47 +09:00
.gitignore chore: Publish v1.2.219 2022-07-27 14:45:02 +09:00
.gitmodules fix(html/parser): Fix bugs (#4502) 2022-05-03 02:49:06 +00:00
.kodiak.toml refactor(common): Cleanup & rustfmt (#3495) 2022-02-09 06:33:32 +00:00
.mocha.setup.js chore(repo): Configure prettier (#4523) 2022-05-04 14:25:28 +00:00
.mocharc.js chore(repo): Configure prettier (#4523) 2022-05-04 14:25:28 +00:00
.prettierignore fix(es/fixer): Wrap first function or class of a sequence expression (#5508) 2022-08-17 07:36:19 +00:00
.prettierrc chore(repo): Configure prettier (#4523) 2022-05-04 14:25:28 +00:00
.rustfmt.toml feat(wasm): Expose async facade interfaces (#5352) 2022-08-01 03:00:28 +00:00
.taplo.toml chore: Update toml formatting (#5368) 2022-08-03 03:07:28 +00:00
.yarnrc.yml chore: Publish v1.2.219 2022-07-27 14:45:02 +09:00
ARCHITECTURE.md feat(swc): Add IsModule (#2601) 2021-11-16 10:31:02 +00:00
Cargo.lock chore: Publish crates 2022-09-30 08:57:12 +00:00
Cargo.toml chore(ci): Merge CI scripts (#5999) 2022-09-30 16:57:15 +09:00
CHANGELOG.md chore: Publish crates 2022-09-30 08:57:12 +00:00
cliff.toml feat(node-swc): Add libc field in Linux platform packages (#4046) 2022-03-16 18:58:24 +09:00
clippy.toml feat(node-swc): Add libc field in Linux platform packages (#4046) 2022-03-16 18:58:24 +09:00
CONTRIBUTING.md doc(contributing): Add --features memory_cache to test steps (#5074) 2022-06-30 16:38:23 +00:00
cspell.json chore(ci): Merge CI scripts (#5999) 2022-09-30 16:57:15 +09:00
deny.toml build(bindings): Bump up swc_core (#5484) 2022-08-14 07:48:15 +00:00
LICENSE chore(node): Publish v1.2.121 2021-12-19 14:14:12 +09:00
package.json chore: Publish v1.3.4 (#5998) 2022-09-30 12:47:00 +09:00
postinstall.js feat(es/typescript): Support TS 4.9 (#5938) 2022-09-23 16:41:56 +09:00
README.md chore: Update MSRV (#5856) 2022-09-14 19:33:49 +09:00
rust-toolchain chore(ci): Merge CI scripts (#5999) 2022-09-30 16:57:15 +09:00
tsconfig.json chore(repo): Configure prettier (#4523) 2022-05-04 14:25:28 +00:00
yarn.lock test(es/plugin): Reenable compat test (#5969) 2022-09-28 10:54:51 +09:00

babel

Make the web (development) faster.

npm Downloads undefined GitHub release (latest SemVer)

GitHub code size in bytes CI Status node-current (scoped)

Discord

SWC (stands for Speedy Web Compiler) 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 entry point for using the library will be parser.

Also, SWC tries to ensure that

If you select the latest version of each crates, it will work

for rust users.

MSRV of crates named swc_ecma_* is the current stable, and nightly for others.


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.