Scalafix
Refactoring and linting tool for Scala (by scalacenter)
Wartremover
Flexible Scala code linting tool (by wartremover)
Scalafix | Wartremover | |
---|---|---|
6 | 6 | |
828 | 1,080 | |
1.0% | 0.8% | |
9.3 | 9.1 | |
9 days ago | 6 days ago | |
Scala | Scala | |
BSD 3-clause "New" or "Revised" License | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Scalafix
Posts with mentions or reviews of Scalafix.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-08-11.
-
Security static analysis tooling for Scala?
I also recommend using Scalafix. It's a tool which can lint your codebase, checking for potentially problematic things, like
-
Which static analysis tool do you use for Scala?
Scalafix
-
Dragging Haskell Kicking and Screaming into the Century of the Fruitbat :: Reasonably Polymorphic
scala-fix seems relevant for the /= removal problem.
- Newspeak and Domain Modeling
-
Scala noob question. Parameter of type Option. Why does scala compiler allows passing null as an argument?
I actually still recommend using WartRemover, at least until there's an equivalent ScalaFix ruleset that's as effective.
-
Teaching exercises with custom error messages
Probably linting rules defined in Scalafix. See https://github.com/scalacenter/scalafix/blob/master/scalafix-rules/src/main/scala/scalafix/internal/rule/DisableSyntax.scala#L11 for an example.
Wartremover
Posts with mentions or reviews of Wartremover.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-08.
-
Is Scala to Java the same relationship as TypeScript has with ECMAScript?
By contrast, Java and ECMAScript are essentially what we might call "classical" imperative OOP languages, although ECMAScript reveals much more of its Lisp-inspired "map/filter/reduce" FP roots. IMO ESLint is essentially table stakes for working with ECMAScript, but honestly, I wouldn't stop there and would insist on working in TypeScript, including some of the tooling for ESLint specifically for TypeScript, dialing type-safety up to 11, effectively like using Wart Remover with Scala.
-
Scala Resurrection
I'm awed by the maturity of the Scala 2 compiler. Every minor version in the 2.13 series adds a new linting improvement. You can see that if you have sbt-tpolecat in your project. I'm always happy to see that some option from Wartremover is no longer used.
-
New to Scala;
I was recently trying to move away from Scapegoat to Wartremover and I got bitten by this bug which is particularly prevalent in codebases using Typelevel libraries.
-
Which static analysis tool do you use for Scala?
There is also wartremover but you cannot run it separately from your compile command.
- Newspeak and Domain Modeling
What are some alternatives?
When comparing Scalafix and Wartremover you can also consider the following projects:
scalafmt - This repo is now a fork of --->
Scapegoat - Scala compiler plugin for static code analysis
Scalastyle - scalastyle
scala-3-migration-guide - The Scala 3 migration guide for everyone.
Linter - Static Analysis Compiler Plugin for Scala
Scalariform - Scala source code formatter
Scurses - Scurses, terminal drawing API for Scala, and Onions, a Scurses framework for easy terminal UI
sonar-scala - A free and open-source SonarQube plugin for static code analysis of Scala projects.
sbt - sbt, the interactive build tool