Skip to content

ci: test for node nightly compat + dependency fixes#8374

Open
roshan-bitgo wants to merge 5 commits intomasterfrom
fix/VL-5111-html-webpack-plugin-cooldown
Open

ci: test for node nightly compat + dependency fixes#8374
roshan-bitgo wants to merge 5 commits intomasterfrom
fix/VL-5111-html-webpack-plugin-cooldown

Conversation

@roshan-bitgo
Copy link
Copy Markdown

@roshan-bitgo roshan-bitgo commented Mar 29, 2026

Summary

  • Adds a new npm-install-compatibility CI job that runs npm install against Node.js v25.8.2 (latest stable) and v26-nightly, to catch peer dep and resolution issues before they reach master
  • Upgrades modules/web-demo from React 17 → 18 types, react-json-viewreact-json-view-lite, @cypress/react v8 → v9
  • Adds CSS loader rules in web-demo webpack config for .css imports introduced by react-json-view-lite
  • Adds npm overrides for handlebars, path-to-regexp (security fixes), and React 18 types
  • Fixes @types/react/@types/react-dom resolution: root resolutions block still pinned both to 17.x; yarn deduped the ^18.0.0 web-demo devDep into the 17.x lockfile entry, causing npm install to ERESOLVE. Bumps resolutions pins to ^18.0.0 and splits the lockfile entries so ^18.0.0 correctly resolves to 18.3.7 / 18.3.28.
  • Fixes html-webpack-plugin-5 cooldown check: the yarn alias html-webpack-plugin-5@npm:html-webpack-plugin@^5 was resolving to 5.6.6, which has malformed npm registry metadata that causes the dependency-age-check tool to fail with a JSON parse error. Pins the alias to 5.6.4 in both resolutions and lockfile.

Linear: VL-5111

louib and others added 3 commits March 29, 2026 01:30
react-json-view-lite imports a plain .css file which webpack
could not process as only .scss was handled. Add css-loader
rules to both dev and prod webpack configs.

TICKET: VL-5111
The yarn alias html-webpack-plugin-5@npm:html-webpack-plugin@^5
resolved to 5.6.6 in the lockfile. The dependency-age-check tool
looks up html-webpack-plugin-5@5.6.6 on npm, which returns unusual
registry metadata that the tool cannot parse, causing the cooldown
CI job to fail deterministically.

Adds html-webpack-plugin-5 to resolutions to prevent future
re-upgrades, and pins the lockfile entry to 5.6.4 (matching
the existing html-webpack-plugin pin added for the same reason).

TICKET: VL-5111
@linear
Copy link
Copy Markdown

linear bot commented Mar 29, 2026

The root resolutions block still pinned @types/react and
@types/react-dom to 17.x. Yarn deduped both the 17.x pin and
the new ^18.0.0 devDep from web-demo into a single lockfile
entry resolving to 17.0.16. npm then found 17.0.16 in the
tree while web-demo declared ^18.0.0, causing ERESOLVE on
the new npm-install-compatibility CI job.

Bumps the resolutions pins to ^18.0.0 and splits the yarn
lockfile entries so ^18.0.0 resolves to 18.3.7 / 18.3.28.

TICKET: VL-5111
@roshan-bitgo roshan-bitgo changed the title fix: pin html-webpack-plugin-5 alias to 5.6.4 in lockfile ci: test for node nightly compat + dependency fixes Mar 29, 2026
In @types/react@18, FunctionComponent no longer implicitly
includes children in props. Explicitly type Layout with
React.PropsWithChildren to restore the previous behavior.

TICKET: VL-5111
@roshan-bitgo roshan-bitgo marked this pull request as ready for review March 29, 2026 07:02
@roshan-bitgo roshan-bitgo requested review from a team as code owners March 29, 2026 07:02
Copy link
Copy Markdown

@bhargavirao24 bhargavirao24 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am approving these changes. They are code-red fixes and take precedence over dependency-review concerns

@mmcshinsky-bitgo mmcshinsky-bitgo self-assigned this Mar 30, 2026
@sachushaji
Copy link
Copy Markdown
Contributor

@claude

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.

5 participants