{
    "name": "quiqqer/menu",
    "type": "quiqqer-module",
    "description": "The Plugin menu provides various menu controls.",
    "license": [
        "GPL-3.0+",
        "PCSG QL-1.0"
    ],
    "authors": [
        {
            "name": "Henning Leutz",
            "email": "leutz@pcsg.de",
            "homepage": "https://www.pcsg.de",
            "role": "Developer"
        }
    ],
    "support": {
        "email": "support@pcsg.de",
        "url": "https://www.pcsg.de"
    },
    "require": {
        "php": "^8.1",
        "quiqqer/core": "^2"
    },
    "autoload": {
        "psr-4": {
            "QUI\\Menu\\": "src/QUI/Menu"
        }
    },
    "scripts": {
        "test": [
            "@dev:lint",
            "@dev:phpunit"
        ],
        "dev:phpunit": "./tools/phpunit",
        "dev:lint": [
            "@dev:lint:phpstan",
            "@dev:lint:style"
        ],
        "dev:lint:phpstan": "./tools/phpstan",
        "dev:lint:style": "./tools/phpcs",
        "dev:lint:style:fix": "./tools/phpcbf",
        "dev:init": [
            "@dev:init:check-requirements",
            "@dev:init:tools",
            "@dev:init:git-hooks"
        ],
        "dev:init:check-requirements": [
            "which composer > /dev/null || (echo 'Error: composer has to be globally installed'; exit 1)",
            "which phive > /dev/null || (echo 'Error: PHIVE has to be globally installed'; exit 1)"
        ],
        "dev:init:tools": "phive install --temporary",
        "dev:init:git-hooks": "./tools/captainhook install --only-enabled --force"
    },
    "scripts-aliases": {
        "test": [
            "dev:test"
        ]
    },
    "scripts-descriptions": {
        "test": "Runs linting, static analysis, and unit tests.",
        "dev:phpunit": "Run PHPUnit test suites",
        "dev:lint": "Run PHPStan and code style check",
        "dev:lint:phpstan": "Run PHPStan",
        "dev:lint:style": "Run code style check (PHP_CodeSniffer)",
        "dev:lint:style:fix": "Try to fix code style errors automatically",
        "dev:init": "Initialize the developer tooling (tools and git hooks)",
        "dev:init:check-requirements": "Check if the necessary requirements are met",
        "dev:init:tools": "Install all developer tools (requires PHIVE)",
        "dev:init:git-hooks": "Install all git hooks (may require tools to be installed)"
    }
}