Skip to content

Commit 2c39474

Browse files
authored
Merge pull request #995 from japgolly/topic/sjdom2
Upgrade scalajs-dom to 2.0.0-RC1
2 parents cb39c93 + 62b9c68 commit 2c39474

File tree

20 files changed

+49
-39
lines changed

20 files changed

+49
-39
lines changed

.github/dependabot.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
version: 2
2+
updates:
3+
4+
- package-ecosystem: github-actions
5+
directory: "/"
6+
schedule:
7+
interval: daily
8+
open-pull-requests-limit: 10
9+

bin/ci

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ cmd=(
4545
++$SCALA_VER
4646
'set ThisBuild / parallelExecution := false'
4747
'set Global / concurrentRestrictions += Tags.limit(ScalaJSTags.Link, 1)'
48+
clean
4849
test # Test development-mode
4950
'set ThisBuild / scalaJSStage := FullOptStage' test # Test production-mode
5051
publishLocal # For downstream tests

build.sbt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
ThisBuild / organization := "com.github.japgolly.scalajs-react"
2-
ThisBuild / homepage := Some(url("https://github.com/japgolly/scalajs-react"))
3-
ThisBuild / licenses := ("Apache-2.0", url("http://opensource.org/licenses/Apache-2.0")) :: Nil
4-
ThisBuild / shellPrompt := ((s: State) => Project.extract(s).currentRef.project + "> ")
5-
sonatypeProfileName := "com.github.japgolly"
1+
ThisBuild / organization := "com.github.japgolly.scalajs-react"
2+
ThisBuild / homepage := Some(url("https://github.com/japgolly/scalajs-react"))
3+
ThisBuild / licenses := ("Apache-2.0", url("http://opensource.org/licenses/Apache-2.0")) :: Nil
4+
ThisBuild / shellPrompt := ((s: State) => Project.extract(s).currentRef.project + "> ")
5+
ThisBuild / versionScheme := Some("early-semver")
6+
sonatypeProfileName := "com.github.japgolly"
67

78
val callback = ScalaJsReact.callback
89
val callbackExtCats = ScalaJsReact.callbackExtCats

callback/src/main/scala-2/japgolly/scalajs/react/callback/CallbackTo.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import japgolly.scalajs.react.util.Effect.Sync
55
import japgolly.scalajs.react.util.JsUtil
66
import japgolly.scalajs.react.util.Util.{catchAll, identityFn}
77
import java.time.{Duration, Instant}
8-
import org.scalajs.dom.raw.Window
9-
import org.scalajs.dom.window
8+
import org.scalajs.dom.{Window, window}
109
import scala.annotation.tailrec
1110
import scala.collection.BuildFrom
1211
import scala.concurrent.duration.{FiniteDuration, MILLISECONDS}

callback/src/main/scala-3/japgolly/scalajs/react/callback/CallbackTo.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import japgolly.scalajs.react.util.Effect.Sync
55
import japgolly.scalajs.react.util.JsUtil
66
import japgolly.scalajs.react.util.Util.{catchAll, identityFn}
77
import java.time.{Duration, Instant}
8-
import org.scalajs.dom.raw.Window
8+
import org.scalajs.dom.Window
99
import org.scalajs.dom.window
1010
import scala.annotation.tailrec
1111
import scala.collection.BuildFrom

coreGeneric/src/main/scala/japgolly/scalajs/react/ComponentDom.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ object ComponentDom {
6767
}
6868

6969
/** unsafe! may throw an exception */
70-
final def domCast[N <: dom.raw.Node]: N =
70+
final def domCast[N <: dom.Node]: N =
7171
asElement().domCast[N]
7272

7373
/** unsafe! may throw an exception */

doc/changelog/2.0.0.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,8 @@ Contents:
9999

100100
# Changes: Backwards-Incompatible
101101

102+
* scalajs-dom has been bumped to v2.0.0. This is backwards-incompatible with v1.x.y.
103+
102104
* If you used to just add the `extra` module to your sbt's `libraryDependencies` and
103105
rely on `core` being included as a transitive dependency, it will no longer work.
104106
Explicitly add the `core` to your `libraryDependencies`.
@@ -360,6 +362,7 @@ You can run the script in the Migration section at the bottom of the page to aut
360362
* `ReactTestUtils` is now a `trait` as well as an `object` so that you can mix it into your own test utils collection
361363
* Upgrade deps
362364
* Cats-effect to 3.2.9
365+
* scalajs-dom 2.0.0-RC1
363366
364367
365368
# Thanks

downstream-tests/build.sbt

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,14 @@ def scalac3Flags = Seq(
5555
def commonSettings: Project => Project = _
5656
.configure(preventPublication)
5757
.settings(
58-
scalaVersion := Ver.scala3,
59-
crossScalaVersions := Seq(Ver.scala2, Ver.scala3),
60-
scalacOptions ++= scalacCommonFlags,
61-
scalacOptions ++= byScalaVersion {
62-
case (2, _) => scalac2Flags
63-
case (3, _) => scalac3Flags
64-
}.value,
58+
scalaVersion := Ver.scala3,
59+
crossScalaVersions := Seq(Ver.scala2, Ver.scala3),
60+
scalacOptions ++= scalacCommonFlags,
61+
scalacOptions ++= byScalaVersion {
62+
case (2, _) => scalac2Flags
63+
case (3, _) => scalac3Flags
64+
}.value,
65+
dependencyOverrides ++= globalDependencyOverrides.value,
6566
)
6667

6768
lazy val cleanTestAll = taskKey[Unit]("cleanTestAll")

extra/src/main/scala/japgolly/scalajs/react/extra/DefaultReusabilityOverlay.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ import japgolly.scalajs.react.util.DomUtil._
77
import japgolly.scalajs.react.util.Effect.Sync
88
import japgolly.scalajs.react.vdom.html_<^._
99
import org.scalajs.dom.html.Element
10-
import org.scalajs.dom.raw.{CSSStyleDeclaration, Node}
11-
import org.scalajs.dom.{console, document, window}
10+
import org.scalajs.dom.{CSSStyleDeclaration, Node, console, document, window}
1211
import scala.concurrent.duration._
1312

1413
object DefaultReusabilityOverlay {

extra/src/main/scala/japgolly/scalajs/react/extra/EventListenerF.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ package japgolly.scalajs.react.extra
22

33
import japgolly.scalajs.react._
44
import japgolly.scalajs.react.util.Effect.Dispatch
5-
import org.scalajs.dom.Event
6-
import org.scalajs.dom.raw.EventTarget
5+
import org.scalajs.dom.{Event, EventTarget}
76
import scala.scalajs.js
87

98
class EventListenerF[F[_]] {

extra/src/main/scala/japgolly/scalajs/react/extra/internal/AjaxF.scala

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package japgolly.scalajs.react.extra.internal
22

33
import japgolly.scalajs.react.util.Effect
4-
import org.scalajs.dom.ext.AjaxException
54
import org.scalajs.dom.{ProgressEvent, XMLHttpRequest}
65
import scala.scalajs.js
76
import scala.util.{Failure, Success}
@@ -206,3 +205,7 @@ class AjaxF[F[_], Async[_]](implicit F: Effect.Sync[F], Async: Effect.Async[Asyn
206205

207206
private val newXHR = F.delay(new XMLHttpRequest())
208207
}
208+
209+
final case class AjaxException(xhr: XMLHttpRequest) extends Exception {
210+
def isTimeout = xhr.status == 0 && xhr.readyState == 4
211+
}

facadeMain/src/main/scala/japgolly/scalajs/react/facade/ReactDOM.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ trait ReactDOM extends js.Object {
1616

1717
val version: String = js.native
1818

19-
final type Container = dom.Element | dom.raw.Document
19+
final type Container = dom.Element | dom.Document
2020

2121
final def render(element : React.Node,
2222
container: Container,

ghpages/src/main/scala/ghpages/examples/TouchExample.scala

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,7 @@ object TouchExample {
3838
)
3939

4040
private def formatTouches(touches: dom.TouchList) =
41-
toSeq(touches).map(formatCoordinates).mkString(" | ")
42-
43-
private def toSeq[A](list: dom.DOMList[A]) =
44-
for(i <- 0 to list.length - 1) yield list.item(i)
41+
touches.iterator.map(formatCoordinates).mkString(" | ")
4542

4643
private def formatCoordinates(touch: dom.Touch) =
4744
s"${touch.screenX}x${touch.screenY}: ${touch.radiusX}x${touch.radiusY}"

ghpages/src/main/scala/ghpages/examples/util/CodeSnippets.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package ghpages.examples.util
33
import japgolly.scalajs.react._
44
import japgolly.scalajs.react.vdom.html_<^._
55
import org.scalajs.dom.Element
6-
import org.scalajs.dom.ext.PimpedNodeList
76
import scala.scalajs.js.Dynamic.global
87

98
object CodeSnippets {

project/Dependencies.scala

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ object Dependencies {
1111
// Externally observable
1212
val cats = "2.6.1"
1313
val catsEffect = "3.2.9"
14-
val microlibs = "3.0.1"
14+
val microlibs = "4.0.0-RC1"
1515
val monocle2 = "2.1.0"
1616
val monocle3 = "3.1.0"
1717
val scala2 = "2.13.6"
1818
val scala3 = "3.0.2"
19-
val scalaJsDom = "1.2.0"
19+
val scalaJsDom = "2.0.0-RC1"
2020
val sourcecode = "0.2.7"
2121

2222
// Internal
@@ -29,7 +29,7 @@ object Dependencies {
2929
val scalaJsJavaTime = "1.0.0"
3030
val scalaTest = "3.2.10"
3131
val sizzleJs = "2.3.0"
32-
val univEq = "1.6.0"
32+
val univEq = "2.0.0-RC1"
3333
val utest = "0.7.10"
3434
}
3535

@@ -50,7 +50,7 @@ object Dependencies {
5050
val nyayaProp = Def.setting("com.github.japgolly.nyaya" %%% "nyaya-prop" % Ver.nyaya)
5151
val nyayaTest = Def.setting("com.github.japgolly.nyaya" %%% "nyaya-test" % Ver.nyaya)
5252
val scalaCompiler = Def.setting("org.scala-lang" % "scala-compiler" % scalaVersion.value)
53-
val scalaJsDom = Def.setting("org.scala-js" %%% "scalajs-dom" % Ver.scalaJsDom cross CrossVersion.for3Use2_13)
53+
val scalaJsDom = Def.setting("org.scala-js" %%% "scalajs-dom" % Ver.scalaJsDom)
5454
val scalaJsJavaTime = Def.setting("org.scala-js" %%% "scalajs-java-time" % Ver.scalaJsJavaTime cross CrossVersion.for3Use2_13)
5555
val scalaReflect = Def.setting("org.scala-lang" % "scala-reflect" % scalaVersion.value)
5656
val scalaTest = Def.setting("org.scalatest" %%% "scalatest" % Ver.scalaTest)
@@ -78,6 +78,7 @@ object Dependencies {
7878
}
7979

8080
def globalDependencyOverrides = Def.setting(Seq(
81+
Dep.scalaJsDom.value,
8182
Dep.univEq.value,
8283
Dep.univEqCats.value,
8384
))

testUtil/src/main/scala/japgolly/scalajs/react/test/ReactTestUtils.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,7 @@ trait ReactTestUtils extends japgolly.scalajs.react.test.internal.ReactTestUtilE
405405
(c: GenericComponent[P, CtorType.Props, U], m: M)(f: P => P): M = {
406406
val container = m.getDOMNode.asMounted().node.parentNode
407407
val p2 = f(m.props)
408-
act(c(p2).renderIntoDOM(container.domCast[org.scalajs.dom.raw.Element]))
408+
act(c(p2).renderIntoDOM(container.domCast[org.scalajs.dom.Element]))
409409
}
410410

411411
def replaceProps[P, U <: GenericComponent.Unmounted[P, M], M <: GenericComponent.MountedImpure[P, _]]

tests/src/test/scala/japgolly/scalajs/react/MiscTest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ object MiscTest extends TestSuite {
161161
}
162162

163163
"domExt" - {
164-
import org.scalajs.dom.raw._
164+
import org.scalajs.dom._
165165
"domCast" - assertType[Node].map(_.domCast[HTMLInputElement]).is[HTMLInputElement]
166166
"domAsHtml" - assertType[Node].map(_.domAsHtml).is[HTMLElement]
167167
"domToHtml" - {

tests/src/test/scala/japgolly/scalajs/react/extra/EventListenerTest.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import japgolly.scalajs.react.test.ReactTestUtils
55
import japgolly.scalajs.react.test.TestUtil._
66
import japgolly.scalajs.react.vdom.html_<^._
77
import org.scalajs.dom._
8-
import org.scalajs.dom.raw.EventInit
98
import utest._
109

1110
object EventListenerTest extends TestSuite {

tests/src/test/scala/japgolly/scalajs/react/test/TestTest.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import japgolly.scalajs.react.facade.SyntheticEvent
55
import japgolly.scalajs.react.test.TestUtil._
66
import japgolly.scalajs.react.vdom.html_<^._
77
import org.scalajs.dom
8-
import org.scalajs.dom.document
9-
import org.scalajs.dom.raw.{HTMLElement, HTMLInputElement}
8+
import org.scalajs.dom.{HTMLElement, HTMLInputElement, document}
109
import scala.annotation.nowarn
1110
import scala.concurrent.Promise
1211
import scala.scalajs.concurrent.JSExecutionContext.Implicits.queue

util/src/main/scala/japgolly/scalajs/react/util/DomUtil.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import org.scalajs.dom.html
66
object DomUtil {
77

88
/** Extensions to plain old DOM. */
9-
@inline implicit final class ReactExt_DomNode(private val n: dom.raw.Node) extends AnyVal {
9+
@inline implicit final class ReactExt_DomNode(private val n: dom.Node) extends AnyVal {
1010

11-
@inline def domCast[N <: dom.raw.Node]: N =
11+
@inline def domCast[N <: dom.Node]: N =
1212
n.asInstanceOf[N]
1313

1414
@inline def domAsHtml: html.Element =
@@ -26,6 +26,6 @@ object DomUtil {
2626
trait DomUtil {
2727
import DomUtil._
2828

29-
@inline final implicit def ReactExt_DomNode(n: dom.raw.Node): ReactExt_DomNode =
29+
@inline final implicit def ReactExt_DomNode(n: dom.Node): ReactExt_DomNode =
3030
new ReactExt_DomNode(n)
3131
}

0 commit comments

Comments
 (0)