#minify #javascript #linter #typescript #parser

oxc_minifier

Rust 编写的 JavaScript 工具集合

49 个版本 (25 个破坏性更新)

0.25.0 2024年8月23日
0.23.1 2024年8月6日
0.22.1 2024年7月28日
0.11.0 2024年3月30日
0.1.0 2023年7月27日

#1032 in 开发工具

Download history 125/week @ 2024-05-10 177/week @ 2024-05-17 39/week @ 2024-05-24 268/week @ 2024-05-31 504/week @ 2024-06-07 241/week @ 2024-06-14 221/week @ 2024-06-21 1174/week @ 2024-06-28 1438/week @ 2024-07-05 766/week @ 2024-07-12 837/week @ 2024-07-19 1079/week @ 2024-07-26 1085/week @ 2024-08-02 1127/week @ 2024-08-09 675/week @ 2024-08-16

每月4,112次下载
用于 oxc

MIT 许可证

3.5MB
82K SLoC

压缩器

JavaScript 压缩器有三个组件

  1. 打印机
  2. 混淆器
  3. 压缩器

混淆器

混淆器实现是位于 SymbolTable 中的 oxc_semantic 的一部分。它负责缩短变量。其算法应友好于 gzip。

打印机还负责打印缩短后的变量名。

压缩器

压缩器负责将语句和表达式重写为最小文本输出。从 Terser 学习基础知识是一个好起点。

Terser 测试

示例从 https://github.com/terser/terser/tree/master/test/compress 复制而来


lib.rs:

ECMAScript 压缩器

依赖关系

~7–13MB
~152K SLoC