Skip to content

Commit c410de9

Browse files
authored
Merge pull request #518 from scala-js/topic/formatImports
Auto-format imports
2 parents 5172010 + b0fa8f9 commit c410de9

39 files changed

+85
-90
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,16 @@ jobs:
3232
run: ./prepareForScala210.sh
3333

3434
- name: Build
35-
run: sbt "++${{ matrix.scalaversion }}" package
35+
run: sbt -DCI=1 "++${{ matrix.scalaversion }}" package
3636

3737
- name: Test generate documentation
38-
run: sbt "++${{ matrix.scalaversion }}" doc
38+
run: sbt -DCI=1 "++${{ matrix.scalaversion }}" doc
3939

4040
- name: Build examples
41-
run: sbt "++${{ matrix.scalaversion }}" example/compile
41+
run: sbt -DCI=1 "++${{ matrix.scalaversion }}" example/compile
4242

4343
- name: Validate formatting
44-
run: sbt "++${{ matrix.scalaversion }}" scalafmtCheck
44+
run: sbt -DCI=1 "++${{ matrix.scalaversion }}" scalafmtCheck
4545

4646
- name: Validate api report
4747
if: matrix.scalajsversion == '1.x' && matrix.scalaversion != '2.11.12'

.scalafix.conf

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
11
rules = [
2+
OrganizeImports,
3+
RemoveUnused,
24
GenerateApiReport,
35
]
6+
7+
RemoveUnused {
8+
imports = false
9+
privates = true
10+
locals = true
11+
}
12+
13+
OrganizeImports {
14+
expandRelative = true
15+
groupedImports = Merge
16+
groupExplicitlyImportedImplicitsSeparately = false
17+
groups = ["*"]
18+
importSelectorsOrder = Ascii
19+
removeUnused = true
20+
}

build.sbt

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,28 @@ lazy val root = project
2323
name := "Scala.js DOM"
2424

2525
ThisBuild / crossScalaVersions := {
26-
if (scalaJSVersion.startsWith("1.")) Seq("2.12.10", "2.11.12", "2.13.1")
27-
else Seq("2.12.10", "2.11.12", "2.10.7", "2.13.1")
26+
if (scalaJSVersion.startsWith("1.")) Seq("2.11.12", "2.12.10","2.13.1")
27+
else Seq("2.10.7", "2.11.12", "2.12.10", "2.13.1")
2828
}
29-
ThisBuild / scalaVersion := crossScalaVersions.value.head
29+
ThisBuild / scalaVersion := crossScalaVersions.value.find(_.startsWith("2.13.")).get
30+
31+
val inCI = Option(System.getenv("CI")).exists(_.contains("1"))
3032

3133
val commonSettings = Seq(
3234
organization := "org.scala-js",
33-
scalacOptions ++= Seq("-deprecation", "-feature", "-Xfatal-warnings")
35+
scalacOptions ++= Seq(
36+
"-deprecation",
37+
"-feature",
38+
),
39+
scalacOptions ++= (if (!inCI) Seq.empty else Seq(
40+
"-Xfatal-warnings",
41+
)),
42+
scalacOptions ++= (CrossVersion.partialVersion(scalaVersion.value) match {
43+
case Some((2, 11)) => "-Ywarn-unused-import" :: Nil
44+
case Some((2, 12)) => "-Ywarn-unused:imports,patvars,locals,implicits" :: Nil
45+
case Some((2, 13)) => "-Wunused:imports,patvars,locals,implicits" :: Nil
46+
case _ => Nil
47+
}),
3448
)
3549

