Skip to content
Snippets Groups Projects
Select Git revision
  • 987891ba2ec1445bbc5e0a3beefa8675c2ad2838
  • main default protected
  • next
  • fix/36615b-branch-reuse-no-cache
  • renovate/main-redis-5.x
  • chore/punycode
  • refactor/pin-new-value
  • feat/36219--git-x509-signing
  • feat/structured-logger
  • hotfix/39.264.1
  • feat/skip-dangling
  • gh-readonly-queue/next/pr-36034-7a061c4ca1024a19e2c295d773d9642625d1c2be
  • hotfix/39.238.3
  • refactor/gitlab-auto-approve
  • feat/template-strings
  • gh-readonly-queue/next/pr-35654-137d934242c784e0c45d4b957362214f0eade1d7
  • fix/32307-global-extends-merging
  • fix/32307-global-extends-repositories
  • gh-readonly-queue/next/pr-35009-046ebf7cb84ab859f7fefceb5fa53a54ce9736f8
  • gh-readonly-queue/next/pr-35009-9d5e583b7d7251148ab0d11ee8dd38149618d162
  • gh-readonly-queue/next/pr-35009-a70e4ea7c6484aef873585a7f22ee2f796c58cb5
  • 41.42.9
  • 41.42.8
  • 41.42.7
  • 41.42.6
  • 41.42.5
  • 41.42.4
  • 41.42.3
  • 41.42.2
  • 41.42.1
  • 41.42.0
  • 41.41.0
  • 41.40.0
  • 41.39.0
  • 41.38.2
  • 41.38.1
  • 41.38.0
  • 41.37.12
  • 41.37.11
  • 41.37.10
  • 41.37.9
41 results

determine.js

Blame
  • user avatar
    Rhys Arkins authored and GitHub committed
    This PR adds support for bazel WORKSPACE package files, as suggested https://github.com/alexeagle/angular-bazel-example/issues/17#issuecomment-349167982
    
    Renovate will:
    1. Detect `WORKSPACE` files anywhere in the repository
    2. Look for all `git_repository()` sections in the file
    3. Extract any dependencies with name, remote and tag values
    4. Look up any dependencies that (a) have a github https remote, and (b) a valid semver as tag
    5. Update the tag to the latest available
    987891ba
    History
    determine.js 2.47 KiB
    const packageFileWorker = require('../../package-file');
    const { mergeChildConfig, filterConfig } = require('../../../config');
    const { detectSemanticCommits } = require('./semantic');
    
    async function determineRepoUpgrades(config) {
      logger.debug('determineRepoUpgrades()');
      logger.trace({ config });
      let upgrades = [];
      logger.debug(`Found ${config.packageFiles.length} package files`);
      // Iterate through repositories sequentially
      for (const packageFile of config.packageFiles) {
        logger.trace({ packageFile }, 'Getting packageFile config');
        let packageFileConfig = mergeChildConfig(config, packageFile);
        packageFileConfig = filterConfig(packageFileConfig, 'packageFile');
        if (packageFileConfig.packageFile.endsWith('package.json')) {
          logger.info(
            { packageFile: packageFileConfig.packageFile },
            'Renovating package.json dependencies'
          );
          upgrades = upgrades.concat(
            await packageFileWorker.renovatePackageFile(packageFileConfig)
          );
        } else if (packageFileConfig.packageFile.endsWith('package.js')) {
          logger.info('Renovating package.js (meteor) dependencies');
          upgrades = upgrades.concat(
            await packageFileWorker.renovateMeteorPackageFile(packageFileConfig)
          );
        } else if (packageFileConfig.packageFile.endsWith('Dockerfile')) {
          logger.info('Renovating Dockerfile FROM');
          upgrades = upgrades.concat(
            await packageFileWorker.renovateDockerfile(packageFileConfig)
          );
        } else if (packageFileConfig.packageFile.endsWith('.travis.yml')) {
          logger.info('Renovating .travis.yml node_js versions');
          upgrades = upgrades.concat(
            await packageFileWorker.renovateNodeFile(packageFileConfig)
          );
        } else if (packageFileConfig.packageFile.endsWith('WORKSPACE')) {
          logger.info('Renovating bazel WORKSPACE dependencies');
          upgrades = upgrades.concat(
            await packageFileWorker.renovateBazelFile(packageFileConfig)
          );
        }
      }
      let semanticCommits;
      if (upgrades.length) {
        semanticCommits = await detectSemanticCommits(config);
      }
      // Sanitize depNames
      upgrades = upgrades.map(upgrade => ({
        ...upgrade,
        semanticCommits,
        depNameSanitized: upgrade.depName
          ? upgrade.depName
              .replace('@', '')
              .replace('/', '-')
              .replace(/\s+/g, '-')
              .toLowerCase()
          : undefined,
      }));
    
      logger.debug('returning upgrades');
      return { ...config, upgrades };
    }
    
    module.exports = { determineRepoUpgrades };