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

envalid

Package Overview
Dependencies
Maintainers
1
Versions
60
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

envalid - npm Package Compare versions

Comparing version
8.0.0-beta.2
to
8.0.0-beta.3
+2
-2
dist/core.js
"use strict";
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSanitizedEnv = exports.testOnlySymbol = void 0;

@@ -68,3 +68,3 @@ var errors_1 = require("./errors");

if ('default' in spec) {
cleanedEnv[k] = spec["default"];
cleanedEnv[k] = spec.default;
continue;

@@ -71,0 +71,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
"use strict";
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", { value: true });
exports.testOnly = exports.customCleanEnv = exports.cleanEnv = void 0;

@@ -4,0 +4,0 @@ var core_1 = require("./core");

"use strict";
// Surprisingly involved error subclassing
// See https://stackoverflow.com/questions/41102060/typescript-extending-error-class
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EnvMissingError = exports.EnvError = void 0;

@@ -6,0 +6,0 @@ var tslib_1 = require("tslib");

"use strict";
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", { value: true });
exports.makeValidator = exports.makeExactValidator = void 0;

@@ -12,4 +12,4 @@ var tslib_1 = require("tslib");

var makers_1 = require("./makers");
tslib_1.__createBinding(exports, makers_1, "makeExactValidator");
tslib_1.__createBinding(exports, makers_1, "makeValidator");
Object.defineProperty(exports, "makeExactValidator", { enumerable: true, get: function () { return makers_1.makeExactValidator; } });
Object.defineProperty(exports, "makeValidator", { enumerable: true, get: function () { return makers_1.makeValidator; } });
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,oDAAyB;AACzB,mDAAwB;AACxB,uDAA4B;AAC5B,kDAAuB;AACvB,uDAA4B;AAC5B,qDAA0B;AAC1B,mCAA4D;AAAnD,iEAAkB;AAAE,4DAAa"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,oDAAyB;AACzB,mDAAwB;AACxB,uDAA4B;AAC5B,kDAAuB;AACvB,uDAA4B;AAC5B,qDAA0B;AAC1B,mCAA4D;AAAnD,4GAAA,kBAAkB,OAAA;AAAE,uGAAA,aAAa,OAAA"}
"use strict";
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", { value: true });
exports.makeStructuredValidator = exports.makeExactValidator = exports.makeValidator = void 0;

@@ -4,0 +4,0 @@ var tslib_1 = require("tslib");

"use strict";
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", { value: true });
exports.applyDefaultMiddleware = exports.accessorMiddleware = exports.strictProxyMiddleware = void 0;

@@ -49,3 +49,3 @@ var strictProxyMiddleware = function (envObj, rawEnv, options) {

throw new TypeError("[envalid] Attempt to mutate environment value: ".concat(name));
}
},
});

@@ -66,3 +66,3 @@ };

isProd: { value: isProd },
isTest: { value: computedNodeEnv === 'test' }
isTest: { value: computedNodeEnv === 'test' },
});

@@ -69,0 +69,0 @@ return envObj;

"use strict";
var _a;
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultReporter = exports.envalidErrorFormatter = void 0;

@@ -16,3 +16,3 @@ /* eslint-disable no-console */

white: colorWith('37'),
yellow: colorWith('33')
yellow: colorWith('33'),
};

@@ -19,0 +19,0 @@ var RULE = colors.white('================================');

"use strict";
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=types.js.map
"use strict";
exports.__esModule = true;
Object.defineProperty(exports, "__esModule", { value: true });
exports.json = exports.url = exports.port = exports.host = exports.email = exports.str = exports.num = exports.bool = void 0;

@@ -4,0 +4,0 @@ var errors_1 = require("./errors");

{
"name": "envalid",
"version": "8.0.0-beta.2",
"version": "8.0.0-beta.3",
"description": "Validation for your environment variables",

@@ -37,13 +37,13 @@ "main": "dist/index.js",

"dependencies": {
"tslib": "2.4.1"
"tslib": "2.6.2"
},
"devDependencies": {
"@types/jest": "29.2.3",
"@types/node": "18.11.9",
"expect-type": "^0.15.0",
"husky": "8.0.2",
"jest": "29.3.1",
"prettier": "2.8.0",
"ts-jest": "29.0.3",
"typescript": "4.9.3"
"@types/jest": "29.5.5",
"@types/node": "20.6.2",
"expect-type": "^0.16.0",
"husky": "8.0.3",
"jest": "29.7.0",
"prettier": "3.0.3",
"ts-jest": "29.1.1",
"typescript": "5.2.2"
},

@@ -50,0 +50,0 @@ "author": "Aaron Franks",

+22
-22
<p align="center">
<img
src="https://raw.githubusercontent.com/cobraz/envalid/add-center-header/.github/logo.svg"
src="https://raw.githubusercontent.com/af/envalid/main/.github/logo.svg"
width="160"
alt="Envalid text logo with drop shadow"
/>

@@ -17,3 +18,3 @@ </p>

<a href="https://github.com/af/envalid/actions/workflows/ci.yml">
<img src="https://github.com/af/envalid/workflows/continuous-integration/badge.svg" alt="Build Status" />
<img src="https://github.com/af/envalid/workflows/continuous-integration/badge.svg" alt="Current GitHub Build Status Badge" />
</a>

@@ -25,8 +26,8 @@ </p>

- ensure that your program only runs when all of its environment dependencies are met
- give you executable documentation about the environment your program expects to run in
- give you an immutable API for your environment variables, so they don't change
- Ensure that your program only runs when all of its environment dependencies are met
- Give you executable documentation about the environment your program expects to run in
- Give you an immutable API for your environment variables, so they don't change
from under you while the program is running
## Why envalid?
## Why Envalid?

@@ -87,5 +88,5 @@ - Type-safe: written completely in TypeScript, with great support for inference

(booleans, numbers), or validate that an env var is in a specific format (JSON,
url, email address). To these ends, the following validation functions are available:
URL, email address). To these ends, the following validation functions are available:
- `str()` - Passes string values through, will ensure an value is present unless a
- `str()` - Passes string values through, will ensure a value is present unless a
`default` value is given. Note that an empty string is considered a valid value -

