Skip to content

chore(deps): upgrade major npm packages (Next 16, recharts 3, etc.) - #3

Open
tembo[bot] wants to merge 1 commit into
mainfrom
tembo/upgrade-major-npm-packages
Open

chore(deps): upgrade major npm packages (Next 16, recharts 3, etc.)#3
tembo[bot] wants to merge 1 commit into
mainfrom
tembo/upgrade-major-npm-packages

Conversation

@tembo

@tembo tembo Bot commented Jun 18, 2026

Copy link
Copy Markdown

Summary

Upgrades the major npm package versions in the interactions repo and fixes the breaking changes each one introduced. Build, type-check, and lint all pass, and the recharts-driven analytics chart was verified rendering in a real browser.

Major version bumps

Package From To
next 15.5.9 16.2.9
eslint-config-next 15.5.4 16.2.9
recharts 2.15.4 3.8.1
@vercel/analytics 1.5.0 2.0.1
lucide-react 0.503.0 1.21.0
sugar-high 0.9.3 1.2.1
tailwind-merge 2.6.0 3.6.0
@types/node 20.19.20 25.9.3
typescript 5.9.3 6.0.3

Breaking changes handled

  • Next 16 removed the next lint command. The lint script now calls eslint . directly, and the legacy .eslintrc.json was migrated to a flat eslint.config.mjs (required by the modern ESLint pipeline) using eslint-config-next's native flat config export.
  • Next 16 auto-applied two mandatory tsconfig.json changes during build (jsx: preservereact-jsx, and adding .next/dev/types). Also removed the now-deprecated downlevelIteration flag (TypeScript 6 errors on it; it was a no-op at the project's ES2017 target).
  • recharts 3 changed the custom-tooltip/legend content prop types. Updated components/ui/chart.tsx to the recharts-3 typing (DefaultTooltipContentProps / DefaultLegendContentProps, TooltipValueType), used a stable list key, and guarded the now-optional item.payload. The project's custom color tokens and styling were preserved.
  • eslint-config-next 16 ships eslint-plugin-react-hooks v7 with React Compiler-aware rules. Fixed the newly-flagged issues:
    • shortcut-button/components/button.tsx: hoisted the handleClick useCallback above useHotkeys (was used before declaration) and added it to the hotkey deps.
    • content-timeline/page.tsx: replaced derived activeCheckpoint state + effect (setState in effect) with a useMemo computed during render.

Notably not upgraded

  • ESLint stays on 9.x (^9.39.4). ESLint 10 is not yet viable: the plugins bundled by eslint-config-next (eslint-plugin-react, -import, -jsx-a11y) cap their peer range at ESLint 9, and ESLint 10 crashes eslint-plugin-react at runtime (contextOrFilename.getFilename is not a function). Bumped to the latest 9.x instead.

Verification

  • pnpm build — passes (all 14 routes prerender)
  • pnpm exec tsc --noEmit — passes
  • pnpm lint — passes, 0 errors (2 pre-existing exhaustive-deps warnings left untouched as they predate this change and are behavior-sensitive)
  • Ran the production server and confirmed the recharts 3 analytics chart renders (182 bars + axis labels) and pages return 200.

Note for reviewer

@types/node was bumped to the latest major (25) per the "upgrade majors" request, while the sandbox runs Node 22. This is harmless here but you may prefer to pin it to ^22 to match the runtime.


Want tembo to make any changes? Add a comment with @tembo and i'll get back to work!

View on Tembo View Agent Settings

Co-authored-by: Alan <45767683+stylessh@users.noreply.github.com>
@tembo tembo Bot added the tembo Pull request created by Tembo label Jun 18, 2026
@vercel

vercel Bot commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
interactions-matter Ready Ready Preview, Comment Jun 18, 2026 5:10pm

@tembo

tembo Bot commented Jun 18, 2026

Copy link
Copy Markdown
Author

Requesting review from @stylessh who has experience with the following files modified in this PR:

  • package.json
  • tsconfig.json
  • .eslintrc.json
  • pnpm-lock.yaml
  • components/ui/chart.tsx
  • app/(demos)/content-timeline/page.tsx
  • app/(demos)/shortcut-button/components/button.tsx

@stylessh stylessh left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

lgtm

Copy link
Copy Markdown
Owner

i post a new comment from trylle

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tembo Pull request created by Tembo

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant