@@ -6,29 +6,17 @@ import { join, resolve } from "node:path";
6
6
import sh from "shelljs" ;
7
7
import * as config from "./config.mjs" ;
8
8
import { fetchGithubRestAPI , fetchWithReport , packageMeta , streamPipe , usetmp } from "./utils.mjs" ;
9
+ import { atlasCoreReleaseUrl } from "./config.mjs" ;
9
10
10
11
const { cp, rm, mkdir, test } = sh ;
11
12
12
- async function getLatestReleaseByName ( name , atlasCoreReleaseUrl ) {
13
- const releasesResponse = await fetchGithubRestAPI ( `${ atlasCoreReleaseUrl } ` ) ;
14
-
15
- if ( ! releasesResponse . ok ) {
16
- throw new Error ( "Can't fetch releases" ) ;
17
- }
18
-
19
- const releases = await releasesResponse . json ( ) ;
20
-
21
- if ( ! Array . isArray ( releases ) ) {
22
- throw new Error ( "Releases response is not an array" ) ;
23
- }
24
-
25
- const filteredReleases = releases . filter ( release => release . name . toLowerCase ( ) . includes ( name . toLowerCase ( ) ) ) ;
26
-
27
- if ( filteredReleases . length === 0 ) {
28
- throw new Error ( `No releases found with name: ${ name } ` ) ;
13
+ async function getReleaseByTag ( tag ) {
14
+ const url = `${ atlasCoreReleaseUrl } /tags/${ tag } ` ;
15
+ const response = await fetchGithubRestAPI ( url ) ;
16
+ if ( ! response . ok ) {
17
+ throw new Error ( `Can't fetch release for tag: ${ tag } ` ) ;
29
18
}
30
-
31
- return filteredReleases [ 0 ] ;
19
+ return await response . json ( ) ;
32
20
}
33
21
34
22
async function downloadAndExtract ( url , downloadPath , extractPath ) {
@@ -47,10 +35,7 @@ async function updateAtlasThemeSource() {
47
35
48
36
rm ( "-rf" , config . atlasDirsToRemove ) ;
49
37
50
- const release = await getLatestReleaseByName (
51
- "Atlas Core - Marketplace Release v3.17.0" ,
52
- config . atlasCoreReleaseUrl
53
- ) ;
38
+ const release = await getReleaseByTag ( "atlas-core-v3.17.0" ) ;
54
39
const { browser_download_url } = release . assets [ 0 ] ;
55
40
const downloadedPath = join ( await usetmp ( ) , config . nameForDownloadedAtlasCore ) ;
56
41
const outPath = await usetmp ( ) ;
@@ -78,11 +63,7 @@ async function updateAtlasTheme() {
78
63
79
64
// Fetch the specific release by tag from GitHub API
80
65
const tag = "atlasui-theme-files-2024-01-25" ;
81
- const releaseResponse = await fetchGithubRestAPI ( `${ config . atlasCoreReleaseUrl } /tags/${ tag } ` ) ;
82
- if ( ! releaseResponse . ok ) {
83
- throw new Error ( `Can't fetch release for tag: ${ tag } ` ) ;
84
- }
85
- const release = await releaseResponse . json ( ) ;
66
+ const release = await getReleaseByTag ( tag ) ;
86
67
if ( ! release . assets || release . assets . length === 0 ) {
87
68
throw new Error ( `No assets found for release tag: ${ tag } ` ) ;
88
69
}
0 commit comments