Updated Require
This module will keep track of modules and any of his dependencies changes, and will always return an up-to-date module.
To receive a callback for any non-native dependecies an specific module loads, see https://github.com/Llorx/custom-require
To check for module and dependencies modifications without reloading, see https://github.com/Llorx/watcher-require
Installation
npm install updated-require
If you want a lightweight installation, but less consistent as uses nodejs fs.watch()
instead of chokidar
library, install with:
npm install updated-require --no-optional
Usage
/* FILE: test1.js */moduleexports = test2: message: "I'm test1.js";
/* FILE: test2.js */moduleexports = "I'm test2.js!";
/* FILE: main.js */// Load the module at the top of the entry point filevar UpdatedRequire = UpdatedRequire; // If you are using TypeScript, you can use import; // Instantiate an object. You can add an optional callback.// Only use the old instance to validate data. Do not keep the reference.var updatedRequire = { // This callback will be called only when a valid module is created console;}; // Require a module and see how returns a different output each time you modify it.var interval = ; // After you have finished, call dispose() to clean resources attached to modules;
Limitations
See Custom Require limitations: https://github.com/Llorx/custom-require#limitations