Yarn - это новый менеджер зависимостей, созданный крутыми парнями из Facebook и другими участниками.

Почему?

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

Именно эта идея подтолкнула ребят из Facebook к созданию с нуля нового менеджера для своих пакетов (более подробно вы можете прочитать об этом в их статье).

Как хорошо сказал Иегуда Кац в своей недавней статье, клиент npm делает свою работу достаточно хорошо, некоторые из вас, возможно, никогда не столкнулись с проблемой при интенсивной работе с пакетами npm и управлении ими через клиент NPM. Но были проблемы, которые нужно было решить, и именно в этом Yarn превосходит всех.

Основные отличия

  • Открытый источник.

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

  • Множественные реестры

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

  • Детерминированный

Yarn гарантирует, что каждый раз, когда вы запускаете yarn в проекте, он будет устанавливать свои зависимости в одном и том же порядке, я имею в виду, что внутренняя структура ваших node_modules всегда будет одинаковой, избегая некоторых очень трудно обнаруживаемых ошибок.

  • Автономный режим

Yarn очень хорошо работает с кешами, чтобы сделать любой установленный вами пакет доступным в автономном режиме.

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

Установка

Yarn разбил процесс на 3 этапа, сделав интерфейс с конечным пользователем более понятным и приятным.

  1. Решение: создайте зависимости запросов и поиска.
  2. Получение: проверьте, доступна ли зависимость в Глобальном кэше (автономный режим), если нет, извлекает из репозитория и помещает ее туда, чтобы позже быть доступной в автономном режиме.
  3. Связывание: завершает все, перемещая все из глобального кеша в папку node_modules.

Начни пользоваться!

И начать пользоваться не может быть проще:

npm i -g yarnpkg

Сделанный. Теперь оно у вас есть. Вот - это краткий список с командами npm и соответствующими им Yarn.

Халява

Я только начал играть с Yarn, и я лишь поцарапал поверхность, но вот 2 команды, которые я нашел очень крутыми, и я рекомендую вам их использовать.

yarn clean

Удаляет ненужные файлы из ваших зависимостей.
(это какое-то волшебство при первом запуске!: P).

yarn why <package>

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

Вывод

Сегодня я медленно начал использовать Yarn, но, честно говоря, это интерфейс cli, и его производительность настолько хороша, что я чувствовал себя совершенно перетянутым, теперь я могу сказать, что полностью перешел на Yarn, давайте посмотрим, что произойдет. А вы?

PS: если он вам понравился, нажмите 💚, чтобы порекомендовать его своим знакомым.