Skip to content
guilledllPublic

About

Handle environment variables in Deno with ease.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

13 Commits

Folders and files

Repository files navigation

Environment variables manager for Deno

JSR Scope JSR JSR Score

Complete set of utils manage environment variables in Deno applications.

Features

  • Set, Get, Check and Delete: Simple functions to handle all your variables.
  • Intuitive and fully documented API: Handle single or multiple variables with ease.
  • Custom environment filename: Supports loading .env file with custom naming.
  • Auto loading variables: If preferred, use one line to load your .env file.
  • Fully tested: 100% code and branch coverage using Deno test utils.

Installation

deno add @guille/env

Usage

Auto load the .env file or manually load with custom filename:

import 'jsr:@guille/env/load';

// === OR ===

import { initEnv } from 'jsr:@guille/env';

await initEnv('.env.local');

Get single or multiple variables at once:

import { getEnv } from 'jsr:@guille/env';

const host = getEnv('DB_HOST'); // '127.0.0.1'
const [host, port] = getEnv('DB_HOST', 'DB_HOST'); // ['127.0.0.1', '5432']

Check existence of single or multiple variables:

import { hasEnv } from 'jsr:@guille/env';

if (hasEnv('FEATURE_ENABLED')) {
  // Do things....
}

const [driver, port] = hasEnv('MAIL_DRIVER', 'WRONG'); // [true, false]

Check if all variables exists, useful to validate feature access:

import { hasEnvAll } from 'jsr:@guille/env';

if (hasEnvAll('MAIL_DRIVER', 'MAIL_PORT', 'MAIL_USER')) {
  // Proceed to send emails....
}

Manually set variables at runtime:

import { setEnv } from 'jsr:@guille/env';

setEnv('QUEUE_AMOUNT', '35');
const queueAmount = getEnv('QUEUE_AMOUNT'); // '35'

Delete single or multiple variables from environment:

import { delEnv } from 'jsr:@guille/env';

delEnv('DB_HOST');
const host = getEnv('DB_HOST'); // undefined

Issues

Any question of issue found? Please rise it on the Issues page.

Contributing

Thanks for considering contributing to this project! Please make a Pull Request to see your contribution added!

License

This project is licensed under the MIT license.

About

Handle environment variables in Deno with ease.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages