From 85891a0aa193471e6f240dcb732cbf2257447350 Mon Sep 17 00:00:00 2001 From: ZYSzys Date: Mon, 13 May 2019 17:37:34 +0800 Subject: [PATCH 1/3] esm: fix esm load bug --- lib/internal/modules/cjs/loader.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/internal/modules/cjs/loader.js b/lib/internal/modules/cjs/loader.js index 332767b3ab225b..35bf80d1253833 100644 --- a/lib/internal/modules/cjs/loader.js +++ b/lib/internal/modules/cjs/loader.js @@ -648,9 +648,11 @@ Module.prototype.load = function(filename) { // Create module entry at load time to snapshot exports correctly const exports = this.exports; if (module !== undefined) { // Called from cjs translator - module.reflect.onReady((reflect) => { - reflect.exports.default.set(exports); - }); + if (module.reflect) { + module.reflect.onReady((reflect) => { + reflect.exports.default.set(exports); + }); + } } else { // preemptively cache ESMLoader.moduleMap.set( url, From 243600a5c3896a868bf8294d241baccc38ee7263 Mon Sep 17 00:00:00 2001 From: Antoine du HAMEL Date: Thu, 2 May 2019 18:57:06 -0400 Subject: [PATCH 2/3] test: clearing require cache crashes esm loader This test shows the regression introduced in v11.4.0: clearing out the require.cache crashes node when using the `--experimental-modules` flag. Refs: https://github.com/nodejs/node/issues/25482 --- test/known_issues/test-esm-loader-cache-clearing.js | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 test/known_issues/test-esm-loader-cache-clearing.js diff --git a/test/known_issues/test-esm-loader-cache-clearing.js b/test/known_issues/test-esm-loader-cache-clearing.js new file mode 100644 index 00000000000000..ec22b6a6bb871e --- /dev/null +++ b/test/known_issues/test-esm-loader-cache-clearing.js @@ -0,0 +1,11 @@ +// Flags: --experimental-modules +'use strict'; +require('../common'); + +const { cache } = require; + +Object.keys(cache).forEach((key) => { + delete cache[key]; +}); +// Require the same module again triggers the crash +require('../common'); From 72bdf65f3e8a10c535d77527eb3dece9e6bc0fa7 Mon Sep 17 00:00:00 2001 From: ZYSzys Date: Mon, 13 May 2019 17:41:04 +0800 Subject: [PATCH 3/3] fixup! esm: fix esm load bug --- .../{known_issues => es-module}/test-esm-loader-cache-clearing.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename test/{known_issues => es-module}/test-esm-loader-cache-clearing.js (100%) diff --git a/test/known_issues/test-esm-loader-cache-clearing.js b/test/es-module/test-esm-loader-cache-clearing.js similarity index 100% rename from test/known_issues/test-esm-loader-cache-clearing.js rename to test/es-module/test-esm-loader-cache-clearing.js