diff options
author | Birk Skyum <74932975+birkskyum@users.noreply.github.com> | 2024-08-08 15:50:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-08 06:50:57 -0700 |
commit | 4c56353594a53066009393cbd3b8b771f692e565 (patch) | |
tree | 081db33e98d77228ddfb818a3bd9f975dce05533 | |
parent | 1d5927aaf2b932046c8052e6ba08d9cc3a066651 (diff) |
feat(cli): Add --env-file as alternative to --env (#24555)
-rw-r--r-- | cli/args/flags.rs | 48 | ||||
-rw-r--r-- | cli/args/mod.rs | 2 | ||||
-rw-r--r-- | tests/testdata/eval/env_file_missing.out | 2 | ||||
-rw-r--r-- | tests/testdata/run/env_file_missing.out | 2 |
4 files changed, 46 insertions, 8 deletions
diff --git a/cli/args/flags.rs b/cli/args/flags.rs index 81773b06a..b2759ab7b 100644 --- a/cli/args/flags.rs +++ b/cli/args/flags.rs @@ -3410,8 +3410,9 @@ fn import_map_arg() -> Arg { } fn env_file_arg() -> Arg { - Arg::new("env") - .long("env") + Arg::new("env-file") + .long("env-file") + .alias("env") .value_name("FILE") .help("Load .env file") .long_help("UNSTABLE: Load environment variables from local file. Only the first environment variable with a given key is used. Existing process environment variables are not overwritten.") @@ -4808,7 +4809,7 @@ fn import_map_arg_parse(flags: &mut Flags, matches: &mut ArgMatches) { } fn env_file_arg_parse(flags: &mut Flags, matches: &mut ArgMatches) { - flags.env_file = matches.remove_one::<String>("env"); + flags.env_file = matches.remove_one::<String>("env-file"); } fn reload_arg_parse(flags: &mut Flags, matches: &mut ArgMatches) { @@ -7606,7 +7607,7 @@ mod tests { } #[test] - fn run_env_file_default() { + fn run_env_default() { let r = flags_from_vec(svec!["deno", "run", "--env", "script.ts"]); assert_eq!( r.unwrap(), @@ -7622,6 +7623,22 @@ mod tests { } #[test] + fn run_env_file_default() { + let r = flags_from_vec(svec!["deno", "run", "--env-file", "script.ts"]); + assert_eq!( + r.unwrap(), + Flags { + subcommand: DenoSubcommand::Run(RunFlags::new_default( + "script.ts".to_string(), + )), + env_file: Some(".env".to_owned()), + code_cache_enabled: true, + ..Flags::default() + } + ); + } + + #[test] fn run_no_code_cache() { let r = flags_from_vec(svec!["deno", "run", "--no-code-cache", "script.ts"]); @@ -7637,7 +7654,7 @@ mod tests { } #[test] - fn run_env_file_defined() { + fn run_env_defined() { let r = flags_from_vec(svec!["deno", "run", "--env=.another_env", "script.ts"]); assert_eq!( @@ -7654,6 +7671,27 @@ mod tests { } #[test] + fn run_env_file_defined() { + let r = flags_from_vec(svec![ + "deno", + "run", + "--env-file=.another_env", + "script.ts" + ]); + assert_eq!( + r.unwrap(), + Flags { + subcommand: DenoSubcommand::Run(RunFlags::new_default( + "script.ts".to_string(), + )), + env_file: Some(".another_env".to_owned()), + code_cache_enabled: true, + ..Flags::default() + } + ); + } + + #[test] fn cache_multiple() { let r = flags_from_vec(svec!["deno", "cache", "script.ts", "script_two.ts"]); diff --git a/cli/args/mod.rs b/cli/args/mod.rs index ddfdb95c4..bd49c0c15 100644 --- a/cli/args/mod.rs +++ b/cli/args/mod.rs @@ -1885,7 +1885,7 @@ fn load_env_variables_from_env_file(filename: Option<&String>) { Err(error) => { match error { dotenvy::Error::LineParse(line, index)=> log::info!("{} Parsing failed within the specified environment file: {} at index: {} of the value: {}",colors::yellow("Warning"), env_file_name, index, line), - dotenvy::Error::Io(_)=> log::info!("{} The `--env` flag was used, but the environment file specified '{}' was not found.",colors::yellow("Warning"),env_file_name), + dotenvy::Error::Io(_)=> log::info!("{} The `--env-file` flag was used, but the environment file specified '{}' was not found.",colors::yellow("Warning"),env_file_name), dotenvy::Error::EnvVar(_)=> log::info!("{} One or more of the environment variables isn't present or not unicode within the specified environment file: {}",colors::yellow("Warning"),env_file_name), _ => log::info!("{} Unknown failure occurred with the specified environment file: {}", colors::yellow("Warning"), env_file_name), } diff --git a/tests/testdata/eval/env_file_missing.out b/tests/testdata/eval/env_file_missing.out index 2ec371438..b9e219af3 100644 --- a/tests/testdata/eval/env_file_missing.out +++ b/tests/testdata/eval/env_file_missing.out @@ -1,2 +1,2 @@ -Warning The `--env` flag was used, but the environment file specified 'missing' was not found. +Warning The `--env-file` flag was used, but the environment file specified 'missing' was not found. undefined diff --git a/tests/testdata/run/env_file_missing.out b/tests/testdata/run/env_file_missing.out index 6ec9b298f..f50c1789e 100644 --- a/tests/testdata/run/env_file_missing.out +++ b/tests/testdata/run/env_file_missing.out @@ -1,4 +1,4 @@ -Warning The `--env` flag was used, but the environment file specified 'missing' was not found. +Warning The `--env-file` flag was used, but the environment file specified 'missing' was not found. undefined undefined undefined |