use skif_core::{Category, DependencyKind, Fixability, RuleMeta, Severity};
use skif_lint::Emitter;
use super::JsRule;
use super::support::report_unused_dependencies;
use crate::analysis::JsAnalysis;
pub static META: RuleMeta = RuleMeta::new(
"unused-dev-dependencies",
Category::Js,
Some(Severity::Warning),
Fixability::Unsafe,
"A package in `devDependencies` is never imported, required or run by a script.",
);
pub struct UnusedDevDependencies;
impl JsRule for UnusedDevDependencies {
fn meta(&self) -> &'static RuleMeta {
&META
}
fn check(&self, analysis: &JsAnalysis<'_>, out: &mut Emitter<'_>) {
if analysis.production() {
return;
}
report_unused_dependencies(&META, &[DependencyKind::DevDependencies], analysis, out);
}
}