Skip to content

TechSpiritSS/ng-vitals

Repository files navigation

NgVitals

Health intelligence for Angular applications.

NgVitals is a static analysis tool that evaluates the health, architecture, maintainability, and modernization readiness of Angular applications.

npm version License: ISC


Features

  • 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

Installation

npm install -g ng-vitals

Or run directly:

npx ng-vitals analyze

Quick Start

cd your-angular-project
ng-vitals analyze

Commands

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

Examples

Basic Analysis

ng-vitals analyze

JSON Report

ng-vitals analyze --json report.json

Quality Gate

# Fail CI if high severity findings exist
ng-vitals analyze --fail-on high

Baseline Filtering

# Ignore known findings
ng-vitals analyze --baseline baseline.json

Compare Snapshots

ng-vitals diff before.json after.json

Track Trends

ng-vitals trend history/

Sample Output

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

Documentation

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

Requirements

  • Node.js 22+
  • Angular project with angular.json
  • TypeScript project with tsconfig.json

How It Works

NgVitals is a read-only static analysis tool. It:

  1. Discovers your Angular workspace
  2. Parses source files via TypeScript Compiler API
  3. Extracts Angular metadata (components, services, modules, routes)
  4. Builds the dependency graph
  5. Runs analysis rules
  6. Reports findings sorted by severity

NgVitals never modifies your source code.


License

ISC

About

Health intelligence for Angular applications. Static analysis tool that evaluates health, architecture, maintainability, and modernization readiness.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages