Skip to content

Remove package.replaces set aliasing - #170

Merged
imanimanyara merged 1 commit into
mainfrom
chore/remove-pack-replaces
Nov 5, 2026
Merged

imanimanyara merged 1 commit into
mainfrom
chore/remove-pack-replaces

Conversation

@imanimanyara

Copy link
Copy Markdown
Contributor

Summary

Removes moving a set between packs (package.replaces, D9). It existed only so ichava/icon-sets-emoji::openmoji-* ids kept resolving after OpenMoji moved to ichava/icon-sets-openmoji. The owner decided to remove the emoji copies (forward-only), so nothing declares it any more.

Removed:

  • Support\PackAliases, PackConfigData::replaces() and deprecatedCategories().
  • IconRegistry::canonicalId(), isReplaced(), packAliases() and the rewrite at the four places an id is parsed.
  • Ichava::canonicalId() and its facade docblock entry.
  • IchavaLogger::deprecation(), whose only caller was the rewrite.
  • The seeder and watcher skip of replaced items.
  • Doctor's alias.deprecated_ids and alias.replacement_missing, their lang keys and the scan helpers only they used.
  • PackAliasTest and its four fixtures.
  • The docs/kinds.md section that described all of the above.

Callers measured across every file in ichava/packages and ichava/demos (3,643 files; positive control PackConfigData:: found, negative control 0). Outside core, only icon-sets-emoji's OpenmojiDeprecationTest and icon-sets-openmoji's ReplacesEmojiTest call any of it, and both are removed in the follow-up PRs to those packs. icon-browser, react-icon-browser, ichava.com and js-icon-components call none of it.

PackConfigShapeTest now asserts registry metadata has no replaces or deprecated_categories and that PackAliases and canonicalId() are gone (proven red by restoring PackAliases.php).

Gates: Pest 982 passed, 10 skipped; PHPStan no errors; Pint passed.

It existed only so icon-sets-emoji's openmoji-* ids kept resolving after
OpenMoji moved to icon-sets-openmoji. The owner removed the emoji copies,
so nothing declares it. Removes PackAliases, the replaces and deprecated
marker readers, canonicalId/isReplaced/packAliases, the deprecation log
method, the seeder and watcher skips, and doctor's alias checks.
Copilot AI balanced review requested due to automatic review settings November 5, 2026 09:00

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 22700fb into main Nov 5, 2026
12 checks passed
@imanimanyara
imanimanyara deleted the chore/remove-pack-replaces 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