index.js 639 B

123456789101112131415161718192021222324252627282930313233
  1. 'use strict';
  2. const os = require('os');
  3. const nameMap = new Map([
  4. [19, 'Catalina'],
  5. [18, 'Mojave'],
  6. [17, 'High Sierra'],
  7. [16, 'Sierra'],
  8. [15, 'El Capitan'],
  9. [14, 'Yosemite'],
  10. [13, 'Mavericks'],
  11. [12, 'Mountain Lion'],
  12. [11, 'Lion'],
  13. [10, 'Snow Leopard'],
  14. [9, 'Leopard'],
  15. [8, 'Tiger'],
  16. [7, 'Panther'],
  17. [6, 'Jaguar'],
  18. [5, 'Puma']
  19. ]);
  20. const macosRelease = release => {
  21. release = Number((release || os.release()).split('.')[0]);
  22. return {
  23. name: nameMap.get(release),
  24. version: '10.' + (release - 4)
  25. };
  26. };
  27. module.exports = macosRelease;
  28. // TODO: remove this in the next major version
  29. module.exports.default = macosRelease;