Исполняемый файл jar от Google Closure Compiler имеет аккуратную опцию --print_pass_graph, которая показывает, какие проходы выполняются с учетом набора опций для компилятора.
--print_pass_graph
Что мне интересно знать, так это: как запустить один проход?
Например, как запустить один шаг processDefines (возможно, с зависимостями), избегая при этом denormalize или operaCompoundAssignFix?
processDefines
denormalize
operaCompoundAssignFix
(ответьте на вопрос к Существует ли какой-либо быстрый инструмент, который выполняет константную подстановку без удаления комментариев в исходном коде JavaScript? , но сам по себе интересен)
Есть несколько способов сделать это, но один из них состоит в том, чтобы заменить DefaultPassConfig на пользовательский, который запускает только желаемый проход, setPassConfig класса Compiler позволяет это: