{
    "name": "vimeo/psalm",
    "type": "project",
    "description": "A static analysis tool for finding errors in PHP applications",
    "keywords": [
        "php",
        "code",
        "inspection",
        "static analysis"
    ],
    "license": "MIT",
    "authors": [
        {
            "name": "Matthew Brown"
        },
        {
            "name": "Daniil Gentili",
            "email": "daniil@daniil.it"
        }
    ],
    "require": {
        "php": "~8.1.31 || ~8.2.27 || ~8.3.16 || ~8.4.3 || ~8.5.0",
        "ext-SimpleXML": "*",
        "ext-ctype": "*",
        "ext-dom": "*",
        "ext-json": "*",
        "ext-libxml": "*",
        "ext-mbstring": "*",
        "ext-tokenizer": "*",
        "composer-runtime-api": "^2",
        "amphp/amp": "^3",
        "amphp/byte-stream": "^2",
        "amphp/parallel": "^2.3",
        "composer/semver": "^1.4 || ^2.0 || ^3.0",
        "composer/xdebug-handler": "^2.0 || ^3.0",
        "danog/advanced-json-rpc": "^3.1",
        "dnoegel/php-xdg-base-dir": "^0.1.1",
        "felixfbecker/language-server-protocol": "^1.5.3",
        "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1 || ^1.0.0",
        "netresearch/jsonmapper": "^5.0",
        "nikic/php-parser": "^5.0.0",
        "sebastian/diff": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0",
        "spatie/array-to-xml": "^2.17.0 || ^3.0",
        "symfony/console": "^6.0 || ^7.0 || ^8.0",
        "symfony/filesystem": "~6.3.12 || ~6.4.3 || ^7.0.3 || ^8.0",
        "symfony/polyfill-php84": "^1.31.0"
    },
    "provide": {
        "psalm/psalm": "self.version"
    },
    "require-dev": {
        "ext-curl": "*",
        "amphp/phpunit-util": "^3",
        "bamarni/composer-bin-plugin": "^1.4",
        "brianium/paratest": "^6.9",
        "danog/class-finder": "^0.4.8",
        "dg/bypass-finals": "^1.5",
        "mockery/mockery": "^1.5",
        "nunomaduro/mock-final-classes": "^1.1",
        "php-parallel-lint/php-parallel-lint": "^1.2",
        "phpstan/phpdoc-parser": "^1.6",
        "phpunit/phpunit": "^9.6",
        "psalm/plugin-mockery": "^1.1",
        "psalm/plugin-phpunit": "^0.19",
        "slevomat/coding-standard": "^8.4",
        "squizlabs/php_codesniffer": "^3.6",
        "symfony/process": "^6.0 || ^7.0 || ^8.0"
    },
    "suggest": {
        "ext-igbinary": "^2.0.5 is required, used to serialize caching data",
        "ext-curl": "In order to send data to shepherd"
    },
    "config": {
        "allow-plugins": {
            "bamarni/composer-bin-plugin": true,
            "composer/package-versions-deprecated": true,
            "dealerdirect/phpcodesniffer-composer-installer": true
        },
        "optimize-autoloader": true,
        "sort-packages": true,
        "platform-check": true,
        "autoloader-suffix": "PsalmAutoloader"
    },
    "extra": {
        "branch-alias": {
            "dev-master": "7.x-dev",
            "dev-6.x": "6.x-dev",
            "dev-5.x": "5.x-dev",
            "dev-4.x": "4.x-dev",
            "dev-3.x": "3.x-dev",
            "dev-2.x": "2.x-dev",
            "dev-1.x": "1.x-dev"
        }
    },
    "autoload": {
        "psr-4": {
            "Psalm\\": "src/Psalm/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Psalm\\Tests\\": "tests/"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "bin": [
        "psalm",
        "psalm-language-server",
        "psalm-plugin",
        "psalm-refactor",
        "psalm-review",
        "psalter"
    ],
    "scripts": {
        "cs": "@php phpcs -ps",
        "cs-fix": "@php phpcbf -ps",
        "lint": "@php parallel-lint ./src ./tests",
        "phpunit": [
            "Composer\\Config::disableProcessTimeout",
            "paratest -f --runner=WrapperRunner"
        ],
        "phpunit-std": [
            "Composer\\Config::disableProcessTimeout",
            "@php phpunit"
        ],
        "verify-callmap": "@php phpunit tests/Internal/Codebase/InternalCallMapHandlerTest.php",
        "psalm": "@php ./psalm",
        "psalm-set-baseline": "@php ./psalm --set-baseline",
        "tests": [
            "@lint",
            "@cs",
            "@psalm",
            "@phpunit"
        ],
        "gen_callmap": "./bin/stubs/gen_callmap.sh",
        "gen_propertymap": "@php ./bin/stubs/update-property-map.php",
        "gen_preloader": "@php ./bin/stubs/gen_preloader.php",
        "generate_issues_list_doc": "@php ./bin/docs/generate_issues_list_doc.php",
        "generate_levels_doc": "@php ./bin/docs/generate_levels_doc.php",
        "build": [
            "@gen_preloader",
            "@gen_callmap",
            "@generate_issues_list_doc",
            "@generate_levels_doc",
            "@cs-fix"
        ]
    },
    "scripts-descriptions": {
        "cs": "Checks that the code conforms to the coding standard.",
        "cs-fix": "Automatically correct coding standard violations.",
        "lint": "Lint php files.",
        "phpunit": "Runs unit tests in parallel.",
        "phpunit-std": "Runs unit tests.",
        "psalm": "Runs static analysis.",
        "tests": "Runs all available tests.",
        "build": "Generates all autogenerated files."
    },
    "support": {
        "docs": "https://psalm.dev/docs",
        "issues": "https://github.com/vimeo/psalm/issues",
        "source": "https://github.com/vimeo/psalm"
    }
}
