MCPcopy Create free account
hub / github.com/dmno-dev/bumpy / satisfies

Function satisfies

packages/bumpy/src/core/semver.ts:16–34  ·  view source on GitHub ↗
(version: string, range: string, currentVersion?: string)

Source from the content-addressed store, hash-verified

14 * @param currentVersion - The dependency's current version, used to resolve workspace:^ and workspace:~
15 */
16export function satisfies(version: string, range: string, currentVersion?: string): boolean {
17 // Handle workspace: protocol — resolve shorthands using currentVersion
18 if (range.startsWith('workspace:')) {
19 const cleanRange = range.slice('workspace:'.length);
20 if (!cleanRange || cleanRange === '*') return true;
21 if (cleanRange === '^' || cleanRange === '~') {
22 if (!currentVersion) return true; // can't resolve without current version
23 const resolved = `${cleanRange}${currentVersion}`;
24 return verkitSatisfies(version, resolved);
25 }
26 return verkitSatisfies(version, cleanRange);
27 }
28 // catalog: references can't be range-checked without catalog data,
29 // so treat them as always satisfied (don't trigger out-of-range bumps)
30 if (range.startsWith('catalog:')) return true;
31
32 if (!range || range === '*') return true;
33 return verkitSatisfies(version, range);
34}
35
36/** Strip workspace: protocol from version ranges */
37export function stripProtocol(range: string): string {

Callers 2

semver.test.tsFile · 0.90
assembleReleasePlanFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…