Codely logo

🎼 Criteria for PHP

Codely Open Source projects Codely Pro courses

📥 Installation

To install the base criteria dependency, run the following command:

composer require codelytv/criteria

Then, install the preferred criteria transformer. You can transform in two directions:

Create a Criteria from:

Convert a Criteria to:

Also, you can use Plug&Play transformer for your preferred framework:

✅ Testing

To facilitate the testing of the criteria, you can use the provided object mothers:

composer require codelytv/criteria-test-mother --dev

➕ Other implementations

We have another implementation in TypeScript with converters for Next.js and URL. 🙌

⬇️ Adding dependencies to packages

  • Don't add the dependency with the command composer require, but modify the composer.json file directly.
  • Don't touch the root composer.json file, but the packages/*/composer.json one.
  • After adding a new dependency, execute vendor/bin/monorepo-builder merge && composer update to add automatically the changes to the general composer.json.

🚀 Release packages

This project is using monorepo-builder to manage the monorepo.

To release a new version you should execute:

  • patch version release: make release-patch
  • minor version release: make release-minor
  • major version release: make release-major

This will trigger a GitHub Workflow that would propagate the new version to all the packages in their own GitHub repos.