{
    "name": "nunomaduro/phpinsights",
    "description": "Instant PHP quality checks from your console.",
    "keywords": [
        "php",
        "insights",
        "console",
        "quality",
        "source",
        "code"
    ],
    "license": "MIT",
    "authors": [
        {
            "name": "Nuno Maduro",
            "email": "enunomaduro@gmail.com"
        }
    ],
    "require": {
        "php": "^8.1",
        "ext-iconv": "*",
        "ext-json": "*",
        "ext-mbstring": "*",
        "ext-tokenizer": "*",
        "cmgmyr/phploc": "^8.0.6",
        "composer/semver": "^3.4.4",
        "friendsofphp/php-cs-fixer": "^3.88.2",
        "league/container": "^5.1.0",
        "php-parallel-lint/php-parallel-lint": "^1.4.0",
        "psr/container": "^2.0.2",
        "psr/simple-cache": "^2.0|^3.0",
        "sebastian/diff": "^5.1.1|^6.0.2|^7.0.0",
        "slevomat/coding-standard": "^8.22.1",
        "squizlabs/php_codesniffer": "^3.13.4",
        "symfony/cache": "^6.4.20|^7.3.4",
        "symfony/console": "^6.4.20|^7.3.4",
        "symfony/finder": "^6.4.17|^7.3.2",
        "symfony/http-client": "^6.4.19|^7.3.4",
        "symfony/process": "^6.4.20|^7.3.4"
    },
    "require-dev": {
        "illuminate/console": "^10.48.28|^11.44.2|^12.33",
        "illuminate/support": "^10.48.28|^11.44.2|^12.33",
        "mockery/mockery": "^1.6.12",
        "phpstan/phpstan": "^2.1.31",
        "phpunit/phpunit": "^10.5.45|^11.5.42",
        "symfony/var-dumper": "^6.4.18|^7.3.4"
    },
    "suggest": {
        "ext-simplexml": "It is needed for the checkstyle formatter"
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "autoload": {
        "psr-4": {
            "NunoMaduro\\PhpInsights\\": "src"
        }
    },
    "config": {
        "sort-packages": true,
        "preferred-install": "dist",
        "allow-plugins": {
            "dealerdirect/phpcodesniffer-composer-installer": true
        }
    },
    "extra": {
        "laravel": {
            "providers": [
                "NunoMaduro\\PhpInsights\\Application\\Adapters\\Laravel\\InsightsServiceProvider"
            ]
        }
    },
    "bin": [
        "bin/phpinsights"
    ],
    "scripts": {
        "website:copy-changelog": "@php -r \"copy('CHANGELOG.md', 'docs/changelog.md');\"",
        "website:copy-logo": "@php -r \"(is_dir('docs/.vuepress/public') || mkdir('docs/.vuepress/public')) && copy('art/logo_mixed.gif', 'docs/.vuepress/public/logo.gif') && copy('art/heart.svg', 'docs/.vuepress/public/heart.svg') && copy('art/heart.png', 'docs/.vuepress/public/heart.png');\"",
        "csfixer:test": "PHP_CS_FIXER_IGNORE_ENV=true php-cs-fixer fix -v",
        "phpstan:test": "phpstan analyse --ansi",
        "phpunit:test": "phpunit --colors=always",
        "insights": "bin/phpinsights analyse --ansi -v --no-interaction",
        "test": [
            "@phpstan:test",
            "@csfixer:test --dry-run",
            "@phpunit:test",
            "@insights"
        ],
        "fix": [
            "@csfixer:test",
            "@insights --fix --quiet"
        ],
        "post-install-cmd": [
            "@website:copy-changelog",
            "@website:copy-logo"
        ],
        "post-update-cmd": [
            "@website:copy-changelog",
            "@website:copy-logo"
        ]
    },
    "scripts-descriptions": {
        "website:copy-changelog": "Copy package changelog to the website",
        "website:copy-logo": "Copy logo from art directory to the website",
        "csfixer:test": "Run the PhpCsFixer tests.",
        "phpstan:test": "Run the phpstan tests.",
        "phpunit:test": "Run the phpunit tests.",
        "insights": "Run the phpinsights tests",
        "test": "Run all tests including phpstan, phpunit and phpcs.",
        "fix": "Run ecs, phpinsights and rector fixers."
    }
}
