blob: 68f2f7eec21400391eca59137ce2190bff2f09ce (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
package mill.scalajslib
import java.io.{FileReader, StringWriter}
import javax.script.{ScriptContext, ScriptEngineManager}
object ScalaJsUtils {
def runJS(path: os.Path): String = {
val engineManager = new ScriptEngineManager(null)
val engine = engineManager.getEngineByName("nashorn")
val console = new Console
val bindings = engine.getBindings(ScriptContext.ENGINE_SCOPE)
bindings.put("console", console)
engine.eval(new FileReader(path.toIO))
console.out.toString
}
}
class Console {
val out = new StringWriter()
def log(s: String): Unit = out.append(s)
}
|