{
    "name": "zhamao/framework",
    "description": "High performance chat robot and web server development framework",
    "license": "Apache-2.0",
    "authors": [
        {
            "name": "jerry",
            "email": "admin@zhamao.me"
        },
        {
            "name": "sunxyw",
            "email": "dev@sunxyw.xyz"
        }
    ],
    "require": {
        "php": "^8.0 || ^8.1 || ^8.2",
        "ext-json": "*",
        "ext-tokenizer": "*",
        "doctrine/dbal": "^2.13.1",
        "dragonmantank/cron-expression": "^3.3",
        "jelix/version": "^2.0",
        "koriym/attributes": "^1.0",
        "nunomaduro/collision": "^6.3",
        "onebot/libonebot": "^0.5",
        "php-di/php-di": "^7",
        "psr/container": "^2.0",
        "psr/simple-cache": "^3.0",
        "psy/psysh": "^0.11.8",
        "symfony/console": "^6.0",
        "symfony/polyfill-ctype": "^1.19",
        "symfony/polyfill-mbstring": "^1.19",
        "symfony/routing": "~6.0 || ~5.0 || ~4.0"
    },
    "require-dev": {
        "captainhook/captainhook": "^5.12",
        "friendsofphp/php-cs-fixer": "^3.2 != 3.7.0",
        "jangregor/phpstan-prophecy": "^1.0",
        "jetbrains/phpstorm-attributes": "^1.0",
        "mikey179/vfsstream": "^1.6",
        "phpspec/prophecy-phpunit": "^2.0",
        "phpstan/extension-installer": "^1.1",
        "phpstan/phpstan": "^1.1",
        "phpstan/phpstan-deprecation-rules": "^1.0",
        "phpstan/phpstan-phpunit": "^1.1",
        "phpunit/phpunit": "^8.5 || ^9.0",
        "roave/security-advisories": "dev-latest",
        "swoole/ide-helper": "^4.5"
    },
    "replace": {
        "symfony/polyfill-php80": "*"
    },
    "suggest": {
        "ext-ctype": "Use C/C++ extension instead of polyfill will be more efficient",
        "ext-mbstring": "Use C/C++ extension instead of polyfill will be more efficient",
        "ext-pdo_mysql": "If you use mysql in framework, you will need this extension",
        "ext-redis": "If you use Redis in framework, you will need this extension",
        "league/climate": "Display columns and status in terminal"
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "autoload": {
        "psr-4": {
            "ZM\\": "src/ZM"
        },
        "files": [
            "src/Globals/global_functions.php",
            "src/Globals/global_defines_app.php",
            "src/Globals/global_class_alias.php"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Module\\": "src/Module",
            "Tests\\": "tests"
        }
    },
    "bin": [
        "bin/phpunit-zm",
        "bin/zhamao"
    ],
    "config": {
        "allow-plugins": {
            "phpstan/extension-installer": true
        },
        "optimize-autoloader": true,
        "sort-packages": true
    },
    "extra": {
        "zm": {
            "exclude-annotation-path": [
                "src/ZM",
                "tests"
            ]
        }
    },
    "scripts": {
        "post-autoload-dump": "vendor/bin/captainhook install -f -s",
        "analyse": "phpstan analyse --memory-limit 300M",
        "cs-fix": "PHP_CS_FIXER_FUTURE_MODE=1 php-cs-fixer fix",
        "test": "bin/phpunit-zm --no-coverage"
    }
}
