File tree Expand file tree Collapse file tree 2 files changed +27
-8
lines changed Expand file tree Collapse file tree 2 files changed +27
-8
lines changed Original file line number Diff line number Diff line change @@ -693,13 +693,19 @@ export class GitHubCache {
693
693
const { data : changelogResult } = await this . #octokit. rest . repos . getContent ( {
694
694
owner,
695
695
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
+ } ) ( ) ,
703
709
path : "CHANGELOG.md"
704
710
} ) ;
705
711
Original file line number Diff line number Diff line change @@ -78,7 +78,20 @@ export async function getPackageReleases(
78
78
console . warn ( `Empty release tag name: ${ JSON . stringify ( release ) } ` ) ;
79
79
return false ;
80
80
}
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
+ }
82
95
return (
83
96
( repo . dataFilter ?.( release ) ?? true ) &&
84
97
repo . pkg . name . localeCompare ( name , undefined , { sensitivity : "base" } ) === 0
You can’t perform that action at this time.
0 commit comments