diff --git a/src/bin-lint-semver-ranges/lint-semver-ranges.ts b/src/bin-lint-semver-ranges/lint-semver-ranges.ts index 2b57e4cf..ccbce57b 100644 --- a/src/bin-lint-semver-ranges/lint-semver-ranges.ts +++ b/src/bin-lint-semver-ranges/lint-semver-ranges.ts @@ -1,6 +1,7 @@ import chalk from 'chalk'; import type { Disk } from '../lib/disk'; import type { ProgramInput } from '../lib/get-input'; +import { isValidSemverRange } from '../lib/is-semver'; import { setSemverRange } from '../lib/set-semver-range'; import { listSemverGroupMismatches } from './list-semver-group-mismatches'; @@ -13,25 +14,25 @@ export function lintSemverRanges(input: ProgramInput, disk: Disk): void { * will then start from index 1. */ input.instances.semverGroups.reverse().forEach((semverGroup, i) => { - if (!('range' in semverGroup && semverGroup.range)) return; + if ('range' in semverGroup && isValidSemverRange(semverGroup.range)) { + const isSemverGroup = i > 0; + const mismatches = listSemverGroupMismatches(semverGroup); - const isSemverGroup = i > 0; - const mismatches = listSemverGroupMismatches(semverGroup); + if (isSemverGroup && mismatches.length > 0) { + console.log(chalk`{dim = Semver Group ${i} ${'='.repeat(63)}}`); + } - if (isSemverGroup && mismatches.length > 0) { - console.log(chalk`{dim = Semver Group ${i} ${'='.repeat(63)}}`); - } - - mismatches.forEach(({ dependencyType, name, version, wrapper }) => { - console.log( - chalk`{red ✕ ${name}} {red.dim ${version} in ${dependencyType} of ${ - wrapper.contents.name - } should be ${setSemverRange(semverGroup.range, version)}}`, - ); - }); + mismatches.forEach(({ dependencyType, name, version, wrapper }) => { + console.log( + chalk`{red ✕ ${name}} {red.dim ${version} in ${dependencyType} of ${ + wrapper.contents.name + } should be ${setSemverRange(semverGroup.range, version)}}`, + ); + }); - if (mismatches.length > 0) { - isInvalid = true; + if (mismatches.length > 0) { + isInvalid = true; + } } }); diff --git a/src/bin-set-semver-ranges/set-semver-ranges.ts b/src/bin-set-semver-ranges/set-semver-ranges.ts index 0ce6a79a..25ac1ef3 100644 --- a/src/bin-set-semver-ranges/set-semver-ranges.ts +++ b/src/bin-set-semver-ranges/set-semver-ranges.ts @@ -1,12 +1,14 @@ +import { isString } from 'expect-more'; import { listSemverGroupMismatches } from '../bin-lint-semver-ranges/list-semver-group-mismatches'; import type { Disk } from '../lib/disk'; import type { ProgramInput } from '../lib/get-input'; +import { isValidSemverRange } from '../lib/is-semver'; import { setSemverRange } from '../lib/set-semver-range'; import { writeIfChanged } from '../lib/write-if-changed'; export const setSemverRanges = (input: ProgramInput, disk: Disk): void => { input.instances.semverGroups.reverse().forEach((semverGroup) => { - if ('range' in semverGroup && semverGroup.range) { + if ('range' in semverGroup && isValidSemverRange(semverGroup.range)) { const mismatches = listSemverGroupMismatches(semverGroup); mismatches.forEach(({ dependencyType, name, version, wrapper }) => { if (dependencyType === 'workspace') return;