From fadfc95c72adc04ff4de8b3a3e3bd891b3794b04 Mon Sep 17 00:00:00 2001 From: JongKyung Lee Date: Sat, 18 Jul 2026 00:59:09 +0900 Subject: [PATCH] refactor(cli): reuse shared exit status helper --- crates/vite_global_cli/src/commands/env/exec.rs | 15 +-------------- crates/vite_global_cli/src/commands/env/mod.rs | 16 +--------------- crates/vite_global_cli/src/commands/env/which.rs | 16 +--------------- .../src/commands/global/outdated.rs | 15 +-------------- 4 files changed, 4 insertions(+), 58 deletions(-) diff --git a/crates/vite_global_cli/src/commands/env/exec.rs b/crates/vite_global_cli/src/commands/env/exec.rs index abe75fb2e3..02def63649 100644 --- a/crates/vite_global_cli/src/commands/env/exec.rs +++ b/crates/vite_global_cli/src/commands/env/exec.rs @@ -13,6 +13,7 @@ use vite_js_runtime::NodeProvider; use vite_shared::{env_vars, format_path_prepended}; use crate::{ + cli::exit_status, error::Error, shim::{dispatch as shim_dispatch, is_shim_tool}, }; @@ -192,20 +193,6 @@ fn classify_version(version: &str) -> VersionSelector<'_> { } } -/// Create an exit status with the given code. -fn exit_status(code: i32) -> ExitStatus { - #[cfg(unix)] - { - use std::os::unix::process::ExitStatusExt; - ExitStatus::from_raw(code << 8) - } - #[cfg(windows)] - { - use std::os::windows::process::ExitStatusExt; - ExitStatus::from_raw(code as u32) - } -} - #[cfg(test)] mod tests { use serial_test::serial; diff --git a/crates/vite_global_cli/src/commands/env/mod.rs b/crates/vite_global_cli/src/commands/env/mod.rs index 514a6231eb..119469b4ce 100644 --- a/crates/vite_global_cli/src/commands/env/mod.rs +++ b/crates/vite_global_cli/src/commands/env/mod.rs @@ -28,7 +28,7 @@ pub(crate) use setup::{cleanup_legacy_windows_shim, get_trampoline_path, remove_ use vite_path::AbsolutePathBuf; use crate::{ - cli::{EnvArgs, EnvSubcommands}, + cli::{EnvArgs, EnvSubcommands, exit_status}, commands::shell::{Shell, detect_shell}, error::Error, }; @@ -201,17 +201,3 @@ async fn print_env(cwd: AbsolutePathBuf) -> Result { Ok(ExitStatus::default()) } - -/// Create an exit status with the given code. -fn exit_status(code: i32) -> ExitStatus { - #[cfg(unix)] - { - use std::os::unix::process::ExitStatusExt; - ExitStatus::from_raw(code << 8) - } - #[cfg(windows)] - { - use std::os::windows::process::ExitStatusExt; - ExitStatus::from_raw(code as u32) - } -} diff --git a/crates/vite_global_cli/src/commands/env/which.rs b/crates/vite_global_cli/src/commands/env/which.rs index a805c055e4..1217911656 100644 --- a/crates/vite_global_cli/src/commands/env/which.rs +++ b/crates/vite_global_cli/src/commands/env/which.rs @@ -22,7 +22,7 @@ use super::{ config::{VERSION_ENV_VAR, get_bin_dir, get_node_modules_dir, resolve_version}, package_metadata::PackageMetadata, }; -use crate::error::Error; +use crate::{cli::exit_status, error::Error}; /// Core tools (node, npm, npx, corepack) const CORE_TOOLS: &[&str] = &["node", "npm", "npx", "corepack"]; @@ -351,17 +351,3 @@ fn locate_package_binary( Ok(binary_path) } - -/// Create an exit status with the given code. -fn exit_status(code: i32) -> ExitStatus { - #[cfg(unix)] - { - use std::os::unix::process::ExitStatusExt; - ExitStatus::from_raw(code << 8) - } - #[cfg(windows)] - { - use std::os::windows::process::ExitStatusExt; - ExitStatus::from_raw(code as u32) - } -} diff --git a/crates/vite_global_cli/src/commands/global/outdated.rs b/crates/vite_global_cli/src/commands/global/outdated.rs index 47f14f01c0..49817a4eab 100644 --- a/crates/vite_global_cli/src/commands/global/outdated.rs +++ b/crates/vite_global_cli/src/commands/global/outdated.rs @@ -11,6 +11,7 @@ use vite_install::commands::outdated::Format; use super::{latest_package_versions, parse_package_spec}; use crate::{ + cli::exit_status, commands::env::{config::get_node_modules_dir, package_metadata::PackageMetadata}, error::Error, }; @@ -258,17 +259,3 @@ fn print_table(packages: &[OutdatedPackage], long: bool) { } } } - -fn exit_status(code: i32) -> ExitStatus { - #[cfg(unix)] - { - use std::os::unix::process::ExitStatusExt; - ExitStatus::from_raw(code << 8) - } - - #[cfg(windows)] - { - use std::os::windows::process::ExitStatusExt; - ExitStatus::from_raw(code as u32) - } -}