lix-website/themes/lix/assets/bootstrap/node_modules/clear-module/readme.md
2024-04-26 22:49:34 -06:00

78 lines
1.5 KiB
Markdown

# clear-module
> Clear a module from the [cache](https://nodejs.org/api/modules.html#modules_caching)
Useful for testing purposes when you need to freshly import a module.
## Install
```
$ npm install clear-module
```
## Usage
```js
// foo.js
let i = 0;
module.exports = () => ++i;
```
```js
const clearModule = require('clear-module');
require('./foo')();
//=> 1
require('./foo')();
//=> 2
clearModule('./foo');
require('./foo')();
//=> 1
```
## API
### clearModule(moduleId)
#### moduleId
Type: `string`
What you would use with `require()`.
### clearModule.all()
Clear all modules from the cache.
### clearModule.match(regex)
Clear all matching modules from the cache.
#### regex
Type: `RegExp`
Regex to match against the module IDs.
### clearModule.single(moduleId)
Clear a single module from the cache non-recursively. No parent or children modules will be affected.
This is mostly only useful if you use singletons, where you would want to clear a specific module without causing any side effects.
#### moduleId
Type: `string`
What you would use with `require()`.
## Related
- [import-fresh](https://github.com/sindresorhus/import-fresh) - Import a module while bypassing the cache
- [import-from](https://github.com/sindresorhus/import-from) - Import a module from a given path
- [import-cwd](https://github.com/sindresorhus/import-cwd) - Import a module from the current working directory
- [import-lazy](https://github.com/sindresorhus/import-lazy) - Import a module lazily