Skip to content

upgrade: next.js 16, react 19, axios 1, jest 30, typescript 5#186

Open
karldreher wants to merge 2 commits intomasterfrom
20260410-145629
Open

upgrade: next.js 16, react 19, axios 1, jest 30, typescript 5#186
karldreher wants to merge 2 commits intomasterfrom
20260410-145629

Conversation

@karldreher
Copy link
Copy Markdown
Contributor

Summary

Framework and dependency upgrades across the stack to support latest versions and fix deployment issues from PR #185.

  • Next.js: 11.1.2 → 16.2.3 (uses webpack; Turbopack dynamic requires not yet supported)
  • React: 17.0.2 → 19.x; removed React.VFC (use React.FC)
  • Axios: 0.23.0 → 1.x
  • Jest: 29.7.0 → 30.x; TypeScript 4.4.2 → 5.x (per Next.js 16 peer deps)
  • esbuild: 0.13.4 → 0.28.x
  • javascript-time-ago: pinned to ~2.3.9 (newer versions are ESM-only, break sync require())

Key fixes

  • React 19 in Node context: Added process.exit(0) to script/manifest.js (React 19 leaves open event loop handles)
  • Async webpack modules: Split getColumnDefinition into sync (for Jest) and async (for Next.js webpack context)
  • Next.js 16 Turbopack: Explicit --webpack flag in build script (dynamic __dirname requires not supported yet)

Test plan

  • All 254 column unit tests pass
  • All 88 pages generate (including all /preview/[slug] routes)
  • TypeScript compilation succeeds (tsconfig.json auto-updated by Next.js)
  • Full build completes without errors: npm run build
  • Public output structure unchanged (backward compatible with consumers)

🤖 Generated with Claude Code

updates to support latest framework versions. key changes:
- next.js 11→16: uses webpack (turbopack dynamic requires not yet supported)
- react 17→19: react.vfc removed, use react.fc
- react 19 in node context leaves open handles; add process.exit(0) to manifest.js
- axios 0.23→1.x for latest features and bug fixes
- jest 29→30, typescript 4→5 per next.js 16 peer dependencies
- esbuild 0.13→0.28 for build performance
- javascript-time-ago pinned to ~2.3.9 (newer versions are esm-only, break sync require)
- columns.ts: dual api (sync getColumnDefinition for jest, async getColumnDefinitionAsync for next.js webpack)
- react.vfc→react.fc in repl.tsx
- next.config.js: explicit --webpack flag to avoid turbopack dynamic require issues

all 254 tests pass, all 88 pages generate, next.js build succeeds.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel bot commented Apr 11, 2026

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

Project Deployment Actions Updated (UTC)
glide-code-columns Ready Ready Preview, Comment Apr 11, 2026 0:33am

Request Review

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

1 participant