Module dependency

Module dependency 

Source
Expand description

Dependency tracking and graph analysis

This module provides functionality for tracking file dependencies (imports/includes) and analyzing the dependency graph of a codebase.

§Architecture

The system uses a “depth-1 storage” approach:

  • Only direct dependencies are stored in the database
  • Deeper relationships are computed on-demand via graph traversal
  • This provides O(n) storage while enabling any-depth queries

§Example

use reflex::dependency::DependencyIndex;
use reflex::cache::CacheManager;

let cache = CacheManager::new(".");
let deps = DependencyIndex::new(cache);

// Get direct dependencies of a file
let file_deps = deps.get_dependencies(42)?;

// Get files that import this file (reverse lookup)
let dependents = deps.get_dependents(42)?;

// Traverse dependency graph to depth 3
let transitive = deps.get_transitive_deps(42, 3)?;

Structs§

DependencyIndex
Manages dependency storage and graph operations

Functions§

resolve_php_import
Resolve a PHP import path to a file path
resolve_rust_import
Resolve a Rust import path to an absolute file path
resolve_rust_mod_declaration
Resolve a mod declaration to a file path