diff options
-rw-r--r-- | cli/node/analyze.rs | 8 | ||||
-rw-r--r-- | cli/tests/testdata/npm/registry/@denotest/cjs-local-global-decls/1.0.0/index.js | 4 | ||||
-rw-r--r-- | cli/tests/testdata/npm/registry/@denotest/cjs-local-global-decls/1.0.0/other.js | 2 | ||||
-rw-r--r-- | ext/node/01_node.js | 1 | ||||
-rw-r--r-- | ext/node/02_require.js | 2 |
5 files changed, 11 insertions, 6 deletions
diff --git a/cli/node/analyze.rs b/cli/node/analyze.rs index 9b449f675..acf7a662f 100644 --- a/cli/node/analyze.rs +++ b/cli/node/analyze.rs @@ -19,6 +19,7 @@ static NODE_GLOBALS: &[&str] = &[ "clearImmediate", "clearInterval", "clearTimeout", + "console", "global", "process", "setImmediate", @@ -194,9 +195,10 @@ mod tests { "var globalThis = {}", ";var Buffer = globalThis.Buffer;", "var clearImmediate = globalThis.clearImmediate;var clearInterval = globalThis.clearInterval;", - "var clearTimeout = globalThis.clearTimeout;var global = globalThis.global;", - "var process = globalThis.process;var setImmediate = globalThis.setImmediate;", - "var setInterval = globalThis.setInterval;var setTimeout = globalThis.setTimeout;\n", + "var clearTimeout = globalThis.clearTimeout;var console = globalThis.console;", + "var global = globalThis.global;var process = globalThis.process;", + "var setImmediate = globalThis.setImmediate;var setInterval = globalThis.setInterval;", + "var setTimeout = globalThis.setTimeout;\n", "export const x = 1;" ), NODE_GLOBAL_THIS_NAME.as_str(), diff --git a/cli/tests/testdata/npm/registry/@denotest/cjs-local-global-decls/1.0.0/index.js b/cli/tests/testdata/npm/registry/@denotest/cjs-local-global-decls/1.0.0/index.js index 75fc15d83..c7b90e5b7 100644 --- a/cli/tests/testdata/npm/registry/@denotest/cjs-local-global-decls/1.0.0/index.js +++ b/cli/tests/testdata/npm/registry/@denotest/cjs-local-global-decls/1.0.0/index.js @@ -1,4 +1,4 @@ // package that has all the locals defined -const Buffer = 1, clearImmediate = 1, clearInterval = 1, clearTimeout = 1, global = 1, process = 1, setImmediate = 1, setInterval = 1, setTimeout = 1, globalThis = 1; +const Buffer = 1, clearImmediate = 1, clearInterval = 1, clearTimeout = 1, console = 1, global = 1, process = 1, setImmediate = 1, setInterval = 1, setTimeout = 1, globalThis = 1; const exports = 2; -console.log("Loaded."); +require("./other.js"); diff --git a/cli/tests/testdata/npm/registry/@denotest/cjs-local-global-decls/1.0.0/other.js b/cli/tests/testdata/npm/registry/@denotest/cjs-local-global-decls/1.0.0/other.js new file mode 100644 index 000000000..810d852b0 --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/cjs-local-global-decls/1.0.0/other.js @@ -0,0 +1,2 @@ +const console = new global.console.Console({ stdout: process.stdout }); +console.log("Loaded."); diff --git a/ext/node/01_node.js b/ext/node/01_node.js index 79d3503ca..8fe815f01 100644 --- a/ext/node/01_node.js +++ b/ext/node/01_node.js @@ -100,6 +100,7 @@ nodeGlobals.clearImmediate = nativeModuleExports["timers"].clearImmediate; nodeGlobals.clearInterval = nativeModuleExports["timers"].clearInterval; nodeGlobals.clearTimeout = nativeModuleExports["timers"].clearTimeout; + nodeGlobals.console = nativeModuleExports["console"]; nodeGlobals.global = nodeGlobalThis; nodeGlobals.process = nativeModuleExports["process"]; nodeGlobals.setImmediate = nativeModuleExports["timers"].setImmediate; diff --git a/ext/node/02_require.js b/ext/node/02_require.js index c970d3994..b699db00b 100644 --- a/ext/node/02_require.js +++ b/ext/node/02_require.js @@ -662,7 +662,7 @@ Module.wrapper = [ // We provide the non-standard APIs in the CommonJS wrapper // to avoid exposing them in global namespace. - "(function (exports, require, module, __filename, __dirname, globalThis) { const { Buffer, clearImmediate, clearInterval, clearTimeout, global, process, setImmediate, setInterval, setTimeout} = globalThis; var window = undefined; (function () {", + "(function (exports, require, module, __filename, __dirname, globalThis) { const { Buffer, clearImmediate, clearInterval, clearTimeout, console, global, process, setImmediate, setInterval, setTimeout} = globalThis; var window = undefined; (function () {", "\n}).call(this); })", ]; Module.wrap = function (script) { |