UNPKG

managedenv

Version:

Manage your environment variables with ease

80 lines (52 loc) 2.41 kB
# ManagedEnv [![CI: Test (Node.js)](https://github.com/GalvinPython/managedenv/actions/workflows/test-node.yml/badge.svg)](https://github.com/GalvinPython/managedenv/actions/workflows/test-node.yml) [![Publish Package to npmjs](https://github.com/GalvinPython/managedenv/actions/workflows/main.yml/badge.svg)](https://github.com/GalvinPython/managedenv/actions/workflows/main.yml) [![NPM Version](https://img.shields.io/npm/v/managedenv)](https://www.npmjs.com/package/managedenv) [![Supported NodeJS Versions](https://img.shields.io/badge/NodeJS%20Versions-20,22,24,25-blue)](https://www.npmjs.com/package/managedenv) Notice: ManagedEnv is currently in beta ManagedEnv is a lightweight, zero-dependency environment variable management package. It allows you to define, load, and validate environment variables with ease, making it a powerful tool for managing your application's configuration and environment variables. # Features Features of ManagedEnv are that: - It's type-safe - Auto-casted typings means that you can easily see variables that exist or don't exist - Declare required and optional variables - Scope your variables to different projects (useful in monorepo settings) - Set fallback environment variables (such as ports) # Example Usage As ManagedEnv is in beta, there's likely to be future API changes, however this how you use the current API: Lets assume in your project, you have a `.env` file that looks like ```bash API_KEY=test ``` In your file (for example `index.ts`): ```ts // Import the EnvManager class from managedenv import { EnvManager } from "managedenv"; // Create a new instance, but remember to call `.add()` to the end of it const envManager = new EnvManager().add({ name: "API_KEY", required: false, }); // Load the variables using the `.load()` function const envs = envManager.load(); // To verify it works console.log("API_KEY:", envs.env.API_KEY); ``` Now this has native support for Bun at the moment, so in your terminal run your file and verify the output: ```bash $ bun index.ts ``` ```bash API_KEY: test ``` # Changelog ## Preview ### 0.2.0 - Removed `flag` property in favour of `useFlagInstead` - Added new `useWithFlag` property to load an environment variable when an associated flag is passed into the arguments ### 0.1.0 - Added documentation - First release ### 0.0.1 _Note: This version was never published_ - Initial commit