1'use strict'; 2const assert = require('assert'); 3const m = require('module'); 4 5global.mwc = 0; 6 7const originalWrapper = m.wrapper; 8const patchedWrapper = {...m.wrapper}; 9 10patchedWrapper[0] += 'global.mwc = (global.mwc || 0 ) + 1'; 11 12// Storing original version of wrapper function 13m.wrapper = patchedWrapper; 14 15require('./not-main-module.js'); 16 17assert.strictEqual(mwc, 1); 18 19// Restoring original wrapper function 20m.wrapper = originalWrapper; 21// Cleaning require cache 22delete require.cache[require.resolve('./not-main-module.js')]; 23delete global.mwc; 24