Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

electron-versions.js 1.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. const got = require("got");
  2. const semver = require("semver");
  3. const { fromNodeVersion } = require(".");
  4. const { readFileSync, writeFileSync } = require("fs");
  5. got(`https://www.electronjs.org/headers/index.json`).then((response) => {
  6. const releases = JSON.parse(response.body).reverse();
  7. const versionChanges = [];
  8. releases.sort((a, b) => semver.compare(a.version, b.version));
  9. let prevNapi = "";
  10. for (const release of releases) {
  11. if (release.version.includes("nightly")) {
  12. continue;
  13. }
  14. const version = semver.parse(release.version);
  15. if (version.major < 3) {
  16. continue;
  17. }
  18. const thisNapi = fromNodeVersion(release.node);
  19. if (thisNapi !== prevNapi) {
  20. prevNapi = thisNapi;
  21. versionChanges.push([release.version, prevNapi]);
  22. }
  23. }
  24. const objStr = JSON.stringify(versionChanges.reverse(), null, " ");
  25. const origFile = readFileSync("index.js", { encoding: "utf-8" });
  26. const newFile = origFile.replace(
  27. /\/\/ replace-start[\S\s]*\/\/ replace-end/g,
  28. `// replace-start
  29. ${objStr};
  30. // replace-end`
  31. );
  32. writeFileSync("index.js", newFile);
  33. });