From 90f1e0c0ed45c3172433bf4e3992253281f05256 Mon Sep 17 00:00:00 2001 From: Martin Soenen Date: Tue, 22 Sep 2026 21:56:39 +0200 Subject: [PATCH 1/3] :card_file_box: Rewrite the Packagist description and keywords The description was copied from the original Faker and said nothing about what sets this package apart; the four keywords missed most of what people actually search for (fake data, test data, mock data, dummy data, lorem ipsum, factories). Also declares the homepage and support links so Packagist points to the documentation instead of only the repository. --- composer.json | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/composer.json b/composer.json index bb2903f..8d355a9 100644 --- a/composer.json +++ b/composer.json @@ -1,13 +1,25 @@ { "name": "xefi/faker-php", "type": "library", - "description": "Faker allows you to generate realistic fake data for your php applications", + "description": "Lightweight, modular fake data generator for PHP 8.3+: tests, fixtures and database seeding, with installable locales and extensions.", "keywords": [ "faker", - "data", + "fake data", + "test data", + "mock data", + "dummy data", + "fixtures", "seeding", - "fixtures" + "factories", + "testing", + "lorem ipsum" ], + "homepage": "https://faker-php.xefi.com", + "support": { + "docs": "https://faker-php.xefi.com", + "issues": "https://github.com/xefi/faker-php/issues", + "source": "https://github.com/xefi/faker-php" + }, "license": "MIT", "authors": [ { From 71e51099fe5d63e7eef03292250a4aa8716753c6 Mon Sep 17 00:00:00 2001 From: Martin Soenen Date: Tue, 22 Sep 2026 21:56:39 +0200 Subject: [PATCH 2/3] :package: Stop shipping development files in the dist archive Dockerfile, docker-compose.yml, phpunit.xml and scripts/ ended up in every consumer's vendor directory. phpunit.xml slipped through because the rule targeted phpunit.xml.dist, which does not exist; rector.php was a rule for a file that does not exist either. scripts/generate-mixin.php only runs as this package's own post-install hook: consumers get their mixin generated at runtime by the Container, and nothing references the script from outside. The archive now holds LICENSE, README.md, composer.json and src/ only. --- .gitattributes | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitattributes b/.gitattributes index 3299a36..d5c1fd7 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,6 +1,8 @@ /.gitattributes export-ignore /.gitignore export-ignore -/phpunit.xml.dist export-ignore -/tests export-ignore /.github export-ignore -/rector.php export-ignore \ No newline at end of file +/Dockerfile export-ignore +/docker-compose.yml export-ignore +/phpunit.xml export-ignore +/scripts export-ignore +/tests export-ignore From 74f2a0db043fbb6214d810de6fc7a4cab830ba63 Mon Sep 17 00:00:00 2001 From: Martin Soenen Date: Sat, 26 Sep 2026 13:49:52 +0200 Subject: [PATCH 3/3] :package: Keep scripts/ in the dist archive The package's own post-install-cmd and post-update-cmd hooks call scripts/generate-mixin.php. They never run when the package is installed as a dependency, but they do when the archive becomes the root package, as with composer create-project: with scripts/ export-ignored, Composer aborted on "Could not open input file: scripts/generate-mixin.php". Reproduced by extracting the archive and running composer install in it; with the script kept, the install succeeds and generates the mixin. --- .gitattributes | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitattributes b/.gitattributes index d5c1fd7..b69c0f1 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4,5 +4,4 @@ /Dockerfile export-ignore /docker-compose.yml export-ignore /phpunit.xml export-ignore -/scripts export-ignore /tests export-ignore