fix: output .env file is now relative to project root, not cwd #3435
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
dfx.json can specify
output_env_file
(the default for new projects is".env"
), and some commands accept--output-env-file .env
on the command line.If
dfx deploy
,dfx build
, ordfx canister install
were executed in a subdirectory of a project, they would create/read this file in that subdirectory, rather than the same directory as dfx.json (the project root).With this change, the location of the env file is taken to be relative to the project root, and furthermore must be contained within the project directory.
Also fixed three places that could output "No such file or directory (OS error 2)" without telling which path wasn't found.
Fixes: https://dfinity.atlassian.net/browse/SDK-1028
How Has This Been Tested?
Added e2e tests.
Checklist: