(v: string)
| 2 | import { gt, lte, minVersion, satisfies, validRange } from 'semver-es' |
| 3 | |
| 4 | export function getVersionRangePrefix(v: string) { |
| 5 | const leadings = ['>=', '<=', '>', '<', '~', '^'] |
| 6 | const ver = v.trim() |
| 7 | |
| 8 | if (ver === '*' || ver === '') |
| 9 | return '*' |
| 10 | if (ver[0] === '~' || ver[0] === '^') |
| 11 | return ver[0] |
| 12 | for (const leading of leadings) { |
| 13 | if (ver.startsWith(leading)) |
| 14 | return leading |
| 15 | } |
| 16 | if (ver.includes('x')) { |
| 17 | const parts = ver.split('.') |
| 18 | if (parts[0] === 'x') |
| 19 | return '*' |
| 20 | if (parts[1] === 'x') |
| 21 | return '^' |
| 22 | if (parts[2] === 'x') |
| 23 | return '~' |
| 24 | } |
| 25 | if (+ver[0] < 10) |
| 26 | return '' |
| 27 | return null |
| 28 | } |
| 29 | |
| 30 | export function changeVersionRange(version: string, mode: Exclude<RangeMode, 'latest' | 'newest' | 'stable' | 'next'>) { |
| 31 | if (!validRange(version)) |
no outgoing calls
no test coverage detected
searching dependent graphs…