diff options
author | Lorenzo Gabriele <lorenzogabriele@email.it> | 2018-03-10 04:10:48 +0100 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-03-09 19:10:48 -0800 |
commit | 3635964e18c55a66c214cd3261f4cc515a6982a0 (patch) | |
tree | ffbf703e0a4ec210c9ed57bee5b47610daa6cb6e /scalajslib/jsbridges/0.6/src | |
parent | 877715fbb4e00f1593520045439a8834cf054bd6 (diff) | |
download | mill-3635964e18c55a66c214cd3261f4cc515a6982a0.tar.gz mill-3635964e18c55a66c214cd3261f4cc515a6982a0.tar.bz2 mill-3635964e18c55a66c214cd3261f4cc515a6982a0.zip |
ScalaJSModule: Support to switch between NoModule and CommonJSModule ModuleKinds (#212)
Diffstat (limited to 'scalajslib/jsbridges/0.6/src')
-rw-r--r-- | scalajslib/jsbridges/0.6/src/mill/scalajslib/bridge/ScalaJSBridge.scala | 14 |
1 files changed, 11 insertions, 3 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 57fbf65a..283576ab 100644 --- a/scalajslib/jsbridges/0.6/src/mill/scalajslib/bridge/ScalaJSBridge.scala +++ b/scalajslib/jsbridges/0.6/src/mill/scalajslib/bridge/ScalaJSBridge.scala @@ -7,19 +7,27 @@ import java.io.File import org.scalajs.core.tools.io.IRFileCache.IRContainer import org.scalajs.core.tools.io._ import org.scalajs.core.tools.jsdep.ResolvedJSDependency -import org.scalajs.core.tools.linker.{ModuleInitializer, StandardLinker, Semantics} +import org.scalajs.core.tools.linker.{ModuleInitializer, StandardLinker, Semantics, ModuleKind => ScalaJSModuleKind} import org.scalajs.core.tools.logging.ScalaConsoleLogger import org.scalajs.jsenv._ import org.scalajs.jsenv.nodejs._ import org.scalajs.testadapter.TestAdapter class ScalaJSBridge extends mill.scalajslib.ScalaJSBridge { - def link(sources: Array[File], libraries: Array[File], dest: File, main: String, fullOpt: Boolean): Unit = { + def link(sources: Array[File], libraries: Array[File], dest: File, main: String, fullOpt: Boolean, moduleKind: ModuleKind): Unit = { val semantics = fullOpt match { case true => Semantics.Defaults.optimized case false => Semantics.Defaults } - val config = StandardLinker.Config().withOptimizer(fullOpt).withClosureCompilerIfAvailable(fullOpt).withSemantics(semantics) + val scalaJSModuleKind = moduleKind match { + case ModuleKind.NoModule => ScalaJSModuleKind.NoModule + case ModuleKind.CommonJSModule => ScalaJSModuleKind.CommonJSModule + } + val config = StandardLinker.Config() + .withOptimizer(fullOpt) + .withClosureCompilerIfAvailable(fullOpt) + .withSemantics(semantics) + .withModuleKind(scalaJSModuleKind) val linker = StandardLinker(config) val sourceSJSIRs = sources.map(new FileVirtualScalaJSIRFile(_)) val jars = libraries.map(jar => IRContainer.Jar(new FileVirtualBinaryFile(jar) with VirtualJarFile)) |