blob: 4e44a8dfd9350a0eed63b67539b4a86410185e0c (
plain) (
tree)
|
|
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)
|