decache (Delete Cache) lets you delete modules from node.js require() cache; useful when testing your modules/projects.
npm install decachedecacheDelete a module from node.js' require.cache so you can freshly require it again.
!GitHub Workflow Status




In node.js when you require() a module, node stores a cached version of the
module, so that all subsequent calls to require() do not have to reload
the module from the filesystem.
decache ( _Delete Cache_ ) lets you delete modules from node.js require() cache
this is useful when _testing_ your modules/projects.
When testing our modules we often need to re-require the module being tested.
This makes it easy.
An easy way to delete a cached module.
Install the module from npm:
``sh`
npm install decache --save-dev
`js
// require the decache module:
const decache = require('decache');
// require a module that you wrote"
let mymod = require('./mymodule.js');
// use your module the way you need to:
console.log(mymod.count()); // 0 (the initial state for our counter is zero)
console.log(mymod.incrementRunCount()); // 1
// delete the cached module:
decache('./mymodule.js');
//
mymod = require('./mymodule.js'); // fresh start
console.log(mymod.count()); // 0 (back to initial state ... zero)
`
Modules other than .js, like for example, .jsx, are supported as well.
Note that native modules with the .node` extension are ignored from decaching because
they behave unexpectedly when decached.
If you have any questions or need more examples, please create a GitHub issue:
https://github.com/dwyl/decache/issues
Thanks!