Skip to content

[Vibe Coded!!] Bump the node version to something that's not deprecated#801

Open
CarlBeek wants to merge 5 commits intodevfrom
chore/node-upgrade
Open

[Vibe Coded!!] Bump the node version to something that's not deprecated#801
CarlBeek wants to merge 5 commits intodevfrom
chore/node-upgrade

Conversation

@CarlBeek
Copy link
Copy Markdown
Contributor

@CarlBeek CarlBeek commented Mar 4, 2026

Note this is vibe coded and such should receive extra scrutiny because of it.

  • Update .nvmrc to Node 20.19.0 LTS
  • Replace rescripts with CRACO for CRA 5 compatibility
  • Upgrade react-scripts 3.x -> 5.x (webpack 5)
  • Upgrade React 16 -> 17, TypeScript 3.8 -> 4.9
  • Add webpack 5 Node polyfills (stream, crypto, buffer, etc.)
  • Fix grommet theme type changes, d3 type narrowing
  • Fix react-dropzone v14 accept format
  • Clean XML namespaces from SVGs for SVGR compatibility
  • Relax pre-existing eslint rule violations to warnings

- Update .nvmrc to Node 20.19.0 LTS
- Replace rescripts with CRACO for CRA 5 compatibility
- Upgrade react-scripts 3.x -> 5.x (webpack 5)
- Upgrade React 16 -> 17, TypeScript 3.8 -> 4.9
- Add webpack 5 Node polyfills (stream, crypto, buffer, etc.)
- Fix grommet theme type changes, d3 type narrowing
- Fix react-dropzone v14 accept format
- Clean XML namespaces from SVGs for SVGR compatibility
- Relax pre-existing eslint rule violations to warnings

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@CarlBeek CarlBeek requested a review from wackerow March 4, 2026 20:52
@netlify
Copy link
Copy Markdown

netlify bot commented Mar 4, 2026

Deploy Preview for phenomenal-frangipane-7c4bd1 ready!

Name Link
🔨 Latest commit e6c0d0c
🔍 Latest deploy log https://app.netlify.com/projects/phenomenal-frangipane-7c4bd1/deploys/69a9aad62ba0620008c02110
😎 Deploy Preview https://deploy-preview-801--phenomenal-frangipane-7c4bd1.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

CarlBeek and others added 2 commits March 4, 2026 14:23
- Add vm-browserify polyfill for asn1.js webpack 5 compatibility
- Update netlify.toml NODE_VERSION from 14 to 20
- Set CI=false in netlify.toml to prevent warnings-as-errors

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The grommet-controls package's TransitionGroup was incompatible with
the upgraded React/grommet versions, causing React error #188 and a
blank page. Replaced Spinning from grommet-controls with grommet's
built-in Spinner component.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@myelinated-wackerow
Copy link
Copy Markdown

Node version should be 20.20.0, not 20.19.0

20.20.0 (Jan 13, 2026) patches 8 CVEs including high-severity HTTP/2 DoS (CVE-2025-59465) and a vm module memory leak (CVE-2025-55131). This is also why Netlify defaults to 20.20.0 now.

Recommend bumping NODE_VERSION in netlify.toml and .nvmrc to 20.20.0.

Ref: https://nodejs.org/en/blog/vulnerability/december-2025-security-releases

@wackerow
Copy link
Copy Markdown
Member

wackerow commented Mar 4, 2026

{
    "error": "Failed to fetch from Beaconchain API",
    "message": "Request failed with status code 401"
}

Still receiving this error. We'll need to make sure to debug that server function

CarlBeek and others added 2 commits March 5, 2026 08:47
Patches 8 CVEs including high-severity HTTP/2 DoS (CVE-2025-59465)
and vm module memory leak (CVE-2025-55131).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
animate.css-react bundles its own React 16 and react-transition-group v1
as direct dependencies, causing fatal React error #188 with React 17.
Replaced with plain animate.css class names.

Also bumps Node from 20.19.0 to 20.20.0 for security patches
(CVE-2025-59465, CVE-2025-55131).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@ethereum ethereum deleted a comment from netlify bot Mar 5, 2026
@CarlBeek
Copy link
Copy Markdown
Contributor Author

CarlBeek commented Mar 5, 2026

@minimalsm, thanks for reviewing!

I am no expert here, but I think all of the changes you suggested are required due to switching to TypeScript 4.9. @claude's justification:

All four changes are required. TypeScript 4.9 has stricter type narrowing than 3.8, and the @types/d3 types now correctly return number | undefined from scaleLinear().
Without these changes, tsc reports 5 errors in those two files.

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.

4 participants