Skip to content

feat: change the scope to @webship-js/diffy-steps (#3) - #4

Merged
Natshah merged 1 commit into
2.0.xfrom
3-rescope-webship-js
Aug 1, 2026
Merged

feat: change the scope to @webship-js/diffy-steps (#3)#4
Natshah merged 1 commit into
2.0.xfrom
3-rescope-webship-js

Conversation

@Natshah

@Natshah Natshah commented Aug 1, 2026

Copy link
Copy Markdown
Member
- "name": "@webship/diffy-steps",
+ "name": "@webship-js/diffy-steps",

Closes #3

@webship is the GitHub organisation for the whole Webship product family — the
Drupal distribution, the 14 web* modules, the theme, the patch metapackages,
the project templates. Almost none of that is JavaScript and none of it is on
npm. This package is a plugin for the webship-js harness and is useful with
nothing else, so the scope now names what it plugs into.

It also reads better where it matters — a consumer's cucumber.js:

require: [
  'node_modules/webship-js/tests/step-definitions/**/*.js',              // core
  'node_modules/@webship-js/diffy-steps/tests/step-definitions/**/*.js', // this plugin
],

version stays 2.0.0, publishConfig.access stays public.

Changed

File What
package.json name
README.md heading, prose, install, require: path
docs/README.md heading, intro
tests/step-definitions/README.md install, require: path, cp, npm uninstall
tests/step-definitions/diffy.steps.js header comment
package-lock.json regenerated

Timing

Nothing is published, so this is free — no deprecation, no redirect, no consumer
migration. That window closes at first publish, which is the argument for
settling the scope now rather than after.

Namespace caveat — worth knowing before creating the org

An npm package named webship-js already exists (the harness). As of this
PR there is no org or reserved scope of that name — registry.npmjs.org/-/org/webship-js
returns 404 and @webship-js/diffy-steps is unclaimed — but whether npm permits
an org whose name collides with an existing package name is only settled when
you try to create it. I could not verify that ahead of time.

If npm rejects webship-js as an org name, the fallbacks are to revert to
@webship or pick a third scope; either way #3 should record the outcome.
Neither publish blocker from before has moved: npm whoami still reports
ENEEDAUTH, and no org exists yet.

Test notes

  • npm pack --dry-run@webship-js/diffy-steps@2.0.0, filename webship-js-diffy-steps-2.0.0.tgz, same 5-file payload.
  • Suite re-run after the change: 6 scenarios / 37 steps passing against the mock Diffy API.
  • No @webship/ references remain anywhere in the tree.

Knock-on outside this repo: webship-js CLAUDE.md §2.6 on 2.0.x names the
@webship/... require path and needs the same correction — separate issue and
PR so this one stays single-purpose.

AI-Generated: Yes (applied the rescope and updated every reference; reviewed by
Rajab Natshah.)

Checkpoints

  • File an issue about this project
  • Addition/Change/Update/Fix to this project
  • Testing to ensure no regression
  • Automated unit/functional testing coverage
  • Developer Documentation support on feature change/addition
  • User Guide Documentation support on feature change/addition
  • Accessibility and Readability
  • Reviewed by a human
  • Code review by maintainers
  • Full testing and approval
  • Credit contributors
  • Review with the product owner
  • Update Release Notes
  • Release

  "name": "@webship/diffy-steps",  ->  "name": "@webship-js/diffy-steps",

@webship is the GitHub organisation covering the whole Webship product
family - the Drupal distribution, the web* modules, the theme, the patch
metapackages - almost none of which is JavaScript or belongs on npm. This
package is a plugin for the webship-js harness and is useful with nothing
else, so the scope names what it plugs into.

It also reads better at the point of use: a cucumber.js require: list
shows webship-js core steps on one line and @webship-js/diffy-steps on
the next, and the relationship is self-evident.

version stays 2.0.0; publishConfig.access stays public. Every reference
carrying the scope follows - install commands, the
node_modules/@webship-js/diffy-steps/... require paths, the copy and
uninstall snippets, the doc headings, the step-file header - and
package-lock.json is regenerated.

Nothing is published yet, so this costs no deprecation, redirect, or
consumer migration. The window closes at first publish.

Verified: npm pack --dry-run reports @webship-js/diffy-steps@2.0.0, and
the suite still passes 6 scenarios / 37 steps against the mock Diffy API.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Natshah
Natshah merged commit 459d65d into 2.0.x Aug 1, 2026
1 check passed
@Natshah
Natshah deleted the 3-rescope-webship-js branch August 1, 2026 14:44
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.

Change the scope to @webship-js/diffy-steps

1 participant