CI / Coding Standards (pull_request) Successful in 27s
CI / No Debug Code (pull_request) Successful in 6s
CI / Tests (PHP 8.1) (pull_request) Successful in 35s
CI / Tests (PHP 8.2) (pull_request) Successful in 34s
CI / Tests (PHP 8.5) (pull_request) Successful in 24s
CI / Tests (PHP 8.3) (pull_request) Successful in 37s
CI / Static Analysis (pull_request) Successful in 45s
CI / Build Plugin Zip (pull_request) Skipped
Four majors behind on the plugin's only production dependency. No site is using Stripe yet and the integration has not been verified end to end, so the pinned API version can move now at close to zero cost — later it would mean coordinating with live payment traffic. The library surface this plugin uses is four symbols, all in StripeGateway: StripeClient, paymentIntents->create, Webhook::constructEvent and Event. Checked each against the installed v21 by reflection; all present with compatible signatures. Most of the breakage flagged across 18 to 21 is in the V2 Events API, which this does not use — webhooks go through the V1 Webhook::constructEvent path. The pinned Stripe API version moves to 2026-07-29.dahlia. Verified beyond the suite, which mocks the client: a real HMAC-signed payload round-trips through Webhook::constructEvent and returns a Stripe\Event with the expected type and data, and a forged signature still raises SignatureVerificationException. The 21.0.0 ErrorObject retyping to null|string produces no new PHPStan findings. Part of #194 Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01D9acV1mHktGAb1uyvNmrR2
47 lines
1.4 KiB
JSON
47 lines
1.4 KiB
JSON
{
|
|
"name": "unsupervised/schedular",
|
|
"description": "WordPress plugin for instructor/student lesson scheduling",
|
|
"type": "wordpress-plugin",
|
|
"license": "GPL-2.0-or-later",
|
|
"require": {
|
|
"php": ">=8.1",
|
|
"stripe/stripe-php": "^21.0"
|
|
},
|
|
"require-dev": {
|
|
"phpunit/phpunit": "^10.5",
|
|
"brain/monkey": "^2.6",
|
|
"mockery/mockery": "^1.6",
|
|
"phpstan/phpstan": "^2.0",
|
|
"szepeviktor/phpstan-wordpress": "^2.0",
|
|
"php-stubs/wordpress-stubs": "^6.0",
|
|
"squizlabs/php_codesniffer": "^3.7",
|
|
"wp-coding-standards/wpcs": "^3.0"
|
|
},
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Unsupervised\\Schedular\\": "src/"
|
|
}
|
|
},
|
|
"autoload-dev": {
|
|
"psr-4": {
|
|
"Unsupervised\\Schedular\\Tests\\": "tests/"
|
|
}
|
|
},
|
|
"scripts": {
|
|
"test": "phpunit --configuration phpunit.xml",
|
|
"test:coverage": "phpunit --configuration phpunit.xml --coverage-html coverage/",
|
|
"lint": "phpstan analyse --configuration phpstan.neon --memory-limit=1G",
|
|
"cs": "phpcs --standard=phpcs.xml.dist",
|
|
"cs:fix": "phpcbf --standard=phpcs.xml.dist",
|
|
"build": "bash bin/build-zip.sh"
|
|
},
|
|
"config": {
|
|
"platform": {
|
|
"php": "8.1"
|
|
},
|
|
"allow-plugins": {
|
|
"dealerdirect/phpcodesniffer-composer-installer": true
|
|
}
|
|
}
|
|
}
|