From 9521b08b03ec16c28efd42b2e3608622ea96d3a2 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Thu, 5 Jul 2018 21:11:58 +0200 Subject: [PATCH] refactor: use isSingleVersion in template instead of isRage Refactors template logic to test for isSingleVersion instead of the negative of isRange. This means that new values like `==1.2.0` in python will be presented as v1.2.0 --- lib/config/definitions.js | 2 +- .../templates/default/commit-message.hbs | 1 - .../repository/process/lookup/index.js | 1 + .../lookup/__snapshots__/index.spec.js.snap | 76 +++++++++++++++++++ .../__snapshots__/flatten.spec.js.snap | 6 +- .../repository/updates/generate.spec.js | 4 + 6 files changed, 85 insertions(+), 5 deletions(-) delete mode 100644 lib/config/templates/default/commit-message.hbs diff --git a/lib/config/definitions.js b/lib/config/definitions.js index b8fe8ab02d..d76227702d 100644 --- a/lib/config/definitions.js +++ b/lib/config/definitions.js @@ -746,7 +746,7 @@ const options = [ 'Extra description used after the commit message topic - typically the version', type: 'string', default: - 'to {{#if isMajor}}v{{{newMajor}}}{{else}}{{#unless isRange}}v{{/unless}}{{{newValue}}}{{/if}}', + 'to {{#if isMajor}}v{{{newMajor}}}{{else}}{{#if isSingleVersion}}v{{{toVersion}}}{{else}}{{{newValue}}}{{/if}}{{/if}}', cli: false, }, { diff --git a/lib/config/templates/default/commit-message.hbs b/lib/config/templates/default/commit-message.hbs deleted file mode 100644 index b6b5cb28b2..0000000000 --- a/lib/config/templates/default/commit-message.hbs +++ /dev/null @@ -1 +0,0 @@ -Update dependency {{{depName}}} to {{#unless isRange}}v{{/unless}}{{{newValue}}} diff --git a/lib/workers/repository/process/lookup/index.js b/lib/workers/repository/process/lookup/index.js index 1f23f69372..a8c51a098d 100644 --- a/lib/workers/repository/process/lookup/index.js +++ b/lib/workers/repository/process/lookup/index.js @@ -123,6 +123,7 @@ async function lookupUpdates(config) { update.newMajor = getMajor(toVersion); update.newMinor = getMinor(toVersion); update.updateType = getType(config, fromVersion, toVersion); + update.isSingleVersion = !!isSingleVersion(update.newValue); if (!isVersion(update.newValue)) { update.isRange = true; } 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 63d8a42d37..9da251760a 100644 --- a/test/workers/repository/process/lookup/__snapshots__/index.spec.js.snap +++ b/test/workers/repository/process/lookup/__snapshots__/index.spec.js.snap @@ -11,6 +11,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.4.4", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -26,6 +27,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "1.0.0", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -48,6 +50,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "0.9.4", "isRange": true, + "isSingleVersion": true, "newMajor": 0, "newMinor": 9, "newValue": "==0.9.7", @@ -59,6 +62,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "0.9.4", "isRange": true, + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "==1.4.1", @@ -93,6 +97,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "2.9.0-rc", "isRange": true, + "isSingleVersion": false, "newMajor": 2, "newMinor": 9, "newValue": "^2.9.1-insiders.20180516", @@ -147,6 +152,7 @@ Marking the latest version of an npm package as deprecated results in the entire Object { "canBeUnpublished": false, "fromVersion": "1.3.0", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.0", @@ -169,6 +175,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.9.7", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -204,6 +211,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "2.7.0", "isRange": true, + "isSingleVersion": false, "newMajor": 3, "newMinor": 8, "newValue": "^3.0.0", @@ -220,6 +228,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "1.3.0", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": "~1.4.0", @@ -235,6 +244,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "1.0.0", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -256,6 +266,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.4.4", + "isSingleVersion": true, "newMajor": 0, "newMinor": 9, "newValue": "0.9.7", @@ -266,6 +277,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.4.4", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -303,6 +315,7 @@ Object { Object { "canBeUnpublished": false, "fromVersion": "1.3.0", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -319,6 +332,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.9.0", + "isSingleVersion": true, "newMajor": 0, "newMinor": 9, "newValue": "0.9.7", @@ -329,6 +343,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.9.0", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -344,6 +359,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.9.0", + "isSingleVersion": true, "newMajor": 0, "newMinor": 9, "newValue": "0.9.7", @@ -354,6 +370,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.9.0", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -369,6 +386,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.4.0", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -390,6 +408,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.4.4", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -411,6 +430,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.4.4", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -426,6 +446,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.8.0", + "isSingleVersion": true, "newMajor": 0, "newMinor": 8, "newValue": "0.8.12", @@ -436,6 +457,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.8.0", + "isSingleVersion": true, "newMajor": 0, "newMinor": 9, "newValue": "0.9.7", @@ -446,6 +468,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.8.0", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -461,6 +484,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.9.0", + "isSingleVersion": true, "newMajor": 0, "newMinor": 9, "newValue": "0.9.7", @@ -471,6 +495,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.9.0", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -486,6 +511,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.9.0", + "isSingleVersion": true, "newMajor": 0, "newMinor": 9, "newValue": "0.9.7", @@ -496,6 +522,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.9.0", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -520,6 +547,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.9.99", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -549,6 +577,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "2.3.0-beta.1", + "isSingleVersion": true, "newMajor": 2, "newMinor": 5, "newValue": "2.5.17-beta.0", @@ -564,6 +593,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "2.5.16", + "isSingleVersion": true, "newMajor": 2, "newMinor": 5, "newValue": "2.5.17-beta.0", @@ -592,6 +622,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "0.0.34", "isRange": true, + "isSingleVersion": false, "newMajor": 0, "newMinor": 0, "newValue": "^0.0.35", @@ -607,6 +638,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "1.4.1", + "isSingleVersion": true, "newMajor": 2, "newMinor": 0, "newValue": "2.0.3", @@ -623,6 +655,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "2.7.0", "isRange": true, + "isSingleVersion": false, "newMajor": 3, "newMinor": 8, "newValue": "1.x - 3.x", @@ -639,6 +672,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "2.7.0", "isRange": true, + "isSingleVersion": false, "newMajor": 3, "newMinor": 8, "newValue": "^1.0.0 || ^2.0.0 || ^3.0.0", @@ -654,6 +688,7 @@ Object { "canBeUnpublished": false, "fromVersion": "0.8.12", "isRange": true, + "isSingleVersion": false, "newMajor": 0, "newMinor": 9, "newValue": "^0.7.0 || ^0.8.0 || ^0.9.0", @@ -669,6 +704,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "1.3.0", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": "~1.2.0 || ~1.3.0 || ~1.4.0", @@ -685,6 +721,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "1.0.0", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": "^1.4.1", @@ -701,6 +738,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "1.0.0", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": ">=1.4.1", @@ -717,6 +755,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "1.0.0", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 0, "newValue": "~1.0.1", @@ -728,6 +767,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "1.0.0", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": "~1.4.1", @@ -749,6 +789,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.4.4", + "isSingleVersion": true, "newMajor": 0, "newMinor": 9, "newValue": "0.9.7", @@ -759,6 +800,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.4.4", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -780,6 +822,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.4.4", + "isSingleVersion": true, "newMajor": 0, "newMinor": 9, "newValue": "0.9.7", @@ -790,6 +833,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "0.4.4", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -806,6 +850,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "1.3.0", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": "1.2.x - 1.4.x", @@ -822,6 +867,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "0.9.7", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": "1.x", @@ -843,6 +889,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "1.3.0", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -859,6 +906,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "1.3.0", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": "1.4.x", @@ -875,6 +923,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "1.4.1", "isRange": true, + "isSingleVersion": false, "newMajor": 2, "newMinor": 0, "newValue": "<= 2", @@ -891,6 +940,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "1.3.0", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": "<= 1.4", @@ -907,6 +957,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "0.7.2", "isRange": true, + "isSingleVersion": false, "newMajor": 0, "newMinor": 9, "newValue": "<= 0.9.7", @@ -918,6 +969,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "0.7.2", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": "<= 1.4.1", @@ -934,6 +986,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "0.9.7", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": "< 2", @@ -950,6 +1003,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "0.7.1", "isRange": true, + "isSingleVersion": false, "newMajor": 0, "newMinor": 9, "newValue": "< 0.9.8", @@ -961,6 +1015,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "0.7.1", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": "< 1.4.2", @@ -977,6 +1032,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "0.9.7", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": ">= 0.5.0 < 2.0.0", @@ -993,6 +1049,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "1.0.0", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": "<= 1.4.1", @@ -1009,6 +1066,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "0.9.7", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": "< 2.0.0", @@ -1025,6 +1083,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "0.8.0", "isRange": true, + "isSingleVersion": false, "newMajor": 0, "newMinor": 9, "newValue": ">= 0.5.0 <= 0.9.7", @@ -1036,6 +1095,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "0.8.0", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": ">= 0.5.0 <= 1.4.1", @@ -1052,6 +1112,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "0.7.2", "isRange": true, + "isSingleVersion": false, "newMajor": 0, "newMinor": 9, "newValue": ">= 0.5.0 <0.10", @@ -1063,6 +1124,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "0.7.2", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": ">= 0.5.0 <1.5", @@ -1084,6 +1146,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "1.0.1", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -1100,6 +1163,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "0.7.2", "isRange": true, + "isSingleVersion": false, "newMajor": 0, "newMinor": 9, "newValue": "^0.9.0", @@ -1111,6 +1175,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "0.7.2", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": "^1.0.0", @@ -1127,6 +1192,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "0.7.2", "isRange": true, + "isSingleVersion": false, "newMajor": 0, "newMinor": 9, "newValue": "~0.9.0", @@ -1138,6 +1204,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "0.7.2", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": "~1.4.0", @@ -1154,6 +1221,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "0.9.7", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": "1", @@ -1170,6 +1238,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "1.3.0", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": "1.4", @@ -1191,6 +1260,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "1.3.0", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -1207,6 +1277,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "1.3.0", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": "~1.4.0", @@ -1228,6 +1299,7 @@ Array [ Object { "canBeUnpublished": false, "fromVersion": "1.0.0", + "isSingleVersion": true, "newMajor": 1, "newMinor": 4, "newValue": "1.4.1", @@ -1244,6 +1316,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "2.7.0", "isRange": true, + "isSingleVersion": false, "newMajor": 3, "newMinor": 8, "newValue": "1.x || 2.x || 3.x", @@ -1260,6 +1333,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "2.7.0", "isRange": true, + "isSingleVersion": false, "newMajor": 3, "newMinor": 8, "newValue": "^2.0.0 || ^3.0.0", @@ -1276,6 +1350,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "1.3.0", "isRange": true, + "isSingleVersion": false, "newMajor": 1, "newMinor": 4, "newValue": "~1.3.0 || ~1.4.0", @@ -1292,6 +1367,7 @@ Array [ "canBeUnpublished": false, "fromVersion": "2.7.0", "isRange": true, + "isSingleVersion": false, "newMajor": 3, "newMinor": 8, "newValue": "1 || 2 || 3", diff --git a/test/workers/repository/updates/__snapshots__/flatten.spec.js.snap b/test/workers/repository/updates/__snapshots__/flatten.spec.js.snap index b95e7af35d..51fb5ef63b 100644 --- a/test/workers/repository/updates/__snapshots__/flatten.spec.js.snap +++ b/test/workers/repository/updates/__snapshots__/flatten.spec.js.snap @@ -14,7 +14,7 @@ Array [ "commitBody": null, "commitMessage": "{{{commitMessagePrefix}}} {{{commitMessageAction}}} {{{commitMessageTopic}}} {{{commitMessageExtra}}} {{{commitMessageSuffix}}}", "commitMessageAction": "Update", - "commitMessageExtra": "to {{#if isMajor}}v{{{newMajor}}}{{else}}{{#unless isRange}}v{{/unless}}{{{newValue}}}{{/if}}", + "commitMessageExtra": "to {{#if isMajor}}v{{{newMajor}}}{{else}}{{#if isSingleVersion}}v{{{toVersion}}}{{else}}{{{newValue}}}{{/if}}{{/if}}", "commitMessagePrefix": null, "commitMessageTopic": "dependency {{depName}}", "copyLocalLibs": false, @@ -87,7 +87,7 @@ Array [ "commitBody": null, "commitMessage": "{{{commitMessagePrefix}}} {{{commitMessageAction}}} {{{commitMessageTopic}}} {{{commitMessageExtra}}} {{{commitMessageSuffix}}}", "commitMessageAction": "Update", - "commitMessageExtra": "to {{#if isMajor}}v{{{newMajor}}}{{else}}{{#unless isRange}}v{{/unless}}{{{newValue}}}{{/if}}", + "commitMessageExtra": "to {{#if isMajor}}v{{{newMajor}}}{{else}}{{#if isSingleVersion}}v{{{toVersion}}}{{else}}{{{newValue}}}{{/if}}{{/if}}", "commitMessagePrefix": null, "commitMessageTopic": "dependency {{depName}}", "copyLocalLibs": false, @@ -231,7 +231,7 @@ Array [ "commitBody": null, "commitMessage": "{{{commitMessagePrefix}}} {{{commitMessageAction}}} {{{commitMessageTopic}}} {{{commitMessageExtra}}} {{{commitMessageSuffix}}}", "commitMessageAction": "Update", - "commitMessageExtra": "to {{#if isMajor}}v{{{newMajor}}}{{else}}{{#unless isRange}}v{{/unless}}{{{newValue}}}{{/if}}", + "commitMessageExtra": "to {{#if isMajor}}v{{{newMajor}}}{{else}}{{#if isSingleVersion}}v{{{toVersion}}}{{else}}{{{newValue}}}{{/if}}{{/if}}", "commitMessagePrefix": null, "commitMessageTopic": "{{{depName}}} Docker tag", "copyLocalLibs": false, diff --git a/test/workers/repository/updates/generate.spec.js b/test/workers/repository/updates/generate.spec.js index 4ddd203157..c0493652db 100644 --- a/test/workers/repository/updates/generate.spec.js +++ b/test/workers/repository/updates/generate.spec.js @@ -171,6 +171,8 @@ describe('workers/repository/updates/generate', () => { semanticCommitScope: 'package', lazyGrouping: true, newValue: '1.2.0', + isSingleVersion: true, + toVersion: '1.2.0', foo: 1, group: { foo: 2, @@ -189,6 +191,8 @@ describe('workers/repository/updates/generate', () => { depName: 'some-dep', commitBody: '[skip-ci]', newValue: '1.2.0', + isSingleVersion: true, + toVersion: '1.2.0', }, ]; const res = generateBranchConfig(branch); -- GitLab