env-forge
v1.0.0
Published
A package that validates environment variable keys
Maintainers
Readme
EnvForge
Description
envForge is an npm package that simplifies the process of defining and validating environment variable schemas in your Node.js applications. With envForge, you can easily define a schema for your environment variables and ensure that your application's configuration meets the required specifications.
Installation
To install envForge, use npm:
npm install envForge
or
yarn add envForgeGetting Started
const envForge = require('envForge');Define schema
const defaultSchema = new EnvForge({path:"./.env"});
defaultSchema.createSchema({
API_URL:[
"required",
],
S3_BUCKET_URL:[
"required"
]
});
// Will validate, if any error will throw an error
defaultSchema.validate();How to access keys
// You can get all keys
defaultSchema.getAllKeys()
// You can get keys that defined in ur .env file
defaultSchema.getParsedKeys();API Reference
Current Validations
required- To make sure the key is present in .env file.
boolean- To make sure the key is
trueorfalse
- To make sure the key is
isin- To make an enum for a key values.
isIn:FIRST,SECOND,THIRD, you use:as delimiter to separate the validation with the data and,is used to separate the values.
isarray- To make sure the key value is array when parsed.
Example
Required
defaultSchema.createSchema({
API_URL:[
"required",
],
S3_BUCKET_URL:[
"required"
]
});Boolean
defaultSchema.createSchema({
IS_DEVELOPMENT:[
"boolean",
],
});isArray
defaultSchema.createSchema({
DATA:[
"isarray",
],
});isIn
defaultSchema.createSchema({
ENVS:[
"isin:DEV,STAGE,PROD",
],
});Other
- prefixWithKeys
// To prefix all the keys with "REACT_"
defaultSchema.createSchema({
API_URL:[
"required",
],
},{
prefixKeysWith:"REACT_",
});- totalKeys
defaultSchema.createSchema({
API_URL:[
"required",
],
},{
totalKeys:10,
});
// This will make sure total keys in environment variable must be 10.- strict
defaultSchema.createSchema({
API_URL:[
"required",
],
},{
totalKeys:10,
strict:true
});
// Strict option gets with totalKeys, setting it true make sure that totalKeys are exact number.License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
