SonarQube
静的解析を利用してコードの品質検査やレビューをするソフトウェア
多くのメジャーな言語をサポートしており、各言語に対する Lint が定義されている
SaaS 版がある
というか売り出し方としてはこっち使って GitHub と連携するのがメイン
SonarSource 社
LGPL-3.0
一例として Rust のルールを見てみる
これ Clippy と被ってるやつとかないのかな
Bug, Code Smell みたいにルールのカテゴリがついてる
中身
LGPL-3.0
Java 製
sarif って名前のパッケージがあるから、セルフホストの場合は sarif で GitHub 連携みたいな感じになるのかな
各言語のパースに何使ってるか知りたい(以下は Codex 調べ、ちゃんと精査できてませんlemonadern.icon)
コミュニティ版
Java
SonarSource 製の SSLR ベース前処理系
JavaScript / TypeScript
tsserver, TypeScript Compiler API
Python
CPython 標準の ast/typed-ast
astroid
PHP
C/C++/Objective-C
Clang
C# / VB.NET
Microsoft Roslyn Compiler API
Kotlin
JetBrains の kotlin-compiler-embeddable
Go
Go 標準の go/parser と go/types
Ruby / Scala
SonarSource の Slang フレームワーク(ANTLR ベース)
Rust
tree-sitter
Swift
Apple SourceKit/SwiftSyntax
HTML
jsoup
XML
SAX/DOM parser, JDK 同梱?
Text
独自トークナイザ
エンタープライズ限定フロントエンド(不明?)
ABAP, COBOL, PL/I, PL/SQL, RPG, T-SQL, Flex, VB6
Dart, Apex, Jasmin (Armor), Architecture, IaC
参考