MCPcopy
hub / github.com/originjs/vite-plugin-federation / satisfy

Function satisfy

packages/lib/src/utils/semver/satisfy.ts:73–151  ·  view source on GitHub ↗
(version: string, range: string)

Source from the content-addressed store, hash-verified

71}
72
73export function satisfy(version: string, range: string): boolean {
74 if (!version) {
75 return false
76 }
77
78 const parsedRange = parseRange(range)
79 const parsedComparator = parsedRange
80 .split(' ')
81 .map((rangeVersion) => parseComparatorString(rangeVersion))
82 .join(' ')
83 const comparators = parsedComparator
84 .split(/\s+/)
85 .map((comparator) => parseGTE0(comparator))
86 const extractedVersion = extractComparator(version)
87
88 if (!extractedVersion) {
89 return false
90 }
91
92 const [
93 ,
94 versionOperator,
95 ,
96 versionMajor,
97 versionMinor,
98 versionPatch,
99 versionPreRelease
100 ] = extractedVersion
101 const versionAtom: CompareAtom = {
102 operator: versionOperator,
103 version: combineVersion(
104 versionMajor,
105 versionMinor,
106 versionPatch,
107 versionPreRelease
108 ), // exclude build atom
109 major: versionMajor,
110 minor: versionMinor,
111 patch: versionPatch,
112 preRelease: versionPreRelease?.split('.')
113 }
114
115 for (const comparator of comparators) {
116 const extractedComparator = extractComparator(comparator)
117
118 if (!extractedComparator) {
119 return false
120 }
121
122 const [
123 ,
124 rangeOperator,
125 ,
126 rangeMajor,
127 rangeMinor,
128 rangePatch,
129 rangePreRelease
130 ] = extractedComparator

Callers 3

semver.spec.tsFile · 0.90
getImportedChunksFunction · 0.85
getSharedFromRuntimeFunction · 0.85

Calls 6

parseGTE0Function · 0.90
extractComparatorFunction · 0.90
combineVersionFunction · 0.90
compareFunction · 0.90
parseRangeFunction · 0.85
parseComparatorStringFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…