15 个仓库
Systems that calculate execution order by mapping resource dependencies into directed acyclic graphs.
Distinguishing note: Specific to infrastructure dependency resolution, not general graph algorithms.
Explore 15 awesome GitHub repositories matching devops & infrastructure · Dependency Graph Engines. Refine with filters or upvote what's useful.
Terraform is a declarative infrastructure-as-code tool designed to manage the lifecycle of cloud and on-premises resources. It functions as a workflow engine that reconciles a defined desired state against real-world infrastructure, using a persistent state-tracking layer to maintain consistency and visibility across distributed environments. By mapping infrastructure components into a directed acyclic graph, the system calculates the optimal order for provisioning, updating, or destroying resources. The platform is distinguished by its extensible plugin-based architecture, which decouples co
Calculates optimal resource operation sequences by mapping dependencies into directed acyclic graphs.
Pulumi is an infrastructure-as-code framework that enables the definition, deployment, and management of cloud resources using general-purpose programming languages. It functions as a cloud resource orchestrator that coordinates the lifecycle of heterogeneous infrastructure by executing code to construct dependency graphs and reconciling the desired state against actual cloud environments. The platform distinguishes itself through a language-host runtime bridge that allows developers to use standard programming languages to define infrastructure, rather than relying solely on domain-specific
Constructs a directed acyclic graph of cloud resources by executing general-purpose code to define dependencies.
The AWS Cloud Development Kit is an infrastructure-as-code framework that enables developers to define and provision cloud resources using familiar programming languages. By utilizing construct-based synthesis, it translates high-level, object-oriented code into declarative templates, allowing for the automated management of complex cloud environments through a centralized, code-driven control plane. The framework distinguishes itself through its ability to model infrastructure as a dependency-aware resource graph, ensuring that components are provisioned and updated in the correct order. It
Maintains a dependency tree of cloud components to ensure resources are provisioned and updated in the correct order.
This project is an infrastructure as code tool designed to automate the lifecycle management of Amazon Web Services resources. It functions as a cloud resource provisioner that enables users to define, version, and deploy infrastructure components through declarative configuration files. The system operates by reconciling the current state of a cloud environment against a desired configuration, calculating the necessary delta operations to achieve convergence. It utilizes a directed acyclic graph to resolve resource dependencies and determine the optimal execution order for changes, ensuring
Calculates infrastructure execution order by mapping resource dependencies into directed acyclic graphs.
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
Models modules as nodes and imports as edges in a directed graph to calculate connectivity and detect recursive loops.
Terragrunt is an infrastructure as code orchestrator and a thin wrapper for Terraform. It serves as a configuration manager designed to reduce code duplication and manage the execution and deployment order of infrastructure across complex cloud architectures. The tool facilitates scaling cloud deployments across multiple environments, such as development, staging, and production, while keeping configurations consistent. It focuses on organizing large-scale deployments into manageable components to avoid monolithic state files and limit the blast radius of changes. Its capabilities cover infr
Calculates the correct execution order of infrastructure modules by mapping their dependencies into directed acyclic graphs.
Dependency-cruiser 是一个 JavaScript 和 TypeScript 依赖分析器及架构检查工具。它作为一种静态分析工具,用于在无需执行代码的情况下映射、可视化和验证代码库中的模块关系。 该项目的特色在于能够通过基于规则的系统强制执行架构边界。它能检测循环依赖、识别孤立模块和死代码,并使用允许和禁止关系规则来验证依赖约束。它还通过计算传入和传出耦合来提供定量稳定性分析,以识别项目中的脆弱区域。 该工具涵盖了广泛的功能,包括针对 ES6、CommonJS 和 TypeScript 的多标准模块解析,以及带有文件夹级聚合的依赖图可视化。它为持续集成提供了自动化功能,例如违规基准测试以及 JSON 或 CSV 格式的结构化数据导出。 该系统包含一个交互式项目配置引导程序,可根据本地环境生成定制的配置文件。
Provides visual styling and highlighting for modules in dependency reports to emphasize key architectural components.
eslint-plugin-import 是一个 ESLint 静态分析插件,提供了一套规则和解析器来验证 import 语句,并强制执行关于文件如何导入和导出代码的架构约束。它作为一个模块验证器和解析器,确保 import 声明指向有效文件且引用的符号存在。 该项目识别递归导入链以防止循环依赖,并利用可配置的解析系统来映射别名和非标准文件路径。它还可以通过路径和文件夹模式匹配来区分内部项目文件和外部库依赖项。 该插件涵盖了更广泛的代码质量领域,包括强制执行导入样式的排序和分组、限制特定模块系统以及验证导出可用性以防止运行时错误。它还可以根据文件夹位置限制导入源或禁止特定路径类型。
Builds module dependency graphs to detect and prevent circular import loops.
u2020 is an example Android application that demonstrates how to wire together application components using compile-time dependency injection, annotation-driven view binding, and a slide-out debug drawer. The project serves as a real-world showcase for integrating Dagger for dependency injection and Butter Knife for view binding, both of which generate code at compile time rather than relying on runtime reflection. The application features an in-memory mock server that simulates backend responses using static data, enabling development and testing without a live network. A debug drawer overla
Organizes object creation into explicit modules forming a directed acyclic graph resolved at compile time.
Metro is a JavaScript bundler designed for React Native environments. It functions as a system for resolving dependencies, transforming source code, and packaging JavaScript and assets into bundles for execution. The project includes a development bundler server that hosts assets via HTTP and provides hot module replacement. It features a module resolver that handles platform-specific file extensions and a source code transformer that converts code into tree structures for optimization and minification. The toolset covers programmatic bundle generation, source map creation, and file system c
Traverses import trees to build a complete directed graph of required modules and assets.
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
Resolves dependencies into a module graph and groups them into optimized resource pots for balanced loading.
本项目是一个 Terraform 提供程序,支持通过基础设施即代码 (IaC) 工作流管理 Azure 云资源。它作为一个程序化接口,用于通过 Azure Resource Manager API 创建和配置服务,充当用于配置虚拟基础设施的声明式系统。 该工具编排 Azure 虚拟机、网络和存储的生命周期。它用版本控制的脚本取代了手动门户配置,以自动化云服务的部署,并跨开发、测试和生产阶段扩展环境。
Analyzes resource relationships to determine the optimal order of creation, update, and deletion of cloud infrastructure.
Buck2 是一款可编程的 monorepo 构建工具和 hermetic 构建系统,专为管理具有复杂目标图和多语言依赖的大型项目而设计。它充当远程执行框架和依赖图分析器,提供工件缓存引擎,以确保在不同环境下构建结果的可复现性和一致性。 该系统通过增量计算引擎脱颖而出,仅重新计算依赖图中因变更而失效的特定节点。它利用基于内容的寻址存储进行构建工件缓存,并支持远程执行竞速(remote execution racing),即同时在本地和远程执行构建操作,以返回最快的结果。 其功能涵盖多语言构建自动化、工具链抽象以及用于管理跨平台构建变体的基于约束的配置。该项目还包括用于图内省和变更检测的构建可观测性工具,以及用于限制目标可见性的访问控制机制。
Maps all actions and transitive dependencies required to produce a specific software output.
This project is a GitHub Action designed to accelerate Rust build pipelines by caching compiled artifacts and dependency data. It functions as a build cache mechanism that persists intermediate outputs across separate continuous integration execution environments to avoid redundant recompilation. The tool identifies cacheable build outputs by analyzing project configuration files and generating unique identifiers based on the state of source code and dependency manifests. It integrates with the build environment by dynamically updating system paths and configuration settings, allowing the too
Analyzes project configuration to isolate build outputs that can be safely persisted between runs.
Splittable 是一个构建时工具,旨在将 JavaScript 源代码转换为优化的生产资源。它作为一个模块打包器,映射依赖关系以将多个源文件合并为统一的输出,确保跨 Web 浏览器的兼容性。 该工具通过自动代码拆分和依赖分析脱颖而出,将应用程序划分为更小的、独立的块。通过识别跨入口点的共享逻辑并隔离公共模块,它防止了代码重复,并支持按需异步加载应用程序逻辑。 构建过程结合了静态分析以执行 Tree Shaking 和死代码消除,移除不可达路径以减少最终体积。这些优化技术辅以压缩过程,通过压缩文件和缩短标识符来最小化带宽使用并缩短初始加载时间。
Maps the relationships between source files to determine the order of execution and identify shared logic for efficient bundling.