Об этом проекте

Yarn 1.x — это менеджер пакетов для JavaScript-проектов, который в своём README описывается как быстрое, надёжное и безопасное управление зависимостями. Этот репозиторий содержит исходные коды линейки 1.x (последняя версия на момент написания — 1.22) и явно заморожен: новые функции и исправления ошибок теперь разрабатываются в репозитории yarnpkg/berry, а этот поддерживается в основном в исторических целях и для эпизодических исправлений, облегчающих миграцию с 1.x на более поздние версии. Ключевые возможности, описанные в README: - Кэширование: каждый загруженный пакет сохраняется в кэше, поэтому один и тот же пакет не нужно загружать повторно. - Параллельность: большинство операций выполняются параллельно для максимального использования ресурсов, что, по словам проекта, ускоряет установку. - Детерминированная установка: подробный, но лаконичный формат lock-файла и детерминированный алгоритм установки гарантируют, что установка, работающая в одной системе, будет работать так же и в другой, независимо от порядка установки. - Проверка целостности: контрольные суммы используются для проверки каждого установленного пакета перед выполнением его кода. - Офлайн-режим: ранее установленные пакеты можно установить снова без подключения к интернету. - Производительность и устойчивость сети: запросы эффективно ставятся в очередь, чтобы избежать водопадов запросов, и один неудачный запрос не приводит к сбою всей установки, поскольку запросы автоматически повторяются. - Плоский режим: несовпадающие версии зависимостей сводятся к одной версии, чтобы избежать дубликатов. Инструкции по установке и использованию не включены в сам README; он указывает на Руководство по установке и Руководство по использованию на сайте yarnpkg.com. В README также отмечается, что кодовая база 1.x довольно старая и будет принимать только исправления безопасности, и рекомендуется мигрировать на последнюю версию, где настройка nodeLinker позволяет выбирать между node_modules (как в npm), симлинками (как в pnpm) или файлами манифеста через Yarn PnP. Предшественниками названы Bundler, Cargo и npm, а в README выражается благодарность Сэму Холмсу за передачу имени npm-пакета. В разделах о спонсорах упоминаются Doppler и WorkOS.