intermediate

Yarn

Различайте Yarn Classic и Modern, lockfiles, workspaces и компромиссы Plug and Play.

У Yarn несколько поколений. Yarn Classic (v1) часто в старых кодовых базах; Modern Yarn (Berry, v2+) добавляет Plug'n'Play, constraints, zero-install и строгие immutable installs. На интервью сначала определите поколение Yarn в проекте.

| Поколение | Lockfile | Особенности | |-----------|----------|-------------| | Classic v1 | `yarn.lock` | Hoisted `node_modules`, привычно после npm | | Modern Berry | `yarn.lock` + `.yarn/` | Опциональный PnP, zero-install, `yarn workspaces` |

					# Immutable install в CI (Modern Yarn, концептуально)
yarn install --immutable
				

Workspaces координируют multi-package репозитории. Plug'n'Play убирает `node_modules` в пользу карт разрешения — строже и быстрее, но части инструментов нужны SDK shim.

На интервью: review `yarn.lock`, workspace-команды, компромиссы PnP, zero-install и immutable install в CI.

Типовые ошибки: команды Berry в Classic-репо; PnP без SDK в редакторе; «Yarn = npm» во всех версиях.

Компромисс — современная строгость и фичи против цены миграции с Classic.

Чеклист:

  • Определите major-поколение Yarn.
  • Объясните PnP vs `node_modules` при необходимости.
  • Immutable install в CI для Modern Yarn.
  • Документируйте SDK для PnP.