Open in19farkt opened 5 years ago
Я поресечил и попробовал дубликаты поубирать. Имхо, не стоит прикручивать этот плагин на постоянку в проект, если не будет необходимости сократить размер бандла, ибо решений нормальных по исправлению дубликатов нет. Самое лучшее это написать разрабам либы ишу и ждать пока обновят) ну или попробовать до последней версии обновиться.
В основном предлагают использовать алиасы вебпака, но это тоже такое себе, ибо если в либе обновится мажорная версия зависимости, а у нас из-за алиаса будет версия ниже, то будет тяжело найти в чем же ошибка. Да и поддерживать такое будет ресурсозатратно.
Npm dedupe вообще странно отрабатывает, плюс пишут что бывают конфликты в пакетах из-за него.
Есть решение ostap,, но он смотрит на дубли в package.json, как то строя внутри дерево зависимостей. На наших проектах он дублей не выдал, да и дубли обычно из-за внутренних зависимостей пакетов лезут
@chmnkh @NikitaRzm @Znack может еше какие решения предложите
Тут скорее всего без вариантов. С этим борются еще с пещерных дней жизни первобытного человека и никак не решат, потому что дубовые js-разрабы тянут в свои 500 байт библиотечного кода 2кб кода для использования какого-нибудь тупого assert. И если этот тупой ассерт в паре разных версий у двух разных библиотек - то тут просто без вариантов, они оба полетят в бандл и ты получишь 4.5 кб +- бесполезного кода :)
Тут проблема решается на другом уровне: смотрим качество кода библиотек просто, и если есть критичные вещи в нужных нам - пишем альтернативы или форкаем и выпиливаем то, что нам нафик не удалось ( и может делаем ПР-чик).
Мои мысли такие :)
ну как минимум полезно знать что у тебя в зависимостях херня творится, и если есть время попытаться пофиксить самые тяжелые дубликаты.
Я тогда предлагаю не добавлять на уровне вебпак конфига эту проверку, а вынести в отдельный npm-скрипт, который будет искать дубликаты.
https://www.npmjs.com/package/duplicate-package-checker-webpack-plugin