MCPcopy Index your code
hub / github.com/parse-community/parse-server / getUntestedVersions

Method getUntestedVersions

ci/CiVersionCheck.js:124–176  ·  view source on GitHub ↗

* Returns the package versions which are missing in the CI environment. * @param {Array } releasedVersions The released versions; need to * be sorted descending. * @param {Array } testedVersions The tested versions. * @param {String} versionComponent The latest version comp

(releasedVersions, testedVersions, versionComponent)

Source from the content-addressed store, hash-verified

122 * @returns {Array<String>} The untested versions.
123 */
124 getUntestedVersions(releasedVersions, testedVersions, versionComponent) {
125 // Use these example values for debugging the version range logic below
126 // versionComponent = CiVersionCheck.versionComponents.patch;
127 // this.ignoreReleasedVersions = ['<4.4.0', '~4.7.0'];
128 // testedVersions = ['4.4.3'];
129 // releasedVersions = [
130 // '5.0.0-rc0',
131 // '5.0.0',
132 // '4.9.1',
133 // '4.9.0',
134 // '4.8.1',
135 // '4.8.0',
136 // '4.7.1',
137 // '4.7.0',
138 // '4.4.3',
139 // '4.4.2',
140 // '4.4.0',
141 // '4.1.0',
142 // '3.5.0',
143 // ];
144
145 // Determine operator for range comparison
146 const operator = versionComponent == CiVersionCheck.versionComponents.major
147 ? '>='
148 : versionComponent == CiVersionCheck.versionComponents.minor
149 ? '^'
150 : '~'
151
152 // Get all untested versions
153 const untestedVersions = releasedVersions.reduce((m, v) => {
154 // If the version should be ignored, skip it
155 if (this.ignoreReleasedVersions.length > 0 && semver.satisfies(v, this.ignoreReleasedVersions.join(' || '))) {
156 return m;
157 }
158 // If the version is a pre-release, skip it
159 if ((semver.prerelease(v) || []).length > 0) {
160 return m;
161 }
162 // If a satisfying version has already been added to untested, skip it
163 if (semver.maxSatisfying(m, `${operator}${v}`)) {
164 return m;
165 }
166 // If a satisfying version is already tested, skip it
167 if (semver.maxSatisfying(testedVersions, `${operator}${v}`)) {
168 return m;
169 }
170 // Add version
171 m.push(v);
172 return m;
173 }, []);
174
175 return untestedVersions;
176 }
177
178 /**
179 * Returns the latest version for a given version and component.

Callers 1

checkMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected