chihab / dotenv-run

Seamlessly load environment variables. Supports cli, esbuild, rollup, vite, webpack, angular. ESM and Monorepos.
238 stars 17 forks source link

Loading Priorities not working as documented with multiple files scenario: .env .secrets #96

Open xmlking opened 4 months ago

xmlking commented 4 months ago

I am trying following scenario: Loading Priorities works : .env, .env.local, .env.prod <--- this works for .env Loading Priorities not working with two files: .env, .env.local, .env.prod, .secrets, .secrets.prod <-- this not working with both .env and .secrets files

Expected MY_SECRET=prod (which is defined in .secrets.prod) but got MY_SECRET=dev (which is defined in .secrets)


NODE_ENV=prod dotenv-run -f .env -f .secrets -v '.*' -u            
---------------------------------
- Root directory:  /Users/xxx/Work/SPA/signals
- Working directory:  /Users/xxx/Work/SPA/signals
- Files: .env, .secrets
- Environment: prod
- Environment files: 
 ✔ /Users/xxx/Work/SPA/signals/.env.prod
 ✔ /Users/xxx/Work/SPA/signals/.env.local
 ✔ /Users/xxx/Work/SPA/signals/.env
 ✔ /Users/xxx/Work/SPA/signals/.secrets.prod
 ✔ /Users/xxx/Work/SPA/signals/.secrets
- Environment variables: .* (Unsecure Mode)
xmlking commented 4 months ago
image image image image image
chihab commented 3 months ago

Expected MY_SECRET=prod (which is defined in .secrets.prod) but got MY_SECRET=dev (which is defined in .secrets)

I guess here MY_SECRET is rather defined in one of the .env.* files which are loaded before as the output shows.

What is the debug output (the loading priorities) you expect:

NODE_ENV=prod dotenv-run -f .env -f .secrets -v '.*' -u            
---------------------------------
- Root directory:  /Users/xxx/Work/SPA/signals
- Working directory:  /Users/xxx/Work/SPA/signals
- Files: .env, .secrets
- Environment: prod
- Environment files: 
???
- Environment variables: .* (Unsecure Mode)