Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

index.js 1.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. const semver = require("semver");
  2. // These are sourced from here:
  3. // https://nodejs.org/api/n-api.html#n_api_node_api_version_matrix
  4. const nodeApiVersionRanges = [
  5. ["^18.17 || ^20.3 || 21.0", 9],
  6. [">=16 || ^15.12 || ^12.22", 8],
  7. [">=15 || ^14.12 || ^12.19 || ^10.23", 7],
  8. [">=14 || ^12.17 || ^10.20", 6],
  9. [">=13 || ^12.11 || ^10.17", 5],
  10. [">=12 || ^11.8 || ^10.16", 4],
  11. [">=10", 3],
  12. ];
  13. function fromNodeVersion(nodeVersion) {
  14. for (const [range, version] of nodeApiVersionRanges) {
  15. if (semver.satisfies(nodeVersion, range)) {
  16. return version;
  17. }
  18. }
  19. return undefined;
  20. }
  21. exports.fromNodeVersion = fromNodeVersion;
  22. // These are populated via `yarn electron-versions`
  23. const electronNapiVersions =
  24. // replace-start
  25. [
  26. ["27.0.0-alpha.1", 9],
  27. ["15.0.0-alpha.1", 8],
  28. ["12.0.0-beta.1", 7],
  29. ["11.0.0-beta.1", 6],
  30. ["8.0.0-beta.1", 5],
  31. ["5.0.0-beta.1", 4],
  32. ["3.0.0-beta.1", 3],
  33. ];
  34. // replace-end
  35. function fromElectronVersion(electronVersion) {
  36. for (const [change, version] of electronNapiVersions) {
  37. if (semver.gte(electronVersion, change)) {
  38. return version;
  39. }
  40. }
  41. return undefined;
  42. }
  43. exports.fromElectronVersion = fromElectronVersion;