requi-re

Re-Require a module bypassing the cache when in a development environment (using NODE_ENV).

Usage no npm install needed!

<script type="module">
  import requiRe from 'https://cdn.skypack.dev/requi-re';
</script>

README

requi-re Build Status

Re-Require a module bypassing the cache when not in a production environment.

Useful for development purposes when you need to freshly require a module after modifying it.

Install

$ npm install --save requi-re

Setup

By default, requi-re returns node's native require, in order to not fuck things up in bad setups.

Only when NODE_ENV is set to anything else than production (and is not undefined) all calls will return be fleshly required modules.

There are various ways of setting NODE_ENV on different operation systems. To avoid cross-plattform problems, the usage of the module cross-env is recommended.

Defining the environment using the package.json

  "scripts": {
    "start": "cross-env NODE_ENV=production node app",
    "development": "cross-env NODE_ENV=development node app"
  }

Then start your app using npm development to enable cache-deletion when calling requi-re.
Notice: npm start and any other scripts starting your app will continue to behave as usual.

Usage

// foo.js
let i = 0;
module.exports = () => ++i;
require('./foo')();
//=> 1

require('./foo')();
//=> 2

// overwrite node's require for convenience
require = require('requi-re');

require('./foo')();
//=> 1

require('./foo')();
//=> 1

Related

License

requi-re is a fork of require-uncached: MIT © Sindre Sorhus