UNPKG

@mitre-attack/attack-data-model

Version:

A TypeScript API for the MITRE ATT&CK data model

29 lines (27 loc) 877 B
// src/data-sources/fetch-attack-versions.ts function normalizeVersion(version) { return version.replace(/^v/, ""); } async function fetchAttackVersions() { const url = "https://api.github.com/repos/mitre-attack/attack-stix-data/releases"; const response = await fetch(url, { headers: { Accept: "application/vnd.github+json", "X-GitHub-Api-Version": "2022-11-28" } }); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const releases = await response.json(); const versions = releases.map((release) => normalizeVersion(release.tag_name)).sort((a, b) => { const [aMajor, aMinor] = a.split(".").map(Number); const [bMajor, bMinor] = b.split(".").map(Number); if (bMajor !== aMajor) return bMajor - aMajor; return bMinor - aMinor; }); return versions; } export { fetchAttackVersions };