summaryrefslogtreecommitdiff
path: root/cli/args/mod.rs
diff options
context:
space:
mode:
authorAsher Gomez <ashersaupingomez@gmail.com>2023-11-02 02:21:13 +1100
committerGitHub <noreply@github.com>2023-11-01 15:21:13 +0000
commitf8f4e776325efe0d8dd50207beecb425f0875999 (patch)
treef8781d719f6e980fe34dcf415e607e2826692573 /cli/args/mod.rs
parent53248e9bb3123a1b684f3f9f744bb671dfa53bc1 (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.rs7
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,