@@ -98,3 +99,3 @@ if this is undesirable you can easily create your own validator (see below)

- `port()` - Ensures an env var is a TCP port (1-65535)
- `url()` - Ensures an env var is a url with a protocol and hostname
- `url()` - Ensures an env var is a URL with a protocol and hostname
- `json()` - Parses an env var with `JSON.parse`

@@ -104,3 +105,3 @@

- `choices` - An Array that lists the admissable parsed values for the env var.
- `choices` - An Array that lists the admissible parsed values for the env var.
- `default` - A fallback value, which will be present in the output if the env var wasn't specified.

@@ -114,3 +115,3 @@ Providing a default effectively makes the env var optional. Note that `default`

- `example` - An example value for the env var.
- `docs` - A url that leads to more detailed documentation about the env var.
- `docs` - A URL that leads to more detailed documentation about the env var.

@@ -144,3 +145,3 @@ ## Custom validators

This validator has the output narrowed-down to a subtype of `BaseT` (e.g. `str`).
This validator has the output narrowed down to a subtype of `BaseT` (e.g. `str`).
Example of a custom integer validator:

@@ -155,3 +156,3 @@

const MAX_RETRIES = int({ choices: [1, 2, 3, 4] })
// Narrows down output type to '1 | 2 | 3 | 4' witch is a subtype of 'number'
// Narrows down output type to '1 | 2 | 3 | 4' which is a subtype of 'number'
```

@@ -180,3 +181,3 @@

By default, if any required environment variables are missing or have invalid
values, envalid will log a message and call `process.exit(1)`. You can override
values, Envalid will log a message and call `process.exit(1)`. You can override
this behavior by passing in your own function as `options.reporter`. For example:

@@ -192,3 +193,3 @@

Additionally, envalid exposes `EnvError` and `EnvMissingError`, which can be checked in case specific error handling is desired:
Additionally, Envalid exposes `EnvError` and `EnvMissingError`, which can be checked in case specific error handling is desired:

@@ -222,3 +223,3 @@ ```js

- `applyMiddleware` - A functions that can modify the env object after it's
- `applyMiddleware` - A function that can modify the env object after it's
validated and cleaned. Envalid ships (and exports) its own default

@@ -232,4 +233,3 @@ middleware (see src/middleware.ts), which you can mix and match with your own

A helper function called `testOnly` is available, in case you need an default env var value only when
`NODE_ENV=test`. It should be used along with `devDefault`, for example:
The `testOnly` helper function is available for setting a default value for an env var only when `NODE_ENV=test`. It is recommended to use this function along with `devDefault`. For example:

@@ -246,5 +246,5 @@ ```js

### Can I call `structuredClone()` on envalid's validated output?
### Can I call `structuredClone()` on Envalid's validated output?
Since by default envalid's output is wrapped in a Proxy, structuredClone [will not work](https://bugzilla.mozilla.org/show_bug.cgi?id=1269327#c1) on it. See [#177](https://github.com/af/envalid/issues/177).
Since by default Envalid's output is wrapped in a Proxy, structuredClone [will not work](https://bugzilla.mozilla.org/show_bug.cgi?id=1269327#c1) on it. See [#177](https://github.com/af/envalid/issues/177).

@@ -254,3 +254,3 @@ ## Related projects

- [dotenv](https://www.npmjs.com/package/dotenv) is a very handy tool for loading env vars from
`.env` files. It was previously used as a dependency of Envalid's. To use them together, simply
`.env` files. It was previously used as a dependency of Envalid. To use them together, simply
call `require('dotenv').config()` before you pass `process.env` to your `envalid.cleanEnv()`.

@@ -262,3 +262,3 @@

- [nestjs-envalid](https://github.com/cobraz/nestjs-envalid) is a wrapper for using Envalid with [NestJS](https://nestjs.com/)
- [nestjs-envalid](https://github.com/simenandre/nestjs-envalid) is a wrapper for using Envalid with [NestJS](https://nestjs.com/)

@@ -265,0 +265,0 @@ - [nuxt-envalid](https://github.com/manuelhenke/nuxt-envalid) is a wrapper for using Envalid with [NuxtJS](https://nuxtjs.org/)