From eec08a18b66525f5544cd30144d0553260ee3a70 Mon Sep 17 00:00:00 2001 From: Xuan <97ssps30212@gmail.com> Date: Mon, 17 Mar 2025 01:00:04 +0800 Subject: [PATCH] fix: use bun.lock to identify bun's lockfile (fix #12914) (#12998) * fix: use bun.lock to identify bun's lockfile * fix: also check bun.lockb * doc: add changes doc --- .changes/fix-bun-lockfile.md | 5 +++++ crates/tauri-cli/src/helpers/npm.rs | 35 ++++++++++++++--------------- 2 files changed, 22 insertions(+), 18 deletions(-) create mode 100644 .changes/fix-bun-lockfile.md diff --git a/.changes/fix-bun-lockfile.md b/.changes/fix-bun-lockfile.md new file mode 100644 index 000000000..2532e9621 --- /dev/null +++ b/.changes/fix-bun-lockfile.md @@ -0,0 +1,5 @@ +--- +'tauri-cli': 'patch:bug' +--- + +For bun's lockfile, check both `bun.lock` and `bun.lockb`. \ No newline at end of file diff --git a/crates/tauri-cli/src/helpers/npm.rs b/crates/tauri-cli/src/helpers/npm.rs index 1189aa323..ad42d586d 100644 --- a/crates/tauri-cli/src/helpers/npm.rs +++ b/crates/tauri-cli/src/helpers/npm.rs @@ -67,24 +67,23 @@ impl PackageManager { for entry in entries.flatten() { let path = entry.path(); let name = path.file_name().unwrap().to_string_lossy(); - if name.as_ref() == "package-lock.json" { - found.push(PackageManager::Npm); - } else if name.as_ref() == "pnpm-lock.yaml" { - found.push(PackageManager::Pnpm); - } else if name.as_ref() == "yarn.lock" { - let yarn = if manager_version("yarn") - .map(|v| v.chars().next().map(|c| c > '1').unwrap_or_default()) - .unwrap_or(false) - { - PackageManager::YarnBerry - } else { - PackageManager::Yarn - }; - found.push(yarn); - } else if name.as_ref() == "bun.lockb" { - found.push(PackageManager::Bun); - } else if name.as_ref() == "deno.lock" { - found.push(PackageManager::Deno); + match name.as_ref() { + "package-lock.json" => found.push(PackageManager::Npm), + "pnpm-lock.yaml" => found.push(PackageManager::Pnpm), + "yarn.lock" => { + let yarn = if manager_version("yarn") + .map(|v| v.chars().next().map(|c| c > '1').unwrap_or_default()) + .unwrap_or(false) + { + PackageManager::YarnBerry + } else { + PackageManager::Yarn + }; + found.push(yarn); + } + "bun.lock" | "bun.lockb" => found.push(PackageManager::Bun), + "deno.lock" => found.push(PackageManager::Deno), + _ => (), } } }