Skip to content

Depend on ichava/core alone - #2

Merged
imanimanyara merged 2 commits into
mainfrom
chore/core-only-dependency
Nov 5, 2026
Merged

imanimanyara merged 2 commits into
mainfrom
chore/core-only-dependency

Conversation

@imanimanyara

Copy link
Copy Markdown
Contributor

Summary

This pack now depends on ichava/core and nothing else, following ichava/core#167.

  • Provider. IconsServiceProvider extends core's new Support\IconPackServiceProvider and declares constantsClass() and componentClass(). The base sets the same name, path, Blade component (<x-{slug}-icon>) and icon directory the old provider did, in the same order, plus config/{slug}.php for a pack that ships one. src/ no longer imports Simtabi\Laranail\Package\Tools\Package, InvalidPath or InvalidPackage.
  • composer.json. require is php and ichava/core; illuminate/support and laranail/package-tools still arrive through core. type is ichava-icon-set, the key core's InformationService::discoverPackages() now reads through Composer\InstalledVersions. The repositories block (core plus the four laranail/*) is unchanged: Composer reads it only from the root package, and CI installs core's dependencies through it.
  • Docs. The README Install section and docs/installation.md say the pack requires only ichava/core and link to core's installation guide, the one place that lists the repositories, instead of restating the laranail/* list. They no longer say the pack is on Packagist; repo.packagist.org answers 404 for every Ichava package. docs/architecture.md's "It requires laranail/package-tools directly" section is replaced by "It requires ichava/core only".
  • Guard. tests/Unit/CoreOnlyDependencyTest.php fails when require holds anything beyond php and ichava/core, when the type is not ichava-icon-set, or when a src/ file names a Simtabi\Laranail namespace other than core's; it asserts at least 4 src/ files were inspected. Proved red locally by putting laranail/package-tools back in require (1 failed, 2 passed), then green (3 passed).

Local gates against core's main: pest, phpstan --debug, laranail-pint --test, all green.

The provider extends core's IconPackServiceProvider and names its
constants and component classes, so src/ imports no laranail type and
composer.json requires php and ichava/core only. The type is
ichava-icon-set, which core's discovery reads. CoreOnlyDependencyTest
guards all three.
Copilot AI balanced review requested due to automatic review settings November 5, 2026 07:20

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@imanimanyara
imanimanyara merged commit 930ec3a into main Nov 5, 2026
10 checks passed
@imanimanyara
imanimanyara deleted the chore/core-only-dependency branch November 6, 2026 00:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants