Skip to content

Pin Node to LTS 24 everywhere Node is provisioned#7

Merged
jasongrout merged 1 commit into
docupdatefrom
claude/node-pins-followup
Jul 9, 2026
Merged

Pin Node to LTS 24 everywhere Node is provisioned#7
jasongrout merged 1 commit into
docupdatefrom
claude/node-pins-followup

Conversation

@jasongrout

Copy link
Copy Markdown
Owner

Follow-up to the docs/environment.yml nodejs pin: Node 26 cannot require() the extensionless yargs 16 entry file that lerna 5 depends on, so every environment that runs jlpm needs Node <25.

This PR contains the two changes this session was able to push:

  • docs/source/dev_release.md: pin nodejs=24.* in the release conda environment — it uses the same conda-forge channel that handed ReadTheDocs Node 26, so the next release would hit the identical lerna/yargs crash.
  • package.json: tighten engines.node from >=14 to >=18 <25 — Yarn 3 enforces this, so anyone building locally on Node 26 gets an immediate clear error instead of the cryptic require is not defined in ES module scope crash.

Missing piece (needs manual apply): the same pin for CI. The credentials available to this session lack the workflow OAuth scope, so changes to .github/workflows/* could not be pushed. A patch adding actions/setup-node@v6 with Node 24 to every job that runs jlpm (build, devinstall, lint, packaging, and the docs/js/spec/ui jobs in tests.yml) is attached in the session; apply it with git am onto this branch. Without it, CI keeps using whatever Node the GitHub runner image ships (currently ≤24, which is the only reason Actions stayed green while RTD broke).

🤖 Generated with Claude Code

https://claude.ai/code/session_0148E6HYk5ARogwKjfHsKge8


Generated by Claude Code

Node 26 cannot require() the extensionless yargs 16 entry file that
lerna 5 depends on. Pin the release environment to nodejs 24 and
tighten engines.node so yarn fails fast with a clear error instead.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0148E6HYk5ARogwKjfHsKge8
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

Binder 👈 Launch a binder notebook on branch jasongrout/ipywidgets/claude/node-pins-followup

@jasongrout jasongrout merged commit e856a78 into docupdate Jul 9, 2026
29 of 31 checks passed
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.

2 participants