summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli/node/analyze.rs8
-rw-r--r--cli/tests/testdata/npm/registry/@denotest/cjs-local-global-decls/1.0.0/index.js4
-rw-r--r--cli/tests/testdata/npm/registry/@denotest/cjs-local-global-decls/1.0.0/other.js2
-rw-r--r--ext/node/01_node.js1
-rw-r--r--ext/node/02_require.js2
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) {