diff --git a/.changes/pnpm-package-version-check.md b/.changes/pnpm-package-version-check.md new file mode 100644 index 000000000..090e64995 --- /dev/null +++ b/.changes/pnpm-package-version-check.md @@ -0,0 +1,6 @@ +--- +"tauri-cli": patch:bug +"@tauri-apps/cli": patch:bug +--- + +Fixed the mismatched tauri package versions check didn't work for pnpm diff --git a/crates/tauri-cli/src/helpers/npm.rs b/crates/tauri-cli/src/helpers/npm.rs index a39c5ffd0..58df0d443 100644 --- a/crates/tauri-cli/src/helpers/npm.rs +++ b/crates/tauri-cli/src/helpers/npm.rs @@ -332,7 +332,14 @@ impl PackageManager { version: String, } - let json: ListOutput = serde_json::from_str(&stdout).context("failed to parse npm list")?; + let json = if matches!(self, PackageManager::Pnpm) { + serde_json::from_str::>(&stdout) + .ok() + .and_then(|out| out.into_iter().next()) + .context("failed to parse pnpm list")? + } else { + serde_json::from_str::(&stdout).context("failed to parse npm list")? + }; for (package, dependency) in json.dependencies.into_iter().chain(json.dev_dependencies) { let version = dependency.version; if let Ok(version) = semver::Version::parse(&version) {