use std::path::Path;
use super::config::{check_flat, check_flat_exact_int, read_flat_config};
use super::detect::get_delay_days;
use super::types::{unsupported_if_configured, Recommendation};
use super::version::version_at_least;
pub fn scan(path: &Path, version: &str) -> Vec<Recommendation> {
let days = get_delay_days();
let cfg = read_flat_config(path);
let release_age = check_flat_exact_int(
path,
&cfg,
"min-release-age",
days,
&format!("Delay new versions by {days} days"),
);
let release_age = if version_at_least(version, 11, 10) {
release_age
} else {
unsupported_if_configured(release_age, "npm", 11, 10, version)
};
vec![
release_age,
check_flat(
path,
&cfg,
"ignore-scripts",
"true",
"Block malicious install scripts",
),
]
}