Files
roboco/panel/UPGRADE.md
T
Renzo FGitHubFrontend Developer 1Frontend Documenterdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8327df4fd2 [f9ab9c9d] Supersede external PR #343: finish + harden it ourselves (#354)
* chore(deps): bump next from 16.1.1 to 16.2.6 in /panel

Bumps [next](https://github.com/vercel/next.js) from 16.1.1 to 16.2.6.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Commits](https://github.com/vercel/next.js/compare/v16.1.1...v16.2.6)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 16.2.6
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* [bd79402c] Verify and harden panel/ on Next.js 16.2.6 (#350) (#353)

* [bd79402c] chore(panel): align eslint-config-next to 16.2.6 with next

* [bd79402c] docs(panel): add UPGRADE guide and dependency alignment note

Documented the Next.js 16.2.6 dependency bump and version-alignment requirement for eslint-config-next. Added UPGRADE.md with procedures for future Next.js bumps and troubleshooting, and updated README.md with a dependency management section pointing to the guide.

---------

Co-authored-by: Frontend Developer 1 <fe-dev-1@roboco.tech>
Co-authored-by: Frontend Documenter <fe-doc@roboco.tech>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Frontend Developer 1 <fe-dev-1@roboco.tech>
Co-authored-by: Frontend Documenter <fe-doc@roboco.tech>
2026-07-09 03:05:10 +02:00

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

  1. Update package.json with the new version(s):

    {
      "dependencies": {
        "next": "16.2.6"
      },
      "devDependencies": {
        "eslint-config-next": "16.2.6"
      }
    }
    
  2. Regenerate the lockfile without deleting node_modules:

    cd panel
    pnpm install
    

    This updates pnpm-lock.yaml while preserving node_modules, keeping the resolution deterministic.

  3. Run the quality gate:

    cd panel
    pnpm lint
    pnpm typecheck
    pnpm test
    pnpm build
    

    All must pass with no errors before committing.

  4. 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 cases
  • tinyglobby — dependency used by ESLint, upgraded from 0.2.15 to 0.2.17
  • semver — 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 install fails: Check that you have write permissions in panel/ and that your pnpm version 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.

References