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