Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що таке pnpm workspaces?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**pnpm workspaces** - це механізм, який дозволяє об'єднувати кілька пов'язаних проєктів (пакетів) в один спільний репозиторій (монорепозиторій) і керувати їхніми залежностями централізовано. Це зручно, коли в одному репо зберігається одразу кілька пакетів, бібліотек або сервісів, які використовують спільні залежності або залежать один від одного. **Ключове:** через workspaces один пакет може залежати від іншого пакета в тому самому репозиторії без публікації в npm - pnpm створює локальне посилання автоматично.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення**pnpm workspaces** - це механізм, який дозволяє об'єднувати кілька пов'язаних проєктів (пакетів) в один спільний репозиторій (монорепозиторій) і керувати їхніми залежностями централізовано. Це зручно, коли в одному репо зберігається одразу кілька пакетів, бібліотек або сервісів, які використовують спільні залежності або залежать один від одного. --- ### **Завдання, які вирішують workspaces** 1. **Єдине керування залежностями** Спільні пакети встановлюються один раз, а не в кожному проєкті. 2. **Локальна прив'язка пакетів один до одного** Можна залежати від іншого пакета в тому самому репозиторії без публікації його в npm - pnpm створює локальне посилання автоматично. 3. **Оптимізація встановлення** Встановлення всіх залежностей для всіх пакетів відбувається однією командою, швидко і без дублювання. 4. **Зручність для великих проєктів і монорепо** Підходить для фронтенду, бекенду, бібліотек і CLI всередині одного репо. --- ### **Приклад структури workspace** ```javascript my-monorepo/ pnpm-workspace.yaml packages/ app/ package.json ui/ package.json ``` Файл `pnpm-workspace.yaml`: ```yaml packages: - "packages/*" ``` --- ### **Як використовується** | Дія | Команда | |---|---| | Встановити залежності для всіх пакетів | `pnpm install` | | Запустити скрипт в одному пакеті | `pnpm --filter app dev` | | Додати залежність у конкретний пакет | `pnpm add react --filter app` | --- ### **Підсумок** **pnpm workspaces** - це інструмент для роботи з монорепозиторіями, який дозволяє ефективно керувати кількома пакетами в одному репо, ділити залежності, прискорювати встановлення й легко пов'язувати локальні пакети між собою.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.