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
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant