pulp / pulp/pulp-ui

feat: Update PulpUI to PatternFly 6

Open
#339 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
29
Forks
22
Avg merge
2d 6h
Merged PRs (30d)
19

Description

Summary

PatternFly 6 brings a fleet of a new components and upgrades following PatternFly 5. To enable the migration to React 19, PatternFly needs to be upgraded. A codemod has been generated by the RedHat team to convert most changes across automatically but some components might require manual intervention. In this case, it is proposed that more generic primitive components are designed so that they are reused throughout, avoiding multiple unique implementations.

Tasks

  • Understand current dependency requirements for all @patternfly packages.
  • Update Package Files: Bump @patternfly/patternfly, @patternfly/react-core, @patternfly/react-table to 6.6.1.
  • Deploy @patternfly/pf-codemods to identity and convert deprecated functionality to new standards if possible.
  • Manually migrate components, if they are unable to be updated by the codemod.
  • Run Cypress test & run UI build steps.
  • Document minor issues found for future attention within Github Issues.

Deprecated Components for manual migration

  1. Modal
  2. Select
  3. Dropdown
  4. Dropdown Toggle
  5. KebabToggle

Found Blockers (To be updated throughout work)

N/A

Notes

  • 183 problems (180 errors, 3 warnings)
  • 137 errors and 0 warnings potentially fixable
  • 46 problems (43 errors, 3 warnings) need manual intervention

References

  1. https://www.patternfly.org/releases/upgrade-guide#notable-changes
  2. https://www.npmjs.com/package/@patternfly/patternfly
  3. https://www.npmjs.com/package/@patternfly/react-core
  4. https://www.npmjs.com/package/@patternfly/react-table

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the current dependency requirements in the package files and the PatternFly 6 upgrade guide. Run the PatternFly codemod, then inspect the listed Modal, Select, Dropdown, Dropdown Toggle, and KebabToggle migrations for manual work. Done means the packages are at 6.6.1, deprecated functionality is migrated, and the Cypress tests and UI build pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
react, typescript
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.