Skip to content
Snippets Groups Projects
Select Git revision
  • 23c0406bedfc6930735e8f5ea75dfe34faf1f290
  • master default protected
  • gh-pages
  • dependabot/npm_and_yarn/eslint-plugin-jsdoc-51.0.3
  • 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
  • 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

influx-metrics.spec.js

Blame
  • index.ts 3.68 KiB
    import pMap from 'p-map';
    import { getAdminConfig } from '../../../config/admin';
    import { GetPkgReleasesConfig, getPkgReleases } from '../../../datasource';
    import { logger } from '../../../logger';
    import { get as getVersioning } from '../../../versioning';
    import type {
      UpdateArtifact,
      UpdateArtifactsConfig,
      UpdateArtifactsResult,
    } from '../../types';
    import hash from './hash';
    import type { ProviderLock, ProviderLockUpdate } from './types';
    import {
      extractLocks,
      isPinnedVersion,
      readLockFile,
      writeLockUpdates,
    } from './util';
    
    async function updateAllLocks(
      locks: ProviderLock[],
      config: UpdateArtifactsConfig
    ): Promise<ProviderLockUpdate[]> {
      const { cacheDir } = getAdminConfig();
    
      const updates = await pMap(
        locks,
        async (lock) => {
          const updateConfig: GetPkgReleasesConfig = {
            versioning: 'hashicorp',
            datasource: 'terraform-provider',
            depName: lock.lookupName,
          };
          const { releases } = await getPkgReleases(updateConfig);
          const versioning = getVersioning(updateConfig.versioning);
          const versionsList = releases.map((release) => release.version);
          const newVersion = versioning.getSatisfyingVersion(
            versionsList,
            lock.constraints
          );
    
          // if the new version is the same as the last, signal that no update is needed
          if (newVersion === lock.version) {
            return null;
          }
          const update: ProviderLockUpdate = {
            newVersion,
            newConstraint: lock.constraints,
            newHashes: await hash(lock.lookupName, newVersion, cacheDir),
            ...lock,
          };
          return update;
        },
        { concurrency: 4 } // allow to look up 4 lock in parallel
      );
    
      return updates.filter(Boolean);
    }
    
    export async function updateArtifacts({
      packageFileName,
      updatedDeps,
      config,
    }: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {
      logger.debug(`terraform.updateArtifacts(${packageFileName})`);
    
      // TODO remove experimental flag, if functionality is confirmed
      if (!process.env.RENOVATE_X_TERRAFORM_LOCK_FILE) {
        logger.debug(
          `terraform.updateArtifacts: skipping updates. Experimental feature not activated`