Есть ли способ обработки 'последней' 'с помощью semver ....?
Нет, если не использовать сам пакет semver , так как он этого не делаетзнать, что «последний».Метаданные, хранящиеся в реестре npm, связывают «последний» для данного пакета с полумесяцем.
Рассмотрите возможность выделения команды npm-view , используя execSync()
илиexec()
, чтобы получить 'последний' semver для пакета в реестре npm 1 .Затем передайте возвращенное значение в качестве второго аргумента для сравнения semver.eq(...)
.
Например:
const semver = require('semver');
const execSync = require('child_process').execSync;
function getLatestVersion(pkg) {
return JSON.parse(execSync(`npm view ${pkg} version --json`,
{ stdio: ['ignore', 'pipe', 'pipe'] }).toString());
}
const isEqual = semver.eq('2.1.3', getLatestVersion('lodash'));
console.log(isEqual); // --> false
- Как вы знаете из предыдущеговопрос здесь .Именно к чему относится последняя версия 1033 *, является ли она 'stable' , 'alpha' , 'beta' , 'rc' и т. д. могут отличаться.Однако, если владелец пакета правильно опубликовал обновления, он, скорее всего, будет 'stable' .