syncable-cli 0.37.1

A Rust-based CLI that analyzes code repositories and generates Infrastructure as Code configurations
Documentation
//! # Language-specific vulnerability checkers

pub mod go;
pub mod java;
pub mod javascript;
pub mod python;
pub mod rust;

pub use go::GoVulnerabilityChecker;
pub use java::JavaVulnerabilityChecker;
pub use javascript::JavaScriptVulnerabilityChecker;
pub use python::PythonVulnerabilityChecker;
pub use rust::RustVulnerabilityChecker;

use super::types::{VulnerabilityError, VulnerableDependency};
use crate::analyzer::dependency_parser::DependencyInfo;
use std::path::Path;

/// Common trait for language-specific vulnerability checkers
pub trait LanguageVulnerabilityChecker {
    fn check_vulnerabilities(
        &self,
        dependencies: &[DependencyInfo],
        project_path: &Path,
    ) -> Result<Vec<VulnerableDependency>, VulnerabilityError>;
}

/// Extension trait for mutable vulnerability checkers
pub trait MutableLanguageVulnerabilityChecker {
    fn check_vulnerabilities(
        &mut self,
        dependencies: &[DependencyInfo],
        project_path: &Path,
    ) -> Result<Vec<VulnerableDependency>, VulnerabilityError>;
}