Problem/Motivation

Node.js 20 reached end of life on 30 April 2026, and Drupal core main now requires "node": ">= 24.0" in core/package.json. Vardoc has no engines in package.json or themes/vardoc_theme/package.json on 4.0.x and 5.0.x, so nothing says which Node to use. 4.0.x commits a Yarn Classic yarn.lock, and the 5.0.x CircleCI config installs Node 12.

Node 24 is the LTS line, latest v24.22.2, and it is one of the lines the November 2026 security releases will patch. Pinning the major picks those patches up with no further change. Local systems should use Node.js 24 or 26.

Steps to reproduce

  1. On 4.0.x or 5.0.x, open package.json and themes/vardoc_theme/package.json: there is no engines block.
  2. On 4.0.x, yarn.lock is a Yarn Classic lockfile.
  3. On 5.0.x, open .circleci/config.yml: it installs NodeSource setup_12.x.

Proposed resolution

  • package.json and themes/vardoc_theme/package.json get an engines block: "node": ">= 24.0". On both branches.
  • 4.0.x stays on Yarn Classic: Yarn 4 cannot install the farbtastic GitHub tarball, which has no package.json (Manifest not found). No packageManager is added.
  • 5.0.x: .circleci/config.yml installs NodeSource setup_24.x.
  • 4.0.x: yarn.lock is removed. On both branches .gitignore now ignores yarn.lock, package-lock.json and pnpm-lock.yaml, so installs resolve from package.json.
  • Dependency ranges in package.json use carets, the way Drupal core writes them: exact versions, ~ and .x ranges become ^MAJOR.MINOR.PATCH, with no major bump.

AI-Generated: Yes

Remaining tasks

  • ✅ File an issue
  • ✅ Addition/Change/Update/Fix
  • ❌ Testing to ensure no regression
  • ❌ Replace the farbtastic GitHub tarball, which has no package.json: Yarn 4 cannot install it on 4.0.x, and npm install already fails on it on 5.0.x with Node 22 (pre-existing)
  • ❌ themes/vardoc_theme uses gulp-sass 4, which pulls in node-sass 4.14.1; it does not build on Node 22 or 24, so its npm install already fails on the base branch (out of scope here)
  • ➖ Automated unit testing coverage
  • ➖ Automated functional testing coverage
  • ➖ UX/UI designer responsibilities
  • ➖ Readability
  • ➖ Accessibility
  • ➖ Performance
  • ➖ Security
  • ➖ Developer Documentation
  • ➖ User Guide Documentation
  • ❌ Reviewed by human
  • ❌ Code review by maintainers
  • ❌ Full testing and approval
  • ❌ Credit contributors
  • ❌ Review with the product owner
  • ✅ Release notes snippet
  • ✅ Release

User interface changes

  • N/A

API changes

  • N/A

Data model changes

  • N/A

Release notes snippet

  • Node.js 24 or newer is now required, in the engines and CI.

Issue fork vardoc-3635749

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

rajab natshah created an issue. See original summary.

rajab natshah’s picture

Issue summary: View changes
Status: Active » Needs review

  • rajab natshah committed 2f0c055e on 4.0.x
    task: #3635749 Update Node.js to >= 24.0 and move Vardoc 4.0.x to Drupal...

rajab natshah’s picture

Issue summary: View changes
Status: Needs review » Fixed
Issue tags: +vardoc-4.1.0

✅ Released vardoc-4.1.0

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.