Skip to main content

Documentation

All analyses

Every analysis Vipr ships, grouped by the analyzer that owns it. The content is generated directly from the analyzer source code and stays in lockstep with the actual detection logic.

44 analyses across 5 analyzers

Core

7 analyses · v1.0.0

React

13 analyses · v1.0.1

React Anti-Patterns

Detects React-specific anti-patterns: stale closures, prop drilling, conditional hooks, unstable dependencies, mutation in render.

anti-patterns Read

React Dataflow

Tracks how data flows through component trees: derived state, lifted state, prop chains.

performance Read

React Structural Complexity

Measures component structural complexity: JSX nesting depth, conditional rendering branches, early returns, prop spreading.

technical-debt Read

React Security

Detects React-specific security issues: dangerouslySetInnerHTML, href javascript:, target=_blank without noopener.

security Read

React Hooks

Audits hook usage: rules of hooks, custom hook patterns, dependency arrays, hook ordering.

technical-debt Read

React Temporal Patterns

Detects temporal coupling issues: effects ordering, setState in render, useEffect dependency timing.

technical-debt Read

React Coupling

Measures coupling between components: prop count, deep prop drilling, context usage, ref forwarding chains.

technical-debt Read

React Identity Stability

Tracks reference stability of props and dependencies, covering unmemoized objects/arrays/functions passed across render boundaries.

performance Read

React Accessibility

Detects accessibility issues in React components: missing alt text, ARIA misuse, keyboard navigation, semantic HTML violations.

accessibility Read

React Performance

Detects render-cost issues: missing memoization, inline functions in lists, expensive computations in render.

performance Read

React Reliability

Detects reliability issues: missing error boundaries, unhandled promise rejections in components, key warnings, race conditions.

technical-debt Read

React Technical Debt

Tracks technical-debt signals specific to React: deprecated patterns, dead components, untyped props, missing default exports.

technical-debt Read

React Migration

Detects legacy React patterns and surfaces migration opportunities to modern equivalents.

migrations Read

Next.js

7 analyses · v1.0.0

TypeScript

16 analyses · v1.0.0

TypeScript Type Complexity

Flags recursive types, complex interfaces, deep generic nesting, conditional types, and large unions.

technical-debt Read

TypeScript Type Safety

Detects type-system escape hatches: @ts-nocheck, @ts-ignore, @ts-expect-error, any usage, double assertions, implicit any catch clauses.

technical-debt Read

TypeScript Declaration Shape

Flags interface/class/namespace shape problems: empty interfaces, oversized definitions, deep inheritance, declaration merging, and missing return types.

patterns Read

TypeScript Generics Usage

Flags generic-type arity, unused type parameters, broad constraints, and missing constraints.

technical-debt Read

TypeScript Utility Types Usage

Detects custom mapped types that duplicate built-in utility types, and reports utility-type leverage.

patterns Read

TypeScript Import Discipline

Surfaces import-statement hygiene: type-only annotations, namespace imports, barrel files, and import-style consistency.

patterns Read

TypeScript Type Guards

Surfaces union-type usage and the presence (or absence) of type predicates and discriminated-union patterns.

patterns Read

TypeScript Module Augmentation

Surfaces declare-global, module augmentations, ambient module declarations, and global namespace pollution.

patterns Read

TypeScript Structural Quality

Detects singleton patterns, empty catches, untyped throws, concrete-class imports, global state, and good patterns (factories, constructor injection).

patterns Read

Enum Posture

Reports enum modernization posture: string enums representable as unions of literals, and const enums that isolatedModules transpilation cannot inline.

patterns Read

Class Shape

Reports class responsibility load: large classes by instance-method count, and low-cohesion classes whose stateful methods split into disconnected clusters over the instance fields.

patterns Read

Monorepo Boundary Violations

Flags imports that reach into another workspace package through a path the package did not export — deep relative traversals and non-exported subpaths.

patterns Read

Type-Aware TypeScript

Checker-backed findings from a full tsconfig-driven project pass: real any propagation, unnecessary non-null assertions, cross-file inheritance depth, dead union members, defeated generic constraints, pointless type predicates, and redundant utility types.

patterns Read

Compile-Cost Hotspots

Ingests a user-generated `tsc --generateTrace` output and attributes type-checking time to the files that dominate it. Strictly opt-in — Vipr never spawns tsc.

patterns Read

Design Principles

Dependency-inversion and interface-segregation findings the type checker can prove: constructor parameters typed by nominal concrete classes, services constructed inside methods instead of injected, and behavioral interfaces whose consumers each use a sliver.

patterns Read

TypeScript Suppression Debt

Aggregates @ts-ignore/@ts-expect-error/@ts-nocheck and eslint-disable directives into per-file concentration signals.

technical-debt Read

Linting

1 analysis · v1.0.0

All analyses

Title
Cyclomatic Complexity
core-cyclomatic
Halstead Metrics
core-halstead
Maintainability Index
core-maintainability
Function-Level Analysis
core-functions
Cognitive Complexity
core-cognitive
Dead Code Detection
core-dead-code
JSDoc Documentation Coverage
core-documentation
React Anti-Patterns
react-anti-patterns
React Dataflow
react-dataflow
React Structural Complexity
react-structural
React Security
react-security
React Hooks
react-hooks
React Temporal Patterns
react-temporal
React Coupling
react-coupling
React Identity Stability
react-identity
React Accessibility
react-accessibility
React Performance
react-performance
React Reliability
react-reliability
React Technical Debt
react-technical-debt
React Migration
react-migration
Next.js Server / Client Boundaries
nextjs-server-client
Next.js Data Fetching
nextjs-data-fetching
Next.js Pages → App Router Migration
nextjs-migration
Next.js Security
nextjs-security
Next.js Configuration
nextjs-config
Next.js Route Structure
nextjs-route-structure
Next.js Rendering Strategy
nextjs-rendering
TypeScript Type Complexity
ts-type-complexity
TypeScript Type Safety
ts-type-safety
TypeScript Declaration Shape
ts-declaration-shape
TypeScript Generics Usage
ts-generics
TypeScript Utility Types Usage
ts-utility-types
TypeScript Import Discipline
ts-import-discipline
TypeScript Type Guards
ts-type-guards
TypeScript Module Augmentation
ts-module-augmentation
TypeScript Structural Quality
ts-structural-quality
Enum Posture
ts-enum-posture
Class Shape
ts-class-shape
Monorepo Boundary Violations
ts-boundary-violations
Type-Aware TypeScript
ts-type-aware
Compile-Cost Hotspots
ts-compile-trace
Design Principles
ts-design-principles
TypeScript Suppression Debt
ts-suppression-debt
Linting Violations
linting
Documentation