https://github.com/galvinpython/managedenv
https://github.com/galvinpython/managedenv
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/galvinpython/managedenv
- Owner: GalvinPython
- License: mit
- Created: 2025-07-29T21:57:22.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-08-01T11:06:29.000Z (5 months ago)
- Last Synced: 2025-08-01T11:18:41.465Z (5 months ago)
- Language: TypeScript
- Size: 41 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# ManagedEnv
[](https://github.com/GalvinPython/managedenv/actions/workflows/main.yml)
[](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.1.0
- Added documentation
- First release
### 0.0.1
_Note: This version was never published_
- Initial commit