Эх сурвалжийг харах

chore(deps) Update Tauri CLI (#2624)

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
renovate[bot] 3 жил өмнө
parent
commit
20ace05683

+ 22 - 6
tooling/cli.rs/Cargo.lock

@@ -794,6 +794,15 @@ dependencies = [
  "libc",
 ]
 
+[[package]]
+name = "itertools"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf"
+dependencies = [
+ "either",
+]
+
 [[package]]
 name = "itoa"
 version = "0.4.7"
@@ -2051,13 +2060,14 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.2.1"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbbdcf4f749dd33b1f1ea19b547bf789d87442ec40767d6015e5e2d39158d69a"
+checksum = "1d30834716e93eef7db510648299f647427858e7e2c0beeec2699ea2289c7739"
 dependencies = [
- "chrono",
  "combine",
- "linked-hash-map",
+ "indexmap",
+ "itertools",
+ "vec1",
 ]
 
 [[package]]
@@ -2204,6 +2214,12 @@ version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
 
+[[package]]
+name = "vec1"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5fc1631c774f0f9570797191e01247cbefde789eebfbf128074cb934115a6133"
+
 [[package]]
 name = "vec_map"
 version = "0.8.2"
@@ -2379,9 +2395,9 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
 name = "winreg"
-version = "0.9.0"
+version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16cdb3898397cf7f624c294948669beafaeebc5577d5ec53d0afb76633593597"
+checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
 dependencies = [
  "winapi 0.3.9",
 ]

+ 1 - 1
tooling/cli.rs/Cargo.toml

@@ -27,7 +27,7 @@ serde_json = "1.0"
 serde_with = "1.10"
 notify = "4.0"
 shared_child = "0.3"
-toml_edit = "0.2"
+toml_edit = "0.3"
 json-patch = "0.2"
 schemars = "0.8"
 toml = "0.5"

+ 14 - 8
tooling/cli.rs/src/helpers/manifest.rs

@@ -8,7 +8,7 @@ use super::{
 };
 
 use anyhow::Context;
-use toml_edit::{Array, Document, InlineTable, Item, Value};
+use toml_edit::{Array, Document, InlineTable, Item, Table, Value};
 
 use std::{
   collections::HashSet,
@@ -41,7 +41,7 @@ fn toml_array(features: &HashSet<String>) -> Array {
   let mut features: Vec<String> = features.iter().map(|f| f.to_string()).collect();
   features.sort();
   for feature in features {
-    f.push(feature.as_str()).unwrap();
+    f.push(feature.as_str());
   }
   f
 }
@@ -52,10 +52,11 @@ pub fn rewrite_manifest(config: ConfigHandle) -> crate::Result<Manifest> {
   let dependencies = manifest
     .as_table_mut()
     .entry("dependencies")
+    .or_insert(Item::Table(Table::new()))
     .as_table_mut()
     .expect("manifest dependencies isn't a table");
 
-  let tauri_entry = dependencies.entry("tauri");
+  let tauri_item = dependencies.entry("tauri").or_insert(Item::None);
 
   let config_guard = config.lock().unwrap();
   let config = config_guard.as_ref().unwrap();
@@ -78,8 +79,8 @@ pub fn rewrite_manifest(config: ConfigHandle) -> crate::Result<Manifest> {
   let mut cli_managed_features = all_allowlist_features();
   cli_managed_features.extend(vec!["cli", "updater", "system-tray"]);
 
-  if let Some(tauri) = tauri_entry.as_table_mut() {
-    let manifest_features = tauri.entry("features");
+  if let Some(tauri) = tauri_item.as_table_mut() {
+    let manifest_features = tauri.entry("features").or_insert(Item::None);
     if let Item::Value(Value::Array(f)) = &manifest_features {
       for feat in f.iter() {
         if let Value::String(feature) = feat {
@@ -90,7 +91,7 @@ pub fn rewrite_manifest(config: ConfigHandle) -> crate::Result<Manifest> {
       }
     }
     *manifest_features = Item::Value(Value::Array(toml_array(&features)));
-  } else if let Some(tauri) = tauri_entry.as_value_mut() {
+  } else if let Some(tauri) = tauri_item.as_value_mut() {
     match tauri {
       Value::InlineTable(table) => {
         let manifest_features = table.get_or_insert("features", Value::Array(Default::default()));
@@ -128,7 +129,7 @@ pub fn rewrite_manifest(config: ConfigHandle) -> crate::Result<Manifest> {
     File::create(&manifest_path).with_context(|| "failed to open Cargo.toml for rewrite")?;
   manifest_file.write_all(
     manifest
-      .to_string_in_original_order()
+      .to_string()
       // apply some formatting fixes
       .replace(r#"" ,features =["#, r#"", features = ["#)
       .replace("]}", "] }")
@@ -143,12 +144,17 @@ pub fn rewrite_manifest(config: ConfigHandle) -> crate::Result<Manifest> {
 
 pub fn get_workspace_members() -> crate::Result<Vec<String>> {
   let mut manifest = read_manifest(&tauri_dir().join("Cargo.toml"))?;
-  let workspace = manifest.as_table_mut().entry("workspace").as_table_mut();
+  let workspace = manifest
+    .as_table_mut()
+    .entry("workspace")
+    .or_insert(Item::None)
+    .as_table_mut();
 
   match workspace {
     Some(workspace) => {
       let members = workspace
         .entry("members")
+        .or_insert(Item::None)
         .as_array()
         .expect("workspace members aren't an array");
       Ok(