testdouble / quibble

Makes it easy to replace require'd dependencies.
94 stars 25 forks source link

Possible module cache bug #114

Open olsonpm opened 4 months ago

olsonpm commented 4 months ago

I expect the module cache to be used for ./dep2.mjs in the following case.

repro code ```js // dep1.mjs export default {} // dep2.mjs export default {} // run.mjs import quibble from 'quibble' import dep1 from './dep1.mjs' import dep2 from './dep2.mjs' await quibble.esm('./dep1.mjs', {}, { mockDep1: true }) const dep2After = await import('./dep2.mjs') console.log('dep2 === dep2After: ' + (dep2 === dep2After)) // logs "dep2 === dep2After: false" ```
to reproduce from my branch ```sh $ git clone 'git@github.com:olsonpm/repro.git' $ cd repro $ git checkout quibble-show-module-cache-bug $ npm ci $ node run.mjs # logs "dep2 === dep2After: false" ```

is this expected behavior for some reason ? Or is this a regression of testdouble #492 ?

I'm willing to dig in if this is confirmed a bug.