-
Notifications
You must be signed in to change notification settings - Fork 648
Closed
Labels
Stalereact🚧 blockedSomeone or something is preventing this from moving forwardSomeone or something is preventing this from moving forward
Description
This issue is an umbrella for all issues associated with internally updating PRC to use React 18. As tasks, or group of tasks, are worked on the issues will be generated and replace the checklist below.
Note
Teams may use@primer/reactwith React 18, this issue specifically tracks internal changes and updates that need to be made.
This plan will be broken up into several stages:
- Update the project to use React 18 by default, but make sure to still test against React 17 and still support those versions as
peerDependencies - Update the dependencies of the project so that we can run React 18 and React 17
- Where applicable, add conditional fallbacks for React 18 behavior for React 17
- In the next major release of
@primer/react:- Switch from React 17 to React 18 as the baseline version
- Remove any fallback code relevant to React 17
Checklist
- Testing feat(project): update project to use React 18 #2661 test(project): update tests for React 18 #2673
- Update enzyme code to use React Testing Library #2581
- Update
@testing-library/reactto latest version for React 18 support - Update failing test suites
-
src/drafts/MarkdownEditor/MarkdownEditor.test.tsx -
src/hooks/__tests__/useMedia.test.tsx -
src/__tests__/ThemeProvider.test.tsx
-
- Add job to CI workflow for testing against React 17
- Storybook Update deps for React 18 compatability #2674
- Types refactor(project): update TypeScript definitions for React 18 #2664
- [Update types to interop between 17 and 18 and ease migration]
- [React 18] ButtonClose type declarations are invalid #2621
- [React 18] Ref type from
useDetailsis not compatible with Details #2620 -
@primer/react/lib-esm/deprecated/DropdownMenu/DropdownButton.d.tstype does not satisfy constraint -
@primer/react/lib-esm/deprecated/SelectMenu/SelectMenu.d.tstype does not satisfy constraint
- Enhancements
- SSR
- Update components from
useSSRSafeIdto a customuseId()that usesReact.useId()but with a fallback in React 17 feat(project): update to React 18 for development #2675
- Update components from
- Suspense support
- SSR
Metadata
Metadata
Assignees
Labels
Stalereact🚧 blockedSomeone or something is preventing this from moving forwardSomeone or something is preventing this from moving forward