Skip to content

refactor(*): migrate deprecated phosphor icon names to 'Icon' suffix - #1094

Open
sukvvon wants to merge 2 commits into
mainfrom
refactor/phosphor-icon-suffix
Open

refactor(*): migrate deprecated phosphor icon names to 'Icon' suffix#1094
sukvvon wants to merge 2 commits into
mainfrom
refactor/phosphor-icon-suffix

Conversation

@sukvvon

@sukvvon sukvvon commented Aug 2, 2026

Copy link
Copy Markdown
Member

@phosphor-icons/react v2.1.10 marks every unsuffixed export as @deprecated in favor of its *Icon counterpart (e.g. StarStarIcon). Both names resolve to the same component, so this is a rename with no runtime behavior change — it clears the deprecation strikethrough in editors and stops new code from picking up the old names.

Changes

  • 180 files — rewrote imports from @phosphor-icons/react and their usage sites to the *Icon exports. Aliased imports keep their local name (Sparkle as SparklesSparkleIcon as Sparkles).

  • scripts/generate-phosphor-icon-registry.mjs — imports the suffixed export for every icon. This also drops the Infinity special case, which existed only because the bare name collides with the JS global; InfinityIcon never does.

  • src/components/ds/phosphor-icons.generated.ts — regenerated from the updated script rather than hand-edited.

  • src/routes/ds.iconography.lazy.tsx — the icon browser copied <Acorn /> to the clipboard. The registry keys icons by their bare name, so the copy string and tooltip now append Icon to match what callers actually import. Search and the visible grid labels still use the bare name.

Inline code={...} examples on the ds/* pages were updated as well, so the JSX shown on the page matches the supported import.

Notes

Icon names that collide with unrelated components (Link, Table, Spinner, Command, User) were left alone where they resolve to something other than Phosphor — only identifiers imported from @phosphor-icons/react were touched.

@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 181 files, which is 31 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 88c4d391-5f28-47f8-a990-e5caa65f75e8

📥 Commits

Reviewing files that changed from the base of the PR and between 9b4d4a1 and 6ca0670.

⛔ Files ignored due to path filters (1)
  • src/components/ds/phosphor-icons.generated.ts is excluded by !**/*.generated.*
