1
- import axios , { AxiosRequestConfig } from 'axios' ;
1
+ import axios , { AxiosRequestConfig , isAxiosError } from 'axios' ;
2
2
import pkg from '../package.json' ;
3
3
import { packageName } from './constants' ;
4
4
@@ -26,6 +26,7 @@ const axiosBaseConfig = ({ githubToken }): AxiosRequestConfig => ({
26
26
async function getGithubPagesTree ( ) : Promise < GithubTreeItem [ ] > {
27
27
hasGithubToken ( ) ;
28
28
const url = `https://api.github.com/repos/${ pkg . author } /${ packageName } /git/trees/gh-pages` ;
29
+ console . log ( 'url' , url ) ;
29
30
const { data } = await axios < { tree : GithubTreeItem [ ] } > ( {
30
31
...axiosBaseConfig ( { githubToken : process . env . GITHUB_TOKEN } ) ,
31
32
method : 'get' ,
@@ -34,9 +35,7 @@ async function getGithubPagesTree(): Promise<GithubTreeItem[]> {
34
35
return data . tree ;
35
36
}
36
37
37
- async function getGithubPagesVersionFolderTree (
38
- tree : GithubTreeItem [ ]
39
- ) : Promise < GithubTreeItem [ ] > {
38
+ async function getGithubPagesVersionFolderTree ( tree : GithubTreeItem [ ] ) : Promise < GithubTreeItem [ ] > {
40
39
hasGithubToken ( ) ;
41
40
const versionNode = tree . find ( ( e ) => e . path . toLowerCase ( ) === 'version' ) ;
42
41
const { data } = await axios < { tree : GithubTreeItem [ ] } > ( {
@@ -57,8 +56,7 @@ function getOptionsFromTree(tree: GithubTreeItem[]): VersionsOptions {
57
56
const e1V = parseInt ( e1Arr [ i ] ) ;
58
57
const e2V = parseInt ( e2Arr [ i ] ) ;
59
58
if ( e1V !== e2V ) return e2V - e1V ;
60
- if ( e1Arr [ i ] !== e2Arr [ i ] )
61
- return parseInt ( e2Arr [ i ] ) - parseInt ( e1Arr [ i ] ) ;
59
+ if ( e1Arr [ i ] !== e2Arr [ i ] ) return parseInt ( e2Arr [ i ] ) - parseInt ( e1Arr [ i ] ) ;
62
60
}
63
61
return e1 . text === e2 . text ? 0 : e2 . text < e1 . text ? - 1 : 1 ;
64
62
} ) ;
@@ -67,7 +65,15 @@ function getOptionsFromTree(tree: GithubTreeItem[]): VersionsOptions {
67
65
}
68
66
69
67
export async function getVersions ( ) : Promise < VersionsOptions > {
70
- const tree = await getGithubPagesTree ( ) ;
71
- const versionFolderTree = await getGithubPagesVersionFolderTree ( tree ) ;
72
- return getOptionsFromTree ( versionFolderTree ) ;
68
+ try {
69
+ const tree = await getGithubPagesTree ( ) ;
70
+ const versionFolderTree = await getGithubPagesVersionFolderTree ( tree ) ;
71
+ return getOptionsFromTree ( versionFolderTree ) ;
72
+ } catch ( error ) {
73
+ if ( isAxiosError ( error ) ) {
74
+ console . error ( 'Error getting versions' , error . response ?. data ) ;
75
+ } else {
76
+ console . error ( 'Error getting versions' , error ) ;
77
+ }
78
+ }
73
79
}
0 commit comments