From 91509a729cb89275ef4e9a8e064f90cdee8a06c1 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 6 Jun 2026 19:10:48 +0900 Subject: feat(package-repository): filter advisories by affected version constraint Implement the previously stubbed phase-b TODO so getSecurityAdvisories skips advisories whose affected_versions do not match the requested package constraint. Share the package VersionParser with PartialSecurityAdvisory::create across both PackageRepository and ComposerRepository instead of a separate semver parser instance. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/shirabe/src/advisory/partial_security_advisory.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'crates/shirabe/src/advisory') diff --git a/crates/shirabe/src/advisory/partial_security_advisory.rs b/crates/shirabe/src/advisory/partial_security_advisory.rs index c134385..8815103 100644 --- a/crates/shirabe/src/advisory/partial_security_advisory.rs +++ b/crates/shirabe/src/advisory/partial_security_advisory.rs @@ -2,6 +2,7 @@ use crate::advisory::PartialOrFullSecurityAdvisory; use crate::advisory::SecurityAdvisory; +use crate::package::version::VersionParser; use anyhow::Result; use chrono::{DateTime, TimeZone, Utc}; use indexmap::IndexMap; @@ -9,7 +10,6 @@ use shirabe_external_packages::composer::pcre::Preg; use shirabe_php_shim::{PhpMixed, UnexpectedValueException}; use shirabe_semver::constraint::AnyConstraint; use shirabe_semver::constraint::SimpleConstraint; -use shirabe_semver::version_parser::VersionParser; fn serialize_constraint( c: &AnyConstraint, -- cgit v1.3.1