Skip to main content

Environment variables

There are a few ways to use environment variables in Deno:

Built-in Deno.env

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

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.201.0/dotenv/mod.ts";

const env = await load();
const password = env["PASSWORD"];

console.log(password);
// "Geheimnis"

std/flags

The Deno standard library has a std/flags module for parsing command line arguments.