diff --git a/crates/vite_install/src/commands/why.rs b/crates/vite_install/src/commands/why.rs index 0a67e36f3d..d328419e33 100644 --- a/crates/vite_install/src/commands/why.rs +++ b/crates/vite_install/src/commands/why.rs @@ -23,7 +23,6 @@ pub struct WhyCommandOptions<'a> { pub dev: bool, pub depth: Option, pub no_optional: bool, - pub global: bool, pub exclude_peers: bool, pub find_by: Option<&'a str>, pub pass_through_args: Option<&'a [String]>, @@ -101,10 +100,6 @@ impl PackageManager { args.push("--no-optional".into()); } - if options.global { - args.push("--global".into()); - } - if options.exclude_peers { args.push("--exclude-peers".into()); } diff --git a/crates/vite_pm_cli/src/cli.rs b/crates/vite_pm_cli/src/cli.rs index 2e74a81647..c82537e9ed 100644 --- a/crates/vite_pm_cli/src/cli.rs +++ b/crates/vite_pm_cli/src/cli.rs @@ -425,10 +425,6 @@ pub enum PackageManagerCommand { #[arg(long)] no_optional: bool, - /// Check globally installed packages - #[arg(short = 'g', long)] - global: bool, - /// Exclude peer dependencies #[arg(long)] exclude_peers: bool, @@ -529,8 +525,7 @@ impl PackageManagerCommand { /// Whether this invocation hits the vite-plus-managed-global flow on the /// global CLI. The local CLI binding refuses these cases (it has no /// managed package store of its own); pass-through `-g` cases like - /// `outdated -g`, `why -g`, and `pm config get -g` return `false` and - /// keep working on both CLIs. + /// `pm config get -g` return `false` and keep working on both CLIs. pub fn is_managed_global(&self) -> bool { match self { Self::Install { global, .. } diff --git a/crates/vite_pm_cli/src/dispatch.rs b/crates/vite_pm_cli/src/dispatch.rs index 922982a9c1..6826cd0141 100644 --- a/crates/vite_pm_cli/src/dispatch.rs +++ b/crates/vite_pm_cli/src/dispatch.rs @@ -252,7 +252,6 @@ pub async fn dispatch( dev, depth, no_optional, - global, exclude_peers, find_by, pass_through_args, @@ -269,7 +268,6 @@ pub async fn dispatch( dev, depth, no_optional, - global, exclude_peers, find_by: find_by.as_deref(), pass_through_args: pass_through_args.as_deref(), diff --git a/crates/vite_pm_cli/src/handlers.rs b/crates/vite_pm_cli/src/handlers.rs index 850a04dd74..22b228511c 100644 --- a/crates/vite_pm_cli/src/handlers.rs +++ b/crates/vite_pm_cli/src/handlers.rs @@ -44,10 +44,7 @@ use vite_path::AbsolutePath; use crate::{ cli::{ConfigCommands, DistTagCommands, OwnerCommands, PmCommands, TokenCommands}, error::Error, - helpers::{ - build_package_manager, build_package_manager_or_npm_default, default_npm_package_manager, - ensure_package_json, - }, + helpers::{build_package_manager, build_package_manager_or_npm_default, ensure_package_json}, }; pub async fn run_add( @@ -104,11 +101,7 @@ pub async fn run_why( cwd: &AbsolutePath, options: &WhyCommandOptions<'_>, ) -> Result { - let pm = if options.global { - default_npm_package_manager(cwd) - } else { - build_package_manager(cwd).await? - }; + let pm = build_package_manager(cwd).await?; Ok(pm.run_why_command(options, cwd).await?) } diff --git a/packages/cli/snap-tests-global/cli-helper-message/snap.txt b/packages/cli/snap-tests-global/cli-helper-message/snap.txt index 97fa4b0692..127d518a9c 100644 --- a/packages/cli/snap-tests-global/cli-helper-message/snap.txt +++ b/packages/cli/snap-tests-global/cli-helper-message/snap.txt @@ -285,7 +285,6 @@ Options: -D, --dev Only dev dependencies --depth Limit tree depth --no-optional Exclude optional dependencies - -g, --global Check globally installed packages --exclude-peers Exclude peer dependencies --find-by Use a finder function defined in .pnpmfile.cjs -h, --help Print help diff --git a/packages/cli/snap-tests-global/command-why-bun/snap.txt b/packages/cli/snap-tests-global/command-why-bun/snap.txt index 9093698e6a..582e8608c6 100644 --- a/packages/cli/snap-tests-global/command-why-bun/snap.txt +++ b/packages/cli/snap-tests-global/command-why-bun/snap.txt @@ -18,7 +18,6 @@ Options: -D, --dev Only dev dependencies --depth Limit tree depth --no-optional Exclude optional dependencies - -g, --global Check globally installed packages --exclude-peers Exclude peer dependencies --find-by Use a finder function defined in .pnpmfile.cjs -h, --help Print help diff --git a/packages/cli/snap-tests-global/command-why-pnpm10/snap.txt b/packages/cli/snap-tests-global/command-why-pnpm10/snap.txt index caec59143d..20b9dc0469 100644 --- a/packages/cli/snap-tests-global/command-why-pnpm10/snap.txt +++ b/packages/cli/snap-tests-global/command-why-pnpm10/snap.txt @@ -18,7 +18,6 @@ Options: -D, --dev Only dev dependencies --depth Limit tree depth --no-optional Exclude optional dependencies - -g, --global Check globally installed packages --exclude-peers Exclude peer dependencies --find-by Use a finder function defined in .pnpmfile.cjs -h, --help Print help diff --git a/packages/cli/snap-tests-global/command-why-pnpm11/snap.txt b/packages/cli/snap-tests-global/command-why-pnpm11/snap.txt index e2ce77bacc..f377d77779 100644 --- a/packages/cli/snap-tests-global/command-why-pnpm11/snap.txt +++ b/packages/cli/snap-tests-global/command-why-pnpm11/snap.txt @@ -18,7 +18,6 @@ Options: -D, --dev Only dev dependencies --depth Limit tree depth --no-optional Exclude optional dependencies - -g, --global Check globally installed packages --exclude-peers Exclude peer dependencies --find-by Use a finder function defined in .pnpmfile.cjs -h, --help Print help diff --git a/packages/cli/snap-tests/command-pm-no-package-json/snap.txt b/packages/cli/snap-tests/command-pm-no-package-json/snap.txt index e74bbd9027..4e36adb890 100644 --- a/packages/cli/snap-tests/command-pm-no-package-json/snap.txt +++ b/packages/cli/snap-tests/command-pm-no-package-json/snap.txt @@ -9,13 +9,3 @@ No package.json found. [1]> vp why lodash # should show friendly error No package.json found. - -[1]> vp why definitely-not-installed-vite-plus-snap-pkg -g --json # should not require package.json for global why -npm error No dependencies found matching definitely-not-installed-vite-plus-snap-pkg -{ - "error": { - "summary": "No dependencies found matching definitely-not-installed-vite-plus-snap-pkg", - "detail": "" - } -} -npm error A complete log of this run can be found in: /.npm/_logs/-debug.log diff --git a/packages/cli/snap-tests/command-pm-no-package-json/steps.json b/packages/cli/snap-tests/command-pm-no-package-json/steps.json index 49dc5cbff7..1e2667cc8b 100644 --- a/packages/cli/snap-tests/command-pm-no-package-json/steps.json +++ b/packages/cli/snap-tests/command-pm-no-package-json/steps.json @@ -4,7 +4,6 @@ "vp pm ls # should show friendly error", "vp pm prune # should show friendly error", "vp outdated # should show friendly error", - "vp why lodash # should show friendly error", - "vp why definitely-not-installed-vite-plus-snap-pkg -g --json # should not require package.json for global why" + "vp why lodash # should show friendly error" ] } diff --git a/packages/cli/snap-tests/command-why-pnpm10/snap.txt b/packages/cli/snap-tests/command-why-pnpm10/snap.txt index 8c8e6baee4..a0347c7a0d 100644 --- a/packages/cli/snap-tests/command-why-pnpm10/snap.txt +++ b/packages/cli/snap-tests/command-why-pnpm10/snap.txt @@ -18,7 +18,6 @@ Options: -D, --dev Only dev dependencies --depth Limit tree depth --no-optional Exclude optional dependencies - -g, --global Check globally installed packages --exclude-peers Exclude peer dependencies --find-by Use a finder function defined in .pnpmfile.cjs -h, --help Print help diff --git a/rfcs/why-package-command.md b/rfcs/why-package-command.md index 48518b4940..efc01b95bf 100644 --- a/rfcs/why-package-command.md +++ b/rfcs/why-package-command.md @@ -101,22 +101,11 @@ vp why react --no-optional # Exclude optional dependencies # Depth control vp why react --depth 3 # Limit tree depth to 3 levels -# Global packages -vp why typescript -g # Check globally installed packages - # Custom finder (pnpm only) vp why react --find-by myFinder # Use finder function from .pnpmfile.cjs ``` -### Global Packages Checking - -Only use `npm` to check globally installed packages, because `vp install -g` uses `npm` cli to install global packages. - -```bash -vp why typescript -g # Check globally installed packages - --> npm why typescript -g -``` +We do not provide `why` feature for global packages managed by Vite+. ### Command Mapping @@ -151,7 +140,6 @@ vp why typescript -g # Check globally installed packages | `-D, --dev` | `-D, --dev` | N/A | N/A | N/A | N/A | Only dev dependencies (pnpm only) | | `--depth ` | `--depth ` | N/A | N/A | N/A | `--depth` | Limit tree depth (pnpm/bun) | | `--no-optional` | `--no-optional` | N/A | `--ignore-optional` | N/A | N/A | Exclude optional dependencies (pnpm only) | -| `-g, --global` | `-g, --global` | N/A | N/A | N/A | N/A | Check globally installed packages | | `--exclude-peers` | `--exclude-peers` | N/A | N/A | Removes `--peers` flag | N/A | Exclude peer dependencies (yarn@2+ defaults to including peers) | | `--find-by ` | `--find-by ` | N/A | N/A | N/A | N/A | Use finder function from .pnpmfile.cjs | @@ -181,7 +169,6 @@ vp why typescript -g # Check globally installed packages - Supports workspace filtering with `--filter` - Can filter by dependency type (prod, dev, optional) - Supports depth limiting -- Can check global packages with `-g` **Output format:** @@ -469,10 +456,6 @@ impl PackageManager { args.push("--no-optional".into()); } - if options.global { - args.push("--global".into()); - } - if options.exclude_peers { args.push("--exclude-peers".into()); } @@ -1122,7 +1105,6 @@ Options: -D, --dev Only dev dependencies (pnpm-specific) --depth Limit tree depth (pnpm-specific) --no-optional Exclude optional dependencies (pnpm-specific) - -g, --global Check globally installed packages --exclude-peers Exclude peer dependencies (pnpm/yarn@2+-specific) --find-by Use a finder function defined in .pnpmfile.cjs (pnpm-specific) -h, --help Print help @@ -1143,7 +1125,6 @@ Examples: vp why react --filter app # Check in specific workspace (pnpm) vp why react --prod # Only production deps (pnpm) vp why react --depth 3 # Limit tree depth (pnpm) - vp why typescript -g # Check global packages vp why react --find-by myFinder # Use custom finder (pnpm) ``` @@ -1268,7 +1249,6 @@ vp why package --prod --json | Workspace filter | ✅ `--filter` | ✅ `--workspace` | ❌ Not supported | ❌ Not supported | ❌ Not supported | pnpm and npm | | Dep type filter | ✅ `--prod/--dev` | ❌ Not supported | ❌ Not supported | ❌ Not supported | ❌ Not supported | pnpm only | | Depth limit | ✅ `--depth` | ❌ Not supported | ❌ Not supported | ❌ Not supported | ✅ `--depth` | pnpm and bun | -| Global check | ✅ `-g` | ❌ Not supported | ❌ Not supported | ❌ Not supported | ❌ Not supported | pnpm only | | Tree view | ❌ Not supported | ❌ Not supported | ❌ Not supported | ❌ Not supported | ✅ Built-in | bun shows tree view | ## Future Enhancements