Which static analysis tool do you use for Scala?

This page summarizes the projects mentioned and recommended in the original post on /r/scala

Our great sponsors
  • Revelo Payroll - Free Global Payroll designed for tech teams
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • SonarQube - Static code analysis for 29 languages.
  • Onboard AI - Learn any GitHub repo in 59 seconds
  • Scapegoat

    Scala compiler plugin for static code analysis

    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.

  • Wartremover

    Flexible Scala code linting tool

    There is also wartremover but you cannot run it separately from your compile command.

  • Revelo Payroll

    Free Global Payroll designed for tech teams. Building a great tech team takes more than a paycheck. Zero payroll costs, get AI-driven insights to retain best talent, and delight them with amazing local benefits. 100% free and compliant.

  • sonar-scala

    A free and open-source SonarQube plugin for static code analysis of Scala projects.

    You may use sonar-scala, or the independent pieces it consumes like Scapegoat.

  • sbt-tpolecat

    scalac options for the enlightened

    However, after a while, I found that most of the things I needed were already covered by the compiler. And that Rob's (aka tpolecat) list of compiler options provided all the ones I needed for my style of coding. I Then learn that there was this sbt plugin that managed the list for me and also took care of changing the options according to the Scala version.

  • scalafix-organize-imports

    A CI-friendly Scalafix semantic rule for organizing imports

    extensible with community plugins, we use scalafix-organize-imports and scaluzzi

  • Scalafix

    Refactoring and linting tool for Scala

    Scalafix

  • scaluzzi

    Additional rules for Scalafix. The part of scalazzi rules.

    extensible with community plugins, we use scalafix-organize-imports and scaluzzi

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts