Files
renovate/lib/modules/manager/composer/range.ts
T
renovate[bot] fe739befbf chore(deps): update linters to v6 (major) (#23325)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2023-08-02 15:07:49 +00:00

28 lines
881 B
TypeScript

import { logger } from '../../../logger';
import type { RangeStrategy } from '../../../types';
import type { RangeConfig } from '../types';
import type { ComposerManagerData } from './types';
export function getRangeStrategy(config: RangeConfig): RangeStrategy {
const { managerData = {}, currentValue, rangeStrategy } = config;
const { composerJsonType } = managerData as ComposerManagerData;
const isComplexRange = currentValue?.includes(' || ') ?? false;
if (rangeStrategy === 'bump' && isComplexRange) {
logger.debug(
{ currentValue },
'Replacing bump strategy for complex range with widen'
);
return 'widen';
}
if (rangeStrategy !== 'auto') {
return rangeStrategy;
}
if (
isComplexRange ||
(composerJsonType && ['typo3-cms-extension'].includes(composerJsonType))
) {
return 'widen';
}
return 'update-lockfile';
}