Компилятор замыкания может сохранять комментарии с помощью аннотации @ preserve , но ни компилятор замыкания, ни какой-либо другой компрессор на основе дерева разбора не справляются с работой в целом.
Это сложнопроблема.Обработка условной компиляции требует рассуждения о нескольких возможных деревьях разбора, а не об одном.
Некоторые из действительно простых компрессоров, которые просто обрабатывают JS как серию токенов вместо манипулирования деревом разбора, могут лучше работать с условной компиляцией, нов целом они гораздо хуже работают при сжатии.
Одним из решений может быть компиляция всех ваших исходных файлов, за исключением того, который имеет директивы условной компиляции и который просто экспортирует переменные, которые используются другими исходными файлами.