* [ffcc7317] fix(tests): tolerate tagless checkouts in release-readiness smoke test (#362) (#363) Co-authored-by: Backend Developer 1 <be-dev-1@roboco.tech> * docs: reflow panel/UPGRADE.md — no hard-wrapped prose --------- Co-authored-by: Backend Developer 1 <be-dev-1@roboco.tech> Co-authored-by: Renn F <rennf93@users.noreply.github.com>
2.9 KiB
Panel Upgrade Guide
Next.js Version Bumps
The RoboCo control panel runs on Next.js 16 with TypeScript and Tailwind CSS. Upgrading Next.js requires careful attention to dependency alignment.
Critical: eslint-config-next must track the same version as next
When you bump the next package, always update eslint-config-next to match. This package is Next.js's official ESLint configuration and must stay in sync with the version of Next.js itself.
Example: if you upgrade next from 16.1.1 to 16.2.6, also upgrade eslint-config-next from 16.1.1 to 16.2.6.
Upgrade Procedure
-
Update package.json with the new version(s):
{ "dependencies": { "next": "16.2.6" }, "devDependencies": { "eslint-config-next": "16.2.6" } } -
Regenerate the lockfile without deleting node_modules:
cd panel pnpm install
This updates pnpm-lock.yaml while preserving node_modules, keeping the resolution deterministic.
- Run the quality gate:
cd panel pnpm lint pnpm typecheck pnpm test pnpm build
All must pass with no errors before committing.
- Commit the changes:
git add panel/package.json panel/pnpm-lock.yaml git commit -m "chore(panel): align dependencies to Next.js X.Y.Z"
What Changed in 16.1.1 → 16.2.6
This bump included updates to:
@babel/parser,@babel/types,@babel/template,@babel/traverse— minor version improvements@babel/generator,@babel/helper-module-imports,@babel/helper-validator-identifier— updated to handle edge casestinyglobby— dependency used by ESLint, upgraded from 0.2.15 to 0.2.17semver— dev tooling dependency updated- Removal of stale
@babel/*and@emnapi/*package variants (transitive deduplication)
No breaking changes to panel code were required — the bump was purely dependency-graph alignment. If a future Next.js bump does require code changes (e.g., API deprecations), those will be noted by TypeScript or runtime errors during testing.
Troubleshooting
- If
pnpm installfails: Check that you have write permissions inpanel/and that yourpnpmversion is up to date (pnpm -v). - If lint/typecheck/test fail after the bump: Read the error messages carefully. They may point to:
- Removed or deprecated ESLint rules (consult the Next.js changelog for your target version)
- Type incompatibilities (update any TypeScript-related types)
- Runtime incompatibilities (these are rare but need investigation)
- If the build fails: Check the Next.js release notes for your target version for any breaking changes to the build process.