{
    "name": "swow/swow",
    "description": "Coroutine-based multi-platform support engine with a focus on concurrent I/O",
    "keywords": [
        "swow",
        "coroutine",
        "async",
        "event",
        "http",
        "websocket",
        "server",
        "client",
        "libcat",
        "libuv"
    ],
    "license": "Apache-2.0",
    "authors": [
        {
            "name": "twose",
            "email": "twosee@php.net"
        }
    ],
    "support": {
        "issues": "https://github.com/swow/swow"
    },
    "require": {
        "php": ">=8.0",
        "composer/semver": "^3.4",
        "psr/http-client": "^1.0",
        "psr/http-factory": "^1.0",
        "psr/http-message": "^1.1|^2.0"
    },
    "require-dev": {
        "friendsofphp/php-cs-fixer": "^3",
        "phan/phan": "^5.4",
        "phpstan/phpstan": "^1.10",
        "phpunit/phpunit": "^9|^10|^11",
        "rector/rector": "^1"
    },
    "replace": {
        "swow/swow-library": "*",
        "swow/psr7-plus": "*",
        "swow/swow-stub": "*",
        "swow/swow-utils": "*",
        "swow/php-stub-generator": "*"
    },
    "suggest": {
        "ext-swow": "*"
    },
    "autoload": {
        "psr-4": {
            "Swow\\": "lib/swow-library/src/",
            "Swow\\Psr7\\": [
                "lib/swow-library/lib/psr7-plus/src/",
                "lib/swow-library/src/Psr7/"
            ],
            "Swow\\Utils\\": "lib/swow-utils/src/"
        },
        "files": [
            "lib/swow-library/src/bootstrap.php",
            "lib/swow-library/src/Debug/functions.php",
            "lib/swow-utils/src/functions.php"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Swow\\PhpCsFixer\\": "lib/swow-php-cs-fixer-config/src/",
            "Swow\\StubUtils\\": "lib/php-stub-generator/src/",
            "Swow\\Tests\\": "lib/swow-library/tests/"
        },
        "files": [
            "lib/swow-polyfill/php/8.4/UploadedFileFactoryInterface.php"
        ]
    },
    "config": {
        "process-timeout": 0,
        "sort-packages": true
    },
    "scripts": {
        "swow-php": [ "@php tools/php-wrapper.php -d extension=swow" ],
        "cs-check": [ "@php vendor/bin/php-cs-fixer fix --dry-run --diff" ],
        "cs-fix": [ "@php vendor/bin/php-cs-fixer fix" ],
        "rector": [ "@php vendor/bin/rector process --config=tools/rector.php" ],
        "phan": [ "@swow-php vendor/bin/phan" ],
        "phpstan": [ "@php vendor/bin/phpstan analyse --memory-limit 4G -c phpstan.neon" ],
        "sync-dependencies": [ "@php -n tools/sync-dependencies.php" ],
        "build-extension": [ "@php ext/bin/swow-builder" ],
        "build-debug-extension": [ "@php ext/bin/swow-builder --debug" ],
        "rebuild-extension": [ "@build-extension --rebuild" ],
        "rebuild-debug-extension": [ "@build-debug-extension --rebuild" ],
        "install-extension": [ "@build-extension --install" ],
        "install-debug-extension": [ "@install-extension --debug" ],
        "reinstall-extension": [ "@rebuild-extension --install" ],
        "reinstall-debug-extension": [ "@rebuild-debug-extension --install" ],
        "build-clean-extension": [ "@build-extension --clean" ],
        "build-clean-debug-extension": [ "@build-debug-extension --clean" ],
        "install-clean-extension": [ "@install-extension --clean" ],
        "install-clean-debug-extension": [ "@install-debug-extension --clean" ],
        "test-extension": [ "@php tools/test-extension.php" ],
        "test-library": [ "@swow-php vendor/bin/phpunit --configuration lib/swow-library --no-coverage lib/swow-library" ],
        "test-library-with-pcov": [ "@swow-php -dextension=pcov -dpcov.enabled=1 vendor/bin/phpunit --configuration lib/swow-library lib/swow-library" ],
        "test": [ "@test-extension", "@test-library" ],
        "gen-stub": [
            "@swow-php lib/php-stub-generator/bin/gen-stub.php --noinspection --stub-file=lib/swow-stub/src/Swow.php swow lib/swow-stub/src/Swow.php",
            "@php tools/stub-fixer.php lib/swow-stub/src/Swow.php"
        ],
        "update-arginfo": [ "@php -n lib/php-stub-generator/bin/update-arginfo.php --cache-path=ext/build --stub-file=lib/swow-stub/src/Swow.php swow ext/src ext/build" ],
        "update-version": [ "@php tools/update-version.php" ],
        "update-mime-types": [ "@php -n tools/update-mime-types.php" ],
        "split": [ "@php -n tools/split.php" ],
        "prepare-release": [
            "@update-mime-types",
            "@gen-stub",
            "@update-arginfo",
            "@update-version"
        ],
        "gen-changelog": [ "@swow-php tools/gen-changelog.php" ]
    },
    "bin": [
        "ext/bin/swow-builder",
        "lib/dontdie/bin/dontdie"
    ]
}
