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 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)
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
API_KEY=testIn your file (for example index.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:
$ bun index.tsAPI_KEY: test- Removed
flagproperty in favour ofuseFlagInstead - Added new
useWithFlagproperty to load an environment variable when an associated flag is passed into the arguments
- Added documentation
- First release
Note: This version was never published
- Initial commit