I recently had a production issue when a require('./thisFile') got merged into a piece of code. The code passed tests using rewire but totally crashed without it. Here's an example:
Node: 8.10.0
Rewire: ^4.0.1
// code.js
const t = require('./code');
const mod = {};
mod.a = function a() {
console.log('a');
t.b();
};
mod.b = function b() {
console.log('b');
};
module.exports = mod;
$ node require.js
a
/code.js:7
t.b();
^
TypeError: t.b is not a function
at Object.a (/code.js:7:4)
at Object.<anonymous> (/require.js:2:3)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Function.Module.runMain (module.js:693:10)
at startup (bootstrap_node.js:188:16)
at bootstrap_node.js:609:3
I recently had a production issue when a
require('./thisFile')
got merged into a piece of code. The code passed tests using rewire but totally crashed without it. Here's an example:Node: 8.10.0 Rewire: ^4.0.1