Skip to content

Upgrade dependencies, Babel 8 and Node 24 (v5.7.0) - #652

Merged
novykh merged 8 commits into
masterfrom
chore/upgrade-dependencies
Nov 11, 2026
Merged

novykh merged 8 commits into
masterfrom
chore/upgrade-dependencies

Conversation

@novykh

@novykh novykh commented Nov 11, 2026 •

Copy link
Copy Markdown
Member

Summary

Brings every dependency to its latest release, one step per commit:

  • Patch-level and minor-level upgrades.
  • ESLint 10 with @eslint-react.
  • @testing-library/jest-dom 7, dropping the direct jsdom dependency.
  • svgo-loader 5, webpack-cli 7 and sass-loader 17.
  • Babel 8 with the automatic JSX runtime in production mode. The 263 React imports that only served JSX are removed, and targets come from a browserslist entry.
  • Node 24.22.2 in .nvmrc and CI.
  • Version 5.7.0.

cloud-frontend picks this release up in its own dependency upgrade.

Verification

On Node 24.22.2:

  • yarn install --frozen-lockfile
  • yarn test: 172 suites, 1,942 tests passed
  • yarn build (UMD, CJS and ES builds)
  • cloud-frontend's full test suite and production bundle, run against this build

The Storybook build was checked with Babel 8 on Node 22.22.0.

Bump storybook webpack5 babel compiler, testing-library dom/react/user-event,
babel-plugin-module-resolver and rimraf to their latest patches.

Let cp-cloud take the cloud-frontend checkout from CLOUD_DIR, defaulting to
../cloud-frontend, so builds can be copied into a worktree.
Bump prismic client, react-virtual, axios, playwright, storybook,
babel-loader, babel-plugin-styled-components, eslint-plugin-react-hooks,
globals, jest, jest-styled-components, lodash, prettier, react and webpack
to their latest minors. styled-components stays pinned.
eslint-plugin-react does not support ESLint 10, so replace it with
@eslint-react/eslint-plugin's recommended preset, with exhaustive-deps off.
The plugin is ESM-only, so the config uses import syntax; it requires
typescript as a peer.

The library still compiles JSX with the classic runtime, which needs
React in scope, so no-unused-vars ignores React.

Remove the unused eslint-plugin-react-hooks and @babel/eslint-parser.
- @babel/cli, core, preset-env, preset-react and plugin-transform-runtime 8;
  drop the unused plugin-transform-modules-umd.
- preset-react uses the automatic runtime in production mode, so the 263
  React imports that only served JSX are removed and the lint exception for
  an unused React import goes away.
- preset-env no longer runs in loose mode or with plugin-transform-spread;
  targets come from a browserslist entry ("> 0.25%, not dead").
- jest resolves node_modules relatively so its Babel 7 code frame no longer
  loads the hoisted ESM-only Babel 8 helpers.
Point .nvmrc and the test workflow at Node 24, the current LTS line.
@novykh
novykh requested a review from ktsaou November 11, 2026 14:17
@novykh
novykh merged commit ee7b40e into master Nov 11, 2026
2 checks passed
@novykh
novykh deleted the chore/upgrade-dependencies branch November 11, 2026 14:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants