/opt/alt/alt-nodejs24/root/usr/lib/node_modules/npm/node_modules.bundled/semver/functions
'use strict' const parse = require('./parse.js') const diff = (version1, version2) => { const v1 = parse(version1, null, true) const v2 = parse(version2, null, true) const comparison = v1.compare(v2) if (comparison === 0) { return null } const v1Higher = comparison > 0 const highVersion = v1Higher ? v1 : v2 const lowVersion = v1Higher ? v2 : v1 const highHasPre = !!highVersion.prerelease.length const lowHasPre = !!lowVersion.prerelease.length if (lowHasPre && !highHasPre) { // Going from prerelease -> no prerelease requires some special casing // If the low version has only a major, then it will always be a major // Some examples: // 1.0.0-1 -> 1.0.0 // 1.0.0-1 -> 1.1.1 // 1.0.0-1 -> 2.0.0 if (!lowVersion.patch && !lowVersion.minor) { return 'major' } // If the main part has no difference if (lowVersion.compareMain(highVersion) === 0) { if (lowVersion.minor && !lowVersion.patch) { return 'minor' } return 'patch' } } // add the `pre` prefix if we are going to a prerelease version const prefix = highHasPre ? 'pre' : '' if (v1.major !== v2.major) { return prefix + 'major' } if (v1.minor !== v2.minor) { return prefix + 'minor' } if (v1.patch !== v2.patch) { return prefix + 'patch' } // high and low are preleases return 'prerelease' } module.exports = diff
.
Edit
..
Edit
clean.js
Edit
cmp.js
Edit
coerce.js
Edit
compare-build.js
Edit
compare-loose.js
Edit
compare.js
Edit
diff.js
Edit
eq.js
Edit
gt.js
Edit
gte.js
Edit
inc.js
Edit
lt.js
Edit
lte.js
Edit
major.js
Edit
minor.js
Edit
neq.js
Edit
parse.js
Edit
patch.js
Edit
prerelease.js
Edit
rcompare.js
Edit
rsort.js
Edit
satisfies.js
Edit
sort.js
Edit
valid.js
Edit