Skip to content
Snippets Groups Projects
Commit 371003fa authored by Rhys Arkins's avatar Rhys Arkins
Browse files

refactor: purl use subpath for lookupType

parent 8ee4a68e
No related branches found
No related tags found
No related merge requests found
...@@ -128,7 +128,7 @@ function extractPackageFile(content) { ...@@ -128,7 +128,7 @@ function extractPackageFile(content) {
dep.depName = depName; dep.depName = depName;
dep.repo = parsedUrl.repo; dep.repo = parsedUrl.repo;
dep.currentValue = parsedUrl.currentValue; dep.currentValue = parsedUrl.currentValue;
dep.purl = 'pkg:github/' + dep.repo + '?lookupType=releases'; dep.purl = 'pkg:github/' + dep.repo + '#releases';
deps.push(dep); deps.push(dep);
} else { } else {
logger.info( logger.info(
......
...@@ -41,10 +41,6 @@ function parse(input) { ...@@ -41,10 +41,6 @@ function parse(input) {
const [key, val] = qualifier.split('='); const [key, val] = qualifier.split('=');
res.qualifiers[key] = val; res.qualifiers[key] = val;
}); });
if (res.qualifiers.lookupType) {
res.lookupType = res.qualifiers.lookupType;
delete res.qualifiers.lookupType;
}
if (res.qualifiers.repository_url) { if (res.qualifiers.repository_url) {
res.repositoryUrls = res.qualifiers.repository_url.split(','); res.repositoryUrls = res.qualifiers.repository_url.split(',');
delete res.qualifiers.repository_url; delete res.qualifiers.repository_url;
...@@ -52,6 +48,10 @@ function parse(input) { ...@@ -52,6 +48,10 @@ function parse(input) {
} else { } else {
res.qualifiers = {}; res.qualifiers = {};
} }
if (res.subpath) {
res.lookupType = res.subpath;
delete res.subpath;
}
delete res.namespace; delete res.namespace;
delete res.name; delete res.name;
delete res.version; // we don't use it delete res.version; // we don't use it
......
...@@ -71,7 +71,7 @@ describe('datasource/github', () => { ...@@ -71,7 +71,7 @@ describe('datasource/github', () => {
]; ];
ghGot.mockReturnValueOnce({ headers: {}, body }); ghGot.mockReturnValueOnce({ headers: {}, body });
const res = await datasource.getPkgReleases({ const res = await datasource.getPkgReleases({
purl: 'pkg:github/some/dep?lookupType=releases', purl: 'pkg:github/some/dep#releases',
}); });
expect(res).toMatchSnapshot(); expect(res).toMatchSnapshot();
expect(res.releases).toHaveLength(2); expect(res.releases).toHaveLength(2);
......
...@@ -90,7 +90,7 @@ Array [ ...@@ -90,7 +90,7 @@ Array [
", ",
"depName": "io_bazel_rules_go", "depName": "io_bazel_rules_go",
"depType": "http_archive", "depType": "http_archive",
"purl": "pkg:github/bazelbuild/rules_go?lookupType=releases", "purl": "pkg:github/bazelbuild/rules_go#releases",
"repo": "bazelbuild/rules_go", "repo": "bazelbuild/rules_go",
}, },
Object { Object {
...@@ -107,7 +107,7 @@ Array [ ...@@ -107,7 +107,7 @@ Array [
", ",
"depName": "bazel_skylib", "depName": "bazel_skylib",
"depType": "http_archive", "depType": "http_archive",
"purl": "pkg:github/bazelbuild/bazel-skylib?lookupType=releases", "purl": "pkg:github/bazelbuild/bazel-skylib#releases",
"repo": "bazelbuild/bazel-skylib", "repo": "bazelbuild/bazel-skylib",
}, },
] ]
......
// Jest Snapshot v1, https://goo.gl/fbAQLP // 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 { Object {
"datasource": "github", "datasource": "github",
"lookupName": "abc/def", "lookupName": "abc/def",
...@@ -46,18 +46,6 @@ Object { ...@@ -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`] = ` exports[`util/purl parse() parses repository_url qualifier 1`] = `
Object { Object {
"datasource": "maven", "datasource": "maven",
......
...@@ -23,11 +23,8 @@ describe('util/purl', () => { ...@@ -23,11 +23,8 @@ describe('util/purl', () => {
it('parses npm with version and 2 qualifiers', () => { it('parses npm with version and 2 qualifiers', () => {
expect(parse('pkg:npm/foo@1.0.0?a=b&c=d')).toMatchSnapshot(); expect(parse('pkg:npm/foo@1.0.0?a=b&c=d')).toMatchSnapshot();
}); });
it('parses npm with version and 2 qualifiers and subpath', () => { it('parses github with subpath/lookupType', () => {
expect(parse('pkg:npm/foo@1.0.0?a=b&c=d#stop')).toMatchSnapshot(); expect(parse('pkg:github/abc/def#releases')).toMatchSnapshot();
});
it('parses github with lookupType', () => {
expect(parse('pkg:github/abc/def?lookupType=releases')).toMatchSnapshot();
}); });
it('parses repository_url qualifier', () => { it('parses repository_url qualifier', () => {
expect( expect(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment