Yarn — один із основних менеджерів пакетів JavaScript [3] [4], розроблений у 2016 році компанією Facebook (нині Meta) для середовища виконання Node.js JavaScript . Альтернатива менеджеру пакунків npm, Yarn була створена в результаті співпраці Facebook, Exponent (тепер Expo.dev), Google і Tilde (компанія, яка розробила Ember.js), щоб вирішити проблеми узгодженості, безпеки та продуктивності з великими кодовими базами. [5]

Yarn
Тип Менеджер пакетів
Розробник Meta Platforms
Перший випуск 18 червня, 2016; 7 років тому (2016-06-18)[1]
Стабільний випуск 3.2.0 / 21 лютого, 2022; 2 роки тому (2022-02-21)[2]
Платформа Cross-platform
Операційна система кросплатформова програма
Мова програмування JavaScript
Ліцензія BSD 2-Clause "Simplified" License
Репозиторій https://github.com/yarnpkg
Вебсайт yarnpkg.com

Функціональність

ред.

Користувачі можуть писати власні плагіни для Yarn.

Обмеження

ред.

Обмеження Yarn дозволяють користувачам застосовувати правила для своїх залежностей або полів маніфесту в робочих областях із обмеженою областю.

Офлайн кеш

ред.

Завантажені пакети кешуються та зберігаються як один файл.

Plug'n'Play

ред.

Plug'n'Play дозволяє користувачам запускати проекти Node без папки node_modules, визначаючи спосіб або розташування для вирішення файлів пакетів залежностей за допомогою файлу керування Plug-n-Play. Ця функція спрямована на виправлення погано структурованої архітектури node_modules і, як наслідок, швидшого запуску програми Node.js.

Плагіни

ред.

Плагіни можуть додавати нові резолвери, фетчери, зв’язувачі, команди, а також можуть реєструватися для деяких подій або бути інтегрованими один з одним. Більшість функцій Yarn реалізовано за допомогою плагінів, у тому числі yarn add і yarn install, які також є попередньо встановленими плагінами.

Протоколи

ред.

Користувачі можуть визначати, який протокол використовуватиметься для вирішення певних пакетів. Наприклад, протокол git використовується для завантаження загальнодоступного пакета зі сховища Git, а протокол patch використовується для створення виправленої копії оригінального пакета.

Робочий процес випуску

ред.

Release Workflow автоматично оновлює відносні пакети серед робочих областей monorepos під час оновлення кореневих пакетів.

Робочі області (Workspaces)

ред.

Робочі області дозволяють кільком проектам працювати разом в одному сховищі та автоматично застосовувати зміни до інших родичів, коли вихідний код змінено, дозволяючи інсталювати кілька пакетів за один прохід, виконавши команду встановлення лише один раз.

Без встановлення (Zero-Installs)

ред.

Zero-Installs вирішує потреби інсталяції пакунків, коли пакети потрібно інсталювати, коли коди просто завантажуються на локальний комп’ютер.

Порівняння з npm

ред.
  • Yarn може встановлювати пакети з локального кешу. [6]
  • Пряжа міцно зв’язує версії пакунку.
  • Yarn використовує контрольну суму для забезпечення цілісності даних, тоді як npm використовує SHA-512 для перевірки цілісності даних завантажених пакетів. [7]
  • Yarn встановлює пакунки паралельно, тоді як npm встановлює по одному пакунку.

Синтаксис

ред.

Щоб встановити Yarn:

npm install -g yarn

Щоб встановити пакет з Yarn: [8]

yarn назва_пакета --dev

Дивись також

ред.

Список літератури

ред.
  1. Earliest releases of yarn. GitHub. Процитовано 18 червня 2016.
  2. Yarn Berry. GitHub. 21 квітня 2022.
  3. Package management basics. MDN. 28 вересня 2022.
  4. 5 best JavaScript Package Managers. Dunebook.com. 5 лютого 2022.
  5. Yarn: A new package manager for JavaScript. Engineering at Meta (амер.). 11 жовтня 2016. Процитовано 22 листопада 2021.
  6. Package Manager – NPM and Yarn Explained with Examples. Sitepoint. 21 вересня 2021.
  7. How To Install and Use the Yarn Package Manager for Node.js. DigitalOcean. 10 серпня 2021.
  8. Yarn vs npm: Everything You Need to Know. CodeSweetly. 4 лютого 2023.