Environment variables
There are a few ways to use environment variables in Deno:
Built-in Deno.env Jump to heading
The Deno runtime offers built-in support for environment variables with
Deno.env.
Deno.env has getter and setter methods. Here is example usage:
Deno.env.set("FIREBASE_API_KEY", "examplekey123");
Deno.env.set("FIREBASE_AUTH_DOMAIN", "firebasedomain.com");
console.log(Deno.env.get("FIREBASE_API_KEY")); // examplekey123
console.log(Deno.env.get("FIREBASE_AUTH_DOMAIN")); // firebasedomain.com
console.log(Deno.env.has("FIREBASE_AUTH_DOMAIN")); // true
.env file Jump to heading
You can also put environment variables in a .env file and retrieve them using
dotenv in the standard library.
Let's say you have an .env file that looks like this:
PASSWORD=Geheimnis
To access the environment variables in the .env file, import the load
function from the standard library. Then, import the configuration using it.
import { load } from "https://deno.land/std@0.224.0/dotenv/mod.ts";
const env = await load();
const password = env["PASSWORD"];
console.log(password);
// "Geheimnis"
std/cli Jump to heading
The Deno standard library has a
std/cli module for parsing command line
arguments.
Special environment variables Jump to heading
The Deno runtime has these special environment variables.
| name | description |
|---|---|
| DENO_AUTH_TOKENS | A semi-colon separated list of bearer tokens and hostnames to use when fetching remote modules from private repositories (e.g. abcde12345@deno.land;54321edcba@github.com) |
| DENO_TLS_CA_STORE | Comma-separated list of order dependent certificate stores. Possible values: system, mozilla. Defaults to mozilla. |
| DENO_CERT | Load certificate authority from PEM encoded file |
| DENO_DIR | Set the cache directory |
| DENO_INSTALL_ROOT | Set deno install's output directory (defaults to $HOME/.deno/bin) |
| DENO_REPL_HISTORY | Set REPL history file path History file is disabled when the value is empty (defaults to $DENO_DIR/deno_history.txt) |
| 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 available |
| DENO_V8_FLAGS | Set V8 command line options |
| DENO_JOBS | Number of parallel workers used for the --parallel flag with the test subcommand.Defaults to number of available CPUs. |
| HTTP_PROXY | Proxy address for HTTP requests (module downloads, fetch) |
| HTTPS_PROXY | Proxy address for HTTPS requests (module downloads, fetch) |
| NPM_CONFIG_REGISTRY | URL to use for the npm registry. |
| NO_COLOR | Set to disable color |
| NO_PROXY | Comma-separated list of hosts which do not use a proxy (module downloads, fetch) |
You can also view the same content with deno --help.