mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-02-28 00:27:26 +00:00
* chore: update constants * feat: add releases data utils * chore: add fast-xml-parser * chore: update types * feat: fetch & parse all releases data * chore: update utils * wip: use real data on DataTable * chore: update yarn.lock * fix: getReleaseCommitHash * feat: filter data per downloads tab * chore: update DownloadsTable * chore: update DownloadsTable Props * fix: getReleaseArch.ts * feat: add fetchXMLData util * feat: add fetchLatestReleaseCommit util * feat: add getSortedReleases util * chore: comment wip primary release feature * fix: fetchXMLData * chore: add netlify.toml * fix: total number of releases count * fix: center showing latest releases text and use smaller font * chore: prettier * chore: update textStyles * fix: merge conflicts
45 lines
1.4 KiB
TypeScript
45 lines
1.4 KiB
TypeScript
import {
|
|
getChecksum,
|
|
getReleaseArch,
|
|
getReleaseCommitHash,
|
|
getReleaseCommitURL,
|
|
getReleaseKind,
|
|
getReleaseName,
|
|
getReleaseSize,
|
|
getReleaseURL,
|
|
getSignatureURL
|
|
} from '.';
|
|
|
|
import { ReleaseData, ReleaseParams } from '../types';
|
|
|
|
export const mapReleasesData = ({ blobsList, isStableRelease }: ReleaseParams): ReleaseData[] => {
|
|
return blobsList
|
|
.filter(({ Name }: any) => !Name.endsWith('.asc') && !Name.endsWith('.sig')) // skip blobs we don't need to list
|
|
.filter(({ Name }: any) =>
|
|
isStableRelease ? !Name.includes('unstable') : Name.includes('unstable')
|
|
) // filter by stable/dev builds
|
|
.map(({ Name, Properties }: any) => {
|
|
const commitHash = getReleaseCommitHash(Name);
|
|
|
|
return {
|
|
release: {
|
|
label: getReleaseName(Name),
|
|
url: getReleaseURL(Name)
|
|
},
|
|
commit: {
|
|
label: commitHash,
|
|
url: getReleaseCommitURL(commitHash)
|
|
},
|
|
kind: getReleaseKind(Name),
|
|
arch: getReleaseArch(Name),
|
|
size: getReleaseSize(Properties['Content-Length']),
|
|
// date is formatted later on the table, we use the raw value here for comparison
|
|
published: Properties['Last-Modified'],
|
|
signature: {
|
|
label: 'Signature',
|
|
url: getSignatureURL(Name)
|
|
},
|
|
checksum: getChecksum(Properties['Content-MD5'])
|
|
};
|
|
});
|
|
};
|