📒 Files selected for processing (181)
  • scripts/generate-phosphor-icon-registry.mjs
  • src/builder/templates.ts
  • src/components/ApplicationStarter.tsx
  • src/components/AuthenticatedUserMenu.tsx
  • src/components/Avatar.tsx
  • src/components/AvatarCropModal.tsx
  • src/components/BlogAuthorFilter.tsx
  • src/components/Breadcrumbs.tsx
  • src/components/CodeExplorerTopBar.tsx
  • src/components/CopyPageDropdown.tsx
  • src/components/Doc.tsx
  • src/components/DocFeedbackFloatingButton.tsx
  • src/components/DocFeedbackNote.tsx
  • src/components/DocFeedbackProvider.tsx
  • src/components/ExampleDeployDialog.tsx
  • src/components/FeatureGrid.tsx
  • src/components/FeedbackLeaderboard.tsx
  • src/components/FeedbackModerationList.tsx
  • src/components/FilterComponents.tsx
  • src/components/FrameworkCard.tsx
  • src/components/ImageUpload.client.tsx
  • src/components/LibrariesBrowser.tsx
  • src/components/LibrariesOverlay.tsx
  • src/components/LibraryDownloadsMicro.tsx
  • src/components/LibraryGridCard.tsx
  • src/components/LibraryLayout.tsx
  • src/components/LibraryStatsSection.tsx
  • src/components/LibraryTestimonials.tsx
  • src/components/LoginModal.tsx
  • src/components/MegaMenuItem.tsx
  • src/components/Navbar.tsx
  • src/components/NavbarAuthControls.tsx
  • src/components/NavbarCartButton.tsx
  • src/components/NewsletterSignup.tsx
  • src/components/NotFound.tsx
  • src/components/NotesModerationList.tsx
  • src/components/OpenSourceStats.tsx
  • src/components/OssSponsorsSection.tsx
  • src/components/PaginationControls.tsx
  • src/components/PartnersSection.tsx
  • src/components/PartnersSponsorsSection.tsx
  • src/components/PartnershipCallout.tsx
  • src/components/SearchButton.tsx
  • src/components/SearchModal.tsx
  • src/components/Select.tsx
  • src/components/ShowcaseCard.tsx
  • src/components/ShowcaseDetail.tsx
  • src/components/ShowcaseGallery.tsx
  • src/components/ShowcaseModerationList.tsx
  • src/components/ShowcaseSection.tsx
  • src/components/ShowcaseSubmitForm.tsx
  • src/components/Spinner.tsx
  • src/components/TableComponents.tsx
  • src/components/ThemeToggle.tsx
  • src/components/TocMobile.tsx
  • src/components/UserFeedbackSection.tsx
  • src/components/VersionSelect.tsx
  • src/components/account/AccountProfilePictureSection.client.tsx
  • src/components/admin/AdminAccessDenied.tsx
  • src/components/admin/DocsCacheTab.tsx
  • src/components/admin/UserAvatar.tsx
  • src/components/application-builder/parts.tsx
  • src/components/builder/BuilderSummary.tsx
  • src/components/builder/BuilderWorkspace.tsx
  • src/components/builder/CustomAddonDialog.tsx
  • src/components/builder/CustomTemplateDialog.tsx
  • src/components/builder/DeployDialog.tsx
  • src/components/builder/FeaturePicker.tsx
  • src/components/charts/ChartControls.tsx
  • src/components/charts/ChartsCatalogPages.tsx
  • src/components/ds/BrandAssets.tsx
  • src/components/ds/DsKit.tsx
  • src/components/ds/ui/index.tsx
  • src/components/game/ui/CompleteOverlay.tsx
  • src/components/game/ui/GameHUD.tsx
  • src/components/game/ui/StatsHUD.tsx
  • src/components/home/HomeCommunitySection.tsx
  • src/components/home/HomeNewsletterSection.tsx
  • src/components/home/HomeSocialProofSection.tsx
  • src/components/landing/AiLanding.tsx
  • src/components/landing/ChartsCatalogGallery.tsx
  • src/components/landing/ChartsLandingGraphics.tsx
  • src/components/landing/CliLanding.tsx
  • src/components/landing/ConfigLanding.tsx
  • src/components/landing/DbLanding.tsx
  • src/components/landing/DevtoolsLanding.tsx
  • src/components/landing/FormLanding.tsx
  • src/components/landing/HighlightLanding.tsx
  • src/components/landing/HotkeysLanding.tsx
  • src/components/landing/IntentLanding.tsx
  • src/components/landing/LandingCopyPromptButton.tsx
  • src/components/landing/LibraryLanding.tsx
  • src/components/landing/MarkdownLanding.tsx
  • src/components/landing/PacerLanding.tsx
  • src/components/landing/QueryLanding.tsx
  • src/components/landing/RangerLanding.tsx
  • src/components/landing/RouterLanding.tsx
  • src/components/landing/StartLanding.tsx
  • src/components/landing/StoreLanding.tsx
  • src/components/landing/TableLanding.tsx
  • src/components/landing/VirtualLanding.tsx
  • src/components/landing/WorkflowLanding.tsx
  • src/components/markdown/CodeBlockView.tsx
  • src/components/markdown/MarkdownContent.tsx
  • src/components/npm-stats/BaselineSection.tsx
  • src/components/npm-stats/ChartControls.tsx
  • src/components/npm-stats/DisabledChartActions.tsx
  • src/components/npm-stats/LatestBucketNavigator.tsx
  • src/components/npm-stats/NPMStatsChart.tsx
  • src/components/npm-stats/PackagePills.tsx
  • src/components/npm-stats/PackageSearch.tsx
  • src/components/npm-stats/StatsTable.tsx
  • src/components/shop/CartDrawer.tsx
  • src/components/shop/ui/Qty.tsx
  • src/components/stack/CategoryArticle.tsx
  • src/libraries/ai.tsx
  • src/libraries/cli.tsx
  • src/libraries/config.tsx
  • src/libraries/db.tsx
  • src/libraries/devtools.tsx
  • src/libraries/form.tsx
  • src/libraries/hotkeys.tsx
  • src/libraries/icons.ts
  • src/libraries/intent.tsx
  • src/libraries/pacer.tsx
  • src/libraries/query.tsx
  • src/libraries/ranger.tsx
  • src/libraries/router.tsx
  • src/libraries/start.tsx
  • src/libraries/store.tsx
  • src/libraries/table.tsx
  • src/libraries/virtual.tsx
  • src/libraries/workflow.tsx
  • src/routes/_library/$libraryId/$version.docs.blog.tsx
  • src/routes/_library/$libraryId/$version.docs.contributors.tsx
  • src/routes/_library/$libraryId/$version.docs.framework.$framework.examples.$.tsx
  • src/routes/_library/$libraryId/$version.docs.npm-stats.tsx
  • src/routes/account/feedback.tsx
  • src/routes/account/index.tsx
  • src/routes/account/integrations.tsx
  • src/routes/account/notes.tsx
  • src/routes/account/submissions.tsx
  • src/routes/admin/audit.tsx
  • src/routes/admin/feedback_.$id.tsx
  • src/routes/admin/github-stats.tsx
  • src/routes/admin/index.tsx
  • src/routes/admin/intent.tsx
  • src/routes/admin/logins.tsx
  • src/routes/admin/npm-stats.tsx
  • src/routes/admin/roles.$roleId.tsx
  • src/routes/admin/roles.index.tsx
  • src/routes/admin/route.tsx
  • src/routes/admin/showcases_.$id.tsx
  • src/routes/admin/users.$userId.tsx
  • src/routes/admin/users.tsx
  • src/routes/ads.tsx
  • src/routes/blog.index.tsx
  • src/routes/brand-guide.tsx
  • src/routes/dashboard.tsx
  • src/routes/ds.buttons.tsx
  • src/routes/ds.collapsible.tsx
  • src/routes/ds.dropdown.tsx
  • src/routes/ds.eyebrow.tsx
  • src/routes/ds.iconography.lazy.tsx
  • src/routes/ds.index.tsx
  • src/routes/ds.navbar.tsx
  • src/routes/ds.stats.tsx
  • src/routes/ethos.tsx
  • src/routes/index.tsx
  • src/routes/intent/registry/$packageName.tsx
  • src/routes/learn.tsx
  • src/routes/maintainers.tsx
  • src/routes/merch.tsx
  • src/routes/paid-support.tsx
  • src/routes/partners.$partner.tsx
  • src/routes/partners.railway.tsx
  • src/routes/shop.cart.tsx
  • src/routes/shop.search.tsx
  • src/routes/stats/npm/index.tsx
  • src/routes/tenets.tsx
  • src/routes/workshops.tsx

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sukvvon sukvvon changed the title Migrate deprecated phosphor icon names to the Icon suffix refactor(*): migrate deprecated phosphor icon names to 'Icon' suffix Aug 2, 2026
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
tanstack-com 6ca0670 Commit Preview URL

Branch Preview URL
Aug 02 2026, 03:07 PM

@sukvvon sukvvon self-assigned this Aug 2, 2026
@sukvvon
sukvvon requested a review from a team August 2, 2026 15:10
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.

1 participant