From 171b65eed0ca225b67be069ddc3ad17ded13c403 Mon Sep 17 00:00:00 2001 From: Tobias Bieniek <tobias@bieniek.cloud> Date: Sat, 12 Sep 2020 14:11:35 +0200 Subject: [PATCH] feat(pr/body): Fall back to `dependencyUrl` property (#7262) ... if no `homepage` or `sourceUrl` is available This is relevant for the `crate` datasource where both are currently not available due to the API rate limiting. --- lib/workers/common.ts | 1 + lib/workers/pr/body/index.ts | 10 ++++++++-- .../process/lookup/__snapshots__/index.spec.ts.snap | 9 +++++++++ lib/workers/repository/process/lookup/index.ts | 2 ++ 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/lib/workers/common.ts b/lib/workers/common.ts index d6aed6a794..8da5952cd2 100644 --- a/lib/workers/common.ts +++ b/lib/workers/common.ts @@ -63,6 +63,7 @@ export interface BranchUpgradeConfig homepage?: string; changelogUrl?: string; + dependencyUrl?: string; sourceUrl?: string; } diff --git a/lib/workers/pr/body/index.ts b/lib/workers/pr/body/index.ts index 7c844e906e..502c945ef7 100644 --- a/lib/workers/pr/body/index.ts +++ b/lib/workers/pr/body/index.ts @@ -13,9 +13,15 @@ import { getPrUpdatesTable } from './updates-table'; function massageUpdateMetadata(config: BranchConfig): void { config.upgrades.forEach((upgrade) => { /* eslint-disable no-param-reassign */ - const { homepage, sourceUrl, sourceDirectory, changelogUrl } = upgrade; + const { + homepage, + sourceUrl, + sourceDirectory, + changelogUrl, + dependencyUrl, + } = upgrade; let depNameLinked = upgrade.depName; - const primaryLink = homepage || sourceUrl; + const primaryLink = homepage || sourceUrl || dependencyUrl; if (primaryLink) { depNameLinked = `[${depNameLinked}](${primaryLink})`; } diff --git a/lib/workers/repository/process/lookup/__snapshots__/index.spec.ts.snap b/lib/workers/repository/process/lookup/__snapshots__/index.spec.ts.snap index 14be6b3cdc..85638738bc 100644 --- a/lib/workers/repository/process/lookup/__snapshots__/index.spec.ts.snap +++ b/lib/workers/repository/process/lookup/__snapshots__/index.spec.ts.snap @@ -79,6 +79,7 @@ Array [ exports[`workers/repository/process/lookup .lookupUpdates() handles digest pin 1`] = ` Object { "changelogUrl": undefined, + "dependencyUrl": undefined, "homepage": undefined, "sourceUrl": "https://github.com/nodejs/node", "updates": Array [ @@ -122,6 +123,7 @@ Object { exports[`workers/repository/process/lookup .lookupUpdates() handles digest pin for up to date version 1`] = ` Object { "changelogUrl": undefined, + "dependencyUrl": undefined, "homepage": undefined, "sourceUrl": "https://github.com/nodejs/node", "updates": Array [ @@ -139,6 +141,7 @@ Object { exports[`workers/repository/process/lookup .lookupUpdates() handles digest update 1`] = ` Object { "changelogUrl": undefined, + "dependencyUrl": undefined, "homepage": undefined, "sourceUrl": "https://github.com/nodejs/node", "updates": Array [ @@ -204,6 +207,7 @@ exports[`workers/repository/process/lookup .lookupUpdates() handles unknown data exports[`workers/repository/process/lookup .lookupUpdates() ignores deprecated 1`] = ` Object { "changelogUrl": undefined, + "dependencyUrl": undefined, "deprecationMessage": "On registry \`https://registry.npmjs.org/\`, the \\"latest\\" version (v1.4.1) of dependency \`q2\` has the following deprecation notice: \`true\` @@ -254,6 +258,7 @@ Array [ exports[`workers/repository/process/lookup .lookupUpdates() is deprecated 1`] = ` Object { "changelogUrl": undefined, + "dependencyUrl": undefined, "homepage": undefined, "sourceDirectory": "test", "sourceUrl": "https://github.com/kriskowal/q", @@ -419,6 +424,7 @@ Array [ exports[`workers/repository/process/lookup .lookupUpdates() returns complex object 1`] = ` Object { "changelogUrl": undefined, + "dependencyUrl": undefined, "homepage": undefined, "sourceUrl": "https://github.com/kriskowal/q", "updates": Array [ @@ -833,6 +839,7 @@ exports[`workers/repository/process/lookup .lookupUpdates() should warn if no ve exports[`workers/repository/process/lookup .lookupUpdates() skips uncompatible versions for 8 1`] = ` Object { "changelogUrl": undefined, + "dependencyUrl": undefined, "homepage": undefined, "sourceUrl": "https://github.com/nodejs/node", "updates": Array [ @@ -854,6 +861,7 @@ Object { exports[`workers/repository/process/lookup .lookupUpdates() skips uncompatible versions for 8.1 1`] = ` Object { "changelogUrl": undefined, + "dependencyUrl": undefined, "homepage": undefined, "sourceUrl": "https://github.com/nodejs/node", "updates": Array [ @@ -885,6 +893,7 @@ Object { exports[`workers/repository/process/lookup .lookupUpdates() skips uncompatible versions for 8.1.0 1`] = ` Object { "changelogUrl": undefined, + "dependencyUrl": undefined, "homepage": undefined, "sourceUrl": "https://github.com/nodejs/node", "updates": Array [ diff --git a/lib/workers/repository/process/lookup/index.ts b/lib/workers/repository/process/lookup/index.ts index 50f119fca7..fcd4b535fd 100644 --- a/lib/workers/repository/process/lookup/index.ts +++ b/lib/workers/repository/process/lookup/index.ts @@ -25,6 +25,7 @@ export interface UpdateResult { dockerRepository?: string; dockerRegistry?: string; changelogUrl?: string; + dependencyUrl?: string; homepage?: string; deprecationMessage?: string; sourceUrl?: string; @@ -174,6 +175,7 @@ export async function lookupUpdates( } res.homepage = dependency.homepage; res.changelogUrl = dependency.changelogUrl; + res.dependencyUrl = dependency?.dependencyUrl; // TODO: improve this // istanbul ignore if if (dependency.dockerRegistry) { -- GitLab