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

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektMCP-ServerÜber unsRanking-MethodikPresse
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

16 Repos

Awesome GitHub RepositoriesModule Dependency Analysis

Static analysis of module graphs to detect circular imports and dependency errors.

Distinct from Static Analysis: Specifically targets module-level dependency graphs rather than general logic or type validation.

Explore 16 awesome GitHub repositories matching software engineering & architecture · Module Dependency Analysis. Refine with filters or upvote what's useful.

Awesome Module Dependency Analysis GitHub Repositories

Finde die besten Repos mit KI.Wir suchen mit KI nach den am besten passenden Repositories.
  • pahen/madgeAvatar von pahen

    pahen/madge

    10,117Auf GitHub ansehen↗

    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

    Creates visual graphs and diagrams of module relationships for CommonJS, AMD, and ES6 source code.

    JavaScriptamdcommonjsdependencies
    Auf GitHub ansehen↗10,117
  • didi/chameleonAvatar von didi

    didi/chameleon

    8,966Auf GitHub ansehen↗

    Chameleon is a cross-platform application framework and component library used to develop applications for the web and various mini-app platforms from a single shared codebase. It functions as a multi-platform build pipeline that compiles source code into different target formats while providing an MVVM-based user interface system for managing application state. The framework employs a polymorphic protocol to extend custom components and APIs, allowing for platform-specific implementations while maintaining cross-end compatibility. It includes a specialized build tool for static analysis that

    Analyzes dependency trees and markup syntax at build time to detect circular imports and template errors.

    JavaScript
    Auf GitHub ansehen↗8,966
  • google/traceur-compilerAvatar von google

    google/traceur-compiler

    8,164Auf GitHub ansehen↗

    Traceur is a JavaScript syntax transpiler that transforms modern and next-generation language features into compatible versions for older runtime environments. It functions as a compiler that translates proposed language standards and upcoming syntax into current versions to maintain cross-engine compatibility. The project operates as an asynchronous code transformer, converting async functions and generators into promise-based state machines. It includes a functional tail-call optimizer that wraps recursive functions in trampolines to prevent stack overflows and an ECMAScript polyfill engine

    Analyzes module dependency graphs through import and export statements to organize code loading.

    JavaScript
    Auf GitHub ansehen↗8,164
  • sverweij/dependency-cruiserAvatar von sverweij

    sverweij/dependency-cruiser

    6,804Auf GitHub ansehen↗

    Dependency-cruiser ist ein Analyse-Tool für Abhängigkeiten in JavaScript und TypeScript sowie ein Architektur-Linter. Es dient als statisches Analysetool zum Mapping, zur Visualisierung und zur Validierung von Modulbeziehungen innerhalb einer Codebasis, ohne dass der Code ausgeführt werden muss. Das Projekt zeichnet sich durch seine Fähigkeit aus, architektonische Grenzen durch ein regelbasiertes System durchzusetzen. Es erkennt zirkuläre Abhängigkeiten, identifiziert verwaiste Module (Orphan Modules) sowie toten Code und validiert Abhängigkeitsbeschränkungen anhand von Regeln für erlaubte und verbotene Beziehungen. Zudem bietet es quantitative Stabilitätsanalysen durch die Berechnung von afferenter und efferenter Kopplung, um fragile Bereiche eines Projekts zu identifizieren. Das Tool deckt ein breites Spektrum an Funktionen ab, darunter Modul-Parsing für ES6, CommonJS und TypeScript sowie die Visualisierung von Abhängigkeitsgraphen mit Aggregation auf Ordnerebene. Es bietet Automatisierungsfunktionen für Continuous Integration, wie z. B. Violation-Baselining und strukturierte Datenexporte in JSON- oder CSV-Formaten. Das System beinhaltet einen interaktiven Konfigurations-Bootstrapping-Prozess, um maßgeschneiderte Konfigurationsdateien basierend auf der lokalen Umgebung zu generieren.

    Defines forbidden or allowed relationships between files or folders using path patterns to prevent regressions.

    JavaScript
    Auf GitHub ansehen↗6,804
  • ondrajz/go-callvisAvatar von ondrajz

    ondrajz/go-callvis

    6,488Auf GitHub ansehen↗

    Visualize call graph of a Go program using Graphviz

    Restricts the call graph to show only functions within a specified module for targeted analysis.

    Goawesome-gocallgraphgolang
    Auf GitHub ansehen↗6,488
  • tianocore/edk2Avatar von tianocore

    tianocore/edk2

    6,061Auf GitHub ansehen↗

    edk2 ist ein Entwicklungsprojekt zur Erstellung von System-Firmware, die der UEFI-Spezifikation entspricht. Es bietet die notwendige Infrastruktur, um Hardwareplattformen zu initialisieren und Betriebssysteme über mehrere CPU-Architekturen hinweg zu booten. Das Projekt nutzt eine modulare Firmware-Architektur, die High-Level-Management-Protokolle von physischen Transportschichten entkoppelt. Es implementiert kritische Sicherheitsfunktionen, einschließlich einer Measured-Boot-Kette, kryptografischer Primitive für die Image-Authentifizierung sowie Unterstützung für Trusted-Platform-Module-Hardware und -Softwareimplementierungen. Der Funktionsumfang erstreckt sich auf Plattform-Management-Standards wie Redfish, IPMI und MCTP sowie die Generierung dynamischer ACPI-Tabellen. Das Projekt enthält zudem eine umfassende Suite an Tools für die Cross-Architektur-Kompilierung, Firmware-Simulation und virtuelle Plattform-Emulation für Hypervisoren wie KVM, Xen und QEMU. Das Projekt umfasst ein Multi-Target-Build-System und automatisierte Test-Orchestrierung zur Validierung der Firmware-Funktionalität sowohl in emulierten als auch in physischen Umgebungen.

    Compares module dependencies against allowed packages to prevent unauthorized cross-package dependencies.

    Ccfirmwarepython
    Auf GitHub ansehen↗6,061
  • benmosher/eslint-plugin-importAvatar von benmosher

    benmosher/eslint-plugin-import

    5,922Auf GitHub ansehen↗

    eslint-plugin-import ist ein ESLint-Plugin für die statische Analyse, das eine Reihe von Regeln und Resolvern zur Validierung von Import-Statements und zur Durchsetzung architektonischer Vorgaben beim Importieren und Exportieren von Code bereitstellt. Es fungiert als Modul-Validator und Resolver, um sicherzustellen, dass Import-Deklarationen auf gültige Dateien verweisen und referenzierte Symbole existieren. Das Projekt identifiziert rekursive Import-Ketten, um zirkuläre Abhängigkeiten zu verhindern, und nutzt ein konfigurierbares Auflösungssystem, um Aliase und nicht-standardisierte Dateipfade abzubilden. Es kann zudem zwischen internen Projektdateien und externen Bibliotheksabhängigkeiten durch Pfad- und Ordner-Pattern-Matching unterscheiden. Das Plugin deckt weiterführende Bereiche der Code-Qualität ab, einschließlich der Durchsetzung von Import-Stilen für Sortierung und Gruppierung, der Einschränkung spezifischer Modulsysteme und der Verifizierung der Export-Verfügbarkeit zur Vermeidung von Laufzeitfehlern. Es kann zudem Import-Quellen basierend auf dem Ordnerstandort einschränken oder spezifische Pfadtypen untersagen.

    Determines if a module is a local project file or an external dependency using path pattern matching.

    JavaScript
    Auf GitHub ansehen↗5,922
  • terraform-linters/tflintAvatar von terraform-linters

    terraform-linters/tflint

    5,748Auf GitHub ansehen↗

    TFLint ist ein statisches Analysetool und Infrastructure-as-Code-Validator, das darauf ausgelegt ist, Fehler zu identifizieren und Best Practices innerhalb von Terraform-Konfigurationsdateien durchzusetzen. Es fungiert als Qualitäts-Gate für automatisierte Workflows und als Language-Server, der Echtzeit-Diagnosen und Linting-Fehler direkt innerhalb unterstützter Texteditoren bereitstellt. Das Projekt nutzt ein gRPC-Plugin-Framework, das die Integration benutzerdefinierter, anbieterspezifischer Validierungsregeln über unabhängige Binärdateien und ein dediziertes SDK ermöglicht. Diese Architektur trennt die Kern-Linting-Logik von der Cloud-spezifischen Validierung und unterstützt die automatisierte Installation externer Regelsätze, um Ressourceneigenschaften gegen offizielle Spezifikationen zu prüfen. Die Analyse-Engine löst Konfigurationswerte auf und wertet integrierte Funktionen aus, wobei dynamische Blöcke und Ressourcensammlungen erweitert werden, um die endgültige instanziierte Struktur zu untersuchen. Sie deckt die Durchsetzung von Codierungsstandards, Modulaufruf-Analysen und die Erkennung ungültiger Ressourcenattribute ab, mit der Möglichkeit, strukturierte Ergebnisse in Formaten wie SARIF zu exportieren. Das Tool enthält eine Kommandozeilenschnittstelle für die Filterung von Analyse-Zielen und bietet automatische Fehlerkorrektur für unterstützte Regeln.

    Inspects attributes within local and remote module calls to identify issues originating from module configurations.

    Go
    Auf GitHub ansehen↗5,748
  • farm-fe/farmAvatar von farm-fe

    farm-fe/farm

    5,580Auf GitHub ansehen↗

    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

    Discovers and registers module import dependencies to fully resolve the build dependency graph.

    Rustbuild-toolbundlercompiler
    Auf GitHub ansehen↗5,580
  • charles2gan/gda-android-reversing-toolAvatar von charles2gan

    charles2gan/GDA-android-reversing-Tool

    4,778Auf GitHub ansehen↗

    This project is a comprehensive Android reverse engineering suite that functions as a decompiler, bytecode deobfuscator, and malware analysis tool. It is designed to convert APK, DEX, and OAT binaries into human-readable source code using a native implementation that does not require a Java Virtual Machine. The platform is distinguished by its integration with Frida for dynamic analysis, allowing users to hook methods, inject custom JavaScript, and dump device memory in real time. It also features specialized security engines, including a taint propagation engine and a stack-state machine, to

    Traces callers of specific functions to identify insecure implementation patterns in the function bodies.

    Pythondecompilermalware-analysismobile-security
    Auf GitHub ansehen↗4,778
  • scottrogowski/code2flowAvatar von scottrogowski

    scottrogowski/code2flow

    4,586Auf GitHub ansehen↗

    code2flow ist ein statischer Programmfluss-Mapper und Generator für Quellcode-Aufrufdiagramme (Call Graphs). Er analysiert Quellcode, um visuelle Flussdiagramme zu erstellen, die Funktionsaufrufbeziehungen und Ausführungspfade abbilden. Das Projekt enthält einen Visualisierer für asynchrone Aufruf-Traces, der Ausführungspfade durch Async- und Await-Aufrufe verfolgt, um die Logik asynchroner Programme abzubilden. Es bietet zudem eine programmierbare Code-Analyse-Schnittstelle, die es ermöglicht, die Logik zur Generierung von Aufrufdiagrammen in andere Softwareanwendungen zu integrieren. Das System handhabt statische Code-Analyse durch die Konvertierung von Quellcode in abstrakte Syntaxbäume, um Funktionsdefinitionen und Aufrufstellen zu identifizieren. Es unterstützt das Filtern von Aufrufdiagrammen, um den Umfang der Visualisierungen durch Inhaltsfilter und tiefenbegrenzte Pfad-Extraktion einzuschränken, während es visuelles Styling zur Unterscheidung von Logikflüssen bietet.

    Extracts subsets of the call graph by restricting the depth of connections from a target function.

    Python
    Auf GitHub ansehen↗4,586
  • reactjs/server-components-demoAvatar von reactjs

    reactjs/server-components-demo

    4,359Auf GitHub ansehen↗

    Dieses Projekt ist eine Implementierung von React Server Components und bietet eine Full-Stack-Komponentenarchitektur, die serverseitiges Rendering mit clientseitiger Interaktivität verbindet. Es ermöglicht die Entwicklung von Webanwendungen, bei denen Server-only-Komponenten für das Datenabrufen und interaktive Client-Komponenten innerhalb eines einzigen Komponentenbaums koexistieren. Das System konzentriert sich auf die Server-Client-Datenorchestrierung und ermöglicht die Ausführung von Serverfunktionen und Datenbankmutationen über die Netzwerkgrenze hinweg. Es zeichnet sich durch eine hybride Komponentenarchitektur aus, die die Komponentenausführung auf den Server verlagert, um Client-Bundle-Größen zu reduzieren und die anfänglichen Ladezeiten zu verbessern. Das Projekt deckt ein breites Spektrum an Funktionen ab, einschließlich asynchronem Datenabruf mit Suspense, automatischer Komponenten-Memoization und Optimierung des serverseitigen Renderings. Es enthält zudem Tools zur Verwaltung komplexer Zustände, zur Koordination des Ladens von Assets zur Vermeidung von Layout-Verschiebungen und zum Aufbau plattformübergreifender Anwendungen für Web und Mobilgeräte. Entwickler-Tooling wird bereitgestellt, um unsaubere Komponenten zu erkennen, Modulabhängigkeiten zu analysieren und Komponentenhierarchien während der Entwicklung zu inspizieren.

    Maps relationships between files and imports at build-time to minimize the final client bundle size.

    JavaScript
    Auf GitHub ansehen↗4,359
  • kuzudb/kuzuAvatar von kuzudb

    kuzudb/kuzu

    3,965Auf GitHub ansehen↗

    Kùzu is an embedded property graph database engine designed for high-performance analytical queries and local data management. It operates as a library within the host application process, utilizing a columnar-based storage architecture and just-in-time query compilation to execute complex graph traversals and pattern matching efficiently. By mapping database files directly into system memory, it ensures data durability and high-speed access while maintaining ACID-compliant transactional integrity. The engine distinguishes itself by integrating vector similarity search and full-text search di

    Retrieve lists of nodes or relationships from a recursive path to allow for further inspection or data processing.

    C++cypherdatabaseembeddable
    Auf GitHub ansehen↗3,965
  • antfu/node-modules-inspectorAvatar von antfu

    antfu/node-modules-inspector

    2,720Auf GitHub ansehen↗

    node-modules-inspector is a Node.js dependency visualizer and npm package inspector. It provides a web interface for exploring the structure and contents of the node_modules directory to analyze and audit project dependencies. The tool functions as a static dependency graph generator, exporting a project's dependency view as a standalone single-page application. This allows the dependency tree to be hosted as static documentation for sharing and reference. The system scans the filesystem to build a map of installed packages and their physical locations. It includes capabilities for exploring

    Analyzes the module graph within node_modules to identify redundant packages and version conflicts.

    Vue
    Auf GitHub ansehen↗2,720
  • google/closure-compiler-jsAvatar von google

    google/closure-compiler-js

    1,834Auf GitHub ansehen↗

    Closure Compiler is a JavaScript build utility designed to transform, optimize, and validate source code for production environments. It functions as a minifier and transpiler, converting modern ECMAScript syntax into older, widely compatible versions to ensure reliable execution across diverse browsers. The tool distinguishes itself through a multi-pass optimization pipeline that performs complex refactoring, such as constant folding, function inlining, and variable renaming. It utilizes a static type inference engine to detect potential runtime errors and enforce type safety without requiri

    Analyzes module graphs to identify unused exports and prune unreachable code paths.

    JavaScript
    Auf GitHub ansehen↗1,834
  • svf-tools/svfAvatar von SVF-tools

    SVF-tools/SVF

    1,684Auf GitHub ansehen↗

    SVF is an open-source static program analysis framework and points-to analysis library that tracks memory references, variable aliases, and data dependencies across whole programs. The platform translates compiled intermediate code formats into unified internal representations, constructing constraint graphs, call graphs, and control-flow graphs to model interprocedural execution behavior and memory state. The framework incorporates specialized engines for flow-sensitive, flow-insensitive, and context-sensitive pointer analysis alongside sparse value-flow graph generation. It features memory

    Inspects points-to relationships and program dependence information programmatically using custom driver scripts.

    C++code-analysiscode-securitydependency-analysis
    Auf GitHub ansehen↗1,684
  1. Home
  2. Software Engineering & Architecture
  3. Static Analysis
  4. Module Dependency Analysis

