task: #3635498 Update Node.js to >= 24.0 and Yarn to 4.18.1
Moves the Node.js pins on 9.2.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/3635498
package.json: engines"node": ">= 24.0"and"yarn": ">= 4.18.1",packageManageryarn@4.18.1, with the Varbase.yarnrc.yml.- Dependency ranges use carets,
^MAJOR.MINOR.PATCH, as Drupal core'spackage.jsondoes. No major changes. - CI:
.gitlab-ci.ymlimagenode:24, NodeSourcesetup_24.x. - DDEV:
.ddev/config.yamlnodejs_version: "24". - Upsun: not present.
- Also on Node 24:
tests/README.md. - Lockfiles are no longer committed: none was tracked, and
.gitignorenow ignores them.
With no lockfile on Node v24.22.2 and Yarn 4.18.1, CI=true YARN_ENABLE_IMMUTABLE_INSTALLS=false yarn install resolves and links 813 packages, and the Cucumber dry-run passes (171 scenarios). The postinstall needs a Composer-built docroot, as before. The CI build cache now keeps vendor, node_modules, docroot and bin per pipeline only: ScriptHandler::removeGitDirectories strips the .git of -dev source installs, so a later pipeline could not update them. MR pipeline 1033365 starts from a clean tree, and composer still fails only on the drupal/shield patch.
- e2e:
tests/features/varbase/03-admin-management/03-08-access-media-bulk-upload-permissions.featurematches Media Bulk Upload 3.0.6. The form title is now "Media bulk upload" (3.0.5 hard-coded "Multiple upload"), and the form now also needs permission to create media of a type it handles, so the SEO admin role, which has the bulk upload permission but no create media permission, is refused. Whether the SEO admin should create media is a Varbase Media decision.
The shield patch that stopped composer is gone from varbase-patches (Vardot/varbase-patches#689, merged). MR pipeline 1034598 is green: every job, PHPStan and PHPCS included.
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