oxc/crates/oxc_minifier
dalaoshu d953a6be02
fix(minifier): correct the reference link (#6283)
These are minor changes, and recently I’ve been learning and trying to
implement some features of `oxc_minifier`, which feels a bit complex.

By the way, I’m wondering whether we should gradually add test cases
during the feature implementation process or just copy all the
corresponding tests directly? Perhaps we could implement something like
`rulegen` similar to `linter`?
2024-10-05 08:54:59 +08:00
..
examples fix(minifier): compute void number as undefined (#6028) 2024-09-24 14:39:44 +00:00
src fix(minifier): correct the reference link (#6283) 2024-10-05 08:54:59 +08:00
tests feat(transformer,minifier)!: move define and inject plugin from minifier to transformer (#6199) 2024-10-01 03:59:24 +00:00
Cargo.toml feat(transformer,minifier)!: move define and inject plugin from minifier to transformer (#6199) 2024-10-01 03:59:24 +00:00
CHANGELOG.md release(crates): v0.30.2 (#6100) 2024-09-27 13:28:12 +08:00
README.md

Minifier

A JavaScript minifier has three components:

  1. printer
  2. mangler
  3. compressor

Mangler

The mangler implementation is part of the SymbolTable residing in oxc_semantic. It is responsible for shortening variables. Its algorithm should be gzip friendly.

The printer is also responsible for printing out the shortened variable names.

Compressor

The compressor is responsible for rewriting statements and expressions for minimal text output. Terser is a good place to start for learning the fundamentals.

Terser Tests

The fixtures are copied from https://github.com/terser/terser/tree/master/test/compress