Skip to main content

vane_core/compile/
expand.rs

1use crate::compile::merge::MergedConfig;
2use crate::error::Error;
3use crate::rule::RawRule;
4
5#[derive(Debug, Clone)]
6pub struct RawRuleSet {
7	pub rules: Vec<RawRule>,
8	pub source_files: Vec<std::path::PathBuf>,
9}
10
11/// Preset expansion. Today this is a pure identity — real preset expansion
12/// (`reverse_proxy`, `port_forward`, `static_site`, `redirect_https`) lands
13/// at S1-22 per the roadmap. The signature is in place so later stages can
14/// start consuming `RawRuleSet` without a rewrite.
15///
16/// # Errors
17/// Currently infallible; the `Result` shape is kept so preset-args
18/// validation in S1-22 can surface compile errors from this stage.
19pub fn expand(merged: MergedConfig) -> Result<RawRuleSet, Error> {
20	Ok(RawRuleSet { rules: merged.rules, source_files: merged.source_files })
21}