core.js 990 B

12345678910111213141516171819202122232425262728293031323334
  1. var current = (process.versions && process.versions.node && process.versions.node.split('.')) || [];
  2. function versionIncluded(specifier) {
  3. if (specifier === true) { return true; }
  4. var parts = specifier.split(' ');
  5. var op = parts[0];
  6. var versionParts = parts[1].split('.');
  7. for (var i = 0; i < 3; ++i) {
  8. var cur = Number(current[i] || 0);
  9. var ver = Number(versionParts[i] || 0);
  10. if (cur === ver) {
  11. continue; // eslint-disable-line no-restricted-syntax, no-continue
  12. }
  13. if (op === '<') {
  14. return cur < ver;
  15. } else if (op === '>=') {
  16. return cur >= ver;
  17. } else {
  18. return false;
  19. }
  20. }
  21. return false;
  22. }
  23. var data = require('./core.json');
  24. var core = {};
  25. for (var mod in data) { // eslint-disable-line no-restricted-syntax
  26. if (Object.prototype.hasOwnProperty.call(data, mod)) {
  27. core[mod] = versionIncluded(data[mod]);
  28. }
  29. }
  30. module.exports = core;