Very simple Env get function for NodeJS
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}.
npm install @secjs/envNODE_ENV=testing node index.jsIf 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.
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)// falseMade with 🖤 by jlenon7 👋

