Health intelligence for Angular applications.
NgVitals is a static analysis tool that evaluates the health, architecture, maintainability, and modernization readiness of Angular applications.
- Architecture Analysis — Detect circular dependencies, module relationships, deep chains
- Modernization Tracking — Standalone adoption, OnPush adoption, lazy loading metrics
- Maintainability Rules — Large components, too many dependencies, dead services
- Dependency Intelligence — Service consumption graphs, most-used services
- Multiple Outputs — Console, JSON, SARIF, HTML, Mermaid diagrams
- CI Integration — Quality gates, baseline filtering, exit codes
- Trend Analysis — Track metrics over time from JSON snapshots
npm install -g ng-vitalsOr run directly:
npx ng-vitals analyzecd your-angular-project
ng-vitals analyze| Command | Description |
|---|---|
ng-vitals analyze |
Analyze an Angular workspace |
ng-vitals diff |
Compare two JSON report snapshots |
ng-vitals trend |
Show architecture trends over time |
ng-vitals analyzeng-vitals analyze --json report.json# Fail CI if high severity findings exist
ng-vitals analyze --fail-on high# Ignore known findings
ng-vitals analyze --baseline baseline.jsonng-vitals diff before.json after.jsonng-vitals trend history/NgVitals
Angular Version: 19
Projects: 1
Project: my-app
Source Root: src
TsConfig: tsconfig.app.json
================================================================================
Architecture Summary
================================================================================
Angular Version: 19
Workspace Type: Single Project
Application Size: Medium
Style: Feature-Based
Standalone Adoption: High
OnPush Adoption: Medium
================================================================================
Components
================================================================================
Found 15 component(s)
Name Selector Standalone ChangeDet Inputs Outputs
-----------------------------------------------------------------------------------------------
AppComponent app-root false Default 0 0
UserDashboardComponent app-user-dashboard true OnPush 5 2
...
================================================================================
Findings
================================================================================
[high] architecture.circular-module-dependency
Circular dependency detected: AppModule -> SharedModule -> AppModule
[medium] maintainability.large-component
DashboardComponent exceeds 300 lines (450 lines)
[low] maintainability.dead-service
LoggingService has zero consumers
See USAGE.md for complete documentation including:
- All CLI options and flags
- Report sections explained
- Output formats (JSON, SARIF, HTML, Mermaid)
- Quality gate configuration
- Baseline filtering
- CI integration examples (GitHub Actions, GitLab CI, Azure DevOps)
- Troubleshooting guide
- Node.js 22+
- Angular project with
angular.json - TypeScript project with
tsconfig.json
NgVitals is a read-only static analysis tool. It:
- Discovers your Angular workspace
- Parses source files via TypeScript Compiler API
- Extracts Angular metadata (components, services, modules, routes)
- Builds the dependency graph
- Runs analysis rules
- Reports findings sorted by severity
NgVitals never modifies your source code.
ISC