https://github.com/joan38/mill-scalafix
A Scalafix plugin for Mill build tool
https://github.com/joan38/mill-scalafix
mill-module mill-plugin scala
Last synced: 5 months ago
JSON representation
A Scalafix plugin for Mill build tool
- Host: GitHub
- URL: https://github.com/joan38/mill-scalafix
- Owner: joan38
- License: mit
- Created: 2020-05-04T00:48:02.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2025-10-18T20:32:18.000Z (8 months ago)
- Last Synced: 2026-01-17T05:12:18.137Z (5 months ago)
- Topics: mill-module, mill-plugin, scala
- Language: Scala
- Homepage:
- Size: 131 KB
- Stars: 40
- Watchers: 4
- Forks: 18
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# mill-scalafix
[](https://mvnrepository.com/artifact/com.goyeau/mill-scalafix_mill1)
A [scalafix](https://scalacenter.github.io/scalafix) plugin for Mill build tool.
## Usage
### Fix sources
*build.mill*:
```scala
//| mvnDeps:
//| - com.goyeau::mill-scalafix::0.6.0
import com.goyeau.mill.scalafix.ScalafixModule
import mill.scalalib._
object project extends ScalaModule with ScalafixModule:
def scalaVersion = "3.7.3"
```
```shell script
> 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
```
### Using External Rules
You're also able to use external Scalafix rules by adding them like the below
example:
```scala
def scalafixIvyDeps = Seq(mvn"com.github.xuwei-k::scalafix-rules:0.6.17")
```
### Scalafix Arguments
mill-scalafix takes any argument that can be passed to the [Scalafix the command line tool](https://scalacenter.github.io/scalafix/docs/users/installation.html#command-line).
You could for example check that all files have been fixed with scalafix. We usually use that to enforce rules in CI:
```shell script
> mill project.fix --check
[30/30] project.fix
--- /project/project/src/Fix.scala
+++
@@ -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
```
## Related projects
* [scalafix](https://github.com/scalacenter/scalafix)
* Inspired by [sbt-scalafix](https://github.com/scalacenter/sbt-scalafix)
## Contributing
Contributions are more than welcome!
See [CONTRIBUTING.md](CONTRIBUTING.md) for all the information and getting help.