/snap/node/11782/lib/node_modules/npm/node_modules/semver/functions
NameSizeModeActions
clean.js2050644editdlrm
cmp.js9610644editdlrm
coerce.js20040644editdlrm
compare-build.js2810644editdlrm
compare-loose.js1320644editdlrm
compare.js1700644editdlrm
diff.js14230644editdlrm
eq.js1260644editdlrm
gt.js1240644editdlrm
gte.js1270644editdlrm
inc.js4780644editdlrm
lt.js1240644editdlrm
lte.js1270644editdlrm
major.js1360644editdlrm
minor.js1360644editdlrm
neq.js1280644editdlrm
parse.js3310644editdlrm
patch.js1360644editdlrm
prerelease.js2340644editdlrm
rcompare.js1320644editdlrm
rsort.js1630644editdlrm
satisfies.js2470644editdlrm
sort.js1610644editdlrm
valid.js1760644editdlrm
Edit: /snap/node/11782/lib/node_modules/npm/node_modules/semver/functions/diff.js (1423B)
'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 prereleases return 'prerelease' } module.exports = diff