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

Функціональність Користувачі можуть писати власні плагіни для 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 може встановлювати пакети з локального кешу. Пряжа міцно зв’язує версії пакунку. Yarn використовує контрольну суму для забезпечення цілісності даних, тоді як npm використовує SHA-512 для перевірки цілісності даних завантажених пакетів. Yarn встановлює пакунки паралельно, тоді як npm встановлює по одному пакунку.

Синтаксис Щоб встановити Yarn: npm install -g yarn Щоб встановити пакет з Yarn: yarn назва_пакета --dev

Дивись також

npm (програмне забезпечення) Node.js

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