Fix: Resolve localStorage SSR errors for Node.js v22/v25 compatibility #30
+2,433
−141
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
localStorage.getItem is not a functionerrors in Next.js 15Problem
Next.js 15 with Node.js v25 causes SSR errors when accessing localStorage:
localStorage.getItem is not a function--localstorage-file was provided without a valid pathThis occurs because Node.js v25 provides a broken localStorage polyfill during server-side rendering.
Solution
Created
lib/utils/storage.ts- Safe localStorage wrapper that:typeof window !== 'undefined'window.localStorageexists and has correct function typesnullsafely when localStorage is unavailableUpdated all localStorage calls in:
app/page.tsx- Main page componentapp/fire-enrich/page.tsx- Fire Enrich pageapp/fire-enrich/enrichment-table.tsx- Enrichment table componentAdded CLAUDE.md - Complete codebase documentation including:
Node.js Compatibility
Test Plan
Breaking Changes
None - this is a bug fix that improves SSR compatibility.
Additional Notes
The
package-lock.jsonwas updated after switching to Node.js v22, which is the recommended version for Next.js 15.🤖 Generated with Claude Code