Unter-Tags erkunden

  • CoffeeScript ParsingStatic analysis specifically for CoffeeScript source files to identify module relationships. **Distinct from Module Dependency Analysis:** Specializes in CoffeeScript syntax parsing, whereas Module Dependency Analysis is the general process.
  • Graph Filtering2 Sub-TagsCapabilities to exclude specific nodes or edges from a dependency graph to reduce noise. **Distinct from Module Dependency Analysis:** Focuses on the visual and logical filtering of the graph rather than the analysis of the dependencies themselves.
  • Hierarchical Dependency RestrictionsConstraints that prevent modules in lower directory levels from importing modules in higher directory levels. **Distinct from Module Dependency Analysis:** Distinct from general Module Dependency Analysis by specifically enforcing a top-down directory hierarchy restriction.
  • Instability AnalysisEvaluates the relative stability of modules to validate the stable dependencies principle. **Distinct from Module Dependency Analysis:** Focuses on the stability principle (depending on more stable components) rather than just mapping dependencies.
  • JSDoc Dependency DetectionExtraction of dependency information from JSDoc comments and annotations in JavaScript files. **Distinct from Module Dependency Analysis:** Specifically targets JSDoc annotations for dependency discovery, distinct from standard import statement analysis.
  • Leaf Module Identification1 Sub-TagDetection of terminal nodes in a dependency graph that do not import any other modules. **Distinct from Module Dependency Analysis:** Focuses on identifying modules with zero outgoing edges, distinct from identifying unused packages in a manifest.
  • Module Call Analysis1 Sub-TagInspection of attributes and arguments within module invocations to detect configuration errors. **Distinct from Module Dependency Analysis:** Analyzes the arguments passed to module calls rather than the dependency graph or circular imports.
  • Module-Scoped Call Graphs1 Sub-TagRestrict the call graph to show only functions within a specified module for targeted analysis. **Distinct from Module Dependency Analysis:** Distinct from Module Dependency Analysis: focuses on call graph scoping, not dependency error detection.
  • Orphaned Module DetectionIdentification of source files that are not referenced by any other module in the project. **Distinct from Module Dependency Analysis:** Specifically targets unreferenced source files rather than orphaned database records or cloud storage parts.
  • Path-Pattern Dependency RestrictionsRestrictions on module relationships defined using file or folder path patterns to prevent regressions. **Distinct from Module Dependency Analysis:** More specific than general Module Dependency Analysis by focusing on path-pattern matching for relationship rules.
  • Program Dependence Query EnginesDriver interfaces and query scripts for inspecting program dependencies and points-to relations. **Distinct from Module Dependency Analysis:** Distinct from Module Dependency Analysis: focuses on programmatic querying of fine-grained program dependence using custom driver scripts.
  • Type-Only Import AnalysisDetection of TypeScript type-only imports that are removed during compilation. **Distinct from Module Dependency Analysis:** Focuses on pre-compilation type-level dependencies rather than general runtime module dependencies.
  • Underused Module DetectionIdentifies modules with very few dependents to locate potentially redundant or underutilized utilities. **Distinct from Orphaned Module Detection:** Unlike orphaned module detection which finds zero references, this identifies modules below a configurable threshold of dependents.
  • VisualizationsVisual representations of module dependency graphs used to understand architectural structures. **Distinct from Module Dependency Analysis:** Distinct from Module Dependency Analysis: focuses on the visual rendering and diagrams rather than just detecting errors or circular imports.