From 37c1454b211a42b3b965f7ffa3a10e4e42e393c9 Mon Sep 17 00:00:00 2001 From: exoego Date: Thu, 6 Feb 2020 11:54:21 +0900 Subject: [PATCH 1/2] Prepare Scala.js cross publishing --- .travis.yml | 6 +++++- project/Dependencies.scala | 7 ++++--- project/MySettings.scala | 10 +++++++--- project/plugins.sbt | 5 ++++- script/release.js | 3 +++ 5 files changed, 23 insertions(+), 8 deletions(-) create mode 100755 script/release.js diff --git a/.travis.yml b/.travis.yml index 5b1f80148..c9a0305e7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,7 +9,11 @@ jdk: - openjdk11 env: - - TRAVIS_NODE_VERSION="12.16.1" JOB_NAME="test" + global: + - TRAVIS_NODE_VERSION="12.16.1" JOB_NAME="test" + matrix: + - SCALAJS_VERSION="0.6.32" + - SCALAJS_VERSION="1.0.0" script: - sbt ++$TRAVIS_SCALA_VERSION test diff --git a/project/Dependencies.scala b/project/Dependencies.scala index f7e505f66..4a93c5cac 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -3,19 +3,20 @@ import sbt.Keys._ import org.portablescala.sbtplatformdeps.PlatformDepsPlugin.autoImport._ object Dependencies { - val scalaReflect = Def.setting("org.scala-lang" % "scala-reflect" % scalaVersion.value) + val scalaReflect = Def.setting("org.scala-lang" % "scala-reflect" % scalaVersion.value) + val scalatestVersion = "3.1.1" val core = Def.setting( Seq( scalaReflect.value, - "org.scalatest" %%% "scalatest" % "3.1.0" % "test" + "org.scalatest" %%% "scalatest" % scalatestVersion % "test" ) ) val app = Def.setting( Seq( scalaReflect.value, - "org.scalatest" %%% "scalatest" % "3.1.0" % "test", + "org.scalatest" %%% "scalatest" % scalatestVersion % "test", "com.thoughtworks.enableIf" %% "enableif" % "1.1.7" ) ) diff --git a/project/MySettings.scala b/project/MySettings.scala index 3d5ffff34..291b2582c 100644 --- a/project/MySettings.scala +++ b/project/MySettings.scala @@ -1,4 +1,4 @@ -import org.scalajs.sbtplugin.ScalaJSPlugin.AutoImport.{ModuleKind, scalaJSModuleKind} +import org.scalajs.sbtplugin.ScalaJSPlugin.autoImport._ import sbt._ import sbt.Keys._ import sbtrelease.ReleasePlugin.autoImport._ @@ -56,8 +56,12 @@ object MySettings { ) lazy val commonScalaJsSettings = Seq( - scalacOptions += "-P:scalajs:sjsDefinedByDefault", - scalaJSModuleKind := ModuleKind.CommonJSModule, + scalacOptions ++= Seq("-P:scalajs:sjsDefinedByDefault").filter { _ => + Option(System.getenv("SCALAJS_VERSION")).getOrElse("1.0.0").startsWith("0.6.") + }, + scalaJSLinkerConfig ~= { + _.withModuleKind(ModuleKind.CommonJSModule) + }, logBuffered in Test := true ) diff --git a/project/plugins.sbt b/project/plugins.sbt index b405cdd6e..24b38400e 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,4 +1,7 @@ -addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.32") +val scalaJSVersion = + Option(System.getenv("SCALAJS_VERSION")).getOrElse("1.0.0") + +addSbtPlugin("org.scala-js" % "sbt-scalajs" % scalaJSVersion) addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.3.1") addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.8.1") addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.13") diff --git a/script/release.js b/script/release.js new file mode 100755 index 000000000..cf4b4e859 --- /dev/null +++ b/script/release.js @@ -0,0 +1,3 @@ +#!/usr/bin/env node + +console.log("AYY! !"); From ae1d77679f7426b848beacca21d5a814987e37fd Mon Sep 17 00:00:00 2001 From: exoego Date: Fri, 21 Feb 2020 14:24:39 +0900 Subject: [PATCH 2/2] Fix typing issue on Scala.js 1.0 --- .../src/test/scala/io/scalajs/nodejs/buffer/BufferTest.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/nodejs-v10/src/test/scala/io/scalajs/nodejs/buffer/BufferTest.scala b/app/nodejs-v10/src/test/scala/io/scalajs/nodejs/buffer/BufferTest.scala index 61489190c..0b2a97277 100644 --- a/app/nodejs-v10/src/test/scala/io/scalajs/nodejs/buffer/BufferTest.scala +++ b/app/nodejs-v10/src/test/scala/io/scalajs/nodejs/buffer/BufferTest.scala @@ -47,7 +47,7 @@ class BufferTest extends AnyFunSpec { import scala.scalajs.js.typedarray.Int8Array val nodeBuffer = Buffer.from(js.Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)) val typedarray = new Int8Array(nodeBuffer.buffer, nodeBuffer.byteOffset, nodeBuffer.length) - assert(typedarray.mkString === new Int8Array(js.Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)).mkString) + assert(typedarray.mkString === new Int8Array(js.Array[Byte](0, 1, 2, 3, 4, 5, 6, 7, 8, 9)).mkString) } it("should support byteLength for specific types") {