mirror of
https://github.com/renovatebot/renovate.git
synced 2025-01-12 06:56:24 +00:00
feat: support semver equals (=)
Adds support for upgrading equals values, e.g. from `=1.0.0` to `=1.0.1`.
This commit is contained in:
parent
549b12529f
commit
24e341b5b4
4 changed files with 22 additions and 5 deletions
|
@ -111,8 +111,7 @@ async function extractDependencies(content, packageFile, config) {
|
|||
depName,
|
||||
versionScheme: 'semver',
|
||||
};
|
||||
// TODO: do we need to remove the equals?
|
||||
dep.currentVersion = version.trim().replace(/^=/, '');
|
||||
dep.currentVersion = version.trim();
|
||||
if (depType === 'engines') {
|
||||
if (depName === 'node') {
|
||||
dep.purl = 'pkg:github/nodejs/node?clean=true';
|
||||
|
|
|
@ -49,6 +49,9 @@ function rangify(config, currentVersion, fromVersion, toVersion) {
|
|||
if (element.operator === '~') {
|
||||
return `~${toVersion}`;
|
||||
}
|
||||
if (element.operator === '=') {
|
||||
return `=${toVersion}`;
|
||||
}
|
||||
if (element.operator === '>=') {
|
||||
return currentVersion.includes('>= ')
|
||||
? `>= ${toVersion}`
|
||||
|
@ -75,6 +78,9 @@ function rangify(config, currentVersion, fromVersion, toVersion) {
|
|||
}
|
||||
return `^${major(toVersion)}.0.0`;
|
||||
}
|
||||
if (element.operator === '=') {
|
||||
return `=${toVersion}`;
|
||||
}
|
||||
if (element.operator === '~') {
|
||||
return `~${major(toVersion)}.${minor(toVersion)}.0`;
|
||||
}
|
||||
|
|
|
@ -122,7 +122,7 @@ Object {
|
|||
"versionScheme": "semver",
|
||||
},
|
||||
Object {
|
||||
"currentVersion": "0.22.0",
|
||||
"currentVersion": "=0.22.0",
|
||||
"depName": "cheerio",
|
||||
"depType": "dependencies",
|
||||
"purl": "pkg:npm/cheerio",
|
||||
|
@ -231,7 +231,7 @@ Object {
|
|||
"versionScheme": "semver",
|
||||
},
|
||||
Object {
|
||||
"currentVersion": "0.22.0",
|
||||
"currentVersion": "=0.22.0",
|
||||
"depName": "cheerio",
|
||||
"depType": "dependencies",
|
||||
"purl": "pkg:npm/cheerio",
|
||||
|
@ -320,7 +320,7 @@ Object {
|
|||
"versionScheme": "semver",
|
||||
},
|
||||
Object {
|
||||
"currentVersion": "0.22.0",
|
||||
"currentVersion": "=0.22.0",
|
||||
"depName": "cheerio",
|
||||
"depType": "dependencies",
|
||||
"purl": "pkg:npm/cheerio",
|
||||
|
|
|
@ -37,3 +37,15 @@ describe('semver.isRange(input)', () => {
|
|||
expect(!!semver.isRange('^1.2.3')).toBe(true);
|
||||
});
|
||||
});
|
||||
describe('semver.rangify()', () => {
|
||||
it('bumps equals', () => {
|
||||
expect(
|
||||
semver.rangify({ rangeStrategy: 'bump' }, '=1.0.0', '1.0.0', '1.1.0')
|
||||
).toEqual('=1.1.0');
|
||||
});
|
||||
it('replaces equals', () => {
|
||||
expect(
|
||||
semver.rangify({ rangeStrategy: 'replace' }, '=1.0.0', '1.0.0', '1.1.0')
|
||||
).toEqual('=1.1.0');
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue