Skip to content

Commit

Permalink
lib: add process to internal module wrapper
Browse files Browse the repository at this point in the history
Share `process` through the module wrapper rather than relying
on nobody messing with `global.process`.

Fixes: nodejs#6802
  • Loading branch information
addaleax committed Nov 21, 2017
1 parent c4a5de5 commit a5511e4
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
4 changes: 2 additions & 2 deletions lib/internal/bootstrap_node.js
Original file line number Diff line number Diff line change
Expand Up @@ -593,7 +593,7 @@
};

NativeModule.wrapper = [
'(function (exports, require, module, internalBinding) {',
'(function (exports, require, module, internalBinding, process) {',
'\n});'
];

Expand All @@ -612,7 +612,7 @@
const requireFn = this.id.startsWith('internal/deps/') ?
NativeModule.requireForDeps :
NativeModule.require;
fn(this.exports, requireFn, this, internalBinding);
fn(this.exports, requireFn, this, internalBinding, process);

this.loaded = true;
} finally {
Expand Down
10 changes: 10 additions & 0 deletions test/parallel/test-repl-let-process.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
'use strict';
const common = require('../common');
const repl = require('repl');

common.globalCheck = false;

// Regression test for https://github.com/nodejs/node/issues/6802
const input = new common.ArrayStream();
repl.start({ input, output: process.stdout, useGlobal: true });
input.run(['let process']);

0 comments on commit a5511e4

Please sign in to comment.