Конференция завершена. Ждем вас на FrontendConf в следующий раз!

Уменьшаем бандл проекта через устранение конфликтов зависимостей Frontend

Доклад отклонён
Нуруллин Эдгар
Яндекс

Работаю фронтендером около 5 лет, увлекаюсь open source, в свободное время помогаю людям осваивать React в Netology (ментор).

Тезисы

В бандлах проектов часто затеривается что-то не нужное, в итоге они весят больше положенного, и находить причины бывает сложно. Их может быть множество: не правильное подключение пакетов (не модульное), случайное попадание кода для отладки или ненужные локали. Еще одной причиной может быть наличие конфликтов версий пакетов в дереве зависимостей. Особенно остро проблема стоит если, проект использует приватный npm и публикует свои пакеты используя lerna.

Есть решение по нахождению в собранном бандле дубликатов - duplicate-package-checker-webpack-plugin, но чтобы проверить гипотезу по устранению дублей, требуется полная переустановка всех зависимостей и пересборка бандла для его анализа. Процесс глупый и занимает много времени, так как частенько не получается добиться желаемого после первой итерации. Чтобы автоматизировать данный процесс был придуман cli инструмент ostap.

Cli ostap пытается подобрать минорное или патчевое изменение версии зависимостей в package.json, дабы устранить дубли и уменьшить получаемый суммарный вес бандла проекта.

Single page application, толстый клиент
,
Пакетные менеджеры и организация модульности
,
Производительность и мониторинг фронтенда

Другие доклады секции Frontend