diff --git a/lib/internal/bootstrap/node.js b/lib/internal/bootstrap/node.js index b8c47ee0f54b..7e6fd24a049f 100644 --- a/lib/internal/bootstrap/node.js +++ b/lib/internal/bootstrap/node.js @@ -86,6 +86,7 @@ setupProcessObject(); setupGlobalProxy(); setupBuffer(); +setupGlobalDebug(); process.domain = null; @@ -461,3 +462,18 @@ function setupBuffer() { configurable: true, }); } + +function setupGlobalDebug() { + let _rawDebug = process._rawDebug; + ObjectDefineProperty(globalThis, 'rawDebug', { + __proto__: null, + get() { + return _rawDebug; + }, + set(value) { + _rawDebug = value; + }, + enumerable: false, + configurable: true, + }); +} diff --git a/test/common/globals.js b/test/common/globals.js index 42caece2b8d1..794c69d23a3f 100644 --- a/test/common/globals.js +++ b/test/common/globals.js @@ -136,6 +136,7 @@ const nodeGlobals = new Set([ 'Buffer', 'clearImmediate', 'setImmediate', + 'rawDebug', ]); module.exports = { diff --git a/test/parallel/test-bootstrap-rawdebug.js b/test/parallel/test-bootstrap-rawdebug.js new file mode 100644 index 000000000000..9a8a6cf6b53a --- /dev/null +++ b/test/parallel/test-bootstrap-rawdebug.js @@ -0,0 +1,10 @@ +'use strict'; + +const common = require('../common'); +const assert = require('assert'); + +common.allowGlobals('rawDebug'); +assert.strictEqual(typeof global.rawDebug === 'function', true); + +global.rawDebug = 42; +assert.strictEqual(global.rawDebug === 42, true);