Skip to content
Oeiuwq Faith Blog OpenSource Porfolio

joan38/mill-scalafix

A Scalafix plugin for Mill build tool

joan38/mill-scalafix.json
{
"createdAt": "2020-05-04T00:48:02Z",
"defaultBranch": "main",
"description": "A Scalafix plugin for Mill build tool",
"fullName": "joan38/mill-scalafix",
"homepage": "",
"language": "Scala",
"name": "mill-scalafix",
"pushedAt": "2025-10-18T20:32:18Z",
"stargazersCount": 39,
"topics": [
"mill-module",
"mill-plugin",
"scala"
],
"updatedAt": "2025-10-18T20:32:22Z",
"url": "https://github.com/joan38/mill-scalafix"
}

Maven Central

A scalafix plugin for Mill build tool.

build.mill:

0.6.0
//| mvnDeps:
import com.goyeau.mill.scalafix.ScalafixModule
import mill.scalalib._
object project extends ScalaModule with ScalafixModule:
def scalaVersion = "3.7.3"
Terminal window
> mill project.fix
[29/29] project.fix
/project/project/src/MyClass.scala:12:11: error: [DisableSyntax.var] mutable state should be avoided
private var hashLength = 7
^^^
1 targets failed
mill-git.fix A Scalafix linter error was reported

You’re also able to use external Scalafix rules by adding them like the below example:

def scalafixIvyDeps = Seq(mvn"com.github.xuwei-k::scalafix-rules:0.6.17")

mill-scalafix takes any argument that can be passed to the Scalafix the command line tool. You could for example check that all files have been fixed with scalafix. We usually use that to enforce rules in CI:

Terminal window
> mill project.fix --check
[30/30] project.fix
--- /project/project/src/Fix.scala
+++ <expected fix>
@@ -1,3 +1,3 @@
object Fix {
- def procedure() {}
+ def procedure(): Unit = {}
}
1 targets failed
project.fix A Scalafix test error was reported. Run `fix` without `--check` or `--diff` to fix the error

Contributions are more than welcome! See [CONTRIBUTING.md]!(CONTRIBUTING.md) for all the information and getting help.