Takumi Guard を Yarn v1 で利用する際の挙動の改善
Yarn クライアント利用時に、Takumi Guard を迂回した通信が発生しにくいよう、Yarn クライアントに対する挙動を改善しました。この変更は透過的ですが、Yarn v1 ユーザー・新規パッケージの追加シナリオでのみ、ロックファイル(yarn.lock)にTakumi Guard のレジストリ URL が記録されるようになります。
変更内容
Yarn クライアントのみを対象に、ロックファイル内に対するメタデータ書き換えの挙動を変更しました。具体的には、メタデータ配信時に、tarball dist URLs を Takumi Guard レジストリの URL に書き換えるように変更されました。
変更背景
Yarn v1 は tarball dist URLs を lockfile 内に含める挙動を取り、Yarn v2+ クライアントは、レジストリから得られるパッケージメタデータファイル内の tarball dist URLs とレジストリURLに乖離がある場合に lockfile 内に __archiveUrl フィールドを追加します。この挙動に より、yarn 実行時にロックファイルのみが参照されるシナリオで、yarn クライアントが Takumi Guard を迂回する挙動をとる場合がございます。
変更の影響範囲
npm・pnpm・Bun 等への影響
影響はありません。
Yarn v1 への影響: 新規パッケージの追加・更新時に有
yarn.lock のエントリに、従来のアップストリームレジストリ URL ではなく Takumi Guard のレジストリ URL が記録されるようになります。 これは他パッケージマネージャの利用時には起こらない挙動ですが、Yarn v1 においてのみ発生します。これはロックファイル経由の依存解決シナリオで、安定してブロック対象パッケージのインストールを防止するために必要な変更でございますので、ご理解いただけますと幸いです。
Yarn v2–v4(Berry)への影響: 無
既存の yarn.lock 内の __archiveUrl フィ ールドが、次回のパッケージ更新時に削除されるようになります。この点以外には、既知の影響はありません。
