UNPKG

env-escort

Version:

A simple CLI tool to validate .env files against .env.example

99 lines (63 loc) 2.23 kB
# env-escort ## Overview `env-escort` is a simple CLI tool that ensures all required environment variables are correctly set before running your application. It compares the `.env` file(s) with `env.example` and throws an error if any required variables are missing. ## Features - **Automatic Environment Validation**: Ensures all necessary variables exist. - **Checks .env File**: Checks across `.env`. - **Easy Integration**: Can be added to the build pipeline to prevent missing environment configurations. ## Installation You can install `env-escort` locally in your project: ```sh npm install env-escort --save-dev ``` Or install it globally: ```sh npm install -g env-escort ``` ## Usage ### 1. Add an `env.example` File Ensure your project has an `env.example` file listing all required environment variables: ``` DATABASE_URL=postgres://user:pass@localhost:5432/dbname API_KEY=your-api-key PORT=3000 ``` ### 2. Run `env-escort` in Your Project Run the following command to check if all required environment variables are present: ```sh npx env-escort check ``` If any required variables are missing, `env-escort` will throw an error and exit with status `1`. ### 3. Add to `package.json` Scripts To automatically check environment variables before building, update your `package.json`: ```json { "scripts": { "build": "env-escort check && your-build-command" } } ``` Now, running `npm run build` will first validate environment variables. ## Example Output ✅ **When all environment variables are set:** ```sh All required environment variables are set. ``` ❌ **When some environment variables are missing:** ```sh ERROR: Missing environment variables: API_KEY, DATABASE_URL ``` ## How It Works 1. Reads `env.example` to determine required environment variables. 2. Checks `.env` for actual values. 3. If any variables from `env.example` are missing, an error is thrown. ## Contributing We welcome contributions! To contribute: 1. Fork this repository. 2. Create a new branch (`feature/my-feature`). 3. Make your changes and commit them. 4. Open a pull request. ## License This project is licensed under the MIT License. --- For any issues or suggestions, please open an issue.