Review Dependencies and ensure they are up to date
From Slack
There are a bunch of peer dependencies that are also not current (emotion, framer-motion, downshift) that are explicitly tied to older versions. Fortunately we don't already use those packages so we aren't in a position of needing to downgrade them, but I could see a situation where we'd be in a dependency bind if we did need them at the latest version for some reason or another.
From this ticket we will have a plan for how to upgrade our dependencies. We will create a list of what needs to be updated and their dependencies and will create new tickets to address separately when possible.
we have 84 major (Potentially breaking) dependencies 36 minor and patch updates #1484 should cover the majority of minor and patch updates we still have the major ones left to do
| Dependency Updates | Current Version | Updated Version | Type |
|---|---|---|---|
| @commitlint/cli | ^11.0.0 | ^19.5.0 | Major (Potentially breaking) |
| @commitlint/config-conventional | ^11.0.0 | ^19.5.0 | Major (Potentially breaking) |
| @commitlint/is-ignored | ^12.1.4 | ^19.5.0 | Major (Potentially breaking) |
| @commitlint/load | ^12.1.4 | ^19.5.0 | Major (Potentially breaking) |
| @commitlint/parse | ^12.1.4 | ^19.5.0 | Major (Potentially breaking) |
| @commitlint/rules | ^12.1.4 | ^19.5.0 | Major (Potentially breaking) |
| @commitlint/top-level | ^12.1.4 | ^19.5.0 | Major (Potentially breaking) |
| @storybook/addon-a11y | ^6.5.16 | ^8.3.5 | Major (Potentially breaking) |
| @storybook/addon-actions | ^6.5.16 | ^8.3.5 | Major (Potentially breaking) |
| @storybook/addon-controls | ^6.5.16 | ^8.3.5 | Major (Potentially breaking) |
| @storybook/addon-docs | ^6.5.16 | ^8.3.5 | Major (Potentially breaking) |
| @storybook/addon-essentials | ^6.5.16 | ^8.3.5 | Major (Potentially breaking) |
| @storybook/addon-measure | ^6.5.16 | ^8.3.5 | Major (Potentially breaking) |
| @storybook/addon-toolbars | ^6.5.16 | ^8.3.5 | Major (Potentially breaking) |
| @storybook/addons | ^6.5.16 | ^7.6.17 | Major (Potentially breaking) |
| @storybook/react | ^6.5.16 | ^8.3.5 | Major (Potentially breaking) |
| @testing-library/dom | ^7.31.2 | ^10.4.0 | Major (Potentially breaking) |
| @testing-library/jest-dom | ^5.17.0 | ^6.5.0 | Major (Potentially breaking) |
| @testing-library/react | ^11.2.7 | ^16.0.1 | Major (Potentially breaking) |
| @testing-library/react-hooks | ^7.0.2 | ^8.0.1 | Major (Potentially breaking) |
| @testing-library/user-event | ^13.5.0 | ^14.5.2 | Major (Potentially breaking) |
| @types/jest | ^26.0.24 | ^29.5.13 | Major (Potentially breaking) |
| @types/node | ^12.20.55 | ^22.7.5 | Major (Potentially breaking) |
| @types/react | ^16.14.62 | ^18.3.11 | Major (Potentially breaking) |
| @types/uuid | ^8.3.4 | ^10.0.0 | Major (Potentially breaking) |
| @typescript-eslint/eslint-plugin | ^4.33.0 | ^8.8.1 | Major (Potentially breaking) |
| @typescript-eslint/parser | ^4.33.0 | ^8.8.1 | Major (Potentially breaking) |
| babel-jest | ^26.6.3 | ^29.7.0 | Major (Potentially breaking) |
| conventional-changelog-cli | ^2.2.2 | ^5.0.0 | Major (Potentially breaking) |
| conventional-changelog-conventionalcommits | ^4.6.3 | ^8.0.0 | Major (Potentially breaking) |
| cspell | ^4.2.8 | ^8.14.4 | Major (Potentially breaking) |
| eslint | ^7.32.0 | ^9.12.0 | Major (Potentially breaking) |
| eslint-config-prettier | ^7.2.0 | ^9.1.0 | Major (Potentially breaking) |
| eslint-plugin-jest | ^24.7.0 | ^28.8.3 | Major (Potentially breaking) |
| eslint-plugin-unicorn | ^22.0.0 | ^56.0.0 | Major (Potentially breaking) |
| husky | ^6.0.0 | ^9.1.6 | Major (Potentially breaking) |
| jest | ^26.6.3 | ^29.7.0 | Major (Potentially breaking) |
| jest-axe | ^5.0.1 | ^9.0.0 | Major (Potentially breaking) |
| jest-cli | ^26.6.3 | ^29.7.0 | Major (Potentially breaking) |
| jest-extended | ^0.11.5 | ^4.0.2 | Major (Potentially breaking) |
| jest-watch-typeahead | ^0.6.5 | ^2.2.2 | Major (Potentially breaking) |
| lint-staged | ^10.5.4 | ^15.2.10 | Major (Potentially breaking) |
| prettier | ^2.8.8 | ^3.3.3 | Major (Potentially breaking) |
| react | ^17.0.2 | ^18.3.1 | Major (Potentially breaking) |
| react-dom | ^17.0.2 | ^18.3.1 | Major (Potentially breaking) |
| react-test-renderer | ^17.0.2 | ^18.3.1 | Major (Potentially breaking) |
| ts-node | ^9.1.1 | ^10.9.2 | Major (Potentially breaking) |
| typescript | ^3.9.7 | ^5.6.2 | Major (Potentially breaking) |
| @changesets/changelog-github | ^0.4.0 | ^0.5.0 | Major version zero (Anything may change) |
| @manypkg/cli | ^0.18.0 | ^0.21.4 | Major version zero (Anything may change) |
| microbundle | ^0.13.3 | ^0.15.1 | Major version zero (Anything may change) |
| node-plop | ^0.26.2 | ^0.32.0 | Major version zero (Anything may change) |
| regenerator-runtime | ^0.13.7 | ^0.14.1 | Major version zero (Anything may change) |
| shelljs | ^0.8.4 | ^0.8.5 | Major version zero (Anything may change) |
| typedoc | ^0.19.2 | ^0.26.8 |
closing this issue in favor of the issues below. Dependency Upgrade Plan
| Phase | Task | GitHub Issue # |
|---|---|---|
| Phase 1: Prep & Low-Risk Minor/Patch Updates | Upgrade minor/patch dependencies | #1643 |
| Phase 2: Babel, ESLint & TypeScript (Pre-React) | Upgrade Babel dependencies | #1644 |
| Phase 2: Babel, ESLint & TypeScript (Pre-React) | Upgrade ESLint & TypeScript dependencies | #1645 |
| Phase 2: Babel, ESLint & TypeScript (Pre-React) | Upgrade commitlint, changesets, and husky | #1646 |
| Phase 3: React 17 → React 18 | Upgrade React to version 18 | #1647 |
| Phase 4: Testing Infrastructure (Post-React 18) | Upgrade Jest & Testing Library | #1648 |
| Phase 5: Storybook & UI Libraries | Upgrade Storybook to latest version | #1649 |
| Phase 6: Gatsby & Major Bundlers | Upgrade Gatsby to version 5 | #1650 |
Plan looks good.