tfparser_core/terragrunt/mod.rs
1//! Terragrunt-mimicking resolver.
2//!
3//! Phase 6 lands the subset of Terragrunt that affects **what HCL the
4//! component effectively sees**: `include`, `find_in_parent_folders`,
5//! `read_terragrunt_config`, locals/inputs cascade, `generate`, `dependency`.
6//! Per [99-key-decisions.md] D6, we mimic Terragrunt, never invoke its
7//! binary or shell out to `git`.
8//!
9//! Per [14-terragrunt.md].
10//!
11//! ## Public surface
12//!
13//! - [`TerragruntResolver`] / [`FsTerragruntResolver`]: trait + default impl.
14//! - [`TgContext`]: per-resolution context (workspace root, env-var policy, depth cap).
15//! - [`TerragruntError`]: thiserror enum mirroring spec ยง 6.
16//!
17//! [14-terragrunt.md]: ../../../specs/14-terragrunt.md
18//! [99-key-decisions.md]: ../../../specs/99-key-decisions.md
19
20mod context;
21mod error;
22mod funcs;
23mod merge;
24mod parsed;
25mod resolver;
26
27pub use context::TgContext;
28pub use error::TerragruntError;
29pub use resolver::{FsTerragruntResolver, TerragruntResolver};