diff --git a/lib/workers/repository/process/lookup/index.js b/lib/workers/repository/process/lookup/index.js index 715f13c14504428ff3af934e3fbebc3608b0086d..418cf6007a4db39472862d4fe1a2ad3ab3d8ef8e 100644 --- a/lib/workers/repository/process/lookup/index.js +++ b/lib/workers/repository/process/lookup/index.js @@ -215,10 +215,13 @@ async function lookupUpdates(config) { update.isBump = true; if (getMajor(toVersion) > getMajor(fromVersion)) { update.updateType = 'major'; - } else if (getMinor(toVersion) > getMinor(fromVersion)) { - update.updateType = 'minor'; - } else { + } else if ( + config.separateMinorPatch && + getMinor(toVersion) === getMinor(fromVersion) + ) { update.updateType = 'patch'; + } else { + update.updateType = 'minor'; } } } diff --git a/test/workers/repository/process/lookup/__snapshots__/index.spec.js.snap b/test/workers/repository/process/lookup/__snapshots__/index.spec.js.snap index a81bb2dc55be4e25ae8ca2390ecb3f0a60b0e617..b62afc274869ae828daf981442a408111b66b29b 100644 --- a/test/workers/repository/process/lookup/__snapshots__/index.spec.js.snap +++ b/test/workers/repository/process/lookup/__snapshots__/index.spec.js.snap @@ -981,7 +981,7 @@ Array [ ] `; -exports[`manager/npm/lookup .lookupUpdates() supports in-range tilde updates 1`] = ` +exports[`manager/npm/lookup .lookupUpdates() supports in-range tilde patch updates 1`] = ` Array [ Object { "canBeUnpublished": false, @@ -1011,6 +1011,36 @@ Array [ ] `; +exports[`manager/npm/lookup .lookupUpdates() supports in-range tilde updates 1`] = ` +Array [ + Object { + "canBeUnpublished": false, + "fromVersion": "1.0.0", + "isBump": true, + "isRange": true, + "isSingleVersion": false, + "newMajor": 1, + "newMinor": 0, + "newValue": "~1.0.1", + "releaseTimestamp": "2014-03-11T18:47:17.560Z", + "toVersion": "1.0.1", + "updateType": "minor", + }, + Object { + "canBeUnpublished": false, + "fromVersion": "1.0.0", + "isRange": true, + "isSingleVersion": false, + "newMajor": 1, + "newMinor": 4, + "newValue": "~1.4.1", + "releaseTimestamp": "2015-05-17T04:25:07.299Z", + "toVersion": "1.4.1", + "updateType": "minor", + }, +] +`; + exports[`manager/npm/lookup .lookupUpdates() supports majorgte updates 1`] = ` Array [ Object { diff --git a/test/workers/repository/process/lookup/index.spec.js b/test/workers/repository/process/lookup/index.spec.js index 3a88eab72e1a3cee73ca7633d6554ff8f4a1840b..6e78b359aaf25e40908c84f77c2eb63f7ae6a682 100644 --- a/test/workers/repository/process/lookup/index.spec.js +++ b/test/workers/repository/process/lookup/index.spec.js @@ -843,6 +843,17 @@ describe('manager/npm/lookup', () => { .reply(200, qJson); expect((await lookup.lookupUpdates(config)).updates).toMatchSnapshot(); }); + it('supports in-range tilde patch updates', async () => { + config.rangeStrategy = 'bump'; + config.currentValue = '~1.0.0'; + config.depName = 'q'; + config.separateMinorPatch = true; + config.purl = 'pkg:npm/q'; + nock('https://registry.npmjs.org') + .get('/q') + .reply(200, qJson); + expect((await lookup.lookupUpdates(config)).updates).toMatchSnapshot(); + }); it('supports in-range gte updates', async () => { config.rangeStrategy = 'bump'; config.currentValue = '>=1.0.0';