From a27d0885f489f5640e38922fad8c8a1c49ae0aa4 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Fri, 24 Feb 2023 14:23:07 -0500 Subject: feat: add `DENO_NO_PACKAGE_JSON` env var (#17926) Depends on #17924 Part of #17916 --- cli/args/mod.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'cli/args/mod.rs') diff --git a/cli/args/mod.rs b/cli/args/mod.rs index 09de47799..f198301b5 100644 --- a/cli/args/mod.rs +++ b/cli/args/mod.rs @@ -568,7 +568,10 @@ impl CliOptions { let maybe_config_file = ConfigFile::discover(&flags, &initial_cwd)?; let mut maybe_package_json = None; - if flags.config_flag == ConfigFlag::Disabled || flags.no_npm { + if flags.config_flag == ConfigFlag::Disabled + || flags.no_npm + || has_flag_env_var("DENO_NO_PACKAGE_JSON") + { log::debug!("package.json auto-discovery is disabled") } else if let Some(config_file) = &maybe_config_file { let specifier = config_file.specifier.clone(); @@ -1135,10 +1138,12 @@ fn resolve_files( /// Resolves the no_prompt value based on the cli flags and environment. pub fn resolve_no_prompt(flags: &Flags) -> bool { - flags.no_prompt || { - let value = env::var("DENO_NO_PROMPT"); - matches!(value.as_ref().map(|s| s.as_str()), Ok("1")) - } + flags.no_prompt || has_flag_env_var("DENO_NO_PROMPT") +} + +fn has_flag_env_var(name: &str) -> bool { + let value = env::var(name); + matches!(value.as_ref().map(|s| s.as_str()), Ok("1")) } #[cfg(test)] -- cgit v1.2.3