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