1191 个版本 (202 个破坏性更新)

0.203.2 2024 年 8 月 23 日
0.202.0 2024 年 8 月 16 日
0.200.4 2024 年 7 月 30 日
0.192.19 2024 年 3 月 26 日
0.16.1 2021 年 7 月 31 日

编程语言 中排名 1195

Download history 3147/week @ 2024-05-04 3358/week @ 2024-05-11 2862/week @ 2024-05-18 2784/week @ 2024-05-25 2995/week @ 2024-06-01 3994/week @ 2024-06-08 2916/week @ 2024-06-15 3049/week @ 2024-06-22 4210/week @ 2024-06-29 4361/week @ 2024-07-06 5023/week @ 2024-07-13 3915/week @ 2024-07-20 4760/week @ 2024-07-27 3601/week @ 2024-08-03 3977/week @ 2024-08-10 4405/week @ 2024-08-17

每月下载量 17,445
69 包中使用(16 个直接使用)

Apache-2.0

9MB
232K SLoC

压缩器

SWC 项目的 EcmaScript 压缩器。这基本上是 terser 的移植。

注意

目前名称混淆器非常简单。为了专注于创建 MVP,我(kdy1)将使用简单的逻辑进行名称混淆,并在发布第一个非 beta 版本后实现内容感知名称混淆器。

调试提示

如果输出包含名为 etn 的变量,通常意味着原始库以压缩形式发布,并且输入包含 eval。如果使用 eval,当前的 swc 名称混淆器不会做任何事情。

压缩器分析

从 mac os x 运行

./scripts/instrument/all.sh path/to/input/dir

贡献

测试

请优先执行测试而不是单元测试。执行测试更有用,因为在审查时没有人为错误的机会。

执行测试

您可以将测试添加到 ./tests/exec.rs

您可以从 ./crates/swc_ecma_minifier 运行 ./scripts/exec.sh 来执行 SWC 压缩器的测试。 exec.sh 使用 --features debug 运行 cargo 测试,并使 cargo 测试打印大量调试日志。您可以通过搜索 "change" 来了解负责优化的代码。压缩器有 report_change! 宏,并打印相关代码的位置。

固定测试

您可以在 ./tests/fixture 中添加测试。您可以选择任何目录,但请优先使用 issues 目录。您可以从 ./crates/swc_ecma_minifier 运行 ./scripts/test.sh 来运行固定测试。您可以像这样运行它:./scripts/test.sh foo 仅运行文件路径中包含 foo 的测试用例。如果您想获取更改的位置,可以执行 ./scripts/test.sh foo --features debug

依赖关系

~12–23MB
~357K SLoC