dotenv
dotenv copied to clipboard
template is not created in working directory
When I create a template from an existing .env
file located in another directory as my working directory, the template is not created in my working directory
Steps to reproduce
mkdir temp
echo "setting=123" > temp/.env
dotenv -t temp/.env
cat temp/.env.template
Expected behavior
I expected the .env.template
to be created in my current (working) directory and not in the directory of the .env
file as per the documentation.
System configuration
dotenv version: dotenv 2.8.1
The documentation shows one creating a template from .env
not temp/.env
:
https://github.com/bkeepers/dotenv#should-i-commit-my-env-file
So, were you to run the example code, then "A template will be created in your working directory named {FINAME}.template
. So in the above example, it would create a .env.template
file."
If you look at the code: https://github.com/bkeepers/dotenv/blob/45b712a5c17d707959df69595b1dd12e0a18cfd1/lib/dotenv/template.rb#L9-L17
...then you will see that it just takes the filename passed on the CLI (including the path; the input file name {FINAME}
referenced in the docs) and appends .template
to create the template filename.
After looking at it, I think that the current functionality is the expected behavior.
Indeed, that is what the code does and what I pointed out to be be incompatible with the documentation. The template is not created in the working directory but in the directory where the .env lives. In the documentation example they happen to be the same.
If this is the expected behavior the documentation could be updated, if the documentation is right, the code could be updated, but right now they are not compatible with each other.