Что следует учитывать при выборе сторонней библиотеки NPM для вашего проекта.

Установка пакета NPM - довольно простая задача. Но выбрать правильный пакет намного сложнее, чем вы думаете, поскольку их более 1,3 миллиона.

Итак, в этой статье мы обсудим 5 лучших практик, которым вам нужно следовать при выборе сторонней библиотеки NPM для вашего проекта.

1. Проверьте лицензию на пакет.

Оценка типа лицензии пакета имеет решающее значение во всех смыслах. Вкратце, это дает вам представление об условиях, на которых вы можете использовать библиотеку.

В общем, мы можем разделить их на лицензии с «левым копированием» и разрешительные лицензии.

  • Копирование влево. Если вы их используете, вы должны также сделать свой код открытым для других. Остерегайтесь этого; это может быть сложно, если ваш проект коммерческий. Несколько примеров; GPL, LGPL.
  • Разрешающая - эти лицензии накладывают минимальные ограничения на использование. Но все не то же самое, так что лучше ознакомиться с их условиями. Несколько примеров; Apache, MIT.

Если вы не проверили лицензии уже установленных пакетов NPM, вы можете использовать средство проверки лицензий, проанализировать все пакеты NPM сразу и убедиться, что все пакеты разрешены для использования.

2. Проверьте частоту публикации и загрузки

Поскольку существует множество похожих пакетов, статистика NPM и GitHub - еще один отличный способ сравнить и выбрать пакеты NPM.

Вы можете легко просмотреть количество загрузок за неделю и статистические графики на домашней странице пакета NPM. Обычно, чем больше число, тем пакету можно доверять.

В дополнение к этому вы можете использовать такой инструмент, как npm Trends, чтобы сравнить и увидеть, какой пакет NPM имеет наибольшее количество загрузок с течением времени. Это поможет вам сравнить несколько пакетов NPM одновременно, чтобы лучше понять их популярность.

Кроме того, количество звездочек, вилок, частота фиксации и участники в репозитории GitHub указывают на популярность и вклад сообщества в библиотеку.

Вы можете использовать инструмент GitHub Stats, чтобы сравнить эту статистику, чтобы выбрать лучшую из цифр.

Однако также важно оценить тенденцию роста. Например, новые библиотеки могут решить проблему более элегантно, но на ранней стадии.

3. Ищите пакеты меньшего размера

Все мы знаем, насколько важно, чтобы размер пакета был как можно меньше, особенно для внешней части кода. Тем не менее, мы накапливаем так много сторонних библиотек, не заботясь об их размерах. В конце концов, мы должны оптимизировать наше приложение, прежде чем оно станет проблемой.

Поэтому всегда полезно проверять размер пакета перед установкой пакета с помощью такого инструмента, как bundlephobia.

4. Ищите пакеты, поддерживаемые более крупными сообществами разработчиков

Хотя многие пакеты NPM содержат исчерпывающую документацию, часто возникают проблемы совместимости, необработанные исключения JavaScript или проблемы, связанные с производительностью.

Самостоятельно находить решения этих проблем - непростая задача, и именно здесь может пригодиться большое сообщество разработчиков.

Идеи GitHub предоставляют отличный способ найти поддержку сообщества для пакета NPM, и есть несколько идей, на которые нужно обратить внимание.

Статистика GitHub - подсчет «Используется» и «Соавторы»

Первое понимание - это количество «Использованных» и «Соавторов». Эти цифры легко найти на странице репозитория.

Если эти числа более значимы, это всегда хороший сигнал. Это означает, что вы не являетесь первым пользователем этого конкретного пакета NPM.

Статистика GitHub - вкладка "Соавторы"

Вкладка «Соавторы» также дает вам представление о сообществе разработчиков. Вы можете найти статистику в представлении «Соавторы» на вкладке «Статистика».

Если вы видите частые публикации, этот пакет NPM поддерживается хорошим сообществом разработчиков.

GitHub Insights - профиль сообщества

«Профиль сообщества» репозитория - еще один хороший индикатор сообщества, стоящего за пакетом NPM.

Он предоставляет контрольный список, в котором сравнивается проект с рекомендованными стандартами сообщества, а хорошо организованный профиль сообщества показывает зрелость пакета.

5. Оцените безопасность

Безопасность пакетов - еще один важный аспект выбора пакета NPM. Вы можете получить представление о политиках безопасности пакета NPM на вкладке «Безопасность» его репозитория GitHub.

Если определены активные политики безопасности, это означает, что разработчики предприняли первые шаги для обеспечения безопасности своих пакетов.

Если вы уже установили пакеты NPM без учета требований безопасности, вы можете использовать команду npm audit для проверки безопасности.

Согласно исследованию Дармштадтского университета, значительное количество пакетов (до 40%) зависит как минимум от одной зависимости с общеизвестной уязвимостью безопасности.

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

Вы также можете вручную оценить каждую зависимость, стоящую за выбранным сторонним пакетом NPM, и убедиться в отсутствии уязвимостей или угроз безопасности перед его установкой в ​​свой проект.

Создавайте из независимых компонентов, для скорости и масштабирования

Вместо того, чтобы создавать монолитные приложения, сначала создайте независимые компоненты и объедините их в функции и приложения. Это ускоряет разработку и помогает командам создавать более согласованные и масштабируемые приложения.

Инструменты OSS, такие как Bit, предлагают отличные возможности разработчика для создания независимых компонентов и составления приложений. Многие команды начинают с создания своих дизайн-систем или микро-интерфейсов с помощью независимых компонентов.
Попробуйте →

Заключение

В этой статье обсуждаются пять передовых практик, которым вы должны следовать при выборе стороннего пакета NPM для вашего проекта.

Если вам нужно выбрать несколько пакетов NPM, вы можете использовать онлайн-инструмент, например npmcompare, для сравнения каждого пакета NPM.

Совет. Подготовьте отчет о сравнении пакетов и поделитесь им со своей командой после добавления рекомендаций, чтобы облегчить решение, какой сторонний пакет NPM установить.

Я надеюсь, что мои предложения помогут вам выбрать лучшие сторонние пакеты NPM для вашего следующего проекта, и не забудьте поделиться своими мыслями в разделе комментариев. 🙂

Спасибо за чтение!!!

Учить больше