Skip to main content

espforge_codegen/
lib.rs

1use anyhow::Result;
2use espforge_configuration::EspforgeConfiguration;
3
4pub mod allocators;
5pub mod builders;
6pub mod component_builders;
7pub mod context;
8pub mod dependency;
9pub mod generator;
10pub mod registry;
11pub mod resolver;
12pub mod scaffold;
13pub mod templates;
14
15pub use scaffold::esp_generate;
16
17// Re-export main generation functions
18pub use templates::{generate_components_source, generate_entry_point_source, generate_lib_source};
19
20// Convenience function that maintains backward compatibility
21pub fn generate_all(
22    model: &EspforgeConfiguration,
23    additional_modules: &[String],
24) -> Result<(String, String, String)> {
25    let lib_source = generate_lib_source(additional_modules)?;
26    let entry_point = generate_entry_point_source(model)?;
27    let components = generate_components_source(model)?;
28
29    Ok((lib_source, entry_point, components))
30}