#советы Сторонние зависимости



Когда пишешь проект, необходимо очень осторожно относиться к зависимостям, которые затаскиваешь. Особенно это касается npm, где много старых не поддерживаемых пакетов. Поэтому я для себя выработал несколько правил выбора пакетов.



- Когда последний раз пакет обновлялся? - Если много лет назад, то это может быть проблемой, особенно если у него есть свои зависимости. В них могут быть найдены уязвимости, но из-за отсутствия поддержки их ни кто не обновлял.

- Что у него в зависимостях? - Если вам требуется простой пакет, в он за собой тянет ещё 10 пакетов, возможно стоит искать альтернативы. Понятно что для фреймворков и больших библиотек это уже не критично.

- Решаются ли issue? - Когда висит много старых issue без решения и реакции от контрибьютеров, это плохой знак.

- Много ли проектов на GitHub используют данный пакет или какое число скачиваний NPM? - Чем больше, тем скорее пользователя уже сталкивались с проблемами и их решали.

- Нужен ли мне вообще пакет? - Может проще чем тянуть сторонний пакет самому написать реализацию и уменьшить число внешних зависимостей?

- Есть ли официальный пакет от фреймворка / библиотеки? - Может ваша проблема уже решена дополнительным пакетом от авторов фреймворка, на котором вы пишете? К примеру много ключевых пакетов для Nest были со времени реализованы командой фреймворка.



Пишете в комментариях, как вы выбираете пакет для установки?