ps-dotenv icon indicating copy to clipboard operation
ps-dotenv copied to clipboard

Question: Where does ps-dotenv persist white lists?

Open jhholm opened this issue 5 months ago • 1 comments

I'm currently not sure if I'm using Approve-DotenvDir and Approve-DotenvFile correctly as it seems that the approvals are not persisted between terminal sessions.

I suppose this should work

  1. Open a new PowerShell terminal
  2. Create a new .env file e.g. echo FOO=BAR > c:\myexampledirectory.env
  3. Approve the folder/file e.g. Approve-DotenvDir c:\myexampledirectory
  4. Close the terminal
  5. Open a new terminal
  6. CD to the directory with the approved .env file e.g. cd c:\mygitdirectory
  7. Environment variable FOO should be loaded from the .env file

So step 7 doesn't work. I get an error message "file is not authorized, authorize it with Approve-DotenvFile or disable the safe mode". To get past this error, I would need to approve the file again.

To circumvent this I added my example directory to be approved in my $profile.

My $profile regarding dotenv

Import-Module Dotenv
Approve-DotenvDir C:\myexampledirectory
Enable-Dotenv

Am I overthinking this and something is just breaking the persistence of the approval? Or does the approval need to be run explicitly every time? I think direnv only requires reapproval if you make any changes to the file.

jhholm avatar Sep 06 '24 12:09 jhholm