summaryrefslogtreecommitdiff
path: root/scalajslib/worker/1.0/src/ScalaJSWorkerImpl.scala
diff options
context:
space:
mode:
Diffstat (limited to 'scalajslib/worker/1.0/src/ScalaJSWorkerImpl.scala')
-rw-r--r--scalajslib/worker/1.0/src/ScalaJSWorkerImpl.scala42
1 files changed, 30 insertions, 12 deletions
diff --git a/scalajslib/worker/1.0/src/ScalaJSWorkerImpl.scala b/scalajslib/worker/1.0/src/ScalaJSWorkerImpl.scala
index f40f7a6b..efff38a2 100644
--- a/scalajslib/worker/1.0/src/ScalaJSWorkerImpl.scala
+++ b/scalajslib/worker/1.0/src/ScalaJSWorkerImpl.scala
@@ -3,7 +3,7 @@ package scalajslib
package worker
import java.io.File
-import mill.scalajslib.api.{ModuleKind, NodeJSConfig}
+import mill.scalajslib.api.{ModuleKind, JsEnvConfig}
import mill.api.Result
import org.scalajs.core.tools.io._
import org.scalajs.core.tools.linker.{ModuleInitializer, Semantics, StandardLinker, ModuleKind => ScalaJSModuleKind}
@@ -49,16 +49,16 @@ class ScalaJSWorkerImpl extends mill.scalajslib.api.ScalaJSWorkerApi {
}
}
- def run(config: NodeJSConfig, linkedFile: File): Unit = {
- nodeJSEnv(config)
+ def run(config: JsEnvConfig, linkedFile: File): Unit = {
+ jsEnv(config)
.jsRunner(Seq(FileVirtualJSFile(linkedFile)))
.run(new ScalaConsoleLogger, ConsoleJSConsole)
}
- def getFramework(config: NodeJSConfig,
+ def getFramework(config: JsEnvConfig,
frameworkName: String,
linkedFile: File): (() => Unit, sbt.testing.Framework) = {
- val env = nodeJSEnv(config)
+ val env = jsEnv(config)
val tconfig = TestAdapter.Config().withLogger(new ScalaConsoleLogger)
val adapter =
@@ -74,12 +74,30 @@ class ScalaJSWorkerImpl extends mill.scalajslib.api.ScalaJSWorkerApi {
)
}
- def nodeJSEnv(config: NodeJSConfig): NodeJSEnv = {
- new NodeJSEnv(
- NodeJSEnv.Config()
- .withExecutable(config.executable)
- .withArgs(config.args)
- .withEnv(config.env)
- .withSourceMap(config.sourceMap))
+ def jsEnv(config: JsEnvConfig): org.scalajs.jsenv.ComJSEnv = config match{
+ case config: JsEnvConfig.NodeJs =>
+ new org.scalajs.jsenv.nodejs.NodeJSEnv(
+ org.scalajs.jsenv.nodejs.NodeJSEnv.Config()
+ .withExecutable(config.executable)
+ .withArgs(config.args)
+ .withEnv(config.env)
+ .withSourceMap(config.sourceMap)
+ )
+
+ case config: JsEnvConfig.JsDom =>
+ new org.scalajs.jsenv.jsdomnodejs.JSDOMNodeJSEnv(
+ org.scalajs.jsenv.jsdomnodejs.JSDOMNodeJSEnv.Config()
+ .withExecutable(config.executable)
+ .withArgs(config.args)
+ .withEnv(config.env)
+ )
+ case config: JsEnvConfig.Phantom =>
+ new org.scalajs.jsenv.phantomjs.PhantomJSEnv(
+ org.scalajs.jsenv.phantomjs.PhantomJSEnv.Config()
+ .withExecutable(config.executable)
+ .withArgs(config.args)
+ .withEnv(config.env)
+ .withAutoExit(config.autoExit)
+ )
}
}