diff --git a/lib/datasource/index.js b/lib/datasource/index.js index 06b8712ace3e1be2e2fed902c1b0ec0999b57f09..b6134555c6b97263a3447c0c43c481d4d2c1d4a8 100644 --- a/lib/datasource/index.js +++ b/lib/datasource/index.js @@ -81,23 +81,23 @@ async function fetchReleases(config) { logger.info({ purlStr }, 'Cannot parse purl'); return null; } - if (!datasources[purl.type]) { - logger.warn({ purlStr }, 'Unknown purl type: ' + purl.type); + if (!datasources[purl.datasource]) { + logger.warn({ purlStr }, 'Unknown purl type: ' + purl.datasource); return null; } - const dep = await datasources[purl.type].getPkgReleases(purl, config); + const dep = await datasources[purl.datasource].getPkgReleases(purl, config); addMetaData(purl, dep); return dep; } function supportsDigests(purlStr) { const purl = parse(purlStr); - return !!datasources[purl.type].getDigest; + return !!datasources[purl.datasource].getDigest; } function getDigest(config, value) { const purl = parse(config.purl); - return datasources[purl.type].getDigest(config, value); + return datasources[purl.datasource].getDigest(config, value); } module.exports = { diff --git a/lib/datasource/metadata.js b/lib/datasource/metadata.js index 03fdef982abfc5210a55fd7664a7f8351629681b..99d88ffa27993442cb66f5852ab89dacbd7d485e 100644 --- a/lib/datasource/metadata.js +++ b/lib/datasource/metadata.js @@ -70,13 +70,16 @@ function addMetaData(purl, dep) { } const depName = purl.lookupName.toLowerCase(); if ( - manualChangelogUrls[purl.type] && - manualChangelogUrls[purl.type][depName] + manualChangelogUrls[purl.datasource] && + manualChangelogUrls[purl.datasource][depName] ) { - dep.changelogUrl = manualChangelogUrls[purl.type][depName]; + dep.changelogUrl = manualChangelogUrls[purl.datasource][depName]; } - if (manualSourceUrls[purl.type] && manualSourceUrls[purl.type][depName]) { - dep.sourceUrl = manualSourceUrls[purl.type][depName]; + if ( + manualSourceUrls[purl.datasource] && + manualSourceUrls[purl.datasource][depName] + ) { + dep.sourceUrl = manualSourceUrls[purl.datasource][depName]; } if ( !dep.sourceUrl && diff --git a/lib/util/purl.js b/lib/util/purl.js index 7a112eb6e790ec5919ddfd85cfc5fc4773d144c4..2b4e35ae7eabc9a09f1af427c334c6cd9220c1b0 100644 --- a/lib/util/purl.js +++ b/lib/util/purl.js @@ -25,7 +25,7 @@ function parse(input) { [remaining, res.version] = parts; } parts = remaining.split('/'); - [res.type, ...remaining] = parts; + [res.datasource, ...remaining] = parts; if (remaining.length === 1) { [res.name] = remaining; res.lookupName = res.name; diff --git a/test/util/__snapshots__/purl.spec.js.snap b/test/util/__snapshots__/purl.spec.js.snap index a30d63171babc00f6e2ae09bf99c749b91c69b80..dfb2156edc7e0698b77d9d22df2ebd5ef52ab9a0 100644 --- a/test/util/__snapshots__/purl.spec.js.snap +++ b/test/util/__snapshots__/purl.spec.js.snap @@ -2,52 +2,53 @@ exports[`util/purl parse() parses namespaced npm 1`] = ` Object { + "datasource": "npm", "lookupName": "@foo/bar", "name": "bar", "namespace": "@foo", "qualifiers": Object {}, - "type": "npm", } `; exports[`util/purl parse() parses namespaced npm with version 1`] = ` Object { + "datasource": "npm", "lookupName": "@foo/bar", "name": "bar", "namespace": "@foo", "qualifiers": Object {}, - "type": "npm", "version": "1.0.0", } `; exports[`util/purl parse() parses npm with version and 1 qualifier 1`] = ` Object { + "datasource": "npm", "lookupName": "foo", "name": "foo", "qualifiers": Object { "a": "b", }, - "type": "npm", "version": "1.0.0", } `; exports[`util/purl parse() parses npm with version and 2 qualifiers 1`] = ` Object { + "datasource": "npm", "lookupName": "foo", "name": "foo", "qualifiers": Object { "a": "b", "c": "d", }, - "type": "npm", "version": "1.0.0", } `; exports[`util/purl parse() parses npm with version and 2 qualifiers and subpath 1`] = ` Object { + "datasource": "npm", "lookupName": "foo", "name": "foo", "qualifiers": Object { @@ -55,16 +56,15 @@ Object { "c": "d", }, "subpath": "stop", - "type": "npm", "version": "1.0.0", } `; exports[`util/purl parse() parses simple npm 1`] = ` Object { + "datasource": "npm", "lookupName": "foo", "name": "foo", "qualifiers": Object {}, - "type": "npm", } `;