Please do not introduce changes without talking to the repository maintainers first. That way nobody spends time on a pull request that cannot be merged.
If you want to provide a bug fix, include tests that prove the bug exists and that it is fixed.
-
Install project dependencies:
composer setup
-
Create local test env config from tests/.env.dist:
cp tests/.env.dist tests/.env
-
Fill in the required values in
tests/.env:GOOGLE_APPLICATION_CREDENTIALSTEST_FIREBASE_APP_IDTEST_FIREBASE_RTDB_URITEST_FIREBASE_TENANT_IDTEST_REGISTRATION_TOKENSTEST_FIRESTORE_CUSTOM_DB_NAMEif you use a custom Firestore database
-
If you run emulator tests, install the Firebase CLI and make sure it can start Auth and Realtime Database emulators. The test suite uses ports
9099and9100.composer test:emulator
composer lintRuns Rector, PHP-CS-Fixer, and composer normalization checks.
composer analyzeRuns PHPStan.
composer test:unit
composer test:integration
composer test:emulator
composer test:allBefore pushing, run:
composer pre-pushThis runs lint fixes, full tests, and backward-compat checks.
composer test:coveragetests/bootstrap.phploadstests/.envautomatically.tests/bin/reset-projectalso readstests/.envand requiresGOOGLE_APPLICATION_CREDENTIALS. Use only with test or integration projects. It deletes Realtime Database data and Auth users. Do not run against production projects.- Keep changes focused and follow existing code style.
Support the project’s development and keep it sustainable by becoming a GitHub Sponsor.