You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.0 KiB
38 lines
1.0 KiB
const got = require("got");
|
|
const semver = require("semver");
|
|
const { fromNodeVersion } = require(".");
|
|
const { readFileSync, writeFileSync } = require("fs");
|
|
|
|
got(`https://cdn.jsdelivr.net/gh/electron/releases/lite.json`).then(
|
|
(response) => {
|
|
const releases = JSON.parse(response.body).reverse();
|
|
|
|
const versionChanges = [];
|
|
|
|
let prevNapi = "";
|
|
for (const release of releases) {
|
|
const version = semver.parse(release.version);
|
|
if (version.major < 3) {
|
|
continue;
|
|
}
|
|
|
|
const thisNapi = fromNodeVersion(release.deps.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);
|
|
}
|
|
);
|