eslint-config-lemon
Version:
<div align="center"> <br> <img width="400" src="logo.svg"> <br> <br> </div>
13 lines (9 loc) • 537 B
JavaScript
import semverRegex from 'semver-regex';
export default function findVersions(stringWithVersions, {loose = false} = {}) {
if (typeof stringWithVersions !== 'string') {
throw new TypeError(`Expected a string, got ${typeof stringWithVersions}`);
}
const regex = loose ? new RegExp(`(?:${semverRegex().source})|(?:v?(?:\\d+\\.\\d+)(?:\\.\\d+)?)`, 'g') : semverRegex();
const matches = stringWithVersions.match(regex) || [];
return [...new Set(matches.map(match => match.trim().replace(/^v/, '').replace(/^\d+\.\d+$/, '$&.0')))];
}