diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml index f088432e..e5550466 100644 --- a/.github/workflows/code-quality.yml +++ b/.github/workflows/code-quality.yml @@ -8,14 +8,14 @@ on: jobs: - static-analysis-phpstan: - name: "Static Analysis with PHPStan" + static-analysis: + name: "Code quality checks" runs-on: "ubuntu-20.04" strategy: matrix: php-version: - - "8.0" + - "8.1" steps: - name: "Checkout code" @@ -34,5 +34,8 @@ jobs: - name: "Run static analysis with phpstan/phpstan" run: "vendor/bin/phpstan" + - name: "Run static analysis with vimeo/psalm" + run: ./vendor/bin/psalm + - name: "Run code style check with squizlabs/php_codesniffer" run: ./vendor/bin/phpcs --runtime-set ignore_warnings_on_exit 1 diff --git a/composer.json b/composer.json index c3debf2d..298eac35 100644 --- a/composer.json +++ b/composer.json @@ -18,7 +18,8 @@ "symfony/console": ">=5.4", "symfony/var-dumper": ">=5.4", "symfony/yaml": ">=5.4", - "phpstan/phpstan": "^1.2" + "phpstan/phpstan": "^1.2", + "vimeo/psalm": "^4.23" }, "autoload": { "psr-4": { diff --git a/psalm-baseline.xml b/psalm-baseline.xml new file mode 100644 index 00000000..26532d56 --- /dev/null +++ b/psalm-baseline.xml @@ -0,0 +1,8 @@ + + + + + Yaml::parse($contents) + + + diff --git a/psalm.xml b/psalm.xml new file mode 100644 index 00000000..ec5cae54 --- /dev/null +++ b/psalm.xml @@ -0,0 +1,14 @@ + + + + + + + + + diff --git a/src/Map/BaseMap.php b/src/Map/BaseMap.php index 58d4b531..85ec7b79 100644 --- a/src/Map/BaseMap.php +++ b/src/Map/BaseMap.php @@ -14,7 +14,7 @@ abstract class BaseMap implements MapInterface /** * Singleton instance. * - * @var BaseMap + * @var MapInterface */ protected static $instance; diff --git a/src/Map/DefaultMap.php b/src/Map/DefaultMap.php index 82f50877..c734f629 100644 --- a/src/Map/DefaultMap.php +++ b/src/Map/DefaultMap.php @@ -10,7 +10,7 @@ class DefaultMap extends AbstractMap { /** - * @var DefaultMap + * @var MapInterface */ protected static $instance; diff --git a/src/Map/EmptyMap.php b/src/Map/EmptyMap.php index 229de6fe..91ad1230 100644 --- a/src/Map/EmptyMap.php +++ b/src/Map/EmptyMap.php @@ -11,7 +11,7 @@ class EmptyMap extends AbstractMap { /** - * @var EmptyMap + * @var MapInterface */ protected static $instance; } diff --git a/src/Map/MiniMap.php.test b/src/Map/MiniMap.php.test index 08680f41..8a3a20ad 100644 --- a/src/Map/MiniMap.php.test +++ b/src/Map/MiniMap.php.test @@ -11,7 +11,7 @@ namespace FileEye\MimeMap\Map; class MiniMap extends AbstractMap { /** - * @var MiniMap + * @var MapInterface */ protected static $instance;