Skip to content

Commit dc8a020

Browse files
fix(packages): improve algorithm to filter packages
1 parent fba4511 commit dc8a020

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

src/routes/package/[...package]/+page.server.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,21 +27,22 @@ export async function load({ params }) {
2727
);
2828

2929
// 2. Filter out invalid ones
30-
const dataFiltered = cachedReleases
31-
.filter(release => repo.dataFilter?.(release) ?? true)
30+
const validReleases = cachedReleases
31+
.filter(release => {
32+
const [name] = repo.metadataFromTag(release.tag_name);
33+
return (
34+
(repo.dataFilter?.(release) ?? true) &&
35+
slugPackage.localeCompare(name, undefined, { sensitivity: "base" }) === 0
36+
);
37+
})
3238
.sort((a, b) => {
3339
const [, firstVersion] = repo.metadataFromTag(a.tag_name);
3440
const [, secondVersion] = repo.metadataFromTag(b.tag_name);
3541
return semver.rcompare(firstVersion, secondVersion);
3642
});
37-
console.log("Length after filtering:", dataFiltered.length);
38-
const pkgTagFiltered = dataFiltered.filter(({ tag_name }) =>
39-
tag_name.toLowerCase().includes(slugPackage.toLowerCase())
40-
);
41-
console.log(`Got ${pkgTagFiltered.length} releases after filtering by package name`);
43+
console.log("Length after filtering:", validReleases.length);
4244
// Get the releases matching the slug, or all of them if none
4345
// (the latter case for repos with no package in names)
44-
const validReleases = pkgTagFiltered.length ? pkgTagFiltered : dataFiltered;
4546
console.log("Final filtered count:", validReleases.length);
4647

4748
// 3. For each release, check if it is already found, searching by versions

0 commit comments

Comments
 (0)