composer

  • Writing a PHPUnit extension

    turkerdev/phpunit-json-coverage-report, and a coverage report a machine can read. Coverage as a percentage in a log, and no way to ask which paths changed.

  • A path repository that reached staging

    A local path repository committed by accident, and an install on a machine where the path does not exist. A path repository is the right tool for developing…

  • Composer’s audit as the only gate that has ever failed

    Four merge gates on the pipeline, and after a year one of them has ever blocked anything. A gate that fails on your own change is feedback and…

  • Publishing a shared lint config for a team

    turkerdev/kbox-eslint-rules, and four repositories with four nearly identical configs that disagreed on eleven rules.

  • A plugin with no admin screen

    A plugin whose entire configuration is a constant and a filter, on a site whose deployment is a pipeline.

  • A plugin downgrade that was a version constraint

    A plugin update that broke a checkout flow, reverted by editing one line and running one command. A downgrade that is a version constraint and a redeploy is…

  • The autoloader that got slower after a directory was added

    A new PSR-4 root added to composer.json, and an authoritative classmap that had to be regenerated and was not. An authoritative classmap turns a missing entry into a…

  • Composer 2.8, and audit as a merge gate

    Running the audit in CI for a year had produced a report; making it fail the merge produced a decision. Failing only on high and critical is what…

  • Core as a Composer package, and where wp-content goes

    WordPress installed as a dependency, which requires the content directory to move out of the core directory. The constants must be defined before core loads, which means wp-config.php…

  • A premium plugin with no repository, handled honestly

    Composer-managed WordPress, and four commercial plugins that ship as a zip behind a licence key. An inline package definition with a version that has to be bumped by…