Мы пытаемся сделать инструмент оптимизации JavaScript доступным в виде плагина для веб-пакетов.После просмотра источников как самого веб-пакета, так и множества существующих плагинов и загрузчиков веб-пакетов, а также после множества проб и ошибок у нас сложилось впечатление, что требования нашего инструмента невозможно вписать в архитектуру плагинов веб-пакета:
- Нам нужно проанализировать источники JavaScript каждого файла после , например, компиляцию TypeScript (ts-loader), но до любых других инструментов оптимизации, таких как terser, и перед заменами веб-пакетов, такими как
new Foo() --> new moduleName['exportName']()
) - Нам нужно настроить эти источники в том же неоптимизированном состоянии, но мы можем начать настройку только после того, как увидим все источники.
Возможный подход, о котором мы думали, состоял в том, чтобы запустить анализ в пользовательском загрузчике, добавляемом плагином, и использовать собранную информацию позже (например, seal
), где всеисходники модуля доступны.Тем не менее, мы не смогли заменить источники модулей ни в одной из проверенных нами ловушек.
Буду признателен за любые предложения.