[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>
This commit is contained in:
Renzo F
2026-07-09 03:05:10 +02:00
committed by GitHub
co-authored by Frontend Developer 1 Frontend Documenter dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
parent 94dd6b6d53
commit 8327df4fd2
4 changed files with 227 additions and 155 deletions
+74
View File
@@ -0,0 +1,74 @@
# 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):
```json
{
"dependencies": {
"next": "16.2.6"
},
"devDependencies": {
"eslint-config-next": "16.2.6"
}
}
```
2. **Regenerate the lockfile without deleting node_modules:**
```bash
cd panel
pnpm install
```
This updates `pnpm-lock.yaml` while preserving `node_modules`, keeping the resolution deterministic.
3. **Run the quality gate:**
```bash
cd panel
pnpm lint
pnpm typecheck
pnpm test
pnpm build
```
All must pass with no errors before committing.
4. **Commit the changes:**
```bash
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
- [Next.js Releases](https://github.com/vercel/next.js/releases)
- [Next.js Upgrade Guide](https://nextjs.org/docs/upgrading)
- [ESLint Config for Next.js](https://www.npmjs.com/package/eslint-config-next)