Configure scalafix

This commit is contained in:
Paul-Henri Froidmont 2025-11-07 05:10:10 +01:00
parent bc113df11d
commit 8b2bf0f543
Signed by: phfroidmont
GPG key ID: BE948AFD7E7873BE
18 changed files with 67 additions and 27 deletions

20
.scalafix.conf Normal file
View file

@ -0,0 +1,20 @@
rules = [
DisableSyntax,
LeakingImplicitClassVal,
NoAutoTupling,
NoValInForComprehension,
OrganizeImports
]
OrganizeImports {
targetDialect = Scala3
blankLines = Auto
expandRelative = true
removeUnused=true
groupedImports=Keep
groups = [
"re:(javax?|scala)\\."
"*"
"scalive"
]
}

View file

@ -22,3 +22,6 @@ rewrite.scala3.convertToNewSyntax = true
rewrite.scala3.removeOptionalBraces = yes
rewrite.scala3.insertEndMarkerMinLines = 30
rewrite.scala3.removeEndMarkerMaxLines = 29
newlines.topLevelStatementBlankLines = [
{ regex = "^Import", blanks { after = 1 } }
]

View file

@ -1,15 +1,19 @@
//| mvnDeps : ["com.raquo::domtypes:18.1.0"]
//| mvnDeps:
//| - com.raquo::domtypes:18.1.0
//| - com.goyeau::mill-scalafix::0.6.0
package build
import mill.*, scalalib.*, javascriptlib.*
import mill.scalalib.scalafmt.ScalafmtModule
import mill.api.Task.Simple
import java.net.URI
import java.nio.file.*
import java.nio.file.attribute.BasicFileAttributes
import java.util
import com.goyeau.mill.scalafix.ScalafixModule
trait ScalaCommon extends ScalaModule:
trait ScalaCommon extends ScalaModule with ScalafmtModule with ScalafixModule:
def scalaVersion = "3.7.2"
def scalacOptions = Seq(
"-Wunused:all",

View file

@ -1,11 +1,12 @@
package scalive
package playground
import scalive.*
import zio.*
import zio.stream.ZStream
import TestView.*
import scalive.*
import scalive.playground.TestView.*
class TestView extends LiveView[Msg, Model]:
def init = Model()

View file

@ -1,9 +1,10 @@
package scalive
package playground
import scalive.*
import zio.json.*
import scalive.*
extension (el: HtmlElement) def html: String = HtmlBuilder.build(el)
import TestView.*

View file

@ -1,6 +1,7 @@
package scalive
import java.io.StringWriter
import scalive.Mod.Attr
import scalive.Mod.Content

View file

@ -1,14 +1,15 @@
package scalive
import java.util.Base64
import scala.util.Random
import zio.json.*
import scalive.JSCommands.JSCommand
import scalive.Mod.Attr
import scalive.Mod.Content
import scalive.codecs.BooleanAsAttrPresenceEncoder
import scalive.codecs.Encoder
import zio.json.*
import java.util.Base64
import scala.util.Random
class HtmlElement(val tag: HtmlTag, val mods: Vector[Mod]):
def static: Seq[String] = StaticBuilder.build(this)

View file

@ -1,11 +1,11 @@
package scalive
import zio.json.*
import zio.json.ast.Json
import java.util.Base64
import scala.util.Random
import zio.json.*
import zio.json.ast.Json
val JS: JSCommands.JSCommand = JSCommands.empty
object JSCommands:

View file

@ -2,6 +2,7 @@ package scalive
import scala.collection.immutable.ArraySeq
import scala.collection.mutable.ListBuffer
import scalive.Mod.Attr
import scalive.Mod.Content

View file

@ -1,7 +1,5 @@
package scalive
import zio.json.*
import java.time.Instant
import java.util.Base64
import javax.crypto.Mac
@ -9,6 +7,8 @@ import javax.crypto.spec.SecretKeySpec
import scala.concurrent.duration.Duration
import scala.util.Random
import zio.json.*
final case class Token[T] private (
version: Int,
liveViewId: String,

View file

@ -1,9 +1,10 @@
import CounterLiveView.*
import monocle.syntax.all.*
import scalive.*
import zio.*
import zio.stream.ZStream
import scalive.*
class CounterLiveView() extends LiveView[Msg, Model]:
def init =

View file

@ -1,4 +1,3 @@
import scalive.{label as _, *}
import zio.*
import zio.http.*
import zio.logging.ConsoleLoggerConfig
@ -7,6 +6,8 @@ import zio.logging.LogFilter
import zio.logging.LogFormat.*
import zio.logging.consoleLogger
import scalive.{label as _, *}
object Example extends ZIOAppDefault:
private val logFormat =

View file

@ -1,7 +1,8 @@
import scalive.*
import zio.*
import zio.stream.ZStream
import scalive.*
class HomeLiveView() extends LiveView[String, Unit]:
val links = List(
"/counter" -> "Counter",

View file

@ -1,9 +1,10 @@
import ListLiveView.*
import monocle.syntax.all.*
import scalive.*
import zio.*
import zio.stream.ZStream
import scalive.*
class ListLiveView(someParam: String) extends LiveView[Msg, Model]:
def init =

View file

@ -1,8 +1,9 @@
import TodoLiveView.*
import scalive.*
import zio.*
import zio.stream.ZStream
import scalive.*
class TodoLiveView() extends LiveView[Msg, Model]:
def init = Model(

View file

@ -1,7 +1,8 @@
package scalive
import scalive.WebSocketMessage.Meta
import scalive.WebSocketMessage.Payload
import java.util.Base64
import scala.util.Random
import zio.*
import zio.http.*
import zio.http.ChannelEvent.Read
@ -11,8 +12,8 @@ import zio.json.*
import zio.stream.SubscriptionRef
import zio.stream.ZStream
import java.util.Base64
import scala.util.Random
import scalive.WebSocketMessage.Meta
import scalive.WebSocketMessage.Payload
final case class LiveRoute[A, Msg, Model](
path: PathCodec[A],

View file

@ -1,12 +1,13 @@
package scalive
import scalive.WebSocketMessage.LiveResponse
import scalive.WebSocketMessage.Payload
import zio.*
import zio.Queue
import zio.stream.SubscriptionRef
import zio.stream.ZStream
import scalive.WebSocketMessage.LiveResponse
import scalive.WebSocketMessage.Payload
final case class Socket[Msg, Model] private (
id: String,
token: String,

View file

@ -1,12 +1,13 @@
package scalive
import scalive.WebSocketMessage.LiveResponse
import scalive.WebSocketMessage.Payload
import zio.Chunk
import zio.http.QueryParams
import zio.json.*
import zio.json.ast.Json
import scalive.WebSocketMessage.LiveResponse
import scalive.WebSocketMessage.Payload
final case class WebSocketMessage(
// Live session ID, auto increment defined by the client on join
joinRef: Option[Int],