diff --git a/jsdom-nodejs-env/src/main/scala/org/scalajs/jsenv/jsdomnodejs/JSDOMNodeJSEnv.scala b/jsdom-nodejs-env/src/main/scala/org/scalajs/jsenv/jsdomnodejs/JSDOMNodeJSEnv.scala index 3badf7a..356c143 100644 --- a/jsdom-nodejs-env/src/main/scala/org/scalajs/jsenv/jsdomnodejs/JSDOMNodeJSEnv.scala +++ b/jsdom-nodejs-env/src/main/scala/org/scalajs/jsenv/jsdomnodejs/JSDOMNodeJSEnv.scala @@ -111,7 +111,9 @@ class JSDOMNodeJSEnv(config: JSDOMNodeJSEnv.Config) extends JSEnv { }); var window = dom.window; - window["scalajsCom"] = global.scalajsCom; + ["scalajsCom", "require"].forEach(name => { + window[name] = global[name]; + }); var scriptsSrcs = $scriptsURIsJSArray; for (var i = 0; i < scriptsSrcs.length; i++) { diff --git a/jsdom-nodejs-env/src/test/scala/org/scalajs/jsenv/jsdomnodejs/JSDOMNodeJSEnvTest.scala b/jsdom-nodejs-env/src/test/scala/org/scalajs/jsenv/jsdomnodejs/JSDOMNodeJSEnvTest.scala index 0d29f90..d990593 100644 --- a/jsdom-nodejs-env/src/test/scala/org/scalajs/jsenv/jsdomnodejs/JSDOMNodeJSEnvTest.scala +++ b/jsdom-nodejs-env/src/test/scala/org/scalajs/jsenv/jsdomnodejs/JSDOMNodeJSEnvTest.scala @@ -22,4 +22,17 @@ class JSDOMNodeJSEnvTest { .expectOut("http://localhost/foo\n") } } + + @Test + def nodejsRequire: Unit = { + kit.withRun( + // language=JavaScript + """ + const fs = require("fs"); + console.log(fs != null); + console.log(typeof fs.write === "function"); + """) { run => + run.expectOut("true\n") + } + } }