awesome-repositories.com
Blog
MCP
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
sverweij avatar

sverweij/dependency-cruiser

0
View on GitHub↗
6,804 stele·286 fork-uri·JavaScript·MIT·7 vizualizărinpmjs.com/dependency-cruiser↗

Dependency Cruiser

Dependency-cruiser este un analizor de dependențe și linter arhitectural pentru JavaScript și TypeScript. Servește ca instrument de analiză statică pentru maparea, vizualizarea și validarea relațiilor dintre module într-un codebase, fără a necesita execuția codului.

Proiectul se distinge prin capacitatea de a impune limite arhitecturale printr-un sistem bazat pe reguli. Detectează dependențele circulare, identifică modulele orfane și codul mort, și validează constrângerile de dependență folosind reguli de relaționare permise sau interzise. De asemenea, oferă o analiză cantitativă a stabilității prin calcularea cuplajului aferent și eferent pentru a identifica zonele fragile ale unui proiect.

Instrumentul acoperă o gamă largă de capabilități, inclusiv parsarea modulelor pentru standarde multiple precum ES6, CommonJS și TypeScript, precum și vizualizarea grafului de dependențe cu agregare la nivel de folder. Oferă funcționalități de automatizare pentru integrare continuă (CI), cum ar fi stabilirea unei linii de bază pentru încălcări și exporturi de date structurate în formate JSON sau CSV.

Sistemul include un proces interactiv de configurare a proiectului pentru a genera fișiere de configurare personalizate bazate pe mediul local.

Features

  • Dependency Visualizers - Generates graphical maps of module relationships to visualize the internal structure of JavaScript and TypeScript projects.
  • Dead Code Elimination - Locates orphan modules and unreachable files in a codebase to remove unused logic and reduce bundle size.
  • Missing Dependency Detection - Detects dependencies that cannot be resolved on disk to identify missing packages or incorrect file paths.
  • Circular Dependency Detectors - Finds and eliminates recursive module import loops in JavaScript and TypeScript projects to avoid runtime errors.
  • Module Resolution - Implements resolution logic for various JavaScript ecosystems including CommonJS, ES6, and TypeScript.
  • Architecture Rule Enforcement - Enforces structural rules and boundaries in JavaScript and TypeScript codebases to prevent architectural regressions.
  • Configuration-Driven Rule Engines - Evaluates the generated dependency graph against a set of user-defined allowed and forbidden relationship rules via configuration files.
  • Dependency Blacklists - Specifies a list of prohibited dependencies and emits errors or warnings when a violation is detected.
  • Dependency Graph Visualizations - Generates graphical maps of module relationships to visualize and analyze the project's internal architectural structure.
  • Dependency Whitelists - Creates a whitelist of permissible dependencies and flags any module that does not satisfy at least one allowed rule.
  • JavaScript and TypeScript Dependency Analyzers - Maps, visualizes, and validates module dependencies specifically for JavaScript and TypeScript projects.
  • Dependency Boundary Enforcers - Enforces architectural integrity by ensuring specific modules depend on required targets.
  • TypeScript - Analyzes TypeScript source files to determine dependency relationships without requiring a separate transpilation step.
  • Dependency Tree Traversers - Walks through the module tree starting from root files to map all direct and indirect dependency relationships.
  • Module Dependency Analysis - Provides static analysis of module graphs across multiple standards including ES6, CommonJS, and TypeScript.
  • Path-Pattern Dependency Restrictions - Defines forbidden or allowed relationships between files or folders using path patterns to prevent regressions.
  • Architectural Constraint Validation - Checks a codebase for forbidden dependencies, circular references, or orphan modules and returns a non-zero exit code for violations.
  • Architectural Boundary Testing - Analyzes codebase structure to ensure architectural boundaries and constraints are respected during CI.
  • TypeScript Static Analysis - Analyzes imports and type-only dependencies in TypeScript projects without requiring a full compilation step.
  • Static Code Analysis Tools - Inspects source code without execution to identify orphan modules and unresolved dependencies.
  • AST Extraction - Parses source code into abstract syntax trees to identify import and require statements across multiple module systems.
  • Regex Path Matchers - Validates architectural boundaries by comparing resolved module paths against regular expression patterns.
  • Dependency List Filters - Uses regular expressions to include or exclude specific files or folders from a dependency rule.
  • Relationship Graph Visualizers - Generates visual maps of how files and folders relate through imports using directed node graphs.
  • Architectural Aggregations - Collapses individual module nodes into folder-level representations to simplify the visualization of large architectural structures.
  • Coupling Metrics - Calculates afferent and efferent couplings to determine the instability metric of modules and folders.
  • Graph Aggregation - Groups multiple modules and their dependencies into higher-level aggregates to simplify architectural overviews.
  • Folder-Level Module Aggregates - Collapses multiple modules into a single folder-level node in visual reports for high-level architectural overviews.
  • Sibling Folder Isolation - Provides the ability to ban dependencies between sibling folders using regular expression group matching.
  • Dependency Reachability Analysis - Checks if a module can be reached from another either directly or through intermediate modules to find dead code.
  • Dependency Type Restrictions - Prevents specific types of dependencies, such as blocking development dependencies from production source files.
  • Folder-Level Dependency Aggregates - Collapses individual module dependencies into folder-level aggregates to provide a high-level architectural overview.
  • Monorepo Dependency Auditing - Supports complex monorepo structures by merging dependency definitions up to the repository root.
  • Dependency Tree Exports - Exports the dependency matrix and internal representations into text, JSON, or CSV files.
  • Software Stability Metrics - Calculates afferent and efferent coupling to determine the instability and fragility of specific modules or folders.
  • Hierarchical Dependency Restrictions - Prevents modules in a lower folder from importing modules located in a higher folder in the directory hierarchy.
  • Instability Analysis - Flags dependencies that are more unstable than the modules depending on them.
  • Orphaned Module Detection - Flags modules that have neither incoming nor outgoing dependencies to find unused leftovers.
  • Type-Only Import Analysis - Includes TypeScript type-only imports that exist before compilation in the final dependency graph.
  • Underused Module Detection - Flags modules with fewer than a specified number of dependents to identify underutilized code.
  • Violation Baselining - Records existing dependency violations into a file to isolate new regressions from legacy issues.
  • Affected Project Detectors - Identifies all modules directly or indirectly affected by changes since a specific version control revision.
  • Architecture Verification - JavaScript/TypeScript tool for validating architecture rules.
  • Architecture Visualization - Tool for visualizing and validating module dependencies.

Istoric stele

Graficul istoricului de stele pentru sverweij/dependency-cruiserGraficul istoricului de stele pentru sverweij/dependency-cruiser

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Dependency Cruiser

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Dependency Cruiser.
  • pahen/madgeAvatar pahen

    pahen/madge

    10,117Vezi pe GitHub↗

    Madge is a JavaScript module dependency visualizer and architecture mapper. It analyzes source code to create graphs and diagrams of module relationships, supporting CommonJS, AMD, and ES6 standards. The tool functions as a circular dependency detector to identify recursive import loops and a dependency graph generator that exports relationship maps into image and vector formats. It provides utilities for auditing project structure, including the identification of orphaned modules and leaf modules. Its broader capabilities include dead code identification, module impact analysis through depe

    JavaScriptamdcommonjsdependencies
    Vezi pe GitHub↗10,117
  • webpro-nl/knipAvatar webpro-nl

    webpro-nl/knip

    11,560Vezi pe GitHub↗

    Knip is a static analysis project cleaner and dead code analyzer for JavaScript and TypeScript projects. It identifies and removes unused files, dependencies, and exports to maintain a lean codebase and reduce bundle size. The tool functions as a monorepo dependency auditor, tracking exports and dependencies across multiple workspaces to find dead code in large multi-package projects. It specifically targets the removal of unused packages from project manifests and the deletion of unreferenced exports. Its capabilities cover dead code elimination, JavaScript dependency management, and TypeSc

    TypeScriptdeadcodedependency-analysisdependency-management
    Vezi pe GitHub↗11,560
  • tng/archunitAvatar TNG

    TNG/ArchUnit

    3,603Vezi pe GitHub↗

    ArchUnit is a Java architecture testing library and automated validator that analyzes compiled bytecode to verify that source code adheres to predefined design rules. It functions as a testing framework that fails builds when the actual code structure violates architectural constraints. The library uses a fluent rule specification to define constraints and employs bytecode analysis to inspect class relationships and package dependencies. This allows for the automated detection of circular dependencies and the enforcement of dependency rules between packages. The tool covers a range of struct

    Java
    Vezi pe GitHub↗3,603
  • farm-fe/farmAvatar farm-fe

    farm-fe/farm

    5,580Vezi pe GitHub↗

    Farm is a Rust-based web build tool and development server that compiles JavaScript, TypeScript, CSS, HTML, and static assets into optimized bundles. It uses a module-graph-based bundling approach with persistent module-level caching, enabling near-instant builds and sub-20ms hot module replacement during development. The tool processes assets based on file extensions, handling CSS, Sass, Less, PostCSS, HTML, and images as first-class modules without requiring JavaScript transformation. Farm distinguishes itself through its Vite-compatible plugin system, accepting Vite, Rollup, and Unplugin p

    Rustbuild-toolbundlercompiler
    Vezi pe GitHub↗5,580
Vezi toate cele 30 alternative pentru Dependency Cruiser→

Întrebări frecvente

Ce face sverweij/dependency-cruiser?

Dependency-cruiser este un analizor de dependențe și linter arhitectural pentru JavaScript și TypeScript. Servește ca instrument de analiză statică pentru maparea, vizualizarea și validarea relațiilor dintre module într-un codebase, fără a necesita execuția codului.

Care sunt principalele funcționalități ale sverweij/dependency-cruiser?

Principalele funcționalități ale sverweij/dependency-cruiser sunt: Dependency Visualizers, Dead Code Elimination, Missing Dependency Detection, Circular Dependency Detectors, Module Resolution, Architecture Rule Enforcement, Configuration-Driven Rule Engines, Dependency Blacklists.

Care sunt câteva alternative open-source pentru sverweij/dependency-cruiser?

Alternativele open-source pentru sverweij/dependency-cruiser includ: pahen/madge — Madge is a JavaScript module dependency visualizer and architecture mapper. It analyzes source code to create graphs… webpro-nl/knip — Knip is a static analysis project cleaner and dead code analyzer for JavaScript and TypeScript projects. It identifies… tng/archunit — ArchUnit is a Java architecture testing library and automated validator that analyzes compiled bytecode to verify that… farm-fe/farm — Farm is a Rust-based web build tool and development server that compiles JavaScript, TypeScript, CSS, HTML, and static… nrwl/nx — This project is a build orchestration engine and development toolkit designed for managing large-scale monorepos. It… microsoft/rushstack — Rushstack is a comprehensive toolset for managing large-scale TypeScript monorepos, providing a framework for build…