All the time.
The behavior should be similar to node executing the same one liner in REFL interactive shell.
$ node
Welcome to Node.js v12.18.0.
Type ".help" for more information.
> console.log(require)
[Function: require] {
resolve: [Function: resolve] { paths: [Function: paths] },
main: undefined,
extensions: [Object: null prototype] {
'.js': [Function],
'.json': [Function],
'.node': [Function]
},
cache: [Object: null prototype] {}
}
The issue does not happen in older node versions. See text output below
$ node --version
v8.10.0
$ node test.js
{ [Function: require]
resolve: { [Function: resolve] paths: [Function: paths] },
main:
Module {
id: '.',
exports: {},
parent: null,
filename: '/somedirectory/test.js',
loaded: false,
children: [],
paths:
[ '/somedirectory/node_modules',
...,
...,
'/node_modules' ] },
extensions: { '.js': [Function], '.json': [Function], '.node': [Function] },
cache:
{ '/somedirectory/test.js':
Module {
id: '.',
exports: {},
parent: null,
filename: '/somedirectory/test.js',
loaded: false,
children: [],
paths: [Array] } } }
What steps will reproduce the bug?
console.log(require)How often does it reproduce? Is there a required condition?
All the time.
What is the expected behavior?
The behavior should be similar to node executing the same one liner in REFL interactive shell.
What do you see instead?
$ node test.js
(node:13608) ExperimentalWarning: The ESM module loader is experimental. file:///somedirectory/test.js:1 console.log(require); ^ ReferenceError: require is not definedAdditional information
The issue does not happen in older node versions. See text output below