Analysis Tools (Open Source)

CodeFactor.io uses a variety of software code analysis tools and algorithms. In addition to proprietary tools CodeFactor.io also takes advantage of several Open Source code analysis tools. Here is the list of Open Source analysis engines that we use:

Language Name Version Configuration
C# StyleCop - Settings.StyleCop file
C, C++ CppLint - CPPLINT.CFG file
C, C++ Flawfinder 2.0.19 N/A
CSS, SCSS, Less, SugarSS, HTML Stylelint 16.3.1 .stylelintrc* file
JavaScript, TypeScript ESLint 8.53.0 .eslintrc.* file
Swift SwiftLint 0.49.1 .swiftlint.yml file
Ruby RuboCop 1.62.1 .rubocop.yml file
Ruby bundler-audit 0.9.1 .bundler-audit.yml file
Ruby Brakeman 4.3.1 brakeman.yml
Go Revive 1.3.7 revive.toml
Go Gocyclo 0.4.0 N/A
Python Radon 4.1.0 N/A
Python Pylint 2.17.1/1.9.5 .pylintrc file
Python pycodestyle 2.11.1 setup.cfg, tox.ini, .flake8
Python Bandit 1.7.8 .bandit file
Java Checkstyle 10.15.0 checkstyle.xml file
Groovy CodeNarc 3.4.0 codenarc.xml file
PHP PHP_CodeSniffer 3.9.1 (.)phpcs.xml(.dist) file
Shell ShellCheck 0.10.0 .shellcheckrc file
Dockerfile Hadolint 2.12.0 .hadolint.yaml file
Terraform trivy 0.50.1 trivy.yaml file
YAML Yamllint 1.35.0 .yamllint* file
Kotlin Detekt 1.23.0 detekt.yml file
PowerShell PSScriptAnalyzer 1.22.0 PSScriptAnalyzerSettings.psd1 file
T-SQL TSQLLint 1.15.3 .tsqllintrc file
Dart Linter for Dart 3.3.0 analysis_options.yaml file
R Lintr 3.1.1 .lintr file
CoffeeScript CoffeeLint 5.2.11 coffeelint.json file
TypeScript TSLint (deprecated) 6.1.3 tslint.* file
Scala Scalastyle (deprecated) 1.5.1 scalastyle.xml file

If engine is not provided with custom configuration it will use default rule-set. We reserve the right to disable selected rules without notice if necessary.

Supported plugins

PHP_CodeSniffer

MySource
PEAR
PSR1
PSR12
PSR2
Squiz
Zend
WordPress-VIP-Go
WordPressVIPMinimum
Drupal
DrupalPractice
PHPCompatibility
PHPCompatibilityParagonieRandomCompat
PHPCompatibilityParagonieSodiumCompat
PHPCompatibilityWP
VariableAnalysis
WooCommerce
WooCommerce-Core
WordPress
WordPress-Core
WordPress-Docs
WordPress-ExtraWordPress-VIP

Stylelint

stylelint-declaration-block-no-ignored-properties
stylelint-declaration-strict-value
stylelint-declaration-use-variable
stylelint-order
stylelint-scsss
stylelint-prettier
stylelint-no-browser-hacks

Pylint

pylint_django
pylint_celery
pylint.extensions.docparams
pylint.extensions.docstyle
pylint.extensions.broad_try_clause
pylint.extensions.emptystring
pylint.extensions.comparetozero
pylint.extensions.confusing_elif
pylint.extensions.bad_builtin
pylint.extensions.check_elif
pylint.extensions.redefined_variable_type
pylint.extensions.overlapping_exceptions
pylint.extensions.empty_comment
pylint.extensions.typing

RuboCop

rubocop-rspec
rubocop-performance
rubocop-faker
rubocop-rails
rubocop-jekyll
rubocop-rake
rubocop-graphql
rubocop-sequel
rubocop-thread_safety
rubocop-packaging
rubocop-rubycw
rubocop-airbnb
rubocop-gitlab-security 

Linter for Dart

effective_dart
flutter_lints
lint
lints
pedantic
very_good_analysis

TSLint

tslint-plugin-prettier
tslint-eslint-rules
tslint-consistent-codestyle
tslint-microsoft-contrib
tslint-react-hooks
codelyzer
tslint-angular