From 56b44cf2e259151e597097527ae223f3718587a3 Mon Sep 17 00:00:00 2001 From: kjuulh Date: Fri, 4 Aug 2023 18:56:43 +0200 Subject: [PATCH] fix(json-edit): with actual arg instead of stupid str replace Signed-off-by: kjuulh --- crates/cuddle-please-release-strategy/src/json_edit.rs | 7 ++++--- crates/cuddle-please-release-strategy/tests/json_edit.rs | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/crates/cuddle-please-release-strategy/src/json_edit.rs b/crates/cuddle-please-release-strategy/src/json_edit.rs index 07aa492..9398b9d 100644 --- a/crates/cuddle-please-release-strategy/src/json_edit.rs +++ b/crates/cuddle-please-release-strategy/src/json_edit.rs @@ -12,8 +12,6 @@ impl JsonEditOptions { pub fn execute(&self, path: &Path, next_version: impl AsRef) -> anyhow::Result<()> { let next_version = next_version.as_ref(); - let jq_query = self.jq.replace("%%version%%", next_version); - if !path.exists() { anyhow::bail!("could not find file at: {}", path.display()); } @@ -30,7 +28,10 @@ impl JsonEditOptions { ))?; let output = std::process::Command::new("jq") - .arg(format!("{}", jq_query)) + .arg("--arg") + .arg("version") + .arg(next_version) + .arg(&self.jq) .arg( abs_path .to_str() diff --git a/crates/cuddle-please-release-strategy/tests/json_edit.rs b/crates/cuddle-please-release-strategy/tests/json_edit.rs index a9a92b8..069966f 100644 --- a/crates/cuddle-please-release-strategy/tests/json_edit.rs +++ b/crates/cuddle-please-release-strategy/tests/json_edit.rs @@ -40,7 +40,7 @@ pub fn test_can_update_version_in_jq() { pretty_assertions::assert_eq!(initial_content, actual_file); let edit_options = JsonEditOptions { - jq: r#".some.nested[].structure.version="%%version%%""#.into(), + jq: r#".some.nested[].structure.version=$version"#.into(), }; edit_options.execute(&json_file, "v1.0.2").unwrap();