Skip to content

dephub-js/env

Repository files navigation

@dephub/env 🔧

Load environment variables from .env files into process.env

NPM version ESM-only


Features ✨

  • 📁 Load .env files into process.env
  • 🐚 Generate shell exports (bash, zsh, fish, PowerShell)
  • 🔧 Simple API - loadEnv() and CLI
  • 🛡️ TypeScript support
  • 💻 Cross-platform shell support

Installation 📦

  • npm: npm install @dephub/env
  • pnpm: pnpm add @dephub/env
  • yarn: yarn add @dephub/env
  • bun: bun add @dephub/env

Quick Start 🚀

# CLI - load .env and export to shell
eval "$(env)"

# API - load into process.env
import { loadEnv } from '@dephub/env';
await loadEnv();

Usage

CLI

# Load .env and generate shell exports
eval "$(env)"

# From specific directory
eval "$(env --project ./my-app)"

# Different shell formats
env --shell powershell
env --shell fish

API

import { loadEnv } from '@dephub/env';

// Load .env into process.env
const { variables, loaded } = await loadEnv();

// Use variables directly
console.log(process.env.DATABASE_URL);
console.log(variables.API_KEY);

API

loadEnv(project?)

Load .env file and set process.env

Parameters:

  • project - Directory containing .env (default: current)

Returns:

{
  variables: Record<string, string>; // Parsed vars
  loaded: boolean; // File was found and loaded
}

CLI Options

  • --project - Project directory
  • --shell - Output format: bash, zsh, fish, powershell

Examples

Basic App Setup

// Load env before app starts
await loadEnv();

// Now available in process.env
server.listen(process.env.PORT);
db.connect(process.env.DATABASE_URL);

Shell Integration

# Development setup
echo 'eval "$(env)"' >> ~/.zshrc

# Project-specific
echo 'eval "$(env --project ~/projects/my-app)"' >> ~/.bashrc

License 📄

MIT License – see LICENSE for details.

Author: Estarlin R (estarlincito.com)

About

Environment variable management with .env file support, shell export generation, and process environment integration

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors