From 4be84c89d3c047203dbbafead84b968285754734 Mon Sep 17 00:00:00 2001 From: Mark Shust Date: Fri, 1 May 2026 21:01:29 -0400 Subject: [PATCH] chore: sort root composer.json replace and autoload-dev blocks alphabetically MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both blocks had drifted into chronological/append order as packages were added over time. Composer auto-sorts `require`/`require-dev` (via the `sort-packages: true` config) but does NOT touch `repositories`, `replace`, or `autoload-dev.psr-4` — those need manual maintenance. For nested namespaces (e.g. `Marko\Cache\File\Tests\`), the parent's own `\Tests\` entry is placed first, then siblings sorted alphabetically. This matches the existing convention used for `Cache`, `Database`, `Filesystem`, `Http`, `Inertia`, `Log`, `Mail`, `Notification`, `PubSub`, `Queue`, `Session`, `Translation`, and `View`. Also documents the rule in `.claude/pr-review-process.md` so future contributors keep these blocks sorted when adding new packages. No behavior change — pure key reorder; tests pass (4889/4889). --- .claude/pr-review-process.md | 2 +- composer.json | 64 ++++++++++++++++++------------------ 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/.claude/pr-review-process.md b/.claude/pr-review-process.md index 09d5a9f6..0a51f38c 100644 --- a/.claude/pr-review-process.md +++ b/.claude/pr-review-process.md @@ -149,7 +149,7 @@ Required files: Cross-cutting updates a new package PR must include: -- Root `composer.json`: add to `repositories` (path), `replace`, `autoload-dev` for `Marko\Name\Tests\` +- Root `composer.json`: add to `repositories` (path), `replace`, `autoload-dev` for `Marko\Name\Tests\`. **Keep `repositories`, `replace`, and `autoload-dev.psr-4` alphabetically sorted** (Composer auto-sorts `require`/`require-dev`, but not these). For nested namespaces (`Marko\Cache\File\Tests\`), place the parent's own `Tests\` entry first, then siblings alphabetically. - `.github/ISSUE_TEMPLATE/bug_report.yml` — add `{name}` to the package dropdown - `.github/ISSUE_TEMPLATE/feature_request.yml` — add `{name}` to the package dropdown - `tests/IntegrationVerificationTest.php` and `tests/PackagingTest.php` — bump `toHaveCount(N)` and the test descriptions diff --git a/composer.json b/composer.json index 376835e5..eff56bcc 100644 --- a/composer.json +++ b/composer.json @@ -352,13 +352,13 @@ "marko/framework": "self.version", "marko/hashing": "self.version", "marko/health": "self.version", + "marko/http": "self.version", + "marko/http-guzzle": "self.version", "marko/inertia": "self.version", "marko/inertia-react": "self.version", "marko/inertia-svelte": "self.version", "marko/inertia-vue": "self.version", - "marko/http": "self.version", "marko/layout": "self.version", - "marko/http-guzzle": "self.version", "marko/log": "self.version", "marko/log-file": "self.version", "marko/mail": "self.version", @@ -432,9 +432,13 @@ "autoload-dev": { "psr-4": { "Marko\\Admin\\Tests\\": "packages/admin/tests/", - "Marko\\AdminAuth\\Tests\\": "packages/admin-auth/tests/", "Marko\\AdminApi\\Tests\\": "packages/admin-api/tests/", + "Marko\\AdminAuth\\Tests\\": "packages/admin-auth/tests/", "Marko\\AdminPanel\\Tests\\": "packages/admin-panel/tests/", + "Marko\\Amphp\\Tests\\": "packages/amphp/tests/", + "Marko\\Api\\Tests\\": "packages/api/tests/", + "Marko\\Authentication\\Tests\\": "packages/authentication/tests/", + "Marko\\AuthenticationToken\\Tests\\": "packages/authentication-token/tests/", "Marko\\Authorization\\Tests\\": "packages/authorization/tests/", "Marko\\Cache\\Tests\\": "packages/cache/tests/", "Marko\\Cache\\File\\Tests\\": "packages/cache-file/tests/", @@ -445,10 +449,10 @@ "Marko\\Core\\Tests\\": "packages/core/tests/", "Marko\\Cors\\Tests\\": "packages/cors/tests/", "Marko\\Database\\Tests\\": "packages/database/tests/", - "Marko\\Debugbar\\Tests\\": "packages/debugbar/tests/", - "Marko\\DevServer\\Tests\\": "packages/dev-server/tests/", "Marko\\Database\\MySql\\Tests\\": "packages/database-mysql/tests/", "Marko\\Database\\PgSql\\Tests\\": "packages/database-pgsql/tests/", + "Marko\\Debugbar\\Tests\\": "packages/debugbar/tests/", + "Marko\\DevServer\\Tests\\": "packages/dev-server/tests/", "Marko\\Encryption\\Tests\\": "packages/encryption/tests/", "Marko\\Encryption\\OpenSsl\\Tests\\": "packages/encryption-openssl/tests/", "Marko\\Env\\Tests\\": "packages/env/tests/", @@ -461,52 +465,48 @@ "Marko\\Framework\\Tests\\": "packages/framework/tests/", "Marko\\Hashing\\Tests\\": "packages/hashing/tests/", "Marko\\Health\\Tests\\": "packages/health/tests/", + "Marko\\Http\\Tests\\": "packages/http/tests/", + "Marko\\Http\\Guzzle\\Tests\\": "packages/http-guzzle/tests/", "Marko\\Inertia\\Tests\\": "packages/inertia/tests/", "Marko\\Inertia\\React\\Tests\\": "packages/inertia-react/tests/", "Marko\\Inertia\\Svelte\\Tests\\": "packages/inertia-svelte/tests/", "Marko\\Inertia\\Vue\\Tests\\": "packages/inertia-vue/tests/", - "Marko\\Http\\Tests\\": "packages/http/tests/", - "Marko\\Http\\Guzzle\\Tests\\": "packages/http-guzzle/tests/", "Marko\\Layout\\Tests\\": "packages/layout/tests/", "Marko\\Log\\Tests\\": "packages/log/tests/", "Marko\\Log\\File\\Tests\\": "packages/log-file/tests/", "Marko\\Mail\\Tests\\": "packages/mail/tests/", "Marko\\Mail\\Log\\Tests\\": "packages/mail-log/tests/", "Marko\\Mail\\Smtp\\Tests\\": "packages/mail-smtp/tests/", - "Marko\\Routing\\Tests\\": "packages/routing/tests/", - "Marko\\Session\\Tests\\": "packages/session/tests/", - "Marko\\Session\\Database\\Tests\\": "packages/session-database/tests/", - "Marko\\Session\\File\\Tests\\": "packages/session-file/tests/", - "Marko\\Validation\\Tests\\": "packages/validation/tests/", - "Marko\\Authentication\\Tests\\": "packages/authentication/tests/", + "Marko\\Media\\Tests\\": "packages/media/tests/", + "Marko\\MediaGd\\Tests\\": "packages/media-gd/tests/", + "Marko\\MediaImagick\\Tests\\": "packages/media-imagick/tests/", + "Marko\\Notification\\Tests\\": "packages/notification/tests/", + "Marko\\Notification\\Database\\Tests\\": "packages/notification-database/tests/", + "Marko\\Pagination\\Tests\\": "packages/pagination/tests/", + "Marko\\PubSub\\Tests\\": "packages/pubsub/tests/", + "Marko\\PubSub\\PgSql\\Tests\\": "packages/pubsub-pgsql/tests/", + "Marko\\PubSub\\Redis\\Tests\\": "packages/pubsub-redis/tests/", "Marko\\Queue\\Tests\\": "packages/queue/tests/", - "Marko\\Queue\\Sync\\Tests\\": "packages/queue-sync/tests/", "Marko\\Queue\\Database\\Tests\\": "packages/queue-database/tests/", "Marko\\Queue\\Rabbitmq\\Tests\\": "packages/queue-rabbitmq/tests/", + "Marko\\Queue\\Sync\\Tests\\": "packages/queue-sync/tests/", "Marko\\RateLimiting\\Tests\\": "packages/rate-limiting/tests/", + "Marko\\Routing\\Tests\\": "packages/routing/tests/", "Marko\\Scheduler\\Tests\\": "packages/scheduler/tests/", - "Marko\\View\\Tests\\": "packages/view/tests/", + "Marko\\Search\\Tests\\": "packages/search/tests/", + "Marko\\Security\\Tests\\": "packages/security/tests/", + "Marko\\Session\\Tests\\": "packages/session/tests/", + "Marko\\Session\\Database\\Tests\\": "packages/session-database/tests/", + "Marko\\Session\\File\\Tests\\": "packages/session-file/tests/", + "Marko\\Sse\\Tests\\": "packages/sse/tests/", + "Marko\\Testing\\Tests\\": "packages/testing/tests/", "Marko\\Translation\\Tests\\": "packages/translation/tests/", "Marko\\Translation\\File\\Tests\\": "packages/translation-file/tests/", + "Marko\\Validation\\Tests\\": "packages/validation/tests/", + "Marko\\View\\Tests\\": "packages/view/tests/", "Marko\\View\\Latte\\Tests\\": "packages/view-latte/tests/", "Marko\\Vite\\Tests\\": "packages/vite/tests/", - "Marko\\Notification\\Tests\\": "packages/notification/tests/", - "Marko\\Notification\\Database\\Tests\\": "packages/notification-database/tests/", - "Marko\\Pagination\\Tests\\": "packages/pagination/tests/", - "Marko\\Search\\Tests\\": "packages/search/tests/", - "Marko\\Security\\Tests\\": "packages/security/tests/", - "Marko\\Testing\\Tests\\": "packages/testing/tests/", - "Marko\\Api\\Tests\\": "packages/api/tests/", - "Marko\\Webhook\\Tests\\": "packages/webhook/tests/", - "Marko\\AuthenticationToken\\Tests\\": "packages/authentication-token/tests/", - "Marko\\Media\\Tests\\": "packages/media/tests/", - "Marko\\MediaGd\\Tests\\": "packages/media-gd/tests/", - "Marko\\MediaImagick\\Tests\\": "packages/media-imagick/tests/", - "Marko\\Sse\\Tests\\": "packages/sse/tests/", - "Marko\\PubSub\\Tests\\": "packages/pubsub/tests/", - "Marko\\PubSub\\PgSql\\Tests\\": "packages/pubsub-pgsql/tests/", - "Marko\\PubSub\\Redis\\Tests\\": "packages/pubsub-redis/tests/", - "Marko\\Amphp\\Tests\\": "packages/amphp/tests/" + "Marko\\Webhook\\Tests\\": "packages/webhook/tests/" } } }