agmission/Development/client/scripts/generate-release-manifest.js
Devin Major ad7db99f07
Some checks failed
Server Tests / Mocha – Unit & Utility Tests (push) Successful in 1m29s
Server Tests / Jest – Integration Tests (push) Failing after 1m57s
all Data Export API changes until may 8 2026
2026-05-08 11:48:21 -04:00

37 lines
979 B
JavaScript

const fs = require('fs');
const path = require('path');
const releasesDir = path.resolve(__dirname, '..', 'docs', 'releases');
const manifestPath = path.join(releasesDir, 'releases-manifest.json');
function toTitle(fileName) {
return path.basename(fileName, path.extname(fileName));
}
function getReleaseEntries() {
if (!fs.existsSync(releasesDir)) {
return [];
}
return fs.readdirSync(releasesDir, { withFileTypes: true })
.filter((entry) => entry.isFile() && path.extname(entry.name).toLowerCase() === '.md')
.map((entry) => entry.name)
.sort((left, right) => right.localeCompare(left, undefined, { numeric: true, sensitivity: 'base' }))
.map((fileName) => ({
fileName,
title: toTitle(fileName)
}));
}
function main() {
fs.mkdirSync(releasesDir, { recursive: true });
const manifest = {
revisions: getReleaseEntries()
};
fs.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2) + '\n', 'utf8');
}
main();