{
    "name": "kreait/firebase-php",
    "description": "Firebase Admin SDK",
    "license": "MIT",
    "type": "library",
    "keywords": [
        "api",
        "database",
        "firebase",
        "google",
        "sdk"
    ],
    "authors": [
        {
            "name": "Jérôme Gamez",
            "homepage": "https://github.com/jeromegamez"
        }
    ],
    "homepage": "https://github.com/beste/firebase-php",
    "support": {
        "issues": "https://github.com/beste/firebase-php/issues",
        "source": "https://github.com/beste/firebase-php",
        "docs": "https://firebase-php.readthedocs.io"
    },
    "funding": [
        {
            "type": "github",
            "url": "https://github.com/sponsors/jeromegamez"
        }
    ],
    "require": {
        "php": "~8.3.0 || ~8.4.0 || ~8.5.0",
        "ext-ctype": "*",
        "ext-filter": "*",
        "ext-json": "*",
        "ext-mbstring": "*",
        "beste/clock": "^3.0",
        "beste/in-memory-cache": "^1.3.1",
        "beste/json": "^1.5.1",
        "cuyz/valinor": "^2.2.1",
        "fig/http-message-util": "^1.1.5",
        "firebase/php-jwt": "^6.10.2 || ^7.0.2",
        "google/auth": "^1.45",
        "google/cloud-storage": "^1.48.7",
        "guzzlehttp/guzzle": "^7.9.2",
        "guzzlehttp/promises": "^2.0.4",
        "guzzlehttp/psr7": "^2.7",
        "kreait/firebase-tokens": "^5.2",
        "lcobucci/jwt": "^5.3",
        "mtdowling/jmespath.php": "^2.8.0",
        "psr/cache": "^2.0 || ^3.0",
        "psr/clock": "^1.0",
        "psr/http-client": "^1.0.3",
        "psr/http-factory": "^1.1",
        "psr/http-message": "^1.1 || ^2.0"
    },
    "require-dev": {
        "google/cloud-firestore": "^1.55.0",
        "psr/log": "^3.0.2",
        "symfony/var-dumper": "^7.4.4 || ^8.0.4",
        "vlucas/phpdotenv": "^5.6.3"
    },
    "suggest": {
        "google/cloud-firestore": "^1.0 to use the Firestore component"
    },
    "autoload": {
        "psr-4": {
            "Kreait\\Firebase\\": "src"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Kreait\\Firebase\\Tests\\": "tests"
        }
    },
    "config": {
        "allow-plugins": {
            "phpstan/extension-installer": true
        },
        "sort-packages": true
    },
    "extra": {
        "branch-alias": {
            "dev-7.x": "7.x-dev",
            "dev-8.x": "8.x-dev"
        }
    },
    "scripts": {
        "analyze": "XDEBUG_MODE=off tools/phpstan --ansi analyse",
        "clean": [
            "@clean:build-artifacts",
            "@clean:vendor"
        ],
        "clean:build-artifacts": "rm -rf build && mkdir -p build",
        "clean:vendor": "rm -rf vendor",
        "dependencies:check": [
            "@clean",
            "@tools:install",
            "@dependencies:install",
            "XDEBUG_MODE=off composer outdated --locked --direct --strict --sort-by-age --ansi"
        ],
        "dependencies:install": "XDEBUG_MODE=off composer install --no-interaction --no-progress --ansi --ignore-platform-req=ext-grpc",
        "dependencies:update": [
            "XDEBUG_MODE=off composer update --no-interaction --no-progress --ansi --ignore-platform-req=ext-grpc",
            "XDEBUG_MODE=off composer bump --no-interaction --ansi"
        ],
        "docs": [
            "@docs:clean",
            "@docs:setup",
            "@docs:build"
        ],
        "docs:build": "cd docs && uv run sphinx-build -b html . _build/html",
        "docs:clean": "cd docs && rm -rf _build/*",
        "docs:linkcheck": "cd docs && uv run sphinx-build -b linkcheck . _build/linkcheck",
        "docs:serve": [
            "Composer\\Config::disableProcessTimeout",
            "cd docs && uv run sphinx-autobuild . _build/html --host 0.0.0.0 --port 8000"
        ],
        "docs:setup": "cd docs && uv sync",
        "lint": [
            "XDEBUG_MODE=off tools/rector --ansi --dry-run",
            "XDEBUG_MODE=off tools/php-cs-fixer check --ansi --diff --verbose",
            "@lint:composer"
        ],
        "lint:composer": "XDEBUG_MODE=off tools/composer-normalize --ansi --dry-run",
        "lint:composer:fix": "XDEBUG_MODE=off tools/composer-normalize --ansi",
        "lint:fix": [
            "XDEBUG_MODE=off tools/rector --ansi",
            "XDEBUG_MODE=off tools/php-cs-fixer fix --ansi --diff --verbose",
            "@lint:composer:fix"
        ],
        "pre-push": [
            "@lint:fix",
            "@test:all",
            "@test:bc"
        ],
        "rector": "XDEBUG_MODE=off tools/rector --ansi --dry-run",
        "rector:fix": [
            "XDEBUG_MODE=off tools/rector --ansi",
            "XDEBUG_MODE=off tools/php-cs-fixer fix --ansi --diff --verbose"
        ],
        "reset-project": "XDEBUG_MODE=off tests/bin/reset-project",
        "setup": [
            "@clean:build-artifacts",
            "@tools:install",
            "@dependencies:install",
            "@tools:phpstan:install",
            "@tools:phpstan:update",
            "@tools:rector:install",
            "@tools:rector:update",
            "@tools:link"
        ],
        "test": "@test:all",
        "test:all": [
            "Composer\\Config::disableProcessTimeout",
            "@analyze",
            "@lint",
            "@test:unit"
        ],
        "test:bc": "docker run --rm -v \"$PWD\":/app nyholm/roave-bc-check",
        "test:coverage": [
            "Composer\\Config::disableProcessTimeout",
            "mkdir -p build",
            "XDEBUG_MODE=coverage tools/phpunit --colors=always --testdox --coverage-text --coverage-html=build/coverage --coverage-clover=build/coverage/clover.xml"
        ],
        "test:emulator": "FIREBASE_AUTH_EMULATOR_HOST=localhost:9099 FIREBASE_DATABASE_EMULATOR_HOST=localhost:9100 firebase emulators:exec --only auth,database --project beste-firebase 'XDEBUG_MODE=off tools/phpunit --group=emulator'",
        "test:integration": "XDEBUG_MODE=off tools/phpunit --testsuite=integration",
        "test:unit": "XDEBUG_MODE=off tools/phpunit --testsuite=unit --colors=always --testdox",
        "tools:install": "XDEBUG_MODE=off tools/phive --no-progress install --trust-gpg-keys E82B2FB314E9906E,4AA394086372C20A,C00543248C87FB13",
        "tools:link": [
            "ln -snf phpunit tools/phpunit.phar",
            "ln -snf .phpstan/vendor/bin/phpstan tools/phpstan",
            "ln -snf .rector/vendor/bin/rector tools/rector"
        ],
        "tools:phpstan:install": "XDEBUG_MODE=off composer --working-dir=tools/.phpstan install --no-interaction --no-progress --ansi",
        "tools:phpstan:update": [
            "XDEBUG_MODE=off composer --working-dir=tools/.phpstan update --no-interaction --no-progress --ansi",
            "XDEBUG_MODE=off composer --working-dir=tools/.phpstan bump --no-interaction --ansi"
        ],
        "tools:rector:install": "XDEBUG_MODE=off composer --working-dir=tools/.rector install --no-interaction --no-progress --ansi",
        "tools:rector:update": [
            "XDEBUG_MODE=off composer --working-dir=tools/.rector update --no-interaction --no-progress --ansi",
            "XDEBUG_MODE=off composer --working-dir=tools/.rector bump --no-interaction --ansi"
        ],
        "tools:update": [
            "XDEBUG_MODE=off tools/phive --no-progress selfupdate",
            "XDEBUG_MODE=off tools/phive --no-progress update",
            "@tools:phpstan:update",
            "@tools:rector:update",
            "@tools:link"
        ]
    }
}
