Skip to content

Commit 9aa0dde

Browse files
Merge branch 'main' into dynamic-og-images
2 parents c2b60f9 + f65173a commit 9aa0dde

File tree

3 files changed

+28
-8
lines changed

3 files changed

+28
-8
lines changed

src/lib/repositories.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ const repos: Record<Category, { name: string; repos: RepoInfo[] }> = {
6161
{
6262
repoName: "language-tools",
6363
metadataFromTag: tag => {
64+
if (/@\d/.test(tag)) return splitByLastAt(tag);
6465
const lastIndex = tag.lastIndexOf("-");
6566
return [tag.substring(0, lastIndex), tag.substring(lastIndex + 1)];
6667
}

src/lib/server/github-cache.ts

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -693,13 +693,19 @@ export class GitHubCache {
693693
const { data: changelogResult } = await this.#octokit.rest.repos.getContent({
694694
owner,
695695
repo,
696-
ref:
697-
owner === "sveltejs" &&
698-
repo === "prettier-plugin-svelte" && // this repo is a bit of a mess (https://github.com/sveltejs/prettier-plugin-svelte/issues/497)
699-
tags[0] &&
700-
semver.major(repository.metadataFromTag(tags[0].name)[1]) === 3
701-
? "version-3" // a temporary fix to get the changelog from the right branch while v4 isn't out yet
702-
: undefined,
696+
ref: (() => {
697+
try {
698+
return owner === "sveltejs" &&
699+
repo === "prettier-plugin-svelte" && // this repo is a bit of a mess (https://github.com/sveltejs/prettier-plugin-svelte/issues/497)
700+
tags[0] &&
701+
semver.major(repository.metadataFromTag(tags[0].name)[1]) === 3
702+
? "version-3" // a temporary fix to get the changelog from the right branch while v4 isn't out yet
703+
: undefined;
704+
} catch {
705+
// handle oopsies for invalid versions returned from `metadataFromTag` (or others)
706+
return undefined;
707+
}
708+
})(),
703709
path: "CHANGELOG.md"
704710
});
705711

src/routes/package/releases.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,20 @@ export async function getPackageReleases(
7878
console.warn(`Empty release tag name: ${JSON.stringify(release)}`);
7979
return false;
8080
}
81-
const [name] = repo.metadataFromTag(release.tag_name);
81+
const [name, version] = repo.metadataFromTag(release.tag_name);
82+
if (semver.valid(version) === null) {
83+
posthog?.captureException(new Error("Invalid version"), undefined, {
84+
repo: `${repo.repoOwner}/${repo.repoName}`,
85+
packageName,
86+
tag: release.tag_name,
87+
parsedName: name,
88+
parsedVersion: version
89+
});
90+
console.warn(
91+
`Invalid version from \`metadataFromTag\` "${version}" gotten from ${release.tag_name}`
92+
);
93+
return false;
94+
}
8295
return (
8396
(repo.dataFilter?.(release) ?? true) &&
8497
repo.pkg.name.localeCompare(name, undefined, { sensitivity: "base" }) === 0

0 commit comments

Comments
 (0)