2025-06-30 09:38:03 +08:00

42 lines
1.1 KiB
JavaScript

const got = require("got");
const semver = require("semver");
const { fromNodeVersion } = require(".");
const { readFileSync, writeFileSync } = require("fs");
got(`https://www.electronjs.org/headers/index.json`).then((response) => {
const releases = JSON.parse(response.body).reverse();
const versionChanges = [];
releases.sort((a, b) => semver.compare(a.version, b.version));
let prevNapi = "";
for (const release of releases) {
if (release.version.includes("nightly")) {
continue;
}
const version = semver.parse(release.version);
if (version.major < 3) {
continue;
}
const thisNapi = fromNodeVersion(release.node);
if (thisNapi !== prevNapi) {
prevNapi = thisNapi;
versionChanges.push([release.version, prevNapi]);
}
}
const objStr = JSON.stringify(versionChanges.reverse(), null, " ");
const origFile = readFileSync("index.js", { encoding: "utf-8" });
const newFile = origFile.replace(
/\/\/ replace-start[\S\s]*\/\/ replace-end/g,
`// replace-start
${objStr};
// replace-end`
);
writeFileSync("index.js", newFile);
});