Skip to content
This repository was archived by the owner on Apr 22, 2023. It is now read-only.
This repository was archived by the owner on Apr 22, 2023. It is now read-only.

vm: runInThisContext is missing require #9211

Closed
@n-riesco

Description

@n-riesco

runInThisContext is missing require only when running a javascript file. I think the following commands explain better what I mean:

$ cat test.js
var vm = require("vm");
console.log(vm.runInThisContext("require instanceof Function"));

$ node < test.js
true

$ node --eval "$(cat test.js)"
true

$ node test.js

/home/user/test.js:2
console.log(vm.runInThisContext("require instanceof Function"));
               ^
ReferenceError: require is not defined
    at evalmachine.<anonymous>:1:1
    at Object.<anonymous> (/home/user/test.js:2:16)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:902:3
make: *** [all] Error 8
$ node --version
v0.10.25

I see the same behaviour is also present in v0.11.15.

And I've just checked it is also present on the official docker images for v0.10 and v0.12:

$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp node:0.10 node test.js
Unable to find image 'node:0.10' locally
Pulling repository node
f60f6620117e: Download complete 
511136ea3c5a: Download complete 
8771fbfe935c: Download complete 
0e30e84e9513: Download complete 
c90a56bfe7dd: Download complete 
6b030fdd4748: Download complete 
787349ce806c: Download complete 
70a6b638a713: Download complete 
be7f2e01d4b1: Download complete 
2d3fb7a55e9c: Download complete 
d8b52c267f8b: Download complete 

/usr/src/myapp/test.js:2
console.log(vm.runInThisContext("require instanceof Function"));
               ^
ReferenceError: require is not defined
    at evalmachine.<anonymous>:1:1
    at Object.<anonymous> (/usr/src/myapp/test.js:2:16)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:929:3
$ docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp node:0.12 node test.js
Unable to find image 'node:0.12' locally
Pulling repository node
12f018678fb1: Download complete 
511136ea3c5a: Download complete 
8771fbfe935c: Download complete 
0e30e84e9513: Download complete 
c90a56bfe7dd: Download complete 
6b030fdd4748: Download complete 
787349ce806c: Download complete 
70a6b638a713: Download complete 
380e6bb3cafc: Download complete 
0b0b06183499: Download complete 
3dd8081876d6: Download complete 
evalmachine.<anonymous>:1
require instanceof Function
^
ReferenceError: require is not defined
    at evalmachine.<anonymous>:1:1
    at Object.exports.runInThisContext (vm.js:74:17)
    at Object.<anonymous> (/usr/src/myapp/test.js:2:16)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions