From bda8304107da7ca60caaba5674faa793491898c6 Mon Sep 17 00:00:00 2001 From: Tony <68118705+Legend-Master@users.noreply.github.com> Date: Wed, 16 Jul 2025 22:06:17 +0800 Subject: [PATCH] fix(cli): error out when migrating from v2 alpha (#13833) --- .changes/migrate-alpha-error.md | 6 ++++++ .changes/v2-beta-to-stable.md | 6 ++++++ .../tauri-cli/src/migrate/migrations/mod.rs | 2 +- .../migrations/{v2_rc.rs => v2_beta.rs} | 4 ++-- crates/tauri-cli/src/migrate/mod.rs | 19 ++++++++++++++++--- 5 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 .changes/migrate-alpha-error.md create mode 100644 .changes/v2-beta-to-stable.md rename crates/tauri-cli/src/migrate/migrations/{v2_rc.rs => v2_beta.rs} (98%) diff --git a/.changes/migrate-alpha-error.md b/.changes/migrate-alpha-error.md new file mode 100644 index 000000000..b2c2c0712 --- /dev/null +++ b/.changes/migrate-alpha-error.md @@ -0,0 +1,6 @@ +--- +"@tauri-apps/cli": patch:bug +"tauri-cli": patch:bug +--- + +Fail with an error when trying to migrate from v2 alpha diff --git a/.changes/v2-beta-to-stable.md b/.changes/v2-beta-to-stable.md new file mode 100644 index 000000000..3b9733f1b --- /dev/null +++ b/.changes/v2-beta-to-stable.md @@ -0,0 +1,6 @@ +--- +"@tauri-apps/cli": patch:bug +"tauri-cli": patch:bug +--- + +Use v2 stable instead of v2-rc when migrating from v2-beta diff --git a/crates/tauri-cli/src/migrate/migrations/mod.rs b/crates/tauri-cli/src/migrate/migrations/mod.rs index 59d702820..d9c07e920 100644 --- a/crates/tauri-cli/src/migrate/migrations/mod.rs +++ b/crates/tauri-cli/src/migrate/migrations/mod.rs @@ -3,4 +3,4 @@ // SPDX-License-Identifier: MIT pub mod v1; -pub mod v2_rc; +pub mod v2_beta; diff --git a/crates/tauri-cli/src/migrate/migrations/v2_rc.rs b/crates/tauri-cli/src/migrate/migrations/v2_beta.rs similarity index 98% rename from crates/tauri-cli/src/migrate/migrations/v2_rc.rs rename to crates/tauri-cli/src/migrate/migrations/v2_beta.rs index 74a2d355f..5ea326d7a 100644 --- a/crates/tauri-cli/src/migrate/migrations/v2_rc.rs +++ b/crates/tauri-cli/src/migrate/migrations/v2_beta.rs @@ -72,7 +72,7 @@ fn migrate_npm_dependencies(frontend_dir: &Path) -> Result<()> { .unwrap_or_default() .unwrap_or_default(); if version.starts_with('1') { - install_deps.push(format!("{pkg}@^2.0.0-rc.0")); + install_deps.push(format!("{pkg}@^2.0.0")); } } @@ -111,7 +111,7 @@ fn migrate_permissions(tauri_dir: &Path) -> Result<()> { } fn migrate_manifest(manifest: &mut DocumentMut) -> Result<()> { - let version = "2.0.0-rc.0"; + let version = "2.0.0"; let dependencies = manifest .as_table_mut() diff --git a/crates/tauri-cli/src/migrate/mod.rs b/crates/tauri-cli/src/migrate/mod.rs index b5e4ef0ec..629678f76 100644 --- a/crates/tauri-cli/src/migrate/mod.rs +++ b/crates/tauri-cli/src/migrate/mod.rs @@ -13,7 +13,7 @@ use crate::{ use std::{fs::read_to_string, str::FromStr}; -use anyhow::Context; +use anyhow::{bail, Context}; mod migrations; @@ -47,9 +47,22 @@ pub fn command() -> Result<()> { migrations::v1::run().context("failed to migrate from v1")?; } else if tauri_version.major == 2 { if let Some((pre, _number)) = tauri_version.pre.as_str().split_once('.') { - if pre == "beta" { - migrations::v2_rc::run().context("failed to migrate from v2 beta to rc")?; + match pre { + "beta" => { + migrations::v2_beta::run().context("failed to migrate from v2 beta")?; + } + "alpha" => { + bail!( + "Migrating from v2 alpha ({tauri_version}) to v2 stable is not supported yet, \ + if your project started early, try downgrading to v1 and then try again" + ) + } + _ => { + bail!("Migrating from {tauri_version} to v2 stable is not supported yet") + } } + } else { + log::info!("Nothing to do, the tauri version is already at v2 stable"); } }