Skip to content

Remove semver from cli-kit/app#7726

Draft
amcaplan wants to merge 1 commit into
mainfrom
remove-dep/semver
Draft

Remove semver from cli-kit/app#7726
amcaplan wants to merge 1 commit into
mainfrom
remove-dep/semver

Conversation

@amcaplan
Copy link
Copy Markdown
Contributor

@amcaplan amcaplan commented Jun 5, 2026

Remove semver from @shopify/cli-kit

Why: semver is a high-churn dependency (56 Dependabot bumps / 24 months). Part of an initiative to cut low-value dependency churn in the CLI monorepo.

Replacement: Swapped to compare-versions (already in the tree) plus small inline helpers.

  • The public versionSatisfies contract is preserved exactly (same return semantics for caret/tilde/range inputs).
  • .major extraction reimplemented via a small local helper.
  • Sites: packages/cli-kit/src/public/node/version.ts, packages/cli-kit/src/public/node/node-package-manager.ts.

Validation: type-check ✅, lint ✅, vitest ✅ (version: 65 tests, node-package-manager: 95 tests — all green). Parity tests added for versionSatisfies edge cases and .major.

Scope note: An earlier draft of this branch included an unrelated edit; it has been reverted. Diff is now limited to the 6 relevant files + lockfile reflow + changeset.

🤖 AI-generated draft — needs human review before merge.

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions github-actions Bot added the Area: @shopify/cli @shopify/cli package issues label Jun 5, 2026
@amcaplan amcaplan added the dependency-removal Removes a dependency to cut Dependabot churn (cleanup initiative) label Jun 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: @shopify/cli @shopify/cli package issues dependency-removal Removes a dependency to cut Dependabot churn (cleanup initiative)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant