From 795ed23b356dc044cfb497a6189d588604a6c335 Mon Sep 17 00:00:00 2001 From: Nathan Whitaker <17734409+nathanwhit@users.noreply.github.com> Date: Wed, 24 Jul 2024 16:37:13 -0700 Subject: fix(future): Emit `deno install` warning less often, suggest `deno install` in error message (#24706) Two small changes: - In our BYONM errors, suggest running `deno install` instead of `npm install` if `DENO_FUTURE` is set - Only emit warning about `deno install` changes if you do `deno install ` with deno_future unset --- cli/npm/byonm.rs | 7 ++++++- cli/resolver.rs | 9 +++++++-- cli/tools/installer.rs | 8 ++++---- 3 files changed, 17 insertions(+), 7 deletions(-) (limited to 'cli') diff --git a/cli/npm/byonm.rs b/cli/npm/byonm.rs index d10bb6b2a..86c9badac 100644 --- a/cli/npm/byonm.rs +++ b/cli/npm/byonm.rs @@ -286,9 +286,14 @@ impl CliNpmResolver for ByonmCliNpmResolver { concat!( "Could not find \"{}\" in a node_modules folder. ", "Deno expects the node_modules/ directory to be up to date. ", - "Did you forget to run `npm install`?" + "Did you forget to run `{}`?" ), alias, + if *crate::args::DENO_FUTURE { + "deno install" + } else { + "npm install" + } ); } diff --git a/cli/resolver.rs b/cli/resolver.rs index c1bb8a0a5..c9940b406 100644 --- a/cli/resolver.rs +++ b/cli/resolver.rs @@ -233,8 +233,13 @@ impl CliNodeResolver { let package_json_path = package_folder.join("package.json"); if !self.fs.exists_sync(&package_json_path) { return Err(anyhow!( - "Could not find '{}'. Deno expects the node_modules/ directory to be up to date. Did you forget to run `npm install`?", - package_json_path.display() + "Could not find '{}'. Deno expects the node_modules/ directory to be up to date. Did you forget to run `{}`?", + package_json_path.display(), + if *crate::args::DENO_FUTURE { + "deno install" + } else { + "npm install" + }, )); } } diff --git a/cli/tools/installer.rs b/cli/tools/installer.rs index 01ed36711..d1beb79bb 100644 --- a/cli/tools/installer.rs +++ b/cli/tools/installer.rs @@ -283,12 +283,12 @@ pub async fn install_command( flags: Arc, install_flags: InstallFlags, ) -> Result<(), AnyError> { - if !install_flags.global { - log::warn!("⚠️ `deno install` behavior will change in Deno 2. To preserve the current behavior use the `-g` or `--global` flag."); - } - match install_flags.kind { InstallKind::Global(global_flags) => { + if !install_flags.global { + log::warn!("⚠️ `deno install` behavior will change in Deno 2. To preserve the current behavior use the `-g` or `--global` flag."); + } + install_global(flags, global_flags).await } InstallKind::Local(maybe_add_flags) => { -- cgit v1.2.3