Skip to content
Snippets Groups Projects
Select Git revision
  • 2373bacb0c6042737a099a61a543f2e2b45850a9
  • main default protected
  • rfc-external-artifact
  • release/v2.6.x
  • conform-k8s-1.33
  • release/v2.5.x
  • release/v2.4.x
  • remove-notation-validation
  • release/v2.3.x
  • release/v2.2.x
  • RFC
  • fix-commit-log
  • flux-audit
  • release/v2.1.x
  • context-ns
  • ksm-dashboard
  • rfc-passwordless-git-auth
  • release/v2.0.x
  • rfc-gating
  • release/v0.27.4
  • rfc-0003
  • v2.6.4 protected
  • v2.6.3 protected
  • v2.6.2 protected
  • v2.6.1 protected
  • v2.6.0 protected
  • v2.5.1 protected
  • v2.5.0 protected
  • v2.4.0 protected
  • v2.3.0 protected
  • v2.2.3 protected
  • v2.2.2 protected
  • v2.2.1 protected
  • v2.2.0 protected
  • v2.1.2 protected
  • v2.1.1 protected
  • v2.1.0 protected
  • v2.0.1 protected
  • v2.0.0 protected
  • v2.0.0-rc.5 protected
  • v2.0.0-rc.4 protected
41 results

bootstrap.go

Blame
  • index.ts 3.51 KiB
    import type { RangeStrategy } from '../../types';
    import managers from './api';
    import { customManagerList, isCustomManager } from './custom';
    import customManagers from './custom/api';
    import type {
      ExtractConfig,
      GlobalManagerConfig,
      ManagerApi,
      PackageFile,
      PackageFileContent,
      RangeConfig,
      Result,
    } from './types';
    export { hashMap } from './fingerprint.generated';
    
    const managerList = Array.from(managers.keys()); // does not include custom managers
    export const getManagerList = (): string[] => managerList;
    export const getManagers = (): Map<string, ManagerApi> => managers;
    export const allManagersList = [...managerList, ...customManagerList];
    
    export function get<T extends keyof ManagerApi>(
      manager: string,
      name: T,
    ): ManagerApi[T] | undefined {
      return isCustomManager(manager)
        ? customManagers.get(manager)?.[name]
        : managers.get(manager)?.[name];
    }
    
    export async function detectAllGlobalConfig(): Promise<GlobalManagerConfig> {
      let config: GlobalManagerConfig = {};
      for (const managerName of allManagersList) {
        const manager =
          managers.get(managerName)! ?? customManagers.get(managerName)!;
        if (manager.detectGlobalConfig) {
          // This should use mergeChildConfig once more than one manager is supported, but introduces a cyclic dependency
          config = { ...config, ...(await manager.detectGlobalConfig()) };
        }
      }
      return config;
    }
    
    export async function extractAllPackageFiles(
      manager: string,
      config: ExtractConfig,
      files: string[],
    ): Promise<PackageFile[] | null> {
      if (!managers.has(manager)) {
        return null;
      }
      const m = managers.get(manager)!;
      if (m.extractAllPackageFiles) {
        const res = await m.extractAllPackageFiles(config, files);
        // istanbul ignore if
        if (!res) {
          return null;
        }
        return res;
      }
      return null;
    }
    
    export function extractPackageFile(
      manager: string,
      content: string,
      fileName: string,
      config: ExtractConfig,
    ): Result<PackageFileContent | null> {
      const m = managers.get(manager)! ?? customManagers.get(manager)!;
      if (!m) {