You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PR #3743 (implementing #3736) migrated the boost frontend plugin from @remixicon/react to @mui/icons-material. This decision was made without design discussion and goes against the direction Backstage is heading with BUI.
Why this should be reverted
BUI depends on @remixicon/react internally — it's a direct dependency in @backstage/ui (package.json), not MUI icons.
Boost is a BUI-first, NFS-only plugin — it should set the standard for the repo, not follow legacy patterns. Moving to MUI icons adds an unnecessary dependency when we already get Remix transitively through BUI.
Problem
PR #3743 (implementing #3736) migrated the boost frontend plugin from
@remixicon/reactto@mui/icons-material. This decision was made without design discussion and goes against the direction Backstage is heading with BUI.Why this should be reverted
BUI depends on
@remixicon/reactinternally — it's a direct dependency in@backstage/ui(package.json), not MUI icons.The official MUI-to-BUI migration skill has a dedicated section "Icons: MUI Icons to Remix Icons" with a full mapping table. Migration checklist item Add dynamic-home-page workspace with backstage app and plugin scaffold #28: "Replace MUI icons with Remix icons." Both the upstream skill and the community-plugins skill say this.
Backstage's official icons documentation uses
@remixicon/reactin its example for adding custom icons to NFS apps (docs).The community-plugins repo is actively migrating TO Remix icons — there's a dedicated migration tracker, a repo-wide migration issue, and PRs like the quay migration among many others — all replacing MUI icons with Remix.
Boost is a BUI-first, NFS-only plugin — it should set the standard for the repo, not follow legacy patterns. Moving to MUI icons adds an unnecessary dependency when we already get Remix transitively through BUI.
Expected behavior
Revert the changes from PR #3743:
@mui/icons-materialicon imports with the original@remixicon/reacticons.SvgIconComponenttypes back toRemixiconComponentType.@mui/icons-materialfromplugins/boost/package.jsondependencies.@remixicon/reacttoplugins/boost/package.jsondependencies.boost-frontend-architecture.mdTechnology Stack table to confirm@remixicon/react(already done).Scope
workspaces/boost@red-hat-developer-hub/backstage-plugin-boost(plugins/boost)Icon mapping (MUI to Remix, reverting #3743)
API differences to account for
fontSize="small". Remix usessize={16}(pixels).SvgIconComponentto Remix'sRemixiconComponentType(import from@remixicon/react).<CheckOutlined />becomes<RiCheckLine />.Tests
No new test file needed. Existing tests do not assert on specific icon components. Verify that existing tests still pass after the swap.
Run
yarn workspace @red-hat-developer-hub/backstage-plugin-boost testandyarn workspace @red-hat-developer-hub/backstage-plugin-boost tscto confirm.