Skip to content
Snippets Groups Projects
Select Git revision
  • 3f7414f8ae1d8a4e7c6de55d5750edd9cd62332d
  • master default protected
  • gh-pages
  • dependabot/npm_and_yarn/nock-14.0.5
  • dependabot/npm_and_yarn/react-19.1.0
  • dependabot/npm_and_yarn/react-dom-19.1.0
  • server-2025-02-01-6100669a
  • server-2024-11-01-87cba042
  • server-2024-10-01-6875b7c8
  • dependabot/npm_and_yarn/path-to-regexp-8.2.0
  • server-2024-09-01-3d52575c
  • daily-tests-gha2
  • daily-tests-gha
  • server-2023-12-01-92d8fb8e
  • server-2023-11-01-a80c93fd
  • server-2023-10-01-31096085
  • coc-v2
  • server-2023-09-01-8edc3810
  • server-2023-08-01-75858a03
  • server-2023-07-01-02183d8d
  • test-9317
  • server-2025-07-01
  • 5.0.2
  • 5.0.1
  • 5.0.0
  • server-2025-06-01
  • server-2025-05-01
  • server-2025-04-03
  • server-2025-03-02
  • server-2025-03-01
  • server-2025-02-02
  • server-2025-01-01
  • server-2024-12-01
  • server-2024-11-02
  • 4.1.0
  • server-2024-09-25
  • server-2024-09-02
  • server-2024-08-01
  • server-2024-07-01
  • 4.0.0
  • server-2024-06-01
41 results

badge.js

Blame
  • range.ts 1.23 KiB
    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 = {},
        depType,
        depName,
        currentValue,
        rangeStrategy,
      } = config;
      const { composerJsonType } = managerData as ComposerManagerData;
      const isComplexRange = currentValue?.includes(' || ');
      if (rangeStrategy === 'bump' && isComplexRange) {
        logger.debug(
          { currentValue },
          'Replacing bump strategy for complex range with widen'
        );
        return 'widen';
      }
      if (rangeStrategy !== 'auto') {
        return rangeStrategy;
      }
      if (depType === 'require-dev') {
        // Always pin dev dependencies
        logger.trace({ dependency: depName }, 'Pinning require-dev');
        return 'pin';
      }
      const isApp =
        composerJsonType &&
        !['library', 'metapackage', 'composer-plugin'].includes(composerJsonType);
      if (isApp && depType === 'require') {
        // Pin dependencies if it's an app/project
        logger.trace({ dependency: depName }, 'Pinning app require');
        return 'pin';
      }
      if (isComplexRange) {
        return 'widen';
      }
      return 'replace';
    }