12345678910111213141516171819 |
- 'use strict';
- var semverRegex = require('semver-regex');
- var arrayUniq = require('array-uniq');
- module.exports = function (str, opts) {
- if (typeof str !== 'string') {
- throw new TypeError('Expected a string');
- }
- opts = opts || {};
- var reLoose = new RegExp('(?:' + semverRegex().source + ')|(?:v?(?:\\d+\\.\\d+)(?:\\.\\d+)?)', 'g');
- var matches = str.match(opts.loose === true ? reLoose : semverRegex()) || [];
- return arrayUniq(matches.map(function (el) {
- return el.trim().replace(/^v/, '').replace(/^\d+\.\d+$/, '$&.0');
- }));
- };
|