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.Analyzers - .editorconfig file
C, C++ CppLint - CPPLINT.CFG file
C, C++ Flawfinder 2.0.19 N/A
CSS, SCSS, Less, SugarSS, HTML Stylelint 16.10.0 .stylelintrc* file
JavaScript, TypeScript ESLint 8.57.0 .eslintrc.* file
Swift SwiftLint 0.57.0 .swiftlint.yml file
Ruby RuboCop 1.68.0 .rubocop.yml file
Ruby bundler-audit 0.9.1 .bundler-audit.yml file
Ruby Brakeman 4.3.1 brakeman.yml
Go Revive 1.5.1 revive.toml
Go Gocyclo 0.4.0 N/A
Python Radon 4.1.0 N/A
Python Pylint 3.3.1/1.9.5 .pylintrc file
Python pycodestyle 2.12.1 setup.cfg, tox.ini, .flake8
Python Bandit 1.7.10 .bandit file
Java Checkstyle 10.20.1 checkstyle.xml file
Haskell HLint 3.8 .hlint.yaml file
Groovy CodeNarc 3.5.0 codenarc.xml file
PHP PHP_CodeSniffer 3.11.0 (.)phpcs.xml(.dist) file
Shell ShellCheck 0.10.0 .shellcheckrc file
Dockerfile Hadolint 2.12.0 .hadolint.yaml file
Terraform trivy 0.57.0 trivy.yaml file
YAML Yamllint 1.35.0 .yamllint* file
Kotlin Detekt 1.23.7 detekt.yml file
PowerShell PSScriptAnalyzer 1.23.0 PSScriptAnalyzerSettings.psd1 file
T-SQL TSQLLint 1.16.0 .tsqllintrc file
Dart Linter for Dart 3.5.0 analysis_options.yaml file
R Lintr 3.1.2 .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 packages

Dart

flutter_lints
lint
lints
very_good_analysis

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

@stylistic/stylelint-plugin
stylelint-a11y
stylelint-codeguide
stylelint-color-format
stylelint-csstree-validator
stylelint-declaration-block-no-ignored-properties
stylelint-declaration-strict-value
stylelint-declaration-use-variable
stylelint-high-performance-animation
stylelint-no-browser-hacks/lib
stylelint-no-unsupported-browser-features
stylelint-order
stylelint-prettier
stylelint-scss
stylelint-selector-bem-patternstylelint-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-airbnb
rubocop-capybara
rubocop-factory_bot
rubocop-faker
rubocop-gitlab-security
rubocop-graphql
rubocop-jekyll
rubocop-minitest
rubocop-packaging
rubocop-performance
rubocop-rake
rubocop-rails
rubocop-require_tools
rubocop-rspec
rubocop-rspec_rails
rubocop-rubycw
rubocop-sequel
rubocop-thread_safety

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