Skip to content

Repository files navigation

Env 🔁

Very simple Env get function for NodeJS

GitHub followersGitHub stars

Buy Me A Coffee

GitHub language countRepository sizeLicenseCommitizen

The intention behind this repository is to always maintain a viable and simple Env function to use in any type of NodeJS Framework. @secjs/env uses dotenv library to find .env file in the project root, you can run your application with environment NODE_ENV set and @secjs/env will try to find the .env.${NODE_ENV}.

Installation

npm install @secjs/env

Example

NODE_ENV=testing node index.js

If index.js file is using Env function the singleton of Env will run and verify if exists NODE_ENV. In this case Env will use .env.testing file.

Usage

You can use Env function as a global importing just one time the global file. Global already call resolveEnvFile function.

import'@secjs/env/src/utils/global.ts'Env('DB_DATABASE','my-database')

Or you can call directly the Env function, but first you will need to call resolveEnvFile to get the env file by NODE_ENV.

import{Env,resolveEnvFile}from'@secjs/env'// Simulating .env fileHOST='127.0.0.1'PORT=3333DB_PORT=5432DB_DEBUG=falseDB_DATABASE='database'APP_URL='http://${HOST}:${PORT}'// Important to resolve env fileresolveEnvFile()// The response value will be the value of DB_DATABASE variable or my-database by defaultconstdb=Env('DB_DATABASE','my-database')console.log(db)// 'database'// Template string supportconstappUrl=Env('APP_URL','http://localhost:3000')console.log(appUrl)// 'http://127.0.0.1:3333'constdbPort=Env('DB_PORT','5432')console.log(dbPort)// '5432'constdbDebug=Env('DB_DEBUG','false')console.log(dbDebug)// 'false' // Same as true valueconstdbPortCasted=Env({name: 'DB_PORT',type: 'number'},5432)console.log(dbPortCasted)// 5432constdbDebugCasted=Env({name: 'DB_DEBUG',type: 'boolean'},false)console.log(dbDebugCasted)// false

License

Made with 🖤 by jlenon7 👋

About

🔁 Simple Env function to get env variables in Node.js

Topics

Resources

Contributing

Stars

5 stars

Watchers

2 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages