vmunier / sbt-web-scalajs

SBT plugin to use Scala.js along with any sbt-web server.
Apache License 2.0
194 stars 30 forks source link

Can't make the current version sbt-web-scalajs 1.1.0 to work properly #80

Open gilbertbigras opened 4 years ago

gilbertbigras commented 4 years ago

Hello,

Using the current version sbt-web-scalajs 1.1.0 (works perfectly with 1.011)

I get this message from SBT after it tries to extract the project structure:

/home/gilbert/.jdks/openjdk-14.0.1/bin/java -Djline.terminal=jline.UnsupportedTerminal -Dsbt.log.noformat=true -Dfile.encoding=UTF-8 -Didea.managed=true -Dfile.encoding=UTF-8 -jar /home/gilbert/.var/app/com.jetbrains.IntelliJ-IDEA-Community/data/JetBrains/IdeaIC2020.1/Scala/launcher/sbt-launch.jar

Extracting structure failed

My "Build.sbt" is as follows:

lazy val server = (project in file("server")) .settings(commonSettings) .settings( scalaJSProjects := Seq(client), pipelineStages in Assets := Seq(scalaJSPipeline), pipelineStages := Seq(digest, gzip), // triggers scalaJSPipeline when using compile or continuous compilation compile in Compile := ((compile in Compile) dependsOn scalaJSPipeline).value, libraryDependencies ++= Seq( "com.vmunier" %% "scalajs-scripts" % "1.1.4", guice, specs2 % Test ) ) .enablePlugins(PlayScala) .enablePlugins(WebScalaJSBundlerPlugin) .enablePlugins(SbtWeb) .dependsOn(sharedJvm)

lazy val client = (project in file("client")) .settings(commonSettings) .settings( scalaJSUseMainModuleInitializer := true, libraryDependencies ++= Seq( "org.scala-js" %%% "scalajs-dom" % "1.0.0" ) ) .settings( stFlavour := Flavour.Slinky, useYarn := true ) .settings( Compile / npmDependencies ++= Seq( "js-year-calendar" -> "1.0.2", "rc-year-calendar" -> "1.0.2", "react" -> "16.13.1", "react-dom" -> "16.13.1" ) ) .enablePlugins(ScalaJSPlugin, ScalaJSWeb, ScalaJSBundlerPlugin, ScalablyTypedConverterPlugin) .dependsOn(sharedJs)

lazy val shared = crossProject(JSPlatform, JVMPlatform) .crossType(CrossType.Pure) .in(file("shared")) .settings(commonSettings) .jsConfigure(_.enablePlugins(ScalaJSWeb)) lazy val sharedJvm = shared.jvm lazy val sharedJs = shared.js

lazy val commonSettings = Seq( scalaVersion := "2.13.2", scalacOptions += "-Ymacro-annotations", organization := "com.gb" )

onLoad in Global := (onLoad in Global).value.andThen(state => "project server" :: state)

My plugins.sbt is as follows:

// Comment to get more information during initialization logLevel := Level.Warn

// Resolvers resolvers += "Typesafe repository" at "https://repo.typesafe.com/typesafe/releases/" resolvers += Resolver.bintrayRepo("oyvindberg", "converter") resolvers += Resolver.sonatypeRepo("releases")

// Sbt plugins

// Use Scala.js v1.x //addSbtPlugin("com.vmunier" % "sbt-web-scalajs" % "1.0.11") addSbtPlugin("com.vmunier" % "sbt-web-scalajs" % "1.1.0") //addSbtPlugin("com.vmunier" % "sbt-web-scalajs" % "1.1.06") addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.1.1")

//addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.1.1")

Any help would be appreciated.

Many thanks!

nafg commented 3 years ago

@gilbertbigras you need to include the output of SBT. Extracting structure failed is just IntelliJ's synopsis.