1.0.2 • Published 7 years ago
hotswap-module v1.0.2
hotswap-module
Replace the return value of require('some-module') with the return
value of another module in any app without any code changes.
Installation
npm install hotswap-module --globalCLI Usage
The following three commands all run the script.js file and replace
any call to require('stream') with require('readable-stream').
If hotswap-module isn't installed, simply use npx to run it:
npx hotswap-module stream readable-stream script.jsIf hotswap-module is installed globally:
hotswap-module stream readable-stream script.jsIf hotswap-module is installed as a dependency:
HOTSWAP=stream,readable-stream node -r hotswap-module script.jsIf the script for which you wish to hotswap a module is being started
indirectly, e.g via npm test, you can use the NODE_OPTIONS
environment variable to require the hotswap-module:
HOTSWAP=stream,readable-stream NODE_OPTIONS="-r hotswap-module" npm testProgrammatic Usage
const hotswap = require('hotswap-module')
// Call hotswap() with the name of the module you wish to replace and
// the exports object of the replacement module
hotswap('stream', require('readable-stream'))CLI API
hotswap-module <old-name> <new-name> <script>Programmatic API
hotswap(name, exports)
Arguments:
name- The name of the module you whish to replaceexports- The new value of the modules exports object
It's important that you call the hotswap function before the module
defined by name is required for the first time.