Skip to content

sbt-web-scalajs v1.0.0.

Compare
Choose a tag to compare
@vmunier vmunier released this 05 Sep 10:55
· 123 commits to master since this release

Rename sbt-play-scalajs to sbt-web-scalajs because it only depends on sbt-web and Scala.js. It has no Play dependency. sbt-web-scalajs includes changes to facilitate the integration of Scala.js with any sbt-web server, Play, Akka HTTP, Spray etc.

Main change:
The user should now use the scalaJSPipeline task, which runs scalaJSDev in dev mode, runs scalaJSProd otherwise.

Other changes:
* ScalaJSPlay has been renamed to ScalaJSWeb
* PlayScalaJS has been renamed to WebScalaJS
* scalaJSDev type changed from TaskKey[Seq[PathMapping]] to TaskKey[Pipeline.Stage]
* scalaJSTest has been removed

Typical diff from sbt-play-scalajs v0.3.1 to sbt-web-scalajs v1.0.0 would look like:

lazy val server = (project in file("server")).settings(
-pipelineStages := Seq(scalaJSProd, gzip)
+pipelineStages in Assets := Seq(scalaJSPipeline),
+pipelineStages := Seq(gzip)
...
).enablePlugins(PlayScala).
 dependsOn(sharedJvm)

lazy val client = (project in file("client")).settings(
...
-).enablePlugins(ScalaJSPlugin, ScalaJSPlay).
+).enablePlugins(ScalaJSPlugin, ScalaJSWeb).
  dependsOn(sharedJs)

lazy val shared = (crossProject.crossType(CrossType.Pure) in file("shared")).
  settings(scalaVersion := scalaV).
-  jsConfigure(_ enablePlugins ScalaJSPlay)
+  jsConfigure(_ enablePlugins ScalaJSWeb)

lazy val sharedJvm = shared.jvm
lazy val sharedJs = shared.js