Минификация Javascript
Я попробовал два инструмента для сабжа — esbuild
и rollup
.
esbuild
типа быстрый, написан на Go и автономный, не нужен npm
, чтобы его поставить. Еще импонирует, что проблемные импорты, ведущие в никуда, он рапортует и требует явно обозначить. Однако в итоге в итоге его побороть не получилось.
Итоговый JS-модуль для поиска, сгенерированный Koka, увы, был не очень высокого качества из-за того, как я понял, что у таргета нет четкого разделения между фронтом и бэком с нодой. Я пробовал пометить нодовские модули (os
, fs
) как внешние, пометить импорты Koka как внешние, выбрать platform=node
и даже руками удалить “неправильные” импорты, но ничего не помогло: undefined
в итоговом скрипте.
Rollup сработал с первого раза, и размер бандла получился меньше. Однако он менее строг, и что было ошибкой у esbuild
, у него было просто предупреждением. И автономного варианта нет — только npm install
(впрочем, распространенная проблема для JS экосистемы).