🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

12factor-env

Package Overview
Dependencies
Maintainers
1
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

12factor-env - npm Package Compare versions

Comparing version
1.16.0
to
1.17.0
+17
-0
esm/index.d.ts

@@ -21,2 +21,19 @@ import type { CleanedEnv, CleanOptions, Spec, ValidatorSpec } from 'envalid';

/**
* Rollout valve for enforcing newly-reclassified env vars (class 2/3).
*
* When a var is promoted from "always has a baked default" to "must be provided
* in production", a big-bang hard-throw can break every deploy that silently
* relied on the old default. `STRICT_ENV` lets that enforcement roll out safely:
*
* - `STRICT_ENV=throw` -> hard-fail (throw) on a missing/unsafe value
* - anything else, INCLUDING UNSET -> `warn` (log loudly, keep booting)
*
* Defaulting to `warn` means enforcement surfaces in logs for a release before
* it is turned into a hard failure. NOTE: this only governs opt-in enforcement
* helpers (e.g. `assertProductionEnvOptions`); the `env()`/`cleanEnv` validators
* always throw, so existing `required()`/`devDefault()` guarantees are unchanged.
*/
export type StrictEnvMode = 'warn' | 'throw';
export declare const getStrictEnvMode: (environment?: Record<string, string | undefined>) => StrictEnvMode;
/**
* Wrapper around envalid's cleanEnv that uses a throwing reporter by default

@@ -23,0 +40,0 @@ * This prevents process.exit from being called on validation errors

+1
-0

@@ -16,2 +16,3 @@ import { bool, cleanEnv as envalidCleanEnv, email, EnvError, EnvMissingError, host, json, makeValidator, num, port, str, testOnly, url } from 'envalid';

export const isDevelopment = (environment = process.env) => getNodeEnv(environment) === 'development';
export const getStrictEnvMode = (environment = process.env) => environment.STRICT_ENV?.toLowerCase() === 'throw' ? 'throw' : 'warn';
/**

@@ -18,0 +19,0 @@ * Return a copy of `environment` with `NODE_ENV` populated per house semantics

@@ -21,2 +21,19 @@ import type { CleanedEnv, CleanOptions, Spec, ValidatorSpec } from 'envalid';

/**
* Rollout valve for enforcing newly-reclassified env vars (class 2/3).
*
* When a var is promoted from "always has a baked default" to "must be provided
* in production", a big-bang hard-throw can break every deploy that silently
* relied on the old default. `STRICT_ENV` lets that enforcement roll out safely:
*
* - `STRICT_ENV=throw` -> hard-fail (throw) on a missing/unsafe value
* - anything else, INCLUDING UNSET -> `warn` (log loudly, keep booting)
*
* Defaulting to `warn` means enforcement surfaces in logs for a release before
* it is turned into a hard failure. NOTE: this only governs opt-in enforcement
* helpers (e.g. `assertProductionEnvOptions`); the `env()`/`cleanEnv` validators
* always throw, so existing `required()`/`devDefault()` guarantees are unchanged.
*/
export type StrictEnvMode = 'warn' | 'throw';
export declare const getStrictEnvMode: (environment?: Record<string, string | undefined>) => StrictEnvMode;
/**
* Wrapper around envalid's cleanEnv that uses a throwing reporter by default

@@ -23,0 +40,0 @@ * This prevents process.exit from being called on validation errors

+3
-1
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.withDefault = exports.url = exports.testOnly = exports.str = exports.secretPath = exports.secretEnv = exports.secret = exports.required = exports.port = exports.parseEnvNumber = exports.parseEnvBoolean = exports.num = exports.makeValidator = exports.json = exports.host = exports.getSecretsPath = exports.getSecret = exports.EnvMissingError = exports.EnvError = exports.env = exports.email = exports.devDefault = exports.cleanEnv = exports.boolish = exports.bool = exports.isDevelopment = exports.isTest = exports.isProduction = exports.getNodeEnv = void 0;
exports.withDefault = exports.url = exports.testOnly = exports.str = exports.secretPath = exports.secretEnv = exports.secret = exports.required = exports.port = exports.parseEnvNumber = exports.parseEnvBoolean = exports.num = exports.makeValidator = exports.json = exports.host = exports.getSecretsPath = exports.getSecret = exports.EnvMissingError = exports.EnvError = exports.env = exports.email = exports.devDefault = exports.cleanEnv = exports.boolish = exports.bool = exports.getStrictEnvMode = exports.isDevelopment = exports.isTest = exports.isProduction = exports.getNodeEnv = void 0;
const envalid_1 = require("envalid");

@@ -35,2 +35,4 @@ Object.defineProperty(exports, "bool", { enumerable: true, get: function () { return envalid_1.bool; } });

exports.isDevelopment = isDevelopment;
const getStrictEnvMode = (environment = process.env) => environment.STRICT_ENV?.toLowerCase() === 'throw' ? 'throw' : 'warn';
exports.getStrictEnvMode = getStrictEnvMode;
/**

@@ -37,0 +39,0 @@ * Return a copy of `environment` with `NODE_ENV` populated per house semantics

{
"name": "12factor-env",
"version": "1.16.0",
"version": "1.17.0",
"author": "Constructive <developers@constructive.io>",

@@ -49,3 +49,3 @@ "description": "Environment variable validation with secret file support for 12-factor apps",

],
"gitHead": "e72d4d2bc42d1f84f7a68231b9d4c1d8f7885203"
"gitHead": "ff6c442b789cbe8803f33036110f6e09124e65df"
}