diff options
author | Asher Gomez <ashersaupingomez@gmail.com> | 2023-11-02 02:21:13 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-01 15:21:13 +0000 |
commit | f8f4e776325efe0d8dd50207beecb425f0875999 (patch) | |
tree | f8781d719f6e980fe34dcf415e607e2826692573 /cli/args/mod.rs | |
parent | 53248e9bb3123a1b684f3f9f744bb671dfa53bc1 (diff) |
feat(unstable): `deno run --env` (#20300)
This change adds the `--env=[FILE]` flag to the `run`, `compile`,
`eval`, `install` and `repl` subcommands. Environment variables set in
the CLI overwrite those defined in the `.env` file.
Diffstat (limited to 'cli/args/mod.rs')
-rw-r--r-- | cli/args/mod.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/cli/args/mod.rs b/cli/args/mod.rs index 94eaf2a3e..b8b0a81f5 100644 --- a/cli/args/mod.rs +++ b/cli/args/mod.rs @@ -52,6 +52,7 @@ use deno_runtime::deno_tls::rustls_pemfile; use deno_runtime::deno_tls::webpki_roots; use deno_runtime::inspector_server::InspectorServer; use deno_runtime::permissions::PermissionsOptions; +use dotenvy::from_filename; use once_cell::sync::Lazy; use once_cell::sync::OnceCell; use serde::Deserialize; @@ -651,6 +652,12 @@ impl CliOptions { let maybe_vendor_folder = resolve_vendor_folder(&initial_cwd, &flags, maybe_config_file.as_ref()); + if let Some(env_file_name) = &flags.env_file { + if (from_filename(env_file_name)).is_err() { + bail!("Unable to load '{env_file_name}' environment variable file") + } + } + Ok(Self { flags, initial_cwd, |