Wartremover
Flexible Scala code linting tool (by wartremover)
Scapegoat
Scala compiler plugin for static code analysis (by scapegoat-scala)
Wartremover | Scapegoat | |
---|---|---|
6 | 3 | |
1,099 | 539 | |
0.5% | 0.2% | |
9.5 | 8.5 | |
4 days ago | 4 days ago | |
Scala | Scala | |
Apache License 2.0 | 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.
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
Scapegoat
Posts with mentions or reviews of Scapegoat.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-02-26.
-
Simple, Naïve, and Wrong: More than you wanted to know about Scala Case Classes
I've since figured this out (Scapegoat/FinalModifierOnCaseClass and WartRemover/FinalCaseClass). I plan to add it to the next version of the article.
-
Which static analysis tool do you use for Scala?
The support for scala 3 has been requested a while ago: https://github.com/scapegoat-scala/scapegoat/issues/521 but the original author has stepped down as a maintainer https://github.com/scapegoat-scala/scapegoat/issues/567 and recently most of the changes are just dependency updates.
What are some alternatives?
When comparing Wartremover and Scapegoat you can also consider the following projects:
Scalafix - Refactoring and linting tool for Scala
Scalastyle - scalastyle
scalafmt - This repo is now a fork of --->
Linter - Static Analysis Compiler Plugin for Scala