Skip to content

lib: enforce using `primordials.globalThis` instead of `global`

global.global may be overwritten in user-land, it's probably safer not to rely on it.

$ echo 'Reflect.defineProperty(globalThis, "global", { get() {throw new Error} })' > pre.js
$ node -r ./pre.js
Welcome to Node.js v15.12.0.
Type ".help" for more information.
/Users/duhamean/Documents/node/f.js:2
  get() {throw new Error}
               ^

Error
    at get (…/pre.js:1:61)
    at REPLServer.createContext (node:repl:1011:5)
    at REPLServer.resetContext (node:repl:1059:23)
    at new REPLServer (node:repl:720:8)
    at Object.start (node:repl:982:10)
    at Object.createRepl [as createInternalRepl] (node:internal/repl:51:21)
    at node:internal/main/repl:41:13
    at Object.loadESM (node:internal/process/esm_loader:68:11)

Merge request reports

Loading