awesome-repositories.com
Blog
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
·

34 repository-uri

Awesome GitHub RepositoriesCode Dependency Analysis

Extracts and lists project dependencies for further analysis.

Distinct from Dependency Analysis Tools: Distinct from Dependency Analysis Tools: focuses on extracting code dependencies, not just analyzing dependencies.

Explore 34 awesome GitHub repositories matching development tools & productivity · Code Dependency Analysis. Refine with filters or upvote what's useful.

Awesome Code Dependency Analysis GitHub Repositories

Găsește cele mai bune repo-uri cu AI.Vom căuta cele mai potrivite repository-uri folosind AI.
  • substack/node-browserifyAvatar substack

    substack/node-browserify

    14,707Vezi pe GitHub↗

    This project is a CommonJS module bundler and resolver designed to combine interdependent JavaScript files into a single script for execution in web browsers. It functions as a Node.js JavaScript bundler that emulates server-side core modules and resolves dependencies to ensure compatibility between server-side logic and browser environments. The system features an extensible bundling pipeline and a browser-side module resolver. It provides a plugin architecture for transforming source code and a source map generator to correlate bundled output back to original files for debugging. The proje

    Recursively scans source code for import statements to build a complete dependency graph.

    JavaScript
    Vezi pe GitHub↗14,707
  • google/wireAvatar google

    google/wire

    14,403Vezi pe GitHub↗

    Wire is a compile-time dependency injection framework for Go that generates code to wire application components together. It analyzes function signatures at compile time to build an explicit initialization graph, removing the need for runtime reflection or manual wiring code. The framework operates as a Go code generator and static analysis tool, transforming annotated source code into generated wire files that compile alongside the original project. It connects dependencies by matching function parameters and return types, producing a directed acyclic graph of component dependencies that is

    Analyzes Go function signatures and types at compile time to determine the complete dependency graph.

    Gocodegendependency-injectiongo
    Vezi pe GitHub↗14,403
  • 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

    Identifies packages used in the source code that are missing from the manifest to prevent transitive dependency reliance.

    TypeScriptdeadcodedependency-analysisdependency-management
    Vezi pe GitHub↗11,560
  • 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

    Provides a scanner that identifies recursive module import loops to help developers break dependency chains.

    JavaScriptamdcommonjsdependencies
    Vezi pe GitHub↗10,117
  • mamedev/mameAvatar mamedev

    mamedev/mame

    9,929Vezi pe GitHub↗

    MAME is a vintage hardware emulation platform designed to recreate the circuitry of arcade games, computers, and consoles to run original software on modern devices. It functions as a retro gaming preservation framework for managing, verifying, and archiving ROM sets and disk images to ensure long-term software accessibility. The project features a system debugging tool for inspecting emulated memory, CPU registers, and execution flow via breakpoints and disassembly. It also includes a Lua-based automation layer that exposes core system state and hardware controls for custom behavior and anal

    MAME lists missing ROM dumps and disk images and displays the search paths attempted.

    C++
    Vezi pe GitHub↗9,929
  • npm/cliAvatar npm

    npm/cli

    9,846Vezi pe GitHub↗

    This project is a command line interface for managing, installing, and publishing JavaScript packages to a remote registry. It serves as a dependency resolution tool, a software registry publishing client, and a security auditor for Node.js development workflows. The tool distinguishes itself by providing integrated monorepo workspace management and a comprehensive registry authentication client that supports multi-factor authentication. It enables detailed control over the software supply chain through provenance attestations, package signature verification, and the generation of a Software

    Provides a utility to list duplicated packages within the dependency tree to analyze redundancy.

    JavaScriptjavascriptnodejsnpm
    Vezi pe GitHub↗9,846
  • github/semanticAvatar github

    github/semantic

    9,041Vezi pe GitHub↗

    Semantic este o bibliotecă bazată pe Haskell și un instrument CLI conceput pentru analiza poliglotă a codului sursă. Funcționează ca un framework de analiză statică a programelor și ca un parser poliglot de arbori de sintaxă abstractă (AST), care convertește codul din mai multe limbaje de programare în arbori de sintaxă structurați, pe baza definițiilor gramaticale. Sistemul se distinge printr-un motor de comparare semantică a codului care detectează modificările structurale și de logică între versiuni, în loc să se bazeze pe diferențe textuale. De asemenea, permite analiza între sintaxe diferite prin traducerea limbajelor de nivel înalt într-o reprezentare intermediară poliglotă unificată. Framework-ul oferă o suită largă de capabilități pentru parsarea limbajelor precum Rust, Go, Python, Ruby, PHP, TypeScript și TSX. Acoperă analiza semantică prin maparea scopului codului, extragerea simbolurilor și generarea de grafuri semantice, alături de instrumente pentru analiza modelelor și evaluarea comportamentului programelor. Setul de instrumente include utilitare CLI pentru standardizarea layout-ului fișierelor sursă Haskell.

    Analyzes identifier visibility and accessibility to construct graphs mapping the relationships and meanings within a codebase.

    Haskell
    Vezi pe GitHub↗9,041
  • kreuzberg-dev/kreuzbergAvatar kreuzberg-dev

    kreuzberg-dev/kreuzberg

    8,527Vezi pe GitHub↗

    Kreuzberg is a document extraction engine that converts PDFs, Office files, images, and over 90 other formats into clean, structured text and metadata. It is built around a compiled Rust core that can be used as a native library, a command-line tool, a REST API server, or a WebAssembly module for browser-based processing. The system is designed to run entirely on self-hosted infrastructure, with no data leaving the user's environment. What distinguishes Kreuzberg is its breadth of integration surfaces and its pipeline architecture. It exposes extraction capabilities through native bindings fo

    Report when an optional system dependency like Tesseract is missing so callers can install it before retrying.

    Rustdocument-intelligenceelixirffi
    Vezi pe GitHub↗8,527
  • bndr/pipreqsAvatar bndr

    bndr/pipreqs

    7,454Vezi pe GitHub↗

    pipreqs este un generator de dependențe Python și un instrument de descoperire. Acesta scanează importurile proiectului pentru a identifica bibliotecile terțe necesare pentru a rula un proiect și automatizează generarea fișierelor de cerințe care conțin doar pachetele utilizate efectiv în codul sursă. Utilitarul funcționează ca un manager de fișiere de cerințe prin compararea pachetelor instalate cu importurile reale. Oferă capabilități pentru eliminarea dependențelor neutilizate și auditarea proiectelor pentru a identifica pachetele lipsă sau învechite. Instrumentul utilizează analiză statică și arbori de sintaxă abstractă pentru a izola instrucțiunile de import fără a executa codul. Rezolvă versiunile pachetelor folosind metadate locale sau servere personalizate și traversează recursiv structurile de directoare pentru a localiza toate fișierele sursă relevante.

    Identifies packages declared in the requirements file that are not actually imported in the source code.

    Python
    Vezi pe GitHub↗7,454
  • square/daggerAvatar square

    square/dagger

    7,281Vezi pe GitHub↗

    Dagger is a compile-time dependency injection framework for Java and Android that automates object creation and lifecycle management. It functions as a static dependency injector and graph validator, resolving object requirements during the build process to avoid runtime reflection and prevent crashes caused by missing bindings. The framework distinguishes itself by using static analysis and code generation to produce factory classes at build time. It employs qualifier-based type differentiation to manage multiple implementations of the same type and provides scope-based lifecycle management

    Determines object requirements by analyzing source code at build time instead of searching memory at runtime.

    Java
    Vezi pe GitHub↗7,281
  • ai/size-limitAvatar ai

    ai/size-limit

    6,911Vezi pe GitHub↗

    size-limit is a set of specialized tools for measuring JavaScript bundle sizes and enforcing performance budgets within continuous integration pipelines. It functions as a bundle size monitor and budget enforcer that can reject pull requests when JavaScript bundles exceed predefined size thresholds. The project distinguishes itself by providing a browser-based execution profiler that calculates the time required to compile and execute JavaScript on simulated low-end hardware. It also includes a tree-shaking validator that analyzes partial import bundle sizes to verify that unused code is corr

    Extracts and analyzes which external libraries contribute most to the total bundle size.

    JavaScript
    Vezi pe GitHub↗6,911
  • assetripper/assetripperAvatar AssetRipper

    AssetRipper/AssetRipper

    6,935Vezi pe GitHub↗

    AssetRipper is a suite of tools designed for the recovery and analysis of Unity game projects. It functions as an asset extractor, project reconstructor, shader decompiler, binary analysis tool, and dependency auditor. The project specializes in recovering high-level structures from compiled binaries. It reconstructs prefabs from inlined scene instances, reverses static batching to separate merged meshes, and translates compiled shader code from multiple platforms back into a readable format. Its broader capabilities include converting serialized files and bundles back into native engine for

    Identifies missing binary assets and broken dependency chains within compiled game builds.

    C#csharpdecompilergames
    Vezi pe GitHub↗6,935
  • sverweij/dependency-cruiserAvatar sverweij

    sverweij/dependency-cruiser

    6,804Vezi pe GitHub↗

    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.

    Finds and eliminates recursive module import loops in JavaScript and TypeScript projects to avoid runtime errors.

    JavaScript
    Vezi pe GitHub↗6,804
  • dylang/npm-checkAvatar dylang

    dylang/npm-check

    6,643Vezi pe GitHub↗

    npm-check is a command-line tool that audits a project's npm dependencies, comparing local package versions against the npm registry to identify outdated, unused, or incorrect entries. It scans both package.json and node_modules, and can also inspect globally installed npm packages for the same issues. The tool distinguishes itself by offering multiple modes of operation. It can automatically update all outdated dependencies to their latest versions without interaction, suitable for automated scripts. Alternatively, it provides an interactive terminal interface that lets users review and

    Analyzes source code imports to flag packages listed in the manifest that are never referenced.

    JavaScript
    Vezi pe GitHub↗6,643
  • provenance-emu/provenanceAvatar Provenance-Emu

    Provenance-Emu/Provenance

    6,332Vezi pe GitHub↗

    iOS & tvOS multi-emulator frontend, supporting various Atari, Bandai, NEC, Nintendo, Sega, SNK and Sony console systems… Get Started: https://wiki.provenance-emu.com |

    Imports and verifies system BIOS files by MD5 hash, renaming them automatically on import.

    Cataricatalystemulation
    Vezi pe GitHub↗6,332
  • peripheryapp/peripheryAvatar peripheryapp

    peripheryapp/periphery

    6,145Vezi pe GitHub↗

    Periphery este un instrument de analiză statică și detectare a codului mort (dead code) pentru proiecte Swift. Acesta identifică clasele, structurile, funcțiile și proprietățile neutilizate și servește drept optimizator de suprafață API pentru a găsi declarațiile publice care pot fi restricționate la acces intern. Instrumentul include scanare specializată pentru fișierele Interface Builder, cum ar fi storyboard-urile și XIB-urile, pentru a se asigura că membrii conectați la UI nu sunt marcați incorect ca neutilizați. De asemenea, oferă eliminarea automată a codului pentru a șterge codul mort identificat și parametrii neutilizați direct din fișierele sursă. Capabilitățile sale de analiză acoperă detectarea protocoalelor redundante, a cazurilor de enum neutilizate, a importurilor inutile și a proprietăților care sunt doar atribuite. Sistemul gestionează datoria tehnică prin filtrarea bazată pe baseline și suportă proiecte în limbaje mixte, păstrând simbolurile expuse către runtime-ul Objective-C. Periphery se integrează cu sistemele de build și pipeline-urile CI folosind configurații bazate pe YAML și poate exporta rezultatele analizei în mai multe formate standard din industrie.

    Uses binary index store data to identify unused code without requiring a full project rebuild.

    Swift
    Vezi pe GitHub↗6,145
  • crytic/slitherAvatar crytic

    crytic/slither

    6,141Vezi pe GitHub↗

    Trail of Bits warns when msg.sender is not used as the from parameter in transferFrom, allowing an attacker to drain another user's approved tokens.

    Pythonethereumsoliditystatic-analysis
    Vezi pe GitHub↗6,141
  • google/j2objcAvatar google

    google/j2objc

    6,041Vezi pe GitHub↗

    j2objc is a source-to-source compiler and transpiler that converts Java source code into Objective-C. It functions as a cross-platform logic porter, allowing application logic and data models written in Java to be shared and executed on iOS. To support this translation, the project provides an Objective-C implementation of core Java classes and APIs to emulate the Java runtime environment. The system includes specialized translation for Java libraries and provides mapping for dependency injection and static analysis annotations to preserve metadata. It also enables the conversion of JUnit tes

    Analyzes source files to identify classes and methods that are unreachable from defined public entry points.

    Java
    Vezi pe GitHub↗6,041
  • benmosher/eslint-plugin-importAvatar benmosher

    benmosher/eslint-plugin-import

    5,922Vezi pe GitHub↗

    eslint-plugin-import este un plugin de analiză statică pentru ESLint care oferă o suită de reguli și rezolvere pentru a valida instrucțiunile de import și a impune constrângeri arhitecturale asupra modului în care fișierele importă și exportă cod. Funcționează ca un validator și rezolvator de module pentru a se asigura că declarațiile de import indică fișiere valide și că simbolurile referențiate există. Proiectul identifică lanțurile de import recursive pentru a preveni dependențele circulare și utilizează un sistem de rezoluție configurabil pentru a mapa alias-urile și căile de fișiere non-standard. De asemenea, poate distinge între fișierele interne ale proiectului și dependențele bibliotecilor externe prin potrivirea modelelor de căi și foldere. Plugin-ul acoperă zone mai largi de calitate a codului, inclusiv impunerea stilului de import pentru ordonare și grupare, restricționarea sistemelor de module specifice și verificarea disponibilității exporturilor pentru a preveni erorile de runtime. Poate limita în continuare sursele de import pe baza locației folderului sau poate interzice tipuri specifice de căi.

    Scans for recursive import loops in module graphs to identify circular dependencies.

    JavaScript
    Vezi pe GitHub↗5,922
  • rhaiscript/rhaiAvatar rhaiscript

    rhaiscript/rhai

    5,453Vezi pe GitHub↗

    Rhai este un motor de scripting încorporat și un limbaj cu tipizare dinamică, conceput pentru integrarea în aplicații Rust. Acesta funcționează ca un compilator de arbore sintactic abstract (AST) și un strat de interop nativ, permițând dezvoltatorilor să mapeze tipuri și funcții Rust într-un mediu de scripting pentru comunicare bidirecțională. Proiectul servește drept framework pentru crearea de limbaje specifice domeniului (DSL) personalizabile. Permite definirea de operatori, sintaxă și medii de execuție restricționate, facilitând crearea de limbaje specializate cu seturi funcționale adaptate. Motorul acoperă o gamă largă de capabilități, inclusiv sandboxing cu resurse limitate pentru execuție securizată, organizare modulară a codului și procesare cuprinzătoare de date pentru tipuri numerice, string-uri și binare. Oferă, de asemenea, instrumente pentru manipularea AST, serializarea stării de execuție și observabilitate la runtime prin inspectarea stivei de apeluri și interfețe de debugging. Motorul este conceput pentru deployment cross-platform pe orice CPU sau sistem de operare suportat de compilatorul nativ.

    Removes unreachable code blocks and propagates constants within the compiled AST before evaluation.

    Rustembeddedembedded-scripting-languageno-std
    Vezi pe GitHub↗5,453
