Upgrade Next.js to v16 and update dependencies#241
Merged
mirhamasala merged 4 commits intomainfrom Feb 16, 2026
Merged
Conversation
Updated the dependabot.yml file to remove the ignored dependencies for "next" and "@types/node", streamlining the dependency update process.
Updated various dependencies in package.json and package-lock.json, including upgrading "next" to version 16.1.6 and "@filecoin-foundation/ui-filecoin" to version 0.7.5. Modified TypeScript configuration to change JSX setting from "preserve" to "react-jsx" and included additional type definitions for better development support.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
There was a problem hiding this comment.
Pull request overview
This PR upgrades the project’s Next.js framework version (15 → 16) and aligns related tooling/configuration (React, TypeScript, scripts, dependency automation) to keep the app compatible with the new major release.
Changes:
- Upgraded
nextto16.1.6and updated React/React DOM and their type packages. - Updated Next.js scripts to force Webpack and adjusted TypeScript JSX/
includesettings for Next-generated types. - Simplified Dependabot config by removing ignored dependencies and refreshed the lockfile.
Reviewed changes
Copilot reviewed 2 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
tsconfig.json |
Updates JSX mode and expands TS include globs to cover additional Next-generated types. |
package.json |
Bumps Next/React versions and modifies build/dev scripts for Webpack compatibility. |
package-lock.json |
Updates resolved dependency graph for the Next 16 / dependency bumps. |
.github/dependabot.yml |
Removes previously ignored dependencies so Dependabot will update them again. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Initialize setUIConfig directly in SiteLayout and Providers components to eliminate the separate config-initializer file.
Collaborator
Author
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 8 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
📝 Description
This PR upgrades the project from Next.js 15 to Next.js 16, along with related dependency updates and TypeScript configuration improvements to ensure compatibility with the latest framework version.
🛠️ Key Changes
🔖 Resources
Note
Next 16 introduces Turbopack as the default bundler for Next.js. While some webpack plugins are compatible with Turbopack,
frontmatter-markdown-loadermay not be. For now, we're opting to use webpack as a bundler using the--webpackflag. We'll look into transitioning to Turbopack in a following PR.Note
Dual Initialization Required
Unlike
filecoin-site, this app requiressetUIConfigto be called in two places:Why both are needed:
The
Providerscomponent is marked with'use client'because it usesuseStatefor theQueryClient. This creates a client bundle boundary where the server and client bundles are separate.Why we can't consolidate:
'use client'(due touseState), increasing the client bundle sizefilecoin-sitedoesn't have this issue because it doesn't use a separate client Providers component with state