esprima系統のtoolはどれも自分の仕事領域を綺麗に分割していて,
- esprima
- codeを受け取って, Parser API ASTを返す(tree)
- escodegen
- ASTを受け取って, 適切なcodeに変換する
- この時, codegenの職務の一つとして, codeの意味を変えない形での圧縮も可能 (spaceやindentの削除など)
- esmangle
- ASTを受け取って, 変数名の短縮, true / falseなどを!0 / !1に変換したりなどして圧縮したASTを返す