@@ -6,29 +6,17 @@ import { join, resolve } from "node:path";
66import sh from "shelljs" ;
77import * as config from "./config.mjs" ;
88import { fetchGithubRestAPI , fetchWithReport , packageMeta , streamPipe , usetmp } from "./utils.mjs" ;
9+ import { atlasCoreReleaseUrl } from "./config.mjs" ;
910
1011const { cp, rm, mkdir, test } = sh ;
1112
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 } ` ) ;
2918 }
30-
31- return filteredReleases [ 0 ] ;
19+ return await response . json ( ) ;
3220}
3321
3422async function downloadAndExtract ( url , downloadPath , extractPath ) {
@@ -47,10 +35,7 @@ async function updateAtlasThemeSource() {
4735
4836 rm ( "-rf" , config . atlasDirsToRemove ) ;
4937
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" ) ;
5439 const { browser_download_url } = release . assets [ 0 ] ;
5540 const downloadedPath = join ( await usetmp ( ) , config . nameForDownloadedAtlasCore ) ;
5641 const outPath = await usetmp ( ) ;
@@ -78,11 +63,7 @@ async function updateAtlasTheme() {
7863
7964 // Fetch the specific release by tag from GitHub API
8065 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 ) ;
8667 if ( ! release . assets || release . assets . length === 0 ) {
8768 throw new Error ( `No assets found for release tag: ${ tag } ` ) ;
8869 }
0 commit comments