このプロジェクトについて

Yarn 1.x は JavaScript プロジェクト向けのパッケージマネージャーであり、README では高速で信頼性が高く安全な依存関係管理と説明されています。このリポジトリには 1.x 系のソースコードが含まれており(執筆時点での最新版は 1.22)、明示的に凍結されています。新機能とバグ修正は現在 yarnpkg/berry リポジトリで行われ、このリポジトリは主に歴史的な目的と、1.x から以降のリリースへの移行を容易にするための時折のホットフィックス用に維持されています。 README に記載されている主な機能: - キャッシュ: ダウンロードしたすべてのパッケージがキャッシュされるため、同じパッケージを再度ダウンロードする必要はありません。 - 並行性: ほとんどの操作は並行して実行され、リソース利用を最大化します。これによりインストールが高速化されるとプロジェクトは述べています。 - 決定的インストール: 詳細かつ簡潔なロックファイル形式と決定的なインストールアルゴリズムにより、あるシステムで動作するインストールが、インストール順序に関係なく別のシステムでも同じように動作することを保証します。 - 整合性チェック: インストールされた各パッケージは、コードが実行される前にチェックサムを使用して検証されます。 - オフラインモード: 以前にインストールしたパッケージは、インターネット接続なしで再度インストールできます。 - ネットワークパフォーマンスと回復力: リクエストは効率的にキューイングされ、リクエストのウォーターフォールを回避します。また、リクエストは自動的に再試行されるため、単一の失敗したリクエストによってインストール全体が失敗することはありません。 - フラットモード: 不一致な依存関係のバージョンは、重複を避けるために単一のバージョンに解決されます。 インストールと使用手順は README 自体には含まれておらず、yarnpkg.com ウェブサイトのインストールガイドと使用ガイドを参照しています。README はまた、1.x コードベースはかなり古く、セキュリティ修正のみを受け付けると述べており、最新リリースへの移行を推奨しています。最新リリースでは、nodeLinker 設定により、node_modules(npm と同様)、シンボリックリンク(pnpm と同様)、または Yarn PnP によるマニフェストファイルのいずれかを選択できます。先行技術は Bundler、Cargo、npm に帰属しており、README は npm パッケージ名を提供してくれた Sam Holmes に感謝しています。スポンサーシップのセクションでは Doppler と WorkOS に言及しています。