https://github.com/krakenjs/freshy
An (admittedly naïve) node module (un|re)loader/refreshener.
https://github.com/krakenjs/freshy
Last synced: 2 months ago
JSON representation
An (admittedly naïve) node module (un|re)loader/refreshener.
- Host: GitHub
- URL: https://github.com/krakenjs/freshy
- Owner: krakenjs
- Archived: true
- Created: 2014-02-13T15:42:12.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2025-01-31T15:51:50.000Z (5 months ago)
- Last Synced: 2025-04-12T13:47:14.172Z (3 months ago)
- Language: JavaScript
- Homepage:
- Size: 24.4 KB
- Stars: 15
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# freshy
An (admittedly naïve) node module (un|re)loader/refreshener.
[](https://travis-ci.org/totherik/freshy)
## API
### unload(module)* `module` (*String*) - the module to unload
Completely unload a node module from the cache. Returns `true` if the module was present in the cache, `false` if not.
```javascript
var minimist = require('minimist'),
freshy = require('freshy');freshy.unload('minimist'); // true
```### reload(module)
* `module` (*String*) - the module to reload
Completely unload and reload a given module in place, leaving the new copy in the cache. Returns reloaded module.
```javascript
var minimist = require('minimist'),
freshy = require('freshy');var fresh = freshy.reload('minimist');
console.log(minimist === fresh); // false
```### freshy(module, [callback])
* `module` (*String*) - the module for which to fetch a fresh instance
* `callback` (*function*, optional) - A function called while the fresh module is the one in cacheGet a fresh instance of a module without disturbing the cached copy. Returns the fresh module instance.
```javascript
var minimist = require('minimist'),
freshy = require('freshy');var fresh = freshy.freshy('minimist');
console.log(minimist === fresh); // falsevar mini = require('minimist');
console.log(minimist === mini); // true
```And to get a consistent require of modules that require each other, you can use the callback style:
```javascript
var minimist = require('minimist'),
freshy = require('freshy');var alsofresh;
var fresh = freshy.freshy('minimist', function (fresh) {
alsofresh = require('minimist');console.log(fresh === alsofresh); // true
});
console.log(minimist === fresh); // false
console.log(fresh == alsofresh); // truevar mini = require('minimist');
console.log(minimist === mini); // true
```This is useful for modules that alter other modules you require. `dustjs-linkedin` and `dustjs-helpers` is an example of this.