Library & Framework Support

Summary

  • Supported Rulesets

  • Supported Reports

  • Supported PHP Extensions

  • Applications

  • Recognized Libraries

  • New analyzers

  • External services

  • PHP Error messages

  • Exakat Changelog

External Library Support

Libraries that are popular, large and often included in repositories are identified early in the analysis process, and ignored. This prevents Exakat to analysis some code foreign to the current repository : it prevents false positives from this code, and make the analysis much lighter. The whole process is entirely automatic.

Those libraries, or even some of the, may be included again in the analysis by commenting the ignored_dir[] line, in the projects/<project>/config.ini file.

External Services Support

List of external services whose configuration files has been commited in the code.

  • ahoy - ahoy.yml, .ahoy.l3d.yml

  • Apache - .htaccess, htaccess.txt

  • Apple - .DS_Store

  • appveyor - appveyor.yml, .appveyor.yml

  • ant - build.xml

  • ansistrano - .ansistrano

  • apigen - apigen.yml, apigen.neon

  • arcunit - .arcunit

  • artisan - artisan

  • atoum - .bootstrap.atoum.php, .atoum.php, .atoum.bootstrap.php

  • arcanist - .arclint, .arcconfig

  • asp.net - web.config

  • bazaar - .bzr

  • babeljs - .babel.rc, .babel.js, .babelrc, babel.config.js

  • behat - behat.yml.dist, behat.yml

  • bitbucket - bitbucket-pipelines.yml, bitbucket-pipelines.yml.template, bitbucket_packagist_scripts.json

  • box2 - box.json, box.json.dist

  • bower - bower.json, .bowerrc

  • browserslist - .browserslistrc

  • captainhook - captainhook.json

  • circleCI - circle.yml, .circleci

  • codacy - .codacy.json

  • codeception - codeception.yml, codeception.dist.yml

  • codecov - .codecov.yml, codecov.yml

  • codeclimate - .codeclimate.yml

  • composer require checker - composer-require-checker.json

  • composer - composer.json, composer.lock, vendor, composer.phar

  • couscous - couscous.yml

  • Code Sniffer - .php_cs, .php_cs.dist, .phpcs.xml, php_cs.dist, phpcs.xml, phpcs.xml.dist, ruleset.xml, .phpcs.xml.dist

  • coveralls - .coveralls.yml

  • crowdin - crowdin.yml

  • cvs - CVS

  • cypress - cypress.config.js, cypress.config.ts

  • deptrack - deptrac.yaml

  • direnv - .envrc

  • docheader - .docheader

  • docker - .dockerignore, .docker, docker-compose.yml, docker-compose.yaml, Dockerfile, .env.docker

  • dotenv - .env.dist, .env, .env.example

  • doxygen - Doxyfile

  • docblox - docblox.dist.xml

  • drone - .dockerignore, .docker

  • drupalci - drupalci.yml

  • drush - drush.services.yml

  • editorconfig - .editorconfig

  • eslint - .eslintrc, .eslintignore, eslintrc.js, .eslintrc.js, .eslintrc.json

  • Exakat - .exakat.yaml, .exakat.yml, .exakat.ini

  • favicon - favicon.ico

  • Flakes - flake.lock, flake.nix

  • flintci - .flintci.yml

  • garden - garden.yaml

  • gherkin - .gherkin-lintrc

  • git - .git, .gitignore, .gitattributes, .gitmodules, .mailmap, .githooks, .git-hooks

  • gitbook - .gitbook.yaml

  • gitpod - .gitpod.yml, gitpod.code-workspace, .gitpod.dockerfile, .gitpod.Dockerfile

  • github - .github

  • gitlab - .gitlab-ci.yml

  • gulp - gulpfile.js, gulpfile.babel.js

  • grumphp - grumphp.yml.dist, grumphp.yml, grumphp.dist.yml

  • gush - .gush.yml

  • gruntjs - Gruntfile.js, gruntfile.js

  • humbug - humbug.json.dist, humbug.json

  • infection - infection.yml, .infection.yml, infection.json.dist, infection.json

  • insight - .sensiolabs.yml, .symfony.insight.yaml

  • jekyll - _config.yml, _config.toml

  • jest - jest.config.js

  • jetbrains - .idea

  • jshint - .jshintrc, .jshintignore

  • Laravel Mix - mix-manifest.json

  • karma - ./karma.conf.js, ./karma.conf.coffee, ./karma.conf.ts, karma.conf.js

  • lando - .lando.yml

  • lerna - lerna.json

  • mercurial - .hg, .hgtags, .hgignore, .hgeol

  • Makefile - Makefile

  • mkdocs - mkdocs.yml

  • npm - package.json, .npmignore, .npmrc, package-lock.json

  • nvm - .nvmrc

  • openshift - .openshift

  • pdepend - pdepend.xml, pdepend.xml.dist

  • phan - .phan

  • pharcc - .pharcc.yml

  • phalcon - .phalcon

  • phpbench - phpbench.json, phpbench.json.dist

  • phpci - phpci.yml

  • php-cs-fixer - .php-cs-fixer.php, .php-cs-fixer.dist.php

  • Phpdocumentor - .phpdoc.xml, phpdoc.dist.xml, phpdoc.xml.dist

  • phpdox - phpdox.xml.dist, phpdox.xml

  • phive - phive.xml

  • pint - pint.json

  • phanalist - phanalist.yaml

  • phinx - phinx.yml

  • phpformatter - .formatter.yml

  • phplint - .phplint.yml

  • phpmetrics - .phpmetrics.yml.dist

  • phpsa - .phpsa.yml

  • phpspec - phpspec.yml, .phpspec, phpspec.yml.dist

  • phpstan - phpstan.neon, .phpstan.neon, phpstan.neon.dist, phpstan-baseline.neon, phpstan.tests.neon.dist, phpstan.dist.neon

  • phpswitch - .phpswitch.yml

  • PHPMD - phpmd.xml, phpmd.xml.dist, phpmd_ruleset.xml

  • PHPstorm - .phpstorm.meta.php

  • PHPUnit - phpunit.xml.dist, phpunit.xml, phpunit.xml.legacy, phpunit.dist.xml, phpunit-unit.xml

  • postcss - postcss.config.js

  • prettier - .prettierrc, .prettierignore, .prettierrc.json, .prettierrc.js

  • psalm - psalm.xml, psalm-baseline.xml, psalm.xml.dist

  • puppet - .puppet

  • qodana - qodana.yaml

  • readthedocs - .readthedocs.yml, .readthedocs.yaml

  • renovate - renovate.json

  • rmt - .rmt.yml

  • robo - RoboFile.php, robo.yml.dist

  • sass-lint - .sass-link.yml

  • scrutinizer - .scrutinizer.yml

  • semantic versioning - .semver

  • shifter - .shifter.json

  • Sonar - sonar-project.properties

  • Snyk - .snyk

  • SPIP - paquet.xml

  • stickler - .stickler.yml

  • storyplayer - storyplayer.json.dist

  • styleci - .styleci.yml

  • stylelint - .stylelintrc, .stylelintignore, .stylelintrc.json, stylelint.config.js

  • sublimelinter - .csslintrc

  • symfony - symfony.lock

  • svn - svn.revision, .svn, .svnignore

  • tailwind - tailwind.config.js, tailwind.js

  • transifex - .tx

  • typescript - tsconfig.json

  • Robots.txt - robots.txt

  • travis - .travis.yml, .env.travis, .travis, .travis.php.ini, .travis.coverage.sh, .travis.ini, travis.php.ini, .travis.install.sh

  • varci - .varci, .varci.yml

  • Vagrant - Vagrantfile

  • vite - vite.config.js

  • visualstudio - .vscode

  • vue - vue.config.js

  • webpack - webpack.mix.js, webpack.config.js, webpack.ssr.mix.js

  • yarn - yarn.lock, .yarnclean

  • yamllint - .yamllint.yaml

  • Zend_Tool - zfproject.xml

