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::{
19    generate_components_source, generate_entry_point_source, generate_lib_source,
20};
21
22// Convenience function that maintains backward compatibility
23pub fn generate_all(model: &EspforgeConfiguration, additional_modules: &[String]) -> Result<(String, String, String)> {
24    let lib_source = generate_lib_source(additional_modules)?;
25    let entry_point = generate_entry_point_source(model)?;
26    let components = generate_components_source(model)?;
27    
28    Ok((lib_source, entry_point, components))
29}