import { getConfigFileNames } from '../../../config/app-strings.ts'; import type { RenovateConfig } from '../../../config/types.ts'; import { logger } from '../../../logger/index.ts'; import * as memCache from '../../../util/cache/memory/index.ts'; import { getInheritedOrGlobal } from '../../../util/common.ts'; export function getSemanticCommitPrTitle(config: RenovateConfig): string { return `${config.semanticCommitType ?? 'chore'}: ${getInheritedOrGlobal('onboardingPrTitle')}`; } export function getDefaultConfigFileName(): string { const configFileNames = getConfigFileNames(); const onboardingConfigFileName = getInheritedOrGlobal( 'onboardingConfigFileName', ); return configFileNames.includes(onboardingConfigFileName!) ? onboardingConfigFileName! : configFileNames[0]; } export class OnboardingState { private static readonly cacheKey = 'OnboardingState'; private static readonly skipKey = 'OnboardingStateValid'; static get prUpdateRequested(): boolean { const updateRequested = !!memCache.get( OnboardingState.cacheKey, ); logger.trace( { value: updateRequested }, 'Get OnboardingState.prUpdateRequested', ); return updateRequested; } static set prUpdateRequested(value: boolean) { logger.trace({ value }, 'Set OnboardingState.prUpdateRequested'); memCache.set(OnboardingState.cacheKey, value); } static get onboardingCacheValid(): boolean { const cacheValid = !!memCache.get( OnboardingState.skipKey, ); logger.trace( { value: cacheValid }, 'Get OnboardingState.onboardingCacheValid', ); return cacheValid; } static set onboardingCacheValid(value: boolean) { logger.trace({ value }, 'Set OnboardingState.onboardingCacheValid'); memCache.set(OnboardingState.skipKey, value); } }