tfparser_core/prelude.rs
1//! Common types bundled for `use tfparser_core::prelude::*;`.
2//!
3//! Lives next to but separate from the crate root re-exports so consumers
4//! can opt in to the broader names without having to spell each import.
5//! The included items are deliberately narrow: the façade ([`Parser`],
6//! [`parse`]), the workspace IR core ([`Workspace`], [`Component`],
7//! [`Resource`], [`Module`]), the error contract ([`Result`], [`Error`]),
8//! and the diagnostic / exporter shapes that anyone consuming the parquet
9//! tables will eventually need.
10//!
11//! If you want the lower-level building blocks (pipeline trait, evaluator,
12//! terragrunt resolver, …) reach into the module that owns them.
13//!
14//! ```no_run
15//! use tfparser_core::prelude::*;
16//!
17//! # fn main() -> Result<()> {
18//! let workspace: Workspace = parse("./my-tf-repo")?;
19//! println!("{} components", workspace.components.len());
20//! # Ok(())
21//! # }
22//! ```
23
24pub use crate::{
25 Component, Diagnostic, Error, ExportOptions, ExportReport, Exporter, Module, ParquetExporter,
26 Parser, ParserBuilder, Resource, Result, Severity, Workspace, parse,
27};