diff --git a/src/index.js b/src/index.js index 86894d353..22739c648 100644 --- a/src/index.js +++ b/src/index.js @@ -326,10 +326,9 @@ module.exports = ( assets[filename + '.cache.js'] = code; if (map) assets[filename + '.map'] = map; - code = `const { readFileSync } = require('fs'), { Script } = require('vm');\n` + + code = `const { readFileSync } = require('fs'), { Script } = require('vm'), { wrap } = require('module');\n` + `const source = readFileSync(__dirname + '/${filename}.cache.js').toString(), cachedData = readFileSync(__dirname + '/${filename}.cache');\n` + - `Object.assign(global, { module, exports, require, __filename, __dirname });\n` + - `new Script(source, { cachedData }).runInThisContext();\n`; + `(new Script(wrap(source), { cachedData }).runInThisContext())(exports, require, module, __filename, __dirname);\n`; if (map) map = {}; } diff --git a/test/unit/tsconfig-paths-conflicting-external/output.js b/test/unit/tsconfig-paths-conflicting-external/output.js index a5db163c2..7d66aaa3b 100644 --- a/test/unit/tsconfig-paths-conflicting-external/output.js +++ b/test/unit/tsconfig-paths-conflicting-external/output.js @@ -43,20 +43,16 @@ module.exports = "use strict"; exports.__esModule = true; -var _module_1 = __webpack_require__(649); +var _module_1 = __webpack_require__(816); console.log(_module_1["default"]); /***/ }), -/***/ 649: -/***/ (function(__unusedmodule, exports) { - -"use strict"; - -exports.__esModule = true; -exports["default"] = {}; +/***/ 816: +/***/ (function(module) { +module.exports = require("@module"); /***/ }) diff --git a/test/unit/tsconfig-paths/output.js b/test/unit/tsconfig-paths/output.js index e2cfe0e52..7856b94c2 100644 --- a/test/unit/tsconfig-paths/output.js +++ b/test/unit/tsconfig-paths/output.js @@ -43,20 +43,16 @@ module.exports = "use strict"; exports.__esModule = true; -var _module_1 = __webpack_require__(341); +var _module_1 = __webpack_require__(816); console.log(_module_1["default"]); /***/ }), -/***/ 341: -/***/ (function(__unusedmodule, exports) { - -"use strict"; - -exports.__esModule = true; -exports["default"] = {}; +/***/ 816: +/***/ (function(module) { +module.exports = require("@module"); /***/ })