Yarn (менеджер пакетів)

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

Функціональність[ред. | ред. код]

Користувачі можуть писати власні плагіни для 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.