1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
//! Audit and health check module for package dependencies and project health.
//!
//! **What**: Provides comprehensive auditing capabilities for Node.js projects, including
//! dependency analysis, upgrade detection, breaking change detection, and health scoring.
//!
//! **How**: This module analyzes the project's dependency tree, checks for available upgrades,
//! detects circular dependencies, categorizes dependencies, and generates detailed health reports.
//!
//! **Why**: To enable proactive identification of dependency issues, security vulnerabilities,
//! and maintainability concerns before they impact production systems.
//!
//! # Features
//!
//! - **Upgrade Audits**: Detect available package upgrades and their severity
//! - **Dependency Analysis**: Check for circular dependencies, missing dependencies, and version conflicts
//! - **Breaking Changes Detection**: Identify potential breaking changes in upgrades
//! - **Dependency Categorization**: Classify dependencies as internal, external, workspace, or local
//! - **Version Consistency Checks**: Detect version inconsistencies across packages
//! - **Health Scoring**: Calculate overall project health metrics
//! - **Report Generation**: Export audit results in multiple formats (Markdown, JSON)
//!
//! # Example
//!
//! ```rust,ignore
//! use sublime_pkg_tools::audit::AuditManager;
//! use sublime_pkg_tools::config::PackageToolsConfig;
//! use std::path::PathBuf;
//!
//! # async fn example() -> Result<(), Box<dyn std::error::Error>> {
//! let workspace_root = PathBuf::from(".");
//! let config = PackageToolsConfig::default();
//!
//! // Initialize audit manager
//! let audit_manager = AuditManager::new(workspace_root, config).await?;
//!
//! // Full audit functionality will be available in subsequent stories
//! // let audit_result = audit_manager.run_audit().await?;
//! //
//! // println!("Total issues found: {}", audit_result.total_issues());
//! // for issue in audit_result.critical_issues() {
//! // println!("Critical: {}", issue.title);
//! // }
//! # Ok(())
//! # }
//! ```
//!
//! # Module Structure
//!
//! This module contains:
//! - `manager`: The main `AuditManager` for orchestrating audit operations
//! - `sections`: Individual audit section implementations (upgrades, dependencies, etc.)
//! - `issue`: Issue types and severity levels
//! - `report`: Report structures and aggregation
//! - `formatter`: Report formatting and export capabilities (Markdown, JSON)
//! - `health_score`: Health score calculation utilities
// Public exports
pub use AuditManager;
// Health score calculation
pub use ;
// Issue types
pub use ;
// Section types and functions
pub use ;
// Report types
pub use ;
// Formatter types and functions
pub use ;