You've already forked wc-composable-product
Upgrade to PHPUnit 10, add PHPCS with WPCS compliance, add phpcs CI job
All checks were successful
All checks were successful
- Upgrade PHPUnit 9.6 → 10, update phpunit.xml.dist schema - Add PHPCS 3.13 with WordPress-Extra + PHPCompatibilityWP standards - PHPCBF auto-fix + manual fixes for full WPCS compliance - Add phpcs job to release workflow (parallel with lint) - Pin composer platform to PHP 8.3 to prevent incompatible dep locks Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
12
CLAUDE.md
12
CLAUDE.md
@@ -18,7 +18,8 @@ This project is 100% AI-generated ("vibe-coded") using Claude.AI.
|
||||
- **Styling:** Custom CSS
|
||||
- **Dependencies:** Composer
|
||||
- **i18n:** WordPress i18n (.pot/.po/.mo), text domain: `wc-composable-product`
|
||||
- **Testing:** PHPUnit 9.6 + Brain Monkey 2.7 + Mockery 1.6
|
||||
- **Testing:** PHPUnit 10 + Brain Monkey 2.7 + Mockery 1.6
|
||||
- **Linting:** PHPCS 3.13 with WordPress-Extra + PHPCompatibilityWP
|
||||
- **CI/CD:** Gitea Actions (`.gitea/workflows/release.yml`)
|
||||
|
||||
## Project Structure
|
||||
@@ -55,6 +56,7 @@ wc-composable-product/
|
||||
│ └── product-selector.twig # Frontend selection interface
|
||||
├── vendor/ # Composer dependencies (gitignored, included in releases)
|
||||
├── composer.json
|
||||
├── phpcs.xml.dist # PHPCS configuration (WordPress-Extra + PHPCompatibilityWP)
|
||||
├── phpunit.xml.dist # PHPUnit configuration
|
||||
└── wc-composable-product.php # Main plugin file
|
||||
```
|
||||
@@ -140,11 +142,15 @@ Compile .po to .mo: `for po in languages/*.po; do msgfmt -o "${po%.po}.mo" "$po"
|
||||
|
||||
WordPress requires compiled .mo files — .po files alone are insufficient.
|
||||
|
||||
## Testing
|
||||
## Testing & Linting
|
||||
|
||||
Run unit tests: `vendor/bin/phpunit --testdox`
|
||||
|
||||
Tests use **Brain Monkey** to mock WordPress/WooCommerce functions without a full WP installation. WooCommerce classes (`WC_Product`, `WC_Settings_Page`, etc.) are provided as minimal stubs in `tests/stubs/` so PHP can parse `extends` declarations. The release workflow runs tests before building — a failing test blocks the release.
|
||||
Run coding standards check: `vendor/bin/phpcs`
|
||||
|
||||
Auto-fix coding standard violations: `vendor/bin/phpcbf`
|
||||
|
||||
Tests use **Brain Monkey** to mock WordPress/WooCommerce functions without a full WP installation. WooCommerce classes (`WC_Product`, `WC_Settings_Page`, etc.) are provided as minimal stubs in `tests/stubs/` so PHP can parse `extends` declarations. PHPCS uses the **WordPress-Extra** standard plus **PHPCompatibilityWP** for PHP version checks. The release workflow runs lint, phpcs, and tests before building — any failure blocks the release.
|
||||
|
||||
## Release Workflow
|
||||
|
||||
|
||||
Reference in New Issue
Block a user