Repository navigation
fix: npmの非推奨版を更新候補から除外 - #8
Merged
Merged
Conversation
各版のメタデータを読み捨てていたため、非推奨の版も更新先に選ばれていた。 deprecated の値だけを保持して npm と同じ真偽値で除外し、既存の latest 判定と公開日時の処理を維持する。 JSONから更新判定までの回帰テストと英日ドキュメントを追加する。
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Autopilot could not be updated. Open Coding to check access and billing. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
npm レジストリで非推奨とされた版を更新先に選ぶ問題を修正します。
@testing-library/jest-domの^6.4.6に minor 制限を適用した例では、非推奨の6.10.0を除外して6.9.1を選びます。全版が非推奨の場合は現在版を維持します。原因と変更
各版のメタデータを読み捨てていたため、バージョン名の接尾辞では表現されない非推奨指定を検出できていませんでした。
NpmVersionMetadataでdeprecatedだけを保持し、npm と同じ JavaScript の真偽値で候補から除外します。空文字列・null・false・ゼロは候補に残し、文字列以外の値でも取得全体を失敗させません。未知のフィールドは引き続き読み捨てます。候補変換を
into_versionsに切り出し、既存の latest 判定・公開日時・ソートを維持しました。英語・日本語のエコシステム文書も更新しています。設計相談では、Tauri 同期も同じ候補を利用できるためアダプタ層での除外を採用しました。全版除外時のスキップ理由は既存の
fetch failed: no versions availableを維持し、他エコシステムの表示を変える案は見送りました。このスキップは終了コードに影響しません。検証
make ci(format / clippy / 全テスト): passastro-sight review/impact: API変更・未解決の影響なし。履歴上の共変更候補は今回の修正を必要としないため変更なし回帰テストでは、minor 更新先、全版非推奨、非推奨の現在版からのダウングレード防止、空文字列・null・欠落・空白、非文字列の値、latest タグ、プレリリース、公開日時、ソートを検証します。ネットワークを使わず固定応答で再現します。
Closes #7