mirror of
https://github.com/danbulant/oxc
synced 2026-05-24 20:32:10 +00:00
23 lines
670 B
Markdown
23 lines
670 B
Markdown
# 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](https://github.com/terser/terser) is a good place to start for learning the fundamentals.
|
|
|
|
## Terser Tests
|
|
|
|
The fixtures are copied from https://github.com/terser/terser/tree/v5.9.0/test/compress
|