Keep Laravel .env Synced With Envy

Packages

March 2nd, 2022

laravel-envy.png

Envy is a package to keep your .env.example file up to date automatically:

This package works by scanning your project config files for calls to Laravel's env() function and comparing them against your configured environment files (i.e., .env.example). The package will then prompt you to either add them to the environment file or exclude them:

[image:F88EB794-28CD-4A12-AEEF-8C687761588D-6640-000208C00A66E2BF/3F169248-E57E-4144-BDC6-7AE848C901F5.png]

You can also prune environment files using the envy:prune command, which will compare the .env.example file against actual config and remove values in the environment file no longer in use.

Not only is this package easy to use out of the box, the configuration files include options such as copying the comments from the PHP config over to the .env.example file above the value as a valid DotEnv comment. You can also configure advanced exclusions using the Filter class provided by the package:

1// config/envy.php
2use Worksome\Envy\Support\Filters\Filter;
3 
4return [
5 // ...
6 'exclusions' => [
7 Filter::wildcard('STRIPE_*'),
8 ]
9];

The source code and documentation are available on GitHub at worksome/envy. You can get started with this package by installing it via composer:

1composer require worksome/envy --dev
2php artisan envy:install

Filed in:

Paul Redmond

Full stack web developer. Author of Lumen Programming Guide and Docker for PHP Developers.

Laravel News Partners