hotswap-module

1.0.2 • Public • Published

hotswap-module

Replace the return value of require('some-module') with the return value of another module in any app without any code changes.

npm build status js-standard-style

Installation

npm install hotswap-module --global

CLI 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.js

If hotswap-module is installed globally:

hotswap-module stream readable-stream script.js

If hotswap-module is installed as a dependency:

HOTSWAP=stream,readable-stream node -r hotswap-module script.js

If 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 test

Programmatic 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 replace
  • exports - 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.

License

MIT

Package Sidebar

Install

npm i hotswap-module

Weekly Downloads

0

Version

1.0.2

License

MIT

Unpacked Size

5.05 kB

Total Files

5

Last publish

Collaborators

  • watson