env-validate
Version:
Validates your environment variables are set at runtime.
76 lines (53 loc) • 2.35 kB
Markdown
[](https://github.com/olivermicke/env-validate/blob/master/LICENSE)
[](https://www.npmjs.com/package/env-validate)
[](https://travis-ci.com/olivermicke/env-validate)
[](https://github.com/olivermicke/env-validate/blob/master/src/env-validate.d.ts)
# env-validate
env-validate is a zero-dependency library which validates that the environment variables specified in your `.env.template` file are set at runtime.
## Installation
```console
yarn add env-validate
```
```console
npm install env-validate --save
```
## Usage
By default, env-validate will look for a `.env.template` file in one of its parent directories so that you don't have to provide a single argument.
```js
const envValidate = require('env-validate');
// Throws if any variable specified in `.env.template` is not set at runtime.
envValidate();
```
Alternatively, you can [explicitly pass in the absolute path of your template file](#templatePath).
### Optional Args
Optionally, an object containing any of these properties can be passed as argument:
```typescript
{
onError?: Function;
optionals?: string[];
templatePath?: string;
}
```
##### onError
A custom error callback can be specified. Instead of throwing, env-validate will call the given function.
```js
envValidate({
onError: envVarName => {
console.log(envVarName);
},
});
```
##### optionals
If any of the variables declared in your template file should be treated as optional, you can pass them in as array. env-validate will not throw an exception or call `onError` for `optionals`.
```js
envValidate({
optionals: ['FOO'],
});
```
##### templatePath
env-validate will try to automatically find your template file by recursively looking for a `.env.template` in one of its _direct parent_ directories. Should your template file not be found, you can explicitly specify the absolute path of your template file.
```js
envValidate({
templatePath: '<absolute-path-to-template-file>',
});
```