3650
val noPublishSettings = Seq(

scalafix.sbt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,7 @@ ThisBuild / scalacOptions ++= {
88
else
99
Nil
1010
}
11+
12+
ThisBuild / scalafixDependencies ++= Seq(
13+
"com.github.liancheng" %% "organize-imports" % "0.5.0"
14+
)

src/main/scala-new-collections/org/scalajs/dom/ext/NamedNodeMapMap.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package org.scalajs.dom.ext
22

3-
import scala.collection.mutable
4-
53
import org.scalajs.dom._
4+
import scala.collection.mutable
65

76
class NamedNodeMapMap private[ext] (namedNodeMap: NamedNodeMap)
87
extends mutable.Map[String, Attr] {

src/main/scala-old-collections/org/scalajs/dom/ext/NamedNodeMapMap.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package org.scalajs.dom.ext
22

3-
import scala.collection.mutable
4-
53
import org.scalajs.dom._
4+
import scala.collection.mutable
65

76
class NamedNodeMapMap private[ext] (namedNodeMap: NamedNodeMap)
87
extends mutable.Map[String, Attr] {

src/main/scala/org/scalajs/dom/crypto/package.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
package org.scalajs.dom
22

3+
import scala.language.implicitConversions
34
import scala.scalajs.js
4-
import scala.scalajs.js.typedarray.{ArrayBufferView, ArrayBuffer, Uint8Array}
5+
import scala.scalajs.js.typedarray.{ArrayBuffer, ArrayBufferView, Uint8Array}
56
import scala.scalajs.js.|
67

7-
import scala.language.implicitConversions
8-
98
package object crypto {
109
@inline def crypto = GlobalCrypto.crypto
1110

src/main/scala/org/scalajs/dom/experimental/AbortController.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.scalajs.dom.experimental
22

33
import org.scalajs.dom.raw.EventTarget
4-
54
import scala.scalajs.js
65
import scala.scalajs.js.annotation.JSGlobal
76

src/main/scala/org/scalajs/dom/experimental/Fetch.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package org.scalajs.dom.experimental
22

33
import org.scalajs.dom.Blob
44
import org.scalajs.dom.raw.FormData
5-
65
import scala.scalajs.js
76
import scala.scalajs.js.annotation._
87
import scala.scalajs.js.typedarray.{ArrayBuffer, Uint8Array}

src/main/scala/org/scalajs/dom/experimental/FileReaderSync.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.scalajs.dom.experimental
22

33
import org.scalajs.dom.raw.Blob
4-
54
import scala.scalajs.js
65
import scala.scalajs.js.annotation._
76
import scala.scalajs.js.typedarray.ArrayBuffer

src/main/scala/org/scalajs/dom/experimental/Fullscreen.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.scalajs.dom.experimental
22

3-
import org.scalajs.dom.raw.{Event, Element, Document}
4-
3+
import org.scalajs.dom.raw.{Document, Element, Event}
54
import scala.language.implicitConversions
65
import scala.scalajs.js
76

src/main/scala/org/scalajs/dom/experimental/Notification.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
package org.scalajs.dom.experimental
22

3+
import org.scalajs.dom.raw.EventTarget
34
import scala.scalajs.js
45
import scala.scalajs.js.annotation._
56

6-
import org.scalajs.dom.raw.EventTarget
7-
87
@js.native
98
trait NotificationOptions extends js.Object {
109

src/main/scala/org/scalajs/dom/experimental/PointerLock.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.scalajs.dom.experimental
22

3-
import org.scalajs.dom.raw.{Event, MouseEvent, Element, Document}
4-
3+
import org.scalajs.dom.raw.{Document, Element, Event, MouseEvent}
54
import scala.language.implicitConversions
65
import scala.scalajs.js
76

src/main/scala/org/scalajs/dom/experimental/Vibration.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package org.scalajs.dom.experimental
22

33
import scala.language.implicitConversions
4-
import scalajs.js
4+
import scala.scalajs.js
55

66
/**
77
* Implicit imports for the vibration api.

src/main/scala/org/scalajs/dom/experimental/beacon/package.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
package org.scalajs.dom.experimental
22

33
import org.scalajs.dom.raw.{Navigator, WorkerNavigator}
4-
5-
import scala.scalajs.js
64
import scala.language.implicitConversions
5+
import scala.scalajs.js
76

87
/**
98
* The Beacon interface is used to schedule an asynchronous and non-blocking

src/main/scala/org/scalajs/dom/experimental/cachestorage/CacheStorage.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package org.scalajs.dom.experimental.cachestorage
22

3+
import org.scalajs.dom.experimental._
34
import scala.scalajs.js
45
import scala.scalajs.js.annotation._
5-
import org.scalajs.dom.experimental._
66

77
/**
88
* See [[https://slightlyoff.github.io/ServiceWorker/spec/service_worker_1/#cache ¶5.4 cache]]

src/main/scala/org/scalajs/dom/experimental/deviceorientation/DeviceOrientation.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package org.scalajs.dom.experimental.deviceorientation
22

33
import org.scalajs.dom
44
import org.scalajs.dom.raw.EventInit
5-
65
import scala.scalajs.js
76
import scala.scalajs.js.annotation._
87

src/main/scala/org/scalajs/dom/experimental/domparser/DOMParser.scala

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
package org.scalajs.dom.experimental.domparser
22

3+
import org.scalajs.dom.raw.Document
34
import scala.scalajs.js
45
import scala.scalajs.js.annotation._
5-
import scala.scalajs.js.|
6-
7-
import org.scalajs.dom.raw.{Document, HTMLDocument}
86

97
/**
108
* DOMParser can parse XML or HTML source stored in a string into a DOM Document.

src/main/scala/org/scalajs/dom/experimental/gamepad/Gamepad.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,10 @@
66

77
package org.scalajs.dom.experimental.gamepad
88

9-
import scala.scalajs.js
10-
import scala.scalajs.js.annotation._
11-
129
import org.scalajs.dom
1310
import org.scalajs.dom.raw.EventInit
11+
import scala.scalajs.js
12+
import scala.scalajs.js.annotation._
1413

1514
@js.native
1615
trait GamepadMappingType extends js.Any

src/main/scala/org/scalajs/dom/experimental/gamepad/package.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package org.scalajs.dom.experimental
22

3-
import language.implicitConversions
4-
53
import org.scalajs.dom
4+
import scala.language.implicitConversions
65

76
/**
87
* Implements the Gamepad API.

src/main/scala/org/scalajs/dom/experimental/intl/Intl.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
package org.scalajs.dom.experimental.intl
88

99
import scala.scalajs.js
10-
import scala.scalajs.js.|
1110
import scala.scalajs.js.annotation._
11+
import scala.scalajs.js.|
1212

1313
/**
1414
* The Intl.Collator object is a constructor for collators, objects that enable language

src/main/scala/org/scalajs/dom/experimental/mediastream/MediaStream.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
*/
44
package org.scalajs.dom.experimental.mediastream
55

6+
import org.scalajs.dom.raw.{Event, EventInit, EventTarget, TimeRanges}
67
import scala.scalajs.js
7-
import scala.scalajs.js.|
88
import scala.scalajs.js.annotation._
9-
import org.scalajs.dom.raw.{Event, EventInit, EventTarget, TimeRanges}
9+
import scala.scalajs.js.|
1010

1111
/**
1212
* The MediaStream

src/main/scala/org/scalajs/dom/experimental/package.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.scalajs.dom
22

33
import org.scalajs.dom.crypto.BufferSource
4-
54
import scala.scalajs.js
65
import scala.scalajs.js.|
76

src/main/scala/org/scalajs/dom/experimental/permissions/package.scala

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package org.scalajs.dom.experimental
22

3-
import scala.language.implicitConversions
4-
53
import org.scalajs.dom
6-
4+
import scala.language.implicitConversions
75
import scala.scalajs.js
86

97
/**

src/main/scala/org/scalajs/dom/experimental/push/PushManager.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package org.scalajs.dom.experimental.push
22

33
import org.scalajs.dom.experimental.serviceworkers.ExtendableEvent
44
import org.scalajs.dom.raw.Blob
5-
65
import scala.scalajs.js
76
import scala.scalajs.js.typedarray.{ArrayBuffer, Uint8Array}
87

src/main/scala/org/scalajs/dom/experimental/push/package.scala

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
package org.scalajs.dom.experimental
22

3-
import scala.language.implicitConversions
4-
53
import org.scalajs.dom.experimental.serviceworkers.{
64
ServiceWorkerGlobalScope, ServiceWorkerRegistration
75
}
8-
6+
import scala.language.implicitConversions
97
import scala.scalajs.js
108

119
/**

src/main/scala/org/scalajs/dom/experimental/serviceworkers/ServiceWorkers.scala

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
package org.scalajs.dom.experimental.serviceworkers
22

3-
import scala.scalajs.js
4-
import scala.scalajs.js.annotation._
5-
import scala.scalajs.js.|
6-
73
import org.scalajs.dom.experimental.{
8-
Notification, NotificationOptions, Request, RequestInfo, Response, Sequence
4+
Notification, NotificationOptions, Request, Response, Sequence
95
}
10-
import org.scalajs.dom.experimental.cachestorage._
11-
import org.scalajs.dom.raw.{ErrorEvent, EventInit, WorkerGlobalScope}
6+
import org.scalajs.dom.raw.{EventInit, WorkerGlobalScope}
127
import org.scalajs.dom.webgl.RenderingContext
138
import org.scalajs.dom.{Event, EventTarget, MessageEvent, MessagePort}
9+
import scala.scalajs.js
10+
import scala.scalajs.js.annotation._
11+
import scala.scalajs.js.|
1412

1513
@js.native
1614
sealed trait FrameType extends js.Any

src/main/scala/org/scalajs/dom/experimental/sharedworkers/SharedWorker.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
package org.scalajs.dom.experimental.sharedworkers
22

3-
import scala.scalajs.js
4-
import scala.scalajs.js.annotation._
5-
63
import org.scalajs.dom.raw.MessagePort
74
import org.scalajs.dom.webworkers
5+
import scala.scalajs.js
6+
import scala.scalajs.js.annotation._
87

98
/**
109
* The SharedWorker interface represents a specific kind of worker that can be

src/main/scala/org/scalajs/dom/experimental/sharedworkers/SharedWorkerGlobalScope.scala

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package org.scalajs.dom.experimental.sharedworkers
22

33
import org.scalajs.dom.experimental.serviceworkers.ExtendableMessageEvent
4-
import org.scalajs.dom.raw.ApplicationCache
5-
import org.scalajs.dom.raw.WorkerGlobalScope
6-
4+
import org.scalajs.dom.raw.{ApplicationCache, WorkerGlobalScope}
75
import scala.scalajs.js
86
import scala.scalajs.js.annotation._
97

src/main/scala/org/scalajs/dom/experimental/storage/package.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.scalajs.dom.experimental
22

33
import org.scalajs.dom
4-
54
import scala.language.implicitConversions
65
import scala.scalajs.js
76

src/main/scala/org/scalajs/dom/experimental/webgl/extensions/Extensions.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.scalajs.dom.experimental.webgl.extensions
22

33
import org.scalajs.dom.raw.WebGLShader
4-
54
import scala.scalajs.js
65

76
/**

src/main/scala/org/scalajs/dom/experimental/webrtc/WebRTC.scala

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,15 @@
33
*/
44
package org.scalajs.dom.experimental.webrtc
55

6-
import scala.scalajs.js
7-
import scala.scalajs.js.annotation._
8-
import scala.scalajs.js.typedarray.{ArrayBufferView, ArrayBuffer}
9-
import scala.scalajs.js.|
10-
116
import org.scalajs.dom.Blob
7+
import org.scalajs.dom.experimental.mediastream._
128
import org.scalajs.dom.raw.{
139
DOMException, Event, EventInit, EventTarget, MessageEvent
1410
}
15-
import org.scalajs.dom.experimental.mediastream._
11+
import scala.scalajs.js
12+
import scala.scalajs.js.annotation._
13+
import scala.scalajs.js.typedarray.{ArrayBuffer, ArrayBufferView}
14+
import scala.scalajs.js.|
1615

1716
@js.native
1817
trait RTCIdentityAssertion extends js.Object {

0 commit comments

Comments
 (0)