From 9ba4cb69331386dfde9bac69dc2d5b22401face3 Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Wed, 12 Dec 2018 16:56:02 -0800 Subject: collapse boilerplate folder structure within src/ folders (#505) * collapse boilerplate folder structure within src/ folders * . --- scalajslib/api/src/ScalaJSWorkerApi.scala | 41 +++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 scalajslib/api/src/ScalaJSWorkerApi.scala (limited to 'scalajslib/api/src/ScalaJSWorkerApi.scala') diff --git a/scalajslib/api/src/ScalaJSWorkerApi.scala b/scalajslib/api/src/ScalaJSWorkerApi.scala new file mode 100644 index 00000000..4e44a8df --- /dev/null +++ b/scalajslib/api/src/ScalaJSWorkerApi.scala @@ -0,0 +1,41 @@ +package mill.scalajslib.api +import java.io.File +import mill.api.Result +trait ScalaJSWorkerApi { + def link(sources: Array[File], + libraries: Array[File], + dest: File, + main: String, + fullOpt: Boolean, + moduleKind: ModuleKind): Result[File] + + def run(config: NodeJSConfig, linkedFile: File): Unit + + def getFramework(config: NodeJSConfig, + frameworkName: String, + linkedFile: File): (() => Unit, sbt.testing.Framework) + +} + + +sealed trait OptimizeMode + +object FastOpt extends OptimizeMode +object FullOpt extends OptimizeMode + +sealed trait ModuleKind +object ModuleKind{ + object NoModule extends ModuleKind + object CommonJSModule extends ModuleKind +} + + +object NodeJSConfig { + import upickle.default.{ReadWriter => RW, macroRW} + implicit def rw: RW[NodeJSConfig] = macroRW +} + +final case class NodeJSConfig(executable: String = "node", + args: List[String] = Nil, + env: Map[String, String] = Map.empty, + sourceMap: Boolean = true) -- cgit v1.2.3