Skip to content

Bump the frontend to node 26 and install pnpm directly - #2574

Merged
myieye merged 2 commits into
developfrom
bump-frontend-node-26
Aug 20, 2026
Merged

myieye merged 2 commits into
developfrom
bump-frontend-node-26

Conversation

@myieye

@myieye myieye commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Node 20 is EOL. Replaces #2522, which bumped the base images but left the corepack setup around them stale.

Node 25+ doesn't ship corepack, so npm install -g corepack@latest stopped being a workaround for an old corepack bug and became the only way to get corepack at all. pnpm reads the packageManager field itself, so it's simpler to install pnpm and drop the extra tool (and the unpinned corepack@latest with it).

The two dev-facing leftovers go too: corepack enable || true in the Taskfiles could never succeed on node 26 and the || true hid that, and frontend/README.md told new devs to run corepack enable.

Not included on purpose: CI still resolves its node version from engines.node, so it runs whatever the runner has cached (24.19.0 today) rather than 26. That divergence is pre-existing and worth its own PR.

@github-actions github-actions Bot added 💻 FW Lite issues related to the fw lite application, not miniLcm or crdt related 📦 Lexbox issues related to any server side code, fw-headless included labels Aug 18, 2026
@coderabbitai

coderabbitai Bot commented Aug 18, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f638d1e8-2237-42cb-90e9-d0efb5e2a495

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f1f97dba-7fb2-46a1-8a18-ad18519da329

📥 Commits

Reviewing files that changed from the base of the PR and between d9dfea5 and e1d1827.

📒 Files selected for processing (5)
  • frontend/Dockerfile
  • frontend/README.md
  • frontend/Taskfile.yml
  • frontend/dev.Dockerfile
  • frontend/viewer/Taskfile.yml
💤 Files with no reviewable changes (2)
  • frontend/Taskfile.yml
  • frontend/viewer/Taskfile.yml

Included review availability: Your plan includes up to 1 review per rolling hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The frontend Docker images now use Node 26. Development builds install pnpm 10.24.0 directly. Installation tasks no longer enable Corepack. The setup guide links to pnpm installation documentation.

Changes

Frontend toolchain

Layer / File(s) Summary
Docker Node and pnpm setup
frontend/Dockerfile, frontend/dev.Dockerfile
Production and development images use Node 26. The development builder installs pnpm 10.24.0 directly with npm.
Installation workflow updates
frontend/Taskfile.yml, frontend/viewer/Taskfile.yml, frontend/README.md
Installation tasks remove Corepack enablement. The setup guide links to pnpm installation documentation.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to e1d18

The PR updates the frontend Node and pnpm setup and removes obsolete Corepack instructions; no actionable merge-blocking risk remains beyond normal checks and review.

Poem

I’m a rabbit with a fresh pnpm track,
Node 26 hops in front, no Corepack back.
Docker builds stand neat and bright,
Install tasks run direct and light.
Hop, hop—clean setup tonight!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main changes: upgrading the frontend to Node 26 and installing pnpm directly.
Description check ✅ Passed The description explains the Node upgrade, Corepack removal, direct pnpm installation, and intentional CI scope.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch bump-frontend-node-26

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@argos-ci

argos-ci Bot commented Aug 18, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Argos notifications ↗︎

Build Status Details Updated (UTC)
default (Inspect) ✅ No changes detected - Aug 20, 2026, 5:47 AM
e2e (Inspect) ✅ No changes detected - Aug 20, 2026, 5:54 AM

@hahn-kev

Copy link
Copy Markdown
Collaborator

Why don't we change packages engine to 26 >= while we're at it, just so we're all on the same page

myieye and others added 2 commits August 20, 2026 07:42
Node 20 is EOL. Node 26 doesn't ship corepack, so the corepack lines went from
working around an old corepack bug to being needed just to get corepack at all.
pnpm reads the packageManager field itself, so install pnpm and drop the extra
tool. That also drops the unpinned corepack@latest.

`corepack enable || true` in the Taskfiles could never succeed on node 26, and
the `|| true` hid it. The README told new devs to run `corepack enable`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
frontend/.npmrc sets engine-strict=true, so engines.node is a hard install
gate rather than a warning. Raising it to >=26 lines the floor up with the
docker images, and means everyone needs node 26 before it goes LTS on
2026-10-28.

The workspace root's engines gates every install regardless of which
directory pnpm runs from, and all three packages are private, so the viewer
and https-proxy copies never did anything.

pnpm floor goes to >=10 to match packageManager, and the README prerequisite
is no longer true after this change.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@myieye
myieye force-pushed the bump-frontend-node-26 branch from 37ae3c2 to 7745f15 Compare August 20, 2026 05:42
@myieye
myieye merged commit 466c884 into develop Aug 20, 2026
28 checks passed
@myieye
myieye deleted the bump-frontend-node-26 branch August 20, 2026 06:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

💻 FW Lite issues related to the fw lite application, not miniLcm or crdt related 📦 Lexbox issues related to any server side code, fw-headless included

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants