Skip to content

fix(frontend): enforce supported Node runtime#2284

Open
anirudh5harma wants to merge 1 commit into
AgentWrapper:mainfrom
anirudh5harma:codex/fix-frontend-node20-guardrails
Open

fix(frontend): enforce supported Node runtime#2284
anirudh5harma wants to merge 1 commit into
AgentWrapper:mainfrom
anirudh5harma:codex/fix-frontend-node20-guardrails

Conversation

@anirudh5harma

@anirudh5harma anirudh5harma commented Jun 29, 2026

Copy link
Copy Markdown

Summary

Frontend installs now reject unsupported Node runtimes before npm creates node_modules, preventing the partial Electron installation reported in #2206. Local setup and every desktop/frontend workflow use Node 24, which is the current supported LTS line and satisfies the frontend dependency engine requirements.

This is a contributor-development guardrail, not an end-user launch fix. ao start opens the released Electron app and its bundled daemon without using local frontend dependencies; npm run dev is needed only when running the Electron frontend and Go daemon from source so local changes are exercised together.

This supersedes the initial lifecycle-hook implementation in this PR: validation showed that npm runs Electron's dependency postinstall before the root package's preinstall, so that hook could still leave Electron incomplete. The enforced engines contract with engine-strict performs the check before dependency installation instead.

This ports the intent of aoagents/ReverbCode#413 onto the canonical repository with the install-order issue corrected.

Validation

  • Node 26: npm ci exits with EBADENGINE and does not create node_modules.
  • Node 24: clean npm ci completes and Electron's binary/path marker is present.
  • npm run typecheck
  • npm test -- --run (40 files, 370 tests)
  • npm run package
  • npx @redwoodjs/agent-ci run --workflow .github/workflows/frontend.yml (1 job passed)
  • Prettier and git diff --check

Post-Deploy Monitoring & Validation

Watch the first frontend, nightly, testing-build, and release workflows after merge. Healthy behavior is a clean Node 24 install followed by the existing test or packaging steps on each runner; an engine rejection or cross-platform packaging regression is the rollback trigger.

@anirudh5harma anirudh5harma force-pushed the codex/fix-frontend-node20-guardrails branch from 6345a0a to 219b30a Compare June 30, 2026 10:18
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