-1

I have this piece of code:

  const semver = require('semver');

  let oldestVersion = '0.0.001';
  let youngestVersion = '9999.99.999';
  let youngestPackageName = null;
  let oldestPackageName = null;

  Object.keys(confirmProjects).forEach(k => {
    const v = confirmProjects[k];

    if (semver.lte(v.localVersion, youngestVersion)) {  // fails here
      youngestVersion = v.localVersion;
      youngestPackageName = v.name;
    }

    if (semver.gte(v.localVersion, oldestVersion)) {
      oldestVersion = v.localVersion;
      oldestPackageName = v.name;
    }
  });

the error is:

TypeError: Invalid Version: 0.0.001
    at new SemVer (/home/oleg/WebstormProjects/oresoftware/npp/node_modules/semver/semver.js:305:11)
    at compare (/home/oleg/WebstormProjects/oresoftware/npp/node_modules/semver/semver.js:578:39)
    at Function.gte (/home/oleg/WebstormProjects/oresoftware/npp/node_modules/semver/semver.js:627:10)

Does anyone know how to mitigate this or what might be wrong with my cdoe?

  • You should have read the [SemVer spec](https://semver.org) before posting this. Leading zeros have been banned from all numeric fields since version 2.0.0, at least several years ago. – jwdonahue Jul 15 '18 at 02:03

1 Answers1

1

Your version is invalid. It should be 0.0.1 instead.

If you need three digits for your revision, you can use them later... after 0.0.9 comes 0.0.10. After 0.0.99 comes 0.0.100, etc.

Brad
  • 159,648
  • 54
  • 349
  • 530