Skip to content

Commit 850c66c

Browse files
committed
Add scalafix configuration
1 parent e5a094d commit 850c66c

File tree

5 files changed

+45
-33
lines changed

5 files changed

+45
-33
lines changed

.scalafix.conf

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
rules = [
2+
DisableSyntax,
3+
RemoveUnused,
4+
OrganizeImports,
5+
NoValInForComprehension,
6+
ProcedureSyntax
7+
]
8+
DisableSyntax.noFinalize = true
9+
DisableSyntax.noIsInstanceOf = true
10+
DisableSyntax.noReturns = true
11+
12+
// `rules` on compilation
13+
triggered.rules = [
14+
DisableSyntax
15+
]
16+
17+
OrganizeImports {
18+
coalesceToWildcardImportThreshold = 6
19+
expandRelative = true
20+
groups = ["*", "re:javax?\\.", "scala."]
21+
groupedImports = AggressiveMerge
22+
}

build.mill.scala

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import $ivy.`de.tototec::de.tobiasroeser.mill.vcs.version::0.4.1`
22
import $ivy.`io.github.alexarchambault.mill::mill-native-image::0.1.31-1`
33
import $ivy.`io.github.alexarchambault.mill::mill-native-image-upload:0.1.31-1`
44
import $ivy.`io.get-coursier::coursier-launcher:2.1.24`
5+
import $ivy.`com.goyeau::mill-scalafix::0.5.1`
56
import build_.package_.native0
67
import de.tobiasroeser.mill.vcs.version._
78
import io.github.alexarchambault.millnativeimage.NativeImage
@@ -15,6 +16,7 @@ import org.jgrapht.graph.DefaultGraphType.simple
1516
import scala.annotation.unused
1617
import scala.concurrent.duration._
1718
import scala.util.Properties.isWin
19+
import com.goyeau.mill.scalafix.ScalafixModule
1820

1921
object Versions {
2022
def scala213 = "2.13.16"
@@ -29,9 +31,13 @@ object Versions {
2931
def scoptVersion = "4.1.0"
3032
def ubuntuVersion = "24.04"
3133
}
32-
object cli extends Cli
33-
trait Cli extends ScalaModule with ScalaJsCliPublishModule {
34+
trait ScalaJsCliModule extends ScalaModule with ScalafixModule {
35+
override def scalacOptions: Target[Seq[String]] = super.scalacOptions.map(_ ++ Seq("-Wunused"))
3436
def scalaVersion: Target[String] = Versions.scala213
37+
}
38+
39+
object cli extends Cli
40+
trait Cli extends ScalaJsCliModule with ScalaJsCliPublishModule {
3541
def artifactName: Target[String] = "scalajs" + super.artifactName()
3642
def ivyDeps: Target[Agg[Dep]] = super.ivyDeps() ++ Seq(
3743
ivy"org.scala-js::scalajs-linker:${Versions.scalaJsVersion}",
@@ -97,8 +103,7 @@ trait Cli extends ScalaModule with ScalaJsCliPublishModule {
97103
}
98104
}
99105

100-
trait ScalaJsCliNativeImage extends ScalaModule with NativeImage {
101-
def scalaVersion: Target[String] = Versions.scala213
106+
trait ScalaJsCliNativeImage extends ScalaJsCliModule with NativeImage {
102107

103108
def nativeImageClassPath: Target[Seq[PathRef]] = Task {
104109
runClasspath()
@@ -176,8 +181,7 @@ trait ScalaJsCliMostlyStaticNativeImage extends ScalaJsCliNativeImage {
176181
object `native-mostly-static` extends ScalaJsCliMostlyStaticNativeImage
177182

178183
@unused
179-
object tests extends ScalaModule {
180-
def scalaVersion: Target[String] = Versions.scala213
184+
object tests extends ScalaJsCliModule {
181185

182186
@unused
183187
object test extends ScalaTests with TestModule.Munit {

cli/src/org/scalajs/cli/Scalajsld.scala

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,29 +7,21 @@
77
\* */
88

99
package org.scalajs.cli
10-
10+
import org.scalajs.cli.internal.{EsVersionParser, ImportMapJsonIr, ModuleSplitStyleParser}
1111
import org.scalajs.ir.ScalaJSVersions
12-
13-
import org.scalajs.logging._
14-
1512
import org.scalajs.linker._
13+
import org.scalajs.linker.interface.CheckedBehavior.Compliant
1614
import org.scalajs.linker.interface._
17-
18-
import CheckedBehavior.Compliant
19-
20-
import scala.concurrent.{Await, Future}
21-
import scala.concurrent.duration.Duration
22-
import scala.concurrent.ExecutionContext.Implicits.global
15+
import org.scalajs.logging._
2316

2417
import java.io.File
18+
import java.lang.NoClassDefFoundError
2519
import java.net.URI
2620
import java.nio.file.Path
27-
import java.lang.NoClassDefFoundError
28-
import org.scalajs.cli.internal.{EsVersionParser, ModuleSplitStyleParser}
29-
import org.scalajs.cli.internal.ImportMapJsonIr.ImportMap
3021

31-
import com.github.plokhotnyuk.jsoniter_scala.core._
32-
import org.scalajs.cli.internal.ImportMapJsonIr
22+
import scala.concurrent.ExecutionContext.Implicits.global
23+
import scala.concurrent.duration.Duration
24+
import scala.concurrent.{Await, Future}
3325

3426
object Scalajsld {
3527

cli/src/org/scalajs/cli/Scalajsp.scala

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,20 @@
88

99
package org.scalajs.cli
1010

11-
import org.scalajs.ir.ScalaJSVersions
12-
import org.scalajs.ir.Trees.{Tree, ClassDef}
1311
import org.scalajs.ir.Printers.IRTreePrinter
14-
12+
import org.scalajs.ir.ScalaJSVersions
1513
import org.scalajs.linker._
1614
import org.scalajs.linker.interface._
1715
import org.scalajs.linker.interface.unstable.IRFileImpl
18-
import org.scalajs.linker.standard._
1916

20-
import scala.collection.immutable
17+
import java.io.{Console => _, _}
2118

19+
import scala.collection.immutable
20+
import scala.concurrent.ExecutionContext.Implicits.global
2221
import scala.concurrent._
2322
import scala.concurrent.duration.Duration
24-
import scala.concurrent.ExecutionContext.Implicits.global
25-
2623
import scala.util.{Failure, Success}
2724

28-
import java.io.{Console => _, _}
29-
import java.util.zip.{ZipFile, ZipEntry}
30-
import java.nio.file.Path
31-
3225
object Scalajsp {
3326

3427
private case class Options(

cli/src/org/scalajs/cli/internal/ImportMap.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
package org.scalajs.cli.internal
22

3+
import com.armanbilge.sjsimportmap.ImportMappedIRFile
34
import com.github.plokhotnyuk.jsoniter_scala.core._
45
import com.github.plokhotnyuk.jsoniter_scala.macros._
56
import org.scalajs.linker.interface.IRFile
7+
68
import java.io.File
7-
import com.armanbilge.sjsimportmap.ImportMappedIRFile
89

910
object ImportMapJsonIr {
1011

0 commit comments

Comments
 (0)