Upgrade to Next.js 16 and update all dependencies#41
Merged
chriskehayias merged 1 commit intomainfrom Feb 20, 2026
Merged
Conversation
- Upgrade Next.js from 15.5.12 to 16.1.6 (Turbopack now default bundler) - Rename middleware.ts to proxy.ts (Next.js 16 breaking change) - Replace `next lint` with `eslint .` (next lint removed in v16) - Modernize eslint.config.mjs to native flat config (remove FlatCompat) - Update next-auth from 5.0.0-beta.28 to 5.0.0-beta.30 - Update openai from 5.5.0 to 6.22.0 - Update zod from 3.25.32 to 4.3.6 - Update dotenv from 16.5.0 to 17.3.1 - Update TypeScript to 5.9.3, Tailwind CSS to 4.2.0 - Update all @radix-ui packages to latest - Remove @eslint/eslintrc (no longer needed without FlatCompat) - Fix prefer-const lint issue in scripts/setup.ts Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Jonny-TMC
referenced
this pull request
in The-Moody-Church/mp-charts
Feb 20, 2026
#35) Cherry-picked applicable changes from upstream MinistryPlatform-Community/MPNext: From PR #41 (Next.js 16 upgrade): - Rename middleware.ts → proxy.ts (Next.js 16 deprecation) - Update exported function middleware() → proxy() - Remove unused @eslint/eslintrc from devDependencies From PR #42 (docs + deps): - Upgrade @inquirer/prompts ^7 → ^8.2.1 - Update components.md layout import patterns for barrel exports PR #39 (sanitizeTypeName fix) was already incorporated. Deferred: major dep bumps from PR #41 (openai v6, zod v4, dotenv v17). All 150 tests pass, lint clean. https://claude.ai/code/session_015o8wYQZmTdBkBrkBezRqqP
Jonny-TMC
referenced
this pull request
in The-Moody-Church/mp-charts
Feb 20, 2026
Upgrades three major dependencies deferred from upstream PR #41. Zod v4: Changed z.string().uuid() → z.guid() in generator and 10 generated schemas to avoid strict RFC 4122 validation breaking MP GUIDs. Updated helper.ts type imports. Kept deprecated-but-working v3 chain forms (email, url, datetime) for .max() chaining compat. openai v6: Not imported anywhere in codebase (phantom dep), safe bump. dotenv v17: Only used via dotenv.config() in generator, API compatible. 150 tests pass, build succeeds. https://claude.ai/code/session_015o8wYQZmTdBkBrkBezRqqP
Jonny-TMC
referenced
this pull request
in The-Moody-Church/mp-charts
Feb 20, 2026
Completes the upstream sync by bumping 24 remaining dependency pins to match upstream targets from PRs #38 and #41. Includes 2 major dev dep bumps (@types/node ^22→^25.3, jsdom ^27→^28) and adds Zod v4 validation note to CLAUDE.md Architecture section. https://claude.ai/code/session_015o8wYQZmTdBkBrkBezRqqP
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
middleware.ts→proxy.tsand export functionmiddleware→proxy(Next.js 16 breaking change)next lintwitheslint .(next lintremoved in v16) and modernizeeslint.config.mjsto native flat configKey Changes
Test plan
npm run build— production build passes with Turbopacknpm run lint— ESLint passes with new flat confignpm run test:run— all 150 tests pass across 6 test filesnpm run dev— verify dev server starts cleanly🤖 Generated with Claude Code