This repository has been archived by the owner on Aug 7, 2021. It is now read-only.
fix: Set INIT_CWD env in all before-* hooks #480
Merged
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.
In a long living process, where the project can be changed, we need to set
the INIT_CWD environment variable in all before-* hooks. Currently it is
set only in the
before-watchPatterns
hook. This way, when we use webpackfor a project and later we try to use webpack for another project, we try
to execute some operations based on the INIT_CWD directory, which still
points to our old project. In order to fix this unexpected behavior, set
the INIT_CWD in all before-* hooks, as some of them may be skipped based
on the state of the project.
PR Checklist
What is the current behavior?
Currently when you try to use webpack to build more than one project in the same process (for example in Sidekick), the INIT_CWD variable is set when the first project is built. When the next project should be build, the INIT_CWD env variable is already set and the hooks of the second project are not executed correctly as they search for their resources in the first project.
What is the new behavior?
Set INIT_CWD environment variable in all before-* hooks, so multiple projects can be build in the same process.