{
    "name": "jmgq/a-star",
    "description": "A* (A Star) algorithm for PHP",
    "keywords": ["a", "a star", "search", "pathfinding", "algorithm"],
    "license": "MIT",
    "authors": [
        {
            "name": "Jose Gonzalez",
            "email": "jmgq@jmgq.es",
            "homepage": "https://www.jmgq.es"
        }
    ],
    "autoload": {
        "psr-4": {
            "JMGQ\\AStar\\": "src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "JMGQ\\AStar\\Benchmark\\": "benchmark/",
            "JMGQ\\AStar\\Example\\": "examples/",
            "JMGQ\\AStar\\Tests\\": "tests/"
        }
    },
    "require": {
        "php": ">=8.0"
    },
    "require-dev": {
        "phan/phan": "^5.0",
        "php-coveralls/php-coveralls": "^2.0",
        "phpstan/phpstan": "^1.0",
        "phpunit/phpunit": "^9.0",
        "psalm/plugin-phpunit": "^0.15.1",
        "squizlabs/php_codesniffer": "^3.0",
        "symfony/console": "^5.0",
        "vimeo/psalm": "^4.5"
    },
    "scripts": {
        "benchmark": "@php benchmark/benchmark.php",
        "coding-standards": "phpcs --standard=PSR12 --ignore=vendor .",
        "example:graph": "@php examples/Graph/example.php",
        "example:terrain": "@php examples/Terrain/example.php",
        "static-analysis": [
            "@static-analysis:phan",
            "@static-analysis:phpstan",
            "@static-analysis:psalm"
        ],
        "static-analysis:phan": "phan --config-file=.phan.config.php --allow-polyfill-parser --analyze-twice",
        "static-analysis:phpstan": "phpstan analyse --level=max src tests examples benchmark",
        "static-analysis:psalm": "psalm",
        "test": "XDEBUG_MODE=coverage phpunit"
    },
    "scripts-descriptions": {
        "benchmark": "Runs the benchmark.",
        "coding-standards": "Checks the code adheres to the coding standards.",
        "example:graph": "Runs the Graph example.",
        "example:terrain": "Runs the Terrain example.",
        "static-analysis": "Runs all the static analysis tools.",
        "static-analysis:phan": "Runs the Phan static analysis tool.",
        "static-analysis:phpstan": "Runs the PHPStan static analysis tool.",
        "static-analysis:psalm": "Runs the Psalm static analysis tool.",
        "test": "Runs unit tests and generates a coverage report."
    },
    "config": {
        "sort-packages": true
    }
}
