diff options
author | Robby <robby@santoslab.org> | 2018-03-05 04:06:01 -0600 |
---|---|---|
committer | Nikolay Tatarinov <5min4eq.unity@gmail.com> | 2018-03-05 13:06:01 +0300 |
commit | 122122729d8567e389f434cfb1c074d3119b0088 (patch) | |
tree | da1f5a10a04e396b1833893a4efd66bdc140d4a0 /scalajslib/jsbridges/0.6 | |
parent | 63368609f008bc46626210fb0aad284196e2b43f (diff) | |
download | mill-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.scala | 22 |
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)) + } } |