Skip to main content

replace_version_in_toml

Function replace_version_in_toml 

Source
pub fn replace_version_in_toml(
    content: &str,
    new_version: &str,
) -> Result<String, Box<dyn Error>>
Expand description

Replace the version value in a TOML string’s [package] section while preserving formatting.

Scans for the first version = "..." line under [package] and rewrites just the value. Lines in other sections (e.g. [dependencies]) are left untouched.

§Errors

Returns an error if no version field is found under [package].

§Example

let toml = r#"[package]
name = "my-crate"
version = "0.1.0"

[dependencies]
serde = { version = "1.0" }
"#;

let updated = standard_version::replace_version_in_toml(toml, "2.0.0").unwrap();
assert!(updated.contains(r#"version = "2.0.0""#));
// dependency version unchanged
assert!(updated.contains(r#"serde = { version = "1.0" }"#));