diff --git a/lib/manager/bazel/extract.js b/lib/manager/bazel/extract.js index de92493171df5bbecebd7893b73567ebf9b3c17d..b4eaafc13b9438fb750da3aaa7b516763d3eab1f 100644 --- a/lib/manager/bazel/extract.js +++ b/lib/manager/bazel/extract.js @@ -128,7 +128,7 @@ function extractPackageFile(content) { dep.depName = depName; dep.repo = parsedUrl.repo; dep.currentValue = parsedUrl.currentValue; - dep.purl = 'pkg:github/' + dep.repo + '?lookupType=releases'; + dep.purl = 'pkg:github/' + dep.repo + '#releases'; deps.push(dep); } else { logger.info( diff --git a/lib/util/purl.js b/lib/util/purl.js index 2127ef6ace46d9e7a6150bdb036837d52d334e3f..99a5f9f4557fefff6f68e111c16c830002c8c198 100644 --- a/lib/util/purl.js +++ b/lib/util/purl.js @@ -41,10 +41,6 @@ function parse(input) { const [key, val] = qualifier.split('='); res.qualifiers[key] = val; }); - if (res.qualifiers.lookupType) { - res.lookupType = res.qualifiers.lookupType; - delete res.qualifiers.lookupType; - } if (res.qualifiers.repository_url) { res.repositoryUrls = res.qualifiers.repository_url.split(','); delete res.qualifiers.repository_url; @@ -52,6 +48,10 @@ function parse(input) { } else { res.qualifiers = {}; } + if (res.subpath) { + res.lookupType = res.subpath; + delete res.subpath; + } delete res.namespace; delete res.name; delete res.version; // we don't use it diff --git a/test/datasource/github.spec.js b/test/datasource/github.spec.js index 3b249ba5e2853ef6d31381d0e018ec44d5fcc34d..ae6969936d12c13ee63467e0f527121858c49468 100644 --- a/test/datasource/github.spec.js +++ b/test/datasource/github.spec.js @@ -71,7 +71,7 @@ describe('datasource/github', () => { ]; ghGot.mockReturnValueOnce({ headers: {}, body }); const res = await datasource.getPkgReleases({ - purl: 'pkg:github/some/dep?lookupType=releases', + purl: 'pkg:github/some/dep#releases', }); expect(res).toMatchSnapshot(); expect(res.releases).toHaveLength(2); diff --git a/test/manager/bazel/__snapshots__/extract.spec.js.snap b/test/manager/bazel/__snapshots__/extract.spec.js.snap index 34f208315e85b0f2f37c8f0ed2857cb9eb42962d..514773788897c7a206569b7ce5347d557a083ed7 100644 --- a/test/manager/bazel/__snapshots__/extract.spec.js.snap +++ b/test/manager/bazel/__snapshots__/extract.spec.js.snap @@ -90,7 +90,7 @@ Array [ ", "depName": "io_bazel_rules_go", "depType": "http_archive", - "purl": "pkg:github/bazelbuild/rules_go?lookupType=releases", + "purl": "pkg:github/bazelbuild/rules_go#releases", "repo": "bazelbuild/rules_go", }, Object { @@ -107,7 +107,7 @@ Array [ ", "depName": "bazel_skylib", "depType": "http_archive", - "purl": "pkg:github/bazelbuild/bazel-skylib?lookupType=releases", + "purl": "pkg:github/bazelbuild/bazel-skylib#releases", "repo": "bazelbuild/bazel-skylib", }, ] diff --git a/test/util/__snapshots__/purl.spec.js.snap b/test/util/__snapshots__/purl.spec.js.snap index ceb89d7a6a03bd51cdd613a1886346fc39cd3055..564473a1200cc8e8d2a150a6885872ab8d0ac17a 100644 --- a/test/util/__snapshots__/purl.spec.js.snap +++ b/test/util/__snapshots__/purl.spec.js.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`util/purl parse() parses github with lookupType 1`] = ` +exports[`util/purl parse() parses github with subpath/lookupType 1`] = ` Object { "datasource": "github", "lookupName": "abc/def", @@ -46,18 +46,6 @@ Object { } `; -exports[`util/purl parse() parses npm with version and 2 qualifiers and subpath 1`] = ` -Object { - "datasource": "npm", - "lookupName": "foo", - "qualifiers": Object { - "a": "b", - "c": "d", - }, - "subpath": "stop", -} -`; - exports[`util/purl parse() parses repository_url qualifier 1`] = ` Object { "datasource": "maven", diff --git a/test/util/purl.spec.js b/test/util/purl.spec.js index 68d947ab698736a5810698d1a6831f213c71a646..96cf12db118585c6cc441e2c75a2157fbe2db282 100644 --- a/test/util/purl.spec.js +++ b/test/util/purl.spec.js @@ -23,11 +23,8 @@ describe('util/purl', () => { it('parses npm with version and 2 qualifiers', () => { expect(parse('pkg:npm/foo@1.0.0?a=b&c=d')).toMatchSnapshot(); }); - it('parses npm with version and 2 qualifiers and subpath', () => { - expect(parse('pkg:npm/foo@1.0.0?a=b&c=d#stop')).toMatchSnapshot(); - }); - it('parses github with lookupType', () => { - expect(parse('pkg:github/abc/def?lookupType=releases')).toMatchSnapshot(); + it('parses github with subpath/lookupType', () => { + expect(parse('pkg:github/abc/def#releases')).toMatchSnapshot(); }); it('parses repository_url qualifier', () => { expect(