task: #3635731 Update Node.js to >= 24.0 and Yarn to 4.18.1

Moves the Node.js pins on 1.0.x to 24, the floor Drupal core main declares in core/package.json. Node.js 20 reached end of life on 30 April 2026.

Issue: https://www.drupal.org/i/3635731

  • package.json: engines "node": ">= 24.0" and "yarn": ">= 4.18.1", packageManager yarn@4.18.1, with the Varbase .yarnrc.yml.
  • Dependency ranges use carets, ^MAJOR.MINOR.PATCH, as Drupal core's package.json does. No major changes.
  • CI: .gitlab-ci.yml image node:24, Node tarball latest-v24.x, YARN_ENABLE_IMMUTABLE_INSTALLS: "false", YARN_RC_FILENAME on .composer-base (every composer job, the opt-in variants included) and on stylelint, so Drupal core's own Yarn 4.9.1 no longer reads the project .yarnrc.yml.
  • DDEV: not present.
  • Upsun: not present.
  • Lockfiles are no longer committed: none was tracked, and .gitignore now ignores them.
  • Moves from Yarn Classic to Yarn 4.18.1; .yarn/ caches are ignored.
  • The test scripts call node ./node_modules/@cucumber/cucumber/bin/cucumber.js, since Yarn 4 did not put cucumber-js on the script path.

Checked in node:24 (v24.22.2) with no lockfile present: Yarn 4.18.1 install, ESLint and the test dry run (49 scenarios) pass. MR pipeline 1033747 is green.

AI-Generated: Yes

Checkpoints:

  • File an issue
  • Addition/Change/Update/Fix
  • Testing to ensure no regression
  • 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
Edited by Rajab Natshah

Merge request reports

Loading
Loading