summaryrefslogtreecommitdiff
path: root/scalajslib/jsbridges/0.6
diff options
context:
space:
mode:
authorRobby <robby@santoslab.org>2018-03-05 04:06:01 -0600
committerNikolay Tatarinov <5min4eq.unity@gmail.com>2018-03-05 13:06:01 +0300
commit122122729d8567e389f434cfb1c074d3119b0088 (patch)
treeda1f5a10a04e396b1833893a4efd66bdc140d4a0 /scalajslib/jsbridges/0.6
parent63368609f008bc46626210fb0aad284196e2b43f (diff)
downloadmill-122122729d8567e389f434cfb1c074d3119b0088.tar.gz
mill-122122729d8567e389f434cfb1c074d3119b0088.tar.bz2
mill-122122729d8567e389f434cfb1c074d3119b0088.zip
Allows users to customize Node.js (Scala.js' NodeJSEnv) in ScalaJSModule (#195)
* Adds Node.js configuration in ScalaJSModule. * Adds Node.js configuration in ScalaJSModule test framework. * Refactored ScalaJSBridge Node.js env creation. * Readjusted ScalaJSBridge 0.6 formatting. * Added Node.js config tests. * Removed NodeJSConfig ScalaTest tests and improved log test conditions.
Diffstat (limited to 'scalajslib/jsbridges/0.6')
-rw-r--r--scalajslib/jsbridges/0.6/src/mill/scalajslib/bridge/ScalaJSBridge.scala22
1 files changed, 16 insertions, 6 deletions
diff --git a/scalajslib/jsbridges/0.6/src/mill/scalajslib/bridge/ScalaJSBridge.scala b/scalajslib/jsbridges/0.6/src/mill/scalajslib/bridge/ScalaJSBridge.scala
index 86abbd14..2f123650 100644
--- a/scalajslib/jsbridges/0.6/src/mill/scalajslib/bridge/ScalaJSBridge.scala
+++ b/scalajslib/jsbridges/0.6/src/mill/scalajslib/bridge/ScalaJSBridge.scala
@@ -26,21 +26,22 @@ class ScalaJSBridge extends mill.scalajslib.ScalaJSBridge {
linker.link(sourceSJSIRs ++ jarSJSIRs, initializer.toSeq, destFile, logger)
}
- def run(linkedFile: File): Unit = {
- new NodeJSEnv()
+ def run(config: NodeJSConfig, linkedFile: File): Unit = {
+ nodeJSEnv(config)
.jsRunner(FileVirtualJSFile(linkedFile))
.run(new ScalaConsoleLogger, ConsoleJSConsole)
}
- def getFramework(frameworkName: String,
+ def getFramework(config: NodeJSConfig,
+ frameworkName: String,
linkedFile: File): sbt.testing.Framework = {
- val env = new NodeJSEnv().loadLibs(
+ val env = nodeJSEnv(config).loadLibs(
Seq(ResolvedJSDependency.minimal(new FileVirtualJSFile(linkedFile)))
)
- val config = TestAdapter.Config().withLogger(new ScalaConsoleLogger)
+ val tconfig = TestAdapter.Config().withLogger(new ScalaConsoleLogger)
val adapter =
- new TestAdapter(env, config)
+ new TestAdapter(env, tconfig)
adapter
.loadFrameworks(List(List(frameworkName)))
@@ -48,4 +49,13 @@ class ScalaJSBridge extends mill.scalajslib.ScalaJSBridge {
.headOption
.getOrElse(throw new RuntimeException("Failed to get framework"))
}
+
+ def nodeJSEnv(config: NodeJSConfig): NodeJSEnv = {
+ new NodeJSEnv(
+ NodeJSEnv.Config()
+ .withExecutable(config.executable)
+ .withArgs(config.args)
+ .withEnv(config.env)
+ .withSourceMap(config.sourceMap))
+ }
}