Add checks modules (vulnerabilities, outdated)

This commit is contained in:
2026-02-02 21:34:45 +00:00
parent 7dd2d6c6b7
commit 0ef52a7730

View File

@@ -0,0 +1,68 @@
from __future__ import annotations
from dataclasses import dataclass, field
from typing import Any
@dataclass
class OutdatedPackage:
package_name: str
current_version: str
latest_version: str
language: str
minor_available: bool = False
patch_available: bool = False
major_available: bool = False
registry_url: str | None = None
publish_date: str | None = None
def to_dict(self) -> dict[str, Any]:
return {
"package_name": self.package_name,
"current_version": self.current_version,
"latest_version": self.latest_version,
"language": self.language,
"minor_available": self.minor_available,
"patch_available": self.patch_available,
"major_available": self.major_available,
"registry_url": self.registry_url,
"publish_date": self.publish_date,
}
@dataclass
class LicenseInfo:
package_name: str
license_type: str | None
license_expression: str | None
source: str
is_spdx_compliant: bool = False
def to_dict(self) -> dict[str, Any]:
return {
"package_name": self.package_name,
"license_type": self.license_type,
"license_expression": self.license_expression,
"source": self.source,
"is_spdx_compliant": self.is_spdx_compliant,
}
@dataclass
class UnusedDependency:
package_name: str
version: str
language: str
declared_in: str
file_path: str
reason: str
def to_dict(self) -> dict[str, Any]:
return {
"package_name": self.package_name,
"version": self.version,
"language": self.language,
"declared_in": self.declared_in,
"file_path": self.file_path,
"reason": self.reason,
}