16 个仓库
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.
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.
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.
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.
Dependency-cruiser 是一个 JavaScript 和 TypeScript 依赖分析器及架构检查工具。它作为一种静态分析工具,用于在无需执行代码的情况下映射、可视化和验证代码库中的模块关系。 该项目的特色在于能够通过基于规则的系统强制执行架构边界。它能检测循环依赖、识别孤立模块和死代码,并使用允许和禁止关系规则来验证依赖约束。它还通过计算传入和传出耦合来提供定量稳定性分析,以识别项目中的脆弱区域。 该工具涵盖了广泛的功能,包括针对 ES6、CommonJS 和 TypeScript 的多标准模块解析,以及带有文件夹级聚合的依赖图可视化。它为持续集成提供了自动化功能,例如违规基准测试以及 JSON 或 CSV 格式的结构化数据导出。 该系统包含一个交互式项目配置引导程序,可根据本地环境生成定制的配置文件。
Defines forbidden or allowed relationships between files or folders using path patterns to prevent regressions.
Visualize call graph of a Go program using Graphviz
Restricts the call graph to show only functions within a specified module for targeted analysis.
edk2 是一个用于创建符合 UEFI 规范的系统固件的开发项目。它提供了初始化硬件平台并在多个 CPU 架构上引导操作系统的必要基础设施。 该项目利用模块化固件架构,将高级管理协议与物理传输层解耦。它实现了关键的安全功能,包括度量启动链(measured boot chain)、用于图像认证的加密原语,以及对可信平台模块(TPM)硬件和软件实现的支持。 其功能范围扩展到 Redfish、IPMI 和 MCTP 等平台管理标准,以及动态 ACPI 表的生成。该项目还包括一套全面的工具,用于跨架构编译、固件仿真以及针对 KVM、Xen 和 QEMU 等管理程序的虚拟平台模拟。 该项目包含一个多目标构建系统和自动化测试编排,用于在仿真和物理环境中验证固件功能。
Compares module dependencies against allowed packages to prevent unauthorized cross-package dependencies.
eslint-plugin-import 是一个 ESLint 静态分析插件,提供了一套规则和解析器来验证 import 语句,并强制执行关于文件如何导入和导出代码的架构约束。它作为一个模块验证器和解析器,确保 import 声明指向有效文件且引用的符号存在。 该项目识别递归导入链以防止循环依赖,并利用可配置的解析系统来映射别名和非标准文件路径。它还可以通过路径和文件夹模式匹配来区分内部项目文件和外部库依赖项。 该插件涵盖了更广泛的代码质量领域,包括强制执行导入样式的排序和分组、限制特定模块系统以及验证导出可用性以防止运行时错误。它还可以根据文件夹位置限制导入源或禁止特定路径类型。
Determines if a module is a local project file or an external dependency using path pattern matching.
TFLint 是一款静态分析工具和基础设施即代码(IaC)验证器,旨在识别 Terraform 配置文件中的错误并强制执行最佳实践。它既是自动化工作流的质量关卡,也是一个语言服务器,可直接在支持的文本编辑器中提供实时诊断和 linting 错误提示。 该项目利用 gRPC 插件框架,允许通过独立的二进制文件和专用 SDK 集成自定义的供应商特定验证规则。这种架构将核心 linting 逻辑与云服务商特定的验证分离开来,支持自动安装外部规则集,以根据官方规范验证资源属性。 其分析引擎能够解析配置值并评估内置函数,通过展开动态块和资源集合来检查最终实例化的结构。它涵盖了编码标准强制执行、模块调用分析以及无效资源属性的检测,并支持以 SARIF 等格式导出结构化结果。 该工具包含一个用于分析目标过滤的命令行界面,并为支持的规则提供自动修复功能。
Inspects attributes within local and remote module calls to identify issues originating from module configurations.
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.
本项目是一个全面的 Android 逆向工程套件,具有反编译器、字节码去混淆器和恶意软件分析工具的功能。它旨在将 APK、DEX 和 OAT 二进制文件转换为人类可读的源代码,并使用无需 Java 虚拟机 (JVM) 的原生实现。 该平台通过与 Frida 集成进行动态分析而脱颖而出,允许用户实时挂钩方法、注入自定义 JavaScript 并转储设备内存。它还具有专门的安全引擎,包括污点传播引擎和栈状态机,以检测隐私泄露、恶意行为和安全漏洞。 该套件涵盖了广泛的分析功能,包括二进制补丁和重打包、交叉引用依赖映射和数据流分析。它提供了用于软件加壳识别、加密字符串解码以及跨应用程序资源进行全局元数据搜索的工具。 该工具提供命令行界面,并支持通过自定义 Python 或 Java 脚本进行分析自动化。
Traces callers of specific functions to identify insecure implementation patterns in the function bodies.
code2flow 是一个静态程序流程映射器和源代码调用图生成器。它分析源代码以生成可视化流程图,映射函数调用关系和执行路径。 该项目包括一个异步调用跟踪可视化器,它通过 async 和 await 调用跟踪执行路径,以映射异步程序的逻辑。它还提供了一个可编程的代码分析接口,允许将调用图生成逻辑集成到其他软件应用中。 该系统通过将源代码转换为抽象语法树(AST)来识别函数定义和调用点,从而处理静态代码分析。它支持调用图过滤,通过内容过滤器和深度限制路径提取来限制可视化范围,同时提供视觉样式来区分逻辑流。
Extracts subsets of the call graph by restricting the depth of connections from a target function.
这是一个 React Server Components 的实现,提供了一种将服务端渲染与客户端交互性相结合的全栈组件架构。它支持开发 Web 应用程序,其中用于数据获取的服务端组件和交互式客户端组件可以在同一个组件树中共存。 该系统专注于服务端与客户端的数据编排,允许跨网络边界执行服务端函数和数据库变更。它通过一种混合组件架构脱颖而出,将组件执行转移到服务端,从而减小客户端包大小并缩短初始加载时间。 该项目涵盖了广泛的功能,包括使用 Suspense 进行异步数据获取、自动组件记忆化(memoization)以及服务端渲染优化。它还包括用于管理复杂状态、协调资源加载以防止布局偏移,以及构建跨平台 Web 和移动应用程序的工具。 此外还提供了开发工具,用于在开发过程中检测不纯组件、分析模块依赖关系并检查组件层级。
Maps relationships between files and imports at build-time to minimize the final client bundle size.
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.
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.
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.
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.