Înapoi12Înainte
  1. Home
  2. Development Tools & Productivity
  3. Dependency Analysis Tools
  4. Code Dependency Analysis

Explorează sub-etichetele

  • Analysis Depth LimitingLimits the recursive traversal of the dependency graph to a maximum number of levels. **Distinct from Code Dependency Analysis:** Applies depth limiting specifically to the module dependency graph rather than general search algorithms or ASTs.
  • Dependency-Aware Code Analysis1 sub-tagStatic analysis that incorporates the resolution of external dependencies to provide full visibility of the codebase. **Distinct from Code Dependency Analysis:** Distinct from Code Dependency Analysis: not just listing dependencies, but using them to enrich the analysis of the target code.
  • Missing Dependency Detection5 sub-tag-uriAnalysis that finds packages used in code but missing from the project manifest. **Distinct from Code Dependency Analysis:** Focuses on identifying omissions in the manifest rather than just listing existing dependencies.
  • Static Dependency Resolution1 sub-tagResolving the full chain of object requirements through static analysis of source code. **Distinct from Code Dependency Analysis:** Focuses on resolving the DI graph via static analysis rather than just extracting a list of dependencies for analysis.
  • Unused Code Identification1 sub-tagStatic analysis that identifies unreferenced declarations, functions, and classes within source code. **Distinct from Unused Dependency Identification:** Distinct from unused dependency identification which focuses on external packages rather than internal source declarations.
  • Unused Dependency Identification2 sub-tag-uriAnalysis that finds packages declared in the manifest that are not actually imported in the code. **Distinct from Code Dependency Analysis:** Specifically identifies redundancies in the manifest, whereas general code dependency analysis lists all dependencies.