fix: use webpack loader context to implement addWatchFile #359
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.
β Type of change
π Description
The current implementation of
addWatchFile
in webpack uses thecompilation.fileDependencies
, which does result in the file being watched, but does not associate it with the current module being processed by a loader. As a result, webpack does not trigger recompilation of that module.This PR fixes this by using the loader context's
addDependency
function, which both watches the file and adds it as a dependency of the module so it triggers recompilation. A similar API is used for resolvers as well.Not sure if there is a way to unit test this: I didn't see any tests for watch behavior. However I did test this by npm linking into a project and using the
addWatchFile
in a webpack project.π Checklist