quibble
quibble copied to clipboard
Add test for transitively requiring a module that is already cached
Given a module A, which is required by B, which again is required by C, one would expect the following to work:
- require module B
- quibble module A
- load module C
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.