diff options
Diffstat (limited to 'cli/args')
-rw-r--r-- | cli/args/flags.rs | 1 | ||||
-rw-r--r-- | cli/args/mod.rs | 15 |
2 files changed, 11 insertions, 5 deletions
diff --git a/cli/args/flags.rs b/cli/args/flags.rs index 35da62fc8..f77b5b167 100644 --- a/cli/args/flags.rs +++ b/cli/args/flags.rs @@ -590,6 +590,7 @@ static ENV_VARIABLES_HELP: &str = r#"ENVIRONMENT VARIABLES: DENO_DIR Set the cache directory DENO_INSTALL_ROOT Set deno install's output directory (defaults to $HOME/.deno/bin) + DENO_NO_PACKAGE_JSON Disables auto-resolution of package.json DENO_NO_PROMPT Set to disable permission prompts on access (alternative to passing --no-prompt on invocation) DENO_NO_UPDATE_CHECK Set to disable checking if a newer Deno version is 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)] |