Bring the dependency tree up to date in stages, verifying tests and build at each step. Already done in a recent batch: TypeScript 6, gts 7, Jest 30 / ts-jest 29, ESLint 9 (flat config), @testing-library 6/16. Remaining candidates: - [ ] `@types/chrome` (0.0.191 → 0.1.40, ~3 years stale) - [ ] `husky` 8 → 9, `lint-staged` 12 → 16 - [ ] `webpack-cli` 4 → 7, `css-loader` 6 → 7, `style-loader` 3 → 4 - [ ] `@fortawesome/*` 6 → 7, `chroma-js` 2 → 3 - [ ] `react` 18 → 19, `styled-components` 5 → 6, `react-router-dom` 6 → 7 - [ ] Drop unused `jsx-runtime` package (verify first) - [ ] Reconsider the `@types/react` resolution pin once on React 19
Bring the dependency tree up to date in stages, verifying tests and build at each step.
Already done in a recent batch: TypeScript 6, gts 7, Jest 30 / ts-jest 29, ESLint 9 (flat config), @testing-library 6/16.
Remaining candidates:
@types/chrome(0.0.191 → 0.1.40, ~3 years stale)husky8 → 9,lint-staged12 → 16webpack-cli4 → 7,css-loader6 → 7,style-loader3 → 4@fortawesome/*6 → 7,chroma-js2 → 3react18 → 19,styled-components5 → 6,react-router-dom6 → 7jsx-runtimepackage (verify first)@types/reactresolution pin once on React 19