Слоган первого дня: «Do not choose dependencies blindly». Начну с истории, которые слушатели подкаста Веб-стандарты, от меня недавно слышали (youtu.be/ZWjfMGFITHE)...
Треды понедельника. Тема «Do not choose dependencies blindly».
Вступление. История про популярный колор-пикер:
twitter.com/jsunderhood/st…
Почему я вообще считаю, что надо заморачиваться на тему числа и веса зависимостей? Кто-то скажет: «10 КБ или 100 КБ — какая разница? Все равно это мало! Не мегабайт же!»
Почему нужно смотреть на размер зависимостей, примеры:
twitter.com/jsunderhood/st…
Итак, пакеты которые разработаны без заботы о размере и доступности зачастую становятся очень популярны и делают веб хуже. Что же мы, как комьюнити, можем сделать? Разумеется, раз это open-source, то можем делать Pull Request-ы, чтобы улучшить эти популярные либы.
Первые шаги по улучшению существующих пакетов, настройка инструментов:
twitter.com/jsunderhood/st…
Как можно сделать существующую библиотеку легче? Вариантов много, но начал бы со следующих пунктов: Удалить зависимости или заменить их на более легкие. Пример: заменить moment на date-fns (или на стандартный Date) или styled-components на какой-нибудь goober.
Как сделать существующую библиотеку легче:
twitter.com/jsunderhood/st…
Если вы видите, что популярный пакет сложно сделать легче или автор не хочет принимать PR-ы на эту тему, вы можете просто попробовать найти альтернативу. Моя мысль в том, что если мы все изменим подход к подбору зависимостей, то лучшие библиотеки станут популярнее.
Меняем подход к подбору зависимостей для своих проектов:
twitter.com/jsunderhood/st…
Окей, на GH и NPM метрик маловато, как же тогда оценить пакет не ковыряясь полдня в репозитории и не устанавливая его в свой проект? На помощь приходят такие классные сервисы и инструменты как: — bundlephobia.com — npm.anvaka.com — npm-consider
Полезные инструменты и сервисы для оценки качества пакетов:
twitter.com/jsunderhood/st…
Если вы ищете пакеты на сайте NPM, то попробуйте npms.io — их поиск IMHO работает лучше. Разница в выдаче выглядит странно, учитывая тот факт, что на npmjs.com написано об использовании движка от npms.io: docs.npmjs.com/searching-for-… pic.twitter.com/g6FbjgMW1P
Поиск NPM сломан? Альтернатива:
twitter.com/jsunderhood/st…
Резюмирую недавние треды: хотел бы попросить вас внимательней подходить к подбору зависимостей, и изменить привычный флоу, например, на такой: npms.io → NPM/GitHub → bundlephobia.com → npm.anvaka.com
Заключение:
twitter.com/jsunderhood/st…