Skip to content

chore: upgrade plugins to next 16#111

Open
jhb-dev wants to merge 5 commits intomainfrom
chore/nextjs-16-upgrade
Open

chore: upgrade plugins to next 16#111
jhb-dev wants to merge 5 commits intomainfrom
chore/nextjs-16-upgrade

Conversation

@jhb-dev
Copy link
Copy Markdown
Contributor

@jhb-dev jhb-dev commented Apr 16, 2026

Summary

  • Bumps every plugin + dev app to Next.js 16 and broadens the peer dep range to ^15.0.0 || ^16.0.0.
  • Migrates each dev app's next.config.mjsnext.config.ts and removes unused nodemon.json / plugin.spec.ts leftovers.
  • Switches dev app tsconfig.json to module: NodeNext / moduleResolution: NodeNext, which is required for Turbopack (the Next 16 default) to resolve .js ESM specifiers back to .ts/.tsx sources. With Bundler resolution, Turbopack fails on imports like export { SearchBar } from '../components/SearchBar/SearchBar.js' (tracked upstream in Turbopack: support importing .ts/.tsx via .js extension (parity with webpack resolve.extensionAlias) vercel/next.js#82945).
  • Picks up Next 16's mandatory jsx: preservejsx: react-jsx and new .next/dev/types tsconfig additions.
  • Restructures all dev apps to match the official Payload plugin template pattern: removes dev app package.json files and pnpm workspace entries, moves dev dependencies to the plugin root devDependencies, rewrites dev/tsconfig.json to extend the root config with plugin alias paths, and adds .js extensions to all relative imports for NodeNext resolution. This eliminates duplicate @payloadcms/ui instances that caused useConfig() / useField() context errors at runtime.

Test plan

  • pnpm test:all — passes across all plugins (chat-agent 269, pages localized 64×2, unlocalized 12×2, multi-tenant 7×2, vercel-deployments 23, plus admin-search/alt-text/astro/content-translator Node strip-types suites)
  • pnpm lint:all — 0 errors (warnings only, pre-existing)
  • pnpm format:all — clean
  • Started every dev app under Turbopack and curled /admin: admin-search, alt-text/dev, alt-text/dev_unlocalized, chat-agent, cloudinary, content-translator, geocoding, pages/dev, pages/dev_multi_tenant, pages/dev_unlocalized, vercel-deployments → all HTTP 200

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