This package is a type-safe parser for .env files. It is built for node.js based typescript applications.
Recommending NodeJS v18.x (LTS) or later
This package cannot load the environment variables itself. You need to use something like
dotenv
or latest NodeJs built-in env-file loader
$ npm i @mx7/tenv
# or
$ yarn add @mx7/tenv
# or
$ pnpm add @mx7/tenv
import 'dotenv/config'; // peer dependency (if you are using dotenv)
import Env from '@mx7/tenv';
const parsed = process.env as Record<string, string>;
const env = new Env(parsed); // instance of Env class
const port = env.key<number>('PORT', true).integer().unsigned().get();
// or, set a default value instead of make this required
const port = env.key<number>('PORT', 3000).integer().unsigned().get();
console.log(port); // i.e. 3000 as number
Method | Description | Action |
---|---|---|
get() |
Get the value of the environment variable. Should be called at last as chained | value with expected type |
key() |
key<T = string>(key: string, factor?: boolean | T) Define the variable name as key & follow next:- set factor : true if it is required!- set factor : false or undefined (no need to pass) for accepting undefined value if not exists!- set factor : T (generic) as your default value |
|
email() |
It will validate the passed string as email | |
url() |
It will validate the passed string as url. if it requires IPv6 address, do it as url({ ipv6: true }) |
|
integer() |
It will validate the passed value as integer | |
float() |
It will validate the passed value as float | |
signed() |
It will validate the passed value as signed number | |
unsigned() |
It will validate the passed value as unsigned number | |
boolean() |
It will validate the passed value as boolean |
Made with ❤️ by @mahabubx7
Version | Released At | Description |
---|---|---|
v1.1.0 minor |
2024-01-31 | Minor update release v1.1 |
v1.0.0 stable |
2024-01-31 | Major stable release v1.x |
v0.7.7 stable |
2024-01-31 | First stable release with new feature => default value can attached with key() method |
v0.7.2 beta |
2024-01-31 | Added more supports and fixes small & minor issues with changes |
v0.7.0 beta |
2024-01-30 | @mx7/tenv with nodejs v18.x LTS or later compatible for type-safe .env variable parser |