Add test for transitively requiring a module that is already cached #106
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.
Given a module A, which is required by B, which again is required by C, one would expect the following to work:
We would expect module C to reference B, which references the quibbled version of A. Instead, it references the original non-quibbled version.
This seems to happen because the loader, when processing C's
require('./B')
, sees that B itself is not quibbled, and therefore loads it normally.And because B is already cached, and that version references the non-quibbled version of A, we pull in the non-quibbled A as well.
This commit just adds a (failing) test for the issue. I don't have a sufficient understanding of quibble's internals to try to write a fix as well.