task: #3636733 Use @webship-js/drupal-core-steps 2.1 for the webship-js suite and refresh the dependencies

Summary

The webship-js suite runs on the public step pack @webship-js/drupal-core-steps (^2.1.0) instead of local copies of the steps it provides, and CI runs a dry run before the browser job, so an undefined or ambiguous step fails early.

Changes

  • package.json: adds @webship-js/drupal-core-steps ^2.1.0 to the devDependencies (webship-js is already ^2.0.6, the pack's peer range) and adds the test:dry script (cucumber-js --dry-run); moves engines to node >= 24.0 and yarn >= 4.18.1 and packageManager from yarn@4.9.3 to yarn@4.18.1.
  • cucumber.js: adds the pack's step glob between the webship-js glob and the project's own. The users registry already has the pack's shape (username, email, password, roles, isAdmin).
  • tests/step-definitions/cucumber_user_roles.steps.js: removes the custom login by handle and I add the testing users steps, which match the same sentences as the pack's. The project's own steps stay.
  • .gitlab-ci.yml: the webship-js-test job runs cucumber-js --dry-run before the suite, so an undefined or ambiguous step fails early; the cspell and lint jobs move from node:20 to node:24; YARN_ENABLE_IMMUTABLE_INSTALLS: "false" lets a job update yarn.lock instead of failing, because Yarn 4 makes installs immutable on CI; .composer-base points Drupal core's own Yarn 4.9.1 at .yarnrc.core.yml, so the composer job does not read the project's .yarnrc.yml, whose npmMinimalAgeGate setting Yarn 4.9.1 rejects.
  • .yarnrc.yml: adds npmMinimalAgeGate: 0, because Yarn 4.18.1 quarantines packages younger than a day by default (npmMinimalAgeGate is 1440 minutes) and the Webship step packs are released often.
  • yarn.lock: refreshed for the new pack and Yarn 4.18.1. This project commits its lock file, and yarn install --immutable passes with it.

Dry run on Node 24.22.2 from a fresh clone of this branch: 36 scenarios, 276 steps, none undefined or ambiguous.

Issue

Issue: https://www.drupal.org/node/3636733

AI-Generated: Yes (configuration and step cleanup; reviewed by Rajab Natshah.)

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