Supported PHP Extensions

PHP extensions are used to check for structures usage (classes, interfaces, etc.), to identify dependencies and directives.

PHP extensions are described with the list of structures they define : functions, classes, constants, traits, variables, interfaces, namespaces, and directives.

  • ext/amqp

  • ext/apache

  • ext/apc

  • ext/apcu

  • ext/array

  • ext/php-ast

  • ext/bcmath

  • ext/bzip2

  • ext/calendar

  • ext/cmark

  • ext/com

  • ext/crypto

  • ext/CSV

  • ext/ctype

  • ext/curl

  • ext/date

  • ext/db2

  • ext/dba

  • ext/decimal

  • ext/dio

  • ext/dom

  • ext/ds

  • ext/eaccelerator

  • ext/eio

  • ext/enchant

  • ext/ev

  • ext/event

  • Excimer

  • ext/exif

  • ext/expect

  • ext/fam

  • ext/fann

  • ext/ffi

  • ext/file

  • ext/fileinfo

  • ext/filter

  • ext/fpm

  • ext/ftp

  • ext/gd

  • ext/gearman

  • ext/gender

  • ext/geoip

  • Geospatial

  • ext/gettext

  • ext/gmagick

  • ext/gmp

  • ext/gnupgp

  • ext/grpc

  • ext/hash

  • ext/hrtime

  • ext/pecl_http

  • ext/ibase

  • Ice framework

  • ext/iconv

  • ext/igbinary

  • ext/imagick

  • ext/imap

  • ext/info

  • ext/inotify

  • ext/intl

  • ext/json

  • ext/judy

  • ext/ldap

  • ext/leveldb

  • ext/libsodium

  • ext/libxml

  • ext/lua

  • ext/lzf

  • ext/mail

  • ext/mailparse

  • ext/math

  • ext/mbstring

  • ext/mcrypt

  • ext/memcache

  • ext/memcached

  • ext/mongo

  • ext/mongodb

  • ext/msgpack

  • ext/mssql

  • ext/mysql

  • ext/mysqli

  • ext/ncurses

  • ext/newt

  • ext/nsapi

  • ext/ob

  • ext/oci8

  • ext/odbc

  • ext/opcache

  • ext/opencensus

  • ext/openssl

  • ext/parle

  • ext/password

  • ext/pcntl

  • ext/pcov

  • ext/pcre

  • ext/pdo

  • ext/pgsql

  • ext/phalcon

  • ext/phar

  • ext/pkcs11

  • ext/posix

  • ext/protobuf

  • ext/pspell

  • ext/psr

  • Random extension

  • ext/rar

  • ext/rdkafka

  • ext/readline

  • ext/redis

  • ext/reflection

  • ext/scrypt

  • ext/sdl

  • ext/seaslog

  • ext/sem

  • ext/session

  • ext/shmop

  • ext/simplexml

  • ext/snmp

  • ext/soap

  • ext/sockets

  • ext/sphinx

  • ext/spl

  • ext/spx

  • ext/sqlite

  • ext/sqlite3

  • ext/sqlsrv

  • ext/ssh2

  • ext/standard

  • ext/stats

  • Stomp

  • String

  • ext/suhosin

  • ext/svm

  • Swoole

  • Extensions/Exttaint

  • ext/teds

  • ext/tidy

  • ext/tokenizer

  • ext/tokyotyrant

  • ext/trader

  • ext/uopz

  • ext/uuid

  • ext/v8js

  • ext/varnish

  • ext/vips

  • ext/wasm

  • ext/wddx

  • ext/weakref

  • ext/xattr

  • ext/xdebug

  • ext/xdiff

  • ext/xhprof

  • ext/xml

  • ext/xmlreader

  • ext/xmlrpc

  • ext/xmlwriter

  • ext/xsl

  • ext/xxtea

  • ext/yaml

  • Extensions yar

  • ext/zend_monitor

  • ext/zip

  • ext/zlib

  • ext/0mq

  • ext/zookeeper