diff --git a/build.sbt b/build.sbt index d46ba54..a13d91d 100644 --- a/build.sbt +++ b/build.sbt @@ -72,7 +72,7 @@ lazy val continuations4s = crossProject(JSPlatform, JVMPlatform, NativePlatform) name := "continuations4s", libraryDependencies ++= Seq( // Testing - "org.scalameta" %%% "munit" % "1.3.0" % Test + "org.scalameta" %%% "munit" % "1.3.5" % Test ), testFrameworks += new TestFramework("munit.Framework"), Compile / doc / scalacOptions ++= Seq( @@ -96,8 +96,11 @@ lazy val continuations4s = crossProject(JSPlatform, JVMPlatform, NativePlatform) // Emit ES modules with the Wasm backend scalaJSLinkerConfig := scalaJSLinkerConfig.value - .withESFeatures(_.withESVersion(ESVersion.ES2017)) // enable async/await - .withExperimentalUseWebAssembly(true) // use the Wasm backend + .withESFeatures( + _.withESVersion(ESVersion.ES2022) // enable async/await (Wasm backend needs ES2022+) + .withUseWebAssembly(true) // use the Wasm backend + ) + .withWasmFeatures(_.withUseJSPI(true)) // required for js.async/js.await .withModuleKind(ModuleKind.ESModule) // required by the Wasm backend , // Configure Node.js (at least v23) to support the required Wasm features diff --git a/project/plugins.sbt b/project/plugins.sbt index 32b10d4..57e37d1 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,14 +1,14 @@ -addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.6.0") -addSbtPlugin("org.typelevel" % "sbt-tpolecat" % "0.5.3") -addSbtPlugin("org.wartremover" % "sbt-wartremover" % "3.5.7") -addSbtPlugin("com.github.sbt" % "sbt-pgp" % "2.3.1") +addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.6.2") +addSbtPlugin("org.typelevel" % "sbt-tpolecat" % "0.5.7") +addSbtPlugin("org.wartremover" % "sbt-wartremover" % "3.5.8") +addSbtPlugin("com.github.sbt" % "sbt-pgp" % "2.3.2") addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.12.2") -addSbtPlugin("com.github.sbt" % "sbt-ci-release" % "1.11.2") +addSbtPlugin("com.github.sbt" % "sbt-ci-release" % "1.12.1") -addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.3.2") -addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "1.3.2") -addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.21.0") -addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.5.11") +addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.4.0") +addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "1.4.0") +addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.22.0") +addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.5.12") // https://github.com/typelevel/sbt-tpolecat/issues/291 -libraryDependencies += "org.typelevel" %% "scalac-options" % "0.1.10" +libraryDependencies += "org.typelevel" %% "scalac-options" % "0.1.11"