diff --git a/packages/sanity/package.json b/packages/sanity/package.json index 2a75a971ebf..3308f505347 100644 --- a/packages/sanity/package.json +++ b/packages/sanity/package.json @@ -138,7 +138,6 @@ "write:playwright-report-as-pr-comment": "node -r esbuild-register playwright-ct/scripts/parsePlaywrightReportJson.ts" }, "dependencies": { - "compare-versions": "^6.1.0", "@dnd-kit/core": "^6.0.5", "@dnd-kit/modifiers": "^6.0.0", "@dnd-kit/sortable": "^7.0.1", diff --git a/packages/sanity/src/core/store/_legacy/document/document-pair/utils/fetchFeatureToggle.test.ts b/packages/sanity/src/core/store/_legacy/document/document-pair/utils/fetchFeatureToggle.test.ts index a46d133e72c..293cd0da6a9 100644 --- a/packages/sanity/src/core/store/_legacy/document/document-pair/utils/fetchFeatureToggle.test.ts +++ b/packages/sanity/src/core/store/_legacy/document/document-pair/utils/fetchFeatureToggle.test.ts @@ -14,17 +14,25 @@ describe('mapResponse', () => { }) it.each([ - ['2', true], + ['>= 2', true], + ['>= 3', true], + ['>= 4', false], + + ['2', false], ['3', true], + ['3.0.0', false], ['4', false], - ['2.13.13', true], - ['3.13.13', true], - ['4.13.13', false], + ['>= 2.13.13', true], + ['>= 3.13.13', true], + ['>= 4.13.13', false], + + ['>= 3.46.9', true], + ['>= 3.47.0', true], + ['>= 3.47.1', false], - ['3.46.9', true], - ['3.47.0', true], - ['3.47.1', false], + ['< 2 || 3.47.0', true], + ['< 2 || 3.45.0', false], ])( 'respects the version specified in the `minimumStudioVersion` property (%s)', async (minimumStudioVersion, expected) => { diff --git a/packages/sanity/src/core/store/_legacy/document/document-pair/utils/fetchFeatureToggle.ts b/packages/sanity/src/core/store/_legacy/document/document-pair/utils/fetchFeatureToggle.ts index ac7523b3808..9bf0a46aa52 100644 --- a/packages/sanity/src/core/store/_legacy/document/document-pair/utils/fetchFeatureToggle.ts +++ b/packages/sanity/src/core/store/_legacy/document/document-pair/utils/fetchFeatureToggle.ts @@ -1,8 +1,8 @@ import {type SanityClient} from '@sanity/client' -import {compare as compareVersions} from 'compare-versions' import {map, type Observable, of, type OperatorFunction, ReplaySubject, timeout, timer} from 'rxjs' import {catchError, concatMap, share} from 'rxjs/operators' import {SANITY_VERSION} from 'sanity' +import semverSatisfies from 'semver/functions/satisfies' export interface ActionsFeatureToggle { minimumStudioVersion?: string @@ -50,7 +50,7 @@ export function mapResponse(): OperatorFunction { return map( (res) => typeof res.minimumStudioVersion !== 'undefined' && - compareVersions(SANITY_VERSION, res.minimumStudioVersion, '>='), + semverSatisfies(SANITY_VERSION, res.minimumStudioVersion), ) } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 39e9667653e..ac2cb8a4df0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1631,9 +1631,6 @@ importers: color2k: specifier: ^2.0.0 version: 2.0.3 - compare-versions: - specifier: ^6.1.0 - version: 6.1.0 configstore: specifier: ^5.0.1 version: 5.0.1 @@ -10277,10 +10274,6 @@ packages: dot-prop: 5.3.0 dev: true - /compare-versions@6.1.0: - resolution: {integrity: sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==} - dev: false - /component-emitter@1.3.1: resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} dev: true