Socket
Socket
Sign inDemoInstall

require-reload

Package Overview
Dependencies
0
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    require-reload

Reload a require'd module/file. Useful for hot-reloading classes.


Version published
Weekly downloads
3.3K
decreased by-9.29%
Maintainers
1
Install size
12.0 kB
Created
Weekly downloads
 

Readme

Source

require-reload

require-reload facilitates hot-reloading files in node.js. Each call will re-fetch the file/module and require it.

Example

//things will work just the same with require('require-reload') but see note after this example
var reload = require('require-reload')(require),
    api = reload('api.js');
//sometime later if you make changes to api.js, you can hot-reload it by calling
//this could also just be in a setInterval
try {
    api = reload('api.js');
} catch (e) {
    //if this threw an error, the api variable is still set to the old, working version
    console.error("Failed to reload api.js! Error: ", e);
}

Notes/Caveats

Keep in mind that the cache is shared between child modules and their parents. If you want to reload your depdencies when you're reloaded then you must also use require-reload. This is on purpose so things are not unintentionally reloaded.

Note: This uses internal methods to the module system without a context. These APIs may change at any time. I will keep this maintained to support all version of Node.js >=0.6 and io.js >=1.0.4. Version management will be handled through npm.

Because of this, it is recommend you use require('require-reload')(require) which works without any internal methods.

Advanced Usage

reload([otherContext])

If you want to run reload in the context of another module/file then pass in the require variable into reload to get an instance that is bound to that context. The other module must return its require context to use this.

var otherModule = require('other-module'),
    reloadInContext = require('require-reload')(otherModule.requireCtx);
/*
 * other-module would need to do:
 * exports.requireCtx = require;
 */

emptyCache([context])

Empties the whole cache. Useful if you want to reload a file/module AND reload its dependencies. Optionally accepts a context to clear another context's cache.

Keywords

FAQs

Last updated on 11 Feb 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc