
Product
Introducing Tier 1 Reachability: Precision CVE Triage for Enterprise Teams
Socket’s new Tier 1 Reachability filters out up to 80% of irrelevant CVEs, so security teams can focus on the vulnerabilities that matter.
@learningalbum/env-validation
Advanced tools
This library is designed to support validating environment variables for a nodejs application of any kind.
In a file (e.g. config.js
)
require('dotenv').config();
const {validate, validations, preProcessors} = require('@learningalbum/env-validation');
const {castBool} = preProcessors;
const {mustBeOneOf, requiredIfPresent, requiredIfTrue} = validations;
const varsConfig = [
// Array of variable configs (see below)
{
name: 'MY_VAR',
require: true,
}
]
// Get the validated vars into an object like {VAR1, VAR2, VAR3, etc}
module.exports = validate(varsConfig);
Then in your application code, wherever you need config from your env, you do stuff like:
const { MY_VAR } = require('config.js');
// Do something with MY_VAR
or, if using ESM:
import envs from './config.js';
const { MY_VAR } = envs;
If MY_VAR
doesn't validate in the way you've configured in config.js, an error will be thrown with an error message
describing why.
Declare each variable you want to validate. For full details on the interface, please see src/types.ts
.
key | type | required? | description |
---|---|---|---|
name | string | yes | the name of the variable to pick up from process.env |
default | any | no | a default value to use |
preProcess | (val: any) => any | no | function to transform the value before any validation |
validations | array of (val: any, context?: EnvContext) => boolean | no | function to validate the value |
deprecated | boolean | no | whether this var is marked as deprecated |
message | string | no | the deprecation message to show if the deprecated var is present (only relevant when deprecated: true ) |
FAQs
Validate environment config
We found that @learningalbum/env-validation demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket’s new Tier 1 Reachability filters out up to 80% of irrelevant CVEs, so security teams can focus on the vulnerabilities that matter.
Research
/Security News
Ongoing npm supply chain attack spreads to DuckDB: multiple packages compromised with the same wallet-drainer malware.
Security News
The MCP Steering Committee has launched the official MCP Registry in preview, a central hub for discovering and publishing MCP servers.