renovate 44.40.0 → 44.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/options/index.js +11 -1
- package/dist/config/options/index.js.map +1 -1
- package/dist/config/presets/index.js +2 -1
- package/dist/config/presets/index.js.map +1 -1
- package/dist/config/presets/internal/group.preset.js +2 -4
- package/dist/config/presets/internal/group.preset.js.map +1 -1
- package/dist/config/presets/internal/workarounds.preset.js +1 -2
- package/dist/config/presets/internal/workarounds.preset.js.map +1 -1
- package/dist/config/types.d.ts +1 -0
- package/dist/config/types.js.map +1 -1
- package/dist/data/replacements.js +1 -2
- package/dist/global-config-option-defaults.generated.js +1 -1
- package/dist/global-config-option-defaults.generated.js.map +1 -1
- package/package.json +3 -3
- package/renovate-schema.json +2040 -12
|
@@ -149,7 +149,6 @@ async function resolveConfigPresets(inputConfig, baseConfig, _ignorePresets, exi
|
|
|
149
149
|
if (shouldResolvePreset(preset, existingPresets, ignorePresets)) {
|
|
150
150
|
logger.trace(`Resolving preset "${preset}"`);
|
|
151
151
|
const { config: presetConfig, visitedPresets } = await resolveConfigPresets(await fetchPreset(preset, baseConfig, inputConfig, existingPresets), baseConfig ?? inputConfig, ignorePresets, existingPresets.concat([preset]), mergeInternalPresets);
|
|
152
|
-
if (inputConfig?.ignoreDeps?.length === 0) delete presetConfig.description;
|
|
153
152
|
config = mergeChildConfig(config, presetConfig);
|
|
154
153
|
allVisitedPresets.merged.add(preset);
|
|
155
154
|
for (const mergedPreset of visitedPresets.merged) allVisitedPresets.merged.add(mergedPreset);
|
|
@@ -161,6 +160,8 @@ async function resolveConfigPresets(inputConfig, baseConfig, _ignorePresets, exi
|
|
|
161
160
|
config = mergeChildConfig(config, inputConfig);
|
|
162
161
|
delete config.extends;
|
|
163
162
|
delete config.ignorePresets;
|
|
163
|
+
if (config.overrideDescription?.length) config.description = config.overrideDescription;
|
|
164
|
+
delete config.overrideDescription;
|
|
164
165
|
logger.trace({ config }, `Post-merge resolve config`);
|
|
165
166
|
for (const [key, val] of Object.entries(config)) {
|
|
166
167
|
const ignoredKeys = ["content", "onboardingConfig"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["internal.getPreset","memCache.get","migration.migrateConfig","massage.massageConfig","template.compile","internal.isInternal"],"sources":["../../../lib/config/presets/index.ts"],"sourcesContent":["import {\n isArray,\n isNullOrUndefined,\n isObject,\n isString,\n} from '@sindresorhus/is';\nimport {\n CONFIG_VALIDATION,\n PLATFORM_RATE_LIMIT_EXCEEDED,\n} from '../../constants/error-messages.ts';\nimport { logger } from '../../logger/index.ts';\nimport { ExternalHostError } from '../../types/errors/external-host-error.ts';\nimport * as memCache from '../../util/cache/memory/index.ts';\nimport { clone } from '../../util/clone.ts';\nimport { regEx } from '../../util/regex.ts';\nimport * as template from '../../util/template/index.ts';\nimport { GlobalConfig } from '../global.ts';\nimport * as massage from '../massage.ts';\nimport * as migration from '../migration.ts';\nimport type { AllConfig, RenovateConfig } from '../types.ts';\nimport { mergeChildConfig } from '../utils.ts';\nimport { removedPresets } from './common.ts';\nimport * as internal from './internal/index.ts';\nimport { parsePreset } from './parse.ts';\nimport { canonicalizeRelativePresets } from './relative.ts';\nimport type { Preset, PresetApi } from './types.ts';\nimport {\n PRESET_DEP_NOT_FOUND,\n PRESET_INVALID,\n PRESET_INVALID_JSON,\n PRESET_NOT_FOUND,\n PRESET_PROHIBITED_SUBPRESET,\n PRESET_RELATIVE_NO_PARENT,\n PRESET_RENOVATE_CONFIG_NOT_FOUND,\n} from './util.ts';\n\ninterface PresetSource {\n load: () => Promise<PresetApi>;\n\n /**\n * Whether presets from this source are hosted in a repository, which is what\n * allows them to reference other presets relatively.\n */\n repoHosted: boolean;\n}\n\nconst presetSources: Record<string, PresetSource> = {\n forgejo: { load: () => import('./forgejo/index.ts'), repoHosted: true },\n gitea: { load: () => import('./gitea/index.ts'), repoHosted: true },\n github: { load: () => import('./github/index.ts'), repoHosted: true },\n gitlab: { load: () => import('./gitlab/index.ts'), repoHosted: true },\n http: { load: () => import('./http/index.ts'), repoHosted: false },\n local: { load: () => import('./local/index.ts'), repoHosted: true },\n npm: { load: () => import('./npm/index.ts'), repoHosted: false },\n};\n\nconst presetCacheNamespace = 'preset';\n\nexport function replaceArgs(\n obj: string,\n argMapping: Record<string, any>,\n): string;\nexport function replaceArgs(\n obj: string[],\n argMapping: Record<string, any>,\n): string[];\nexport function replaceArgs(\n obj: Record<string, any>,\n argMapping: Record<string, any>,\n): Record<string, any>;\nexport function replaceArgs(\n obj: Record<string, any>[],\n argMapping: Record<string, any>,\n): Record<string, any>[];\n\n/**\n * TODO: fix me #22198\n * @param obj\n * @param argMapping\n */\nexport function replaceArgs(obj: any, argMapping: Record<string, any>): any;\nexport function replaceArgs(\n obj: string | string[] | Record<string, any> | Record<string, any>[],\n argMapping: Record<string, any>,\n): any {\n if (isString(obj)) {\n let returnStr = obj;\n for (const [arg, argVal] of Object.entries(argMapping)) {\n const re = regEx(`{{${arg}}}`, 'g', false);\n returnStr = returnStr.replace(re, argVal);\n }\n return returnStr;\n }\n if (isArray(obj)) {\n const returnArray = [];\n for (const item of obj) {\n returnArray.push(replaceArgs(item, argMapping));\n }\n return returnArray;\n }\n if (isObject(obj)) {\n const returnObj: Record<string, any> = {};\n for (const [key, val] of Object.entries(obj)) {\n returnObj[key] = replaceArgs(val, argMapping);\n }\n return returnObj;\n }\n return obj;\n}\n\nexport async function getPreset(\n preset: string,\n baseConfig?: RenovateConfig,\n): Promise<RenovateConfig> {\n logger.trace(`getPreset(${preset})`);\n // Check if the preset has been removed or replaced\n const newPreset = removedPresets[preset];\n if (newPreset) {\n return getPreset(newPreset, baseConfig);\n }\n if (newPreset === null) {\n return {};\n }\n const parsedPreset = parsePreset(preset);\n const { presetSource, repo, presetPath, presetName, tag, params, rawParams } =\n parsedPreset;\n\n if (presetSource === 'relative') {\n throw new Error(PRESET_RELATIVE_NO_PARENT);\n }\n\n let presetConfig: Preset | null | undefined;\n\n if (presetSource === 'internal') {\n presetConfig = internal.getPreset({\n repo,\n presetPath,\n presetName,\n tag,\n });\n } else {\n const cacheKey = `preset:${preset}`;\n const presetCachePersistence = GlobalConfig.get('presetCachePersistence');\n\n const packageCache = presetCachePersistence\n ? await import('../../util/cache/package/index.ts')\n : undefined;\n\n if (packageCache) {\n presetConfig = await packageCache.get(presetCacheNamespace, cacheKey);\n } else {\n presetConfig = memCache.get(cacheKey);\n }\n\n if (isNullOrUndefined(presetConfig)) {\n const source = await presetSources[presetSource].load();\n presetConfig = await source.getPreset({\n repo,\n presetPath,\n presetName,\n tag,\n });\n if (packageCache) {\n await packageCache.set(\n presetCacheNamespace,\n cacheKey,\n presetConfig,\n 15,\n );\n } else {\n memCache.set(cacheKey, presetConfig);\n }\n }\n }\n\n if (!presetConfig) {\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n logger.trace({ presetConfig }, `Found preset ${preset}`);\n if (params) {\n const argMapping: Record<string, string> = {};\n for (const [index, value] of params.entries()) {\n argMapping[`arg${index}`] = value;\n }\n if (rawParams) {\n argMapping.args = rawParams;\n }\n presetConfig = replaceArgs(presetConfig, argMapping);\n }\n logger.trace({ presetConfig }, `Applied params to preset ${preset}`);\n const presetKeys = Object.keys(presetConfig);\n if (\n presetKeys.length === 2 &&\n presetKeys.includes('description') &&\n presetKeys.includes('extends')\n ) {\n // preset is just a collection of other presets\n delete presetConfig.description;\n }\n const packageListKeys = ['description', 'matchPackageNames'];\n if (presetKeys.every((key) => packageListKeys.includes(key))) {\n delete presetConfig.description;\n }\n const { migratedConfig } = migration.migrateConfig(presetConfig);\n const massagedConfig = massage.massageConfig(migratedConfig);\n if (presetSources[parsedPreset.presetSource]?.repoHosted) {\n // only presets which are hosted in a repository can contain relative\n // references, in all other presets they are left as they are and fail\n // when they are resolved\n canonicalizeRelativePresets(massagedConfig, parsedPreset);\n }\n return massagedConfig;\n}\n\nexport interface ResolveConfigPresetsResult {\n config: AllConfig;\n /** when resolving the given configuration, which internal/shared presets were discovered */\n visitedPresets: {\n /** which internal/shared presets were merged into the final config */\n merged: string[];\n /** which internal/shared presets were not merged into the final config */\n unmerged: string[];\n };\n}\n\n/**\n * @param [mergeInternalPresets=true] when resolving the config presets, whether to merge Renovate internal presets into the resulting configuration.\n * When set to `false`, this will resolve these internal presets (recursively), but not merge them.\n * This is primarily intended to be used by \"shallow config\" resolution (for logging purposes).\n */\nexport async function resolveConfigPresets(\n inputConfig: AllConfig,\n baseConfig?: RenovateConfig,\n _ignorePresets?: string[],\n existingPresets: string[] = [],\n mergeInternalPresets = true,\n): Promise<ResolveConfigPresetsResult> {\n const allVisitedPresets = {\n merged: new Set<string>(),\n unmerged: new Set<string>(),\n };\n\n let ignorePresets = clone(_ignorePresets);\n if (!ignorePresets || ignorePresets.length === 0) {\n ignorePresets = inputConfig.ignorePresets ?? [];\n }\n logger.trace(\n { config: inputConfig, existingPresets, mergeInternalPresets },\n 'resolveConfigPresets',\n );\n\n let config: AllConfig = {};\n // First, merge all the preset configs from left to right\n if (inputConfig.extends?.length) {\n // Compile templates\n inputConfig.extends = inputConfig.extends.map((tmpl) =>\n template.compile(tmpl, {}),\n );\n for (const preset of inputConfig.extends) {\n // don't attempt to merge any internal presets if we're not expecting to\n if (!mergeInternalPresets && internal.isInternal(preset)) {\n logger.once.trace(\n { ignoredPreset: preset, mergeInternalPresets },\n 'Not merging preset',\n );\n // ... but make sure we note that we haven't resolved it\n allVisitedPresets.unmerged.add(preset);\n continue;\n }\n\n if (shouldResolvePreset(preset, existingPresets, ignorePresets)) {\n logger.trace(`Resolving preset \"${preset}\"`);\n const fetchedPreset = await fetchPreset(\n preset,\n baseConfig,\n inputConfig,\n existingPresets,\n );\n const { config: presetConfig, visitedPresets } =\n await resolveConfigPresets(\n fetchedPreset,\n baseConfig ?? inputConfig,\n ignorePresets,\n existingPresets.concat([preset]),\n mergeInternalPresets,\n );\n if (inputConfig?.ignoreDeps?.length === 0) {\n delete presetConfig.description;\n }\n\n config = mergeChildConfig(config, presetConfig);\n allVisitedPresets.merged.add(preset);\n\n // then also make sure we've noted any nested presets we've merged\n for (const mergedPreset of visitedPresets.merged) {\n allVisitedPresets.merged.add(mergedPreset);\n }\n // ... or not merged\n for (const unmergedPreset of visitedPresets.unmerged) {\n allVisitedPresets.unmerged.add(unmergedPreset);\n }\n }\n }\n }\n logger.trace({ config }, `Post-preset resolve config`);\n // Now assign \"regular\" config on top\n config = mergeChildConfig(config, inputConfig);\n delete config.extends;\n delete config.ignorePresets;\n logger.trace({ config }, `Post-merge resolve config`);\n for (const [key, val] of Object.entries(config) as [\n keyof AllConfig,\n unknown,\n ][]) {\n const ignoredKeys = ['content', 'onboardingConfig'];\n if (isArray(val)) {\n // Resolve nested objects inside arrays\n config[key] = [] as never; // type can't be narrowed\n for (const element of val) {\n if (isObject(element)) {\n const { config: presetConfig, visitedPresets: visited } =\n await resolveConfigPresets(\n element,\n baseConfig,\n ignorePresets,\n existingPresets,\n mergeInternalPresets,\n );\n (config[key] as RenovateConfig[]).push(presetConfig);\n\n // then also make sure we've noted any nested presets we've merged\n for (const mergedPreset of visited.merged) {\n allVisitedPresets.merged.add(mergedPreset);\n }\n // ... or not merged\n for (const unmergedPreset of visited.unmerged) {\n allVisitedPresets.unmerged.add(unmergedPreset);\n }\n } else {\n (config[key] as unknown[]).push(element);\n }\n }\n } else if (isObject(val) && !ignoredKeys.includes(key)) {\n // Resolve nested objects\n logger.trace(`Resolving object \"${key}\"`);\n const { config: presetConfig, visitedPresets: visited } =\n await resolveConfigPresets(\n val,\n baseConfig,\n ignorePresets,\n existingPresets,\n mergeInternalPresets,\n );\n config[key] = presetConfig as never; // type can't be narrowed\n\n // then also make sure we've noted any nested presets we've merged\n for (const mergedPreset of visited.merged) {\n allVisitedPresets.merged.add(mergedPreset);\n }\n // ... or not merged\n for (const unmergedPreset of visited.unmerged) {\n allVisitedPresets.unmerged.add(unmergedPreset);\n }\n }\n }\n logger.trace({ config: inputConfig }, 'Input config');\n logger.trace(\n { config, visitedPresets: allVisitedPresets },\n 'Resolved config',\n );\n\n return {\n config,\n visitedPresets: {\n merged: Array.from(allVisitedPresets.merged),\n unmerged: Array.from(allVisitedPresets.unmerged),\n },\n };\n}\n\nasync function fetchPreset(\n preset: string,\n baseConfig: RenovateConfig | undefined,\n inputConfig: AllConfig,\n existingPresets: string[],\n): Promise<AllConfig> {\n try {\n return await getPreset(preset, baseConfig ?? inputConfig);\n } catch (err) {\n logger.debug({ preset, err }, 'Preset fetch error');\n if (err instanceof ExternalHostError) {\n throw err;\n }\n if (err.message === PLATFORM_RATE_LIMIT_EXCEEDED) {\n throw err;\n }\n const error = new Error(CONFIG_VALIDATION);\n if (err.message === PRESET_DEP_NOT_FOUND) {\n error.validationError = `Cannot find preset's package (${preset})`;\n } else if (err.message === PRESET_RENOVATE_CONFIG_NOT_FOUND) {\n error.validationError = `Preset package is missing a renovate-config entry (${preset})`;\n } else if (err.message === PRESET_NOT_FOUND) {\n error.validationError = `Preset name not found within published preset config (${preset})`;\n } else if (err.message === PRESET_INVALID) {\n error.validationError = `Preset is invalid (${preset})`;\n } else if (err.message === PRESET_PROHIBITED_SUBPRESET) {\n error.validationError = `Sub-presets cannot be combined with a custom path (${preset})`;\n } else if (err.message === PRESET_INVALID_JSON) {\n error.validationError = `Preset is invalid JSON (${preset})`;\n } else if (err.message === PRESET_RELATIVE_NO_PARENT) {\n error.validationError = `Relative preset reference cannot be resolved (${preset}). Relative presets can only be used within presets from a supported source, must stay inside their repository, and cannot be templated or used outside of a preset (for example in the repository config, inherited config, or globalExtends)`;\n } else {\n error.validationError = `Preset caused unexpected error (${preset})`;\n }\n if (existingPresets.length) {\n error.validationError +=\n '. Note: this is a *nested* preset so please contact the preset author if you are unable to fix it yourself.';\n }\n logger.info(\n { validationError: error.validationError },\n 'Throwing preset error',\n );\n throw error;\n }\n}\n\nfunction shouldResolvePreset(\n preset: string,\n existingPresets: string[],\n ignorePresets: string[],\n): boolean {\n if (existingPresets.includes(preset)) {\n logger.debug(\n `Already seen preset ${preset} in [${existingPresets.join(', ')}]`,\n );\n return false;\n }\n if (ignorePresets.includes(preset)) {\n logger.debug(\n `Ignoring preset ${preset} in [${existingPresets.join(', ')}]`,\n );\n return false;\n }\n return true;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["internal.getPreset","memCache.get","migration.migrateConfig","massage.massageConfig","template.compile","internal.isInternal"],"sources":["../../../lib/config/presets/index.ts"],"sourcesContent":["import {\n isArray,\n isNullOrUndefined,\n isObject,\n isString,\n} from '@sindresorhus/is';\nimport {\n CONFIG_VALIDATION,\n PLATFORM_RATE_LIMIT_EXCEEDED,\n} from '../../constants/error-messages.ts';\nimport { logger } from '../../logger/index.ts';\nimport { ExternalHostError } from '../../types/errors/external-host-error.ts';\nimport * as memCache from '../../util/cache/memory/index.ts';\nimport { clone } from '../../util/clone.ts';\nimport { regEx } from '../../util/regex.ts';\nimport * as template from '../../util/template/index.ts';\nimport { GlobalConfig } from '../global.ts';\nimport * as massage from '../massage.ts';\nimport * as migration from '../migration.ts';\nimport type { AllConfig, RenovateConfig } from '../types.ts';\nimport { mergeChildConfig } from '../utils.ts';\nimport { removedPresets } from './common.ts';\nimport * as internal from './internal/index.ts';\nimport { parsePreset } from './parse.ts';\nimport { canonicalizeRelativePresets } from './relative.ts';\nimport type { Preset, PresetApi } from './types.ts';\nimport {\n PRESET_DEP_NOT_FOUND,\n PRESET_INVALID,\n PRESET_INVALID_JSON,\n PRESET_NOT_FOUND,\n PRESET_PROHIBITED_SUBPRESET,\n PRESET_RELATIVE_NO_PARENT,\n PRESET_RENOVATE_CONFIG_NOT_FOUND,\n} from './util.ts';\n\ninterface PresetSource {\n load: () => Promise<PresetApi>;\n\n /**\n * Whether presets from this source are hosted in a repository, which is what\n * allows them to reference other presets relatively.\n */\n repoHosted: boolean;\n}\n\nconst presetSources: Record<string, PresetSource> = {\n forgejo: { load: () => import('./forgejo/index.ts'), repoHosted: true },\n gitea: { load: () => import('./gitea/index.ts'), repoHosted: true },\n github: { load: () => import('./github/index.ts'), repoHosted: true },\n gitlab: { load: () => import('./gitlab/index.ts'), repoHosted: true },\n http: { load: () => import('./http/index.ts'), repoHosted: false },\n local: { load: () => import('./local/index.ts'), repoHosted: true },\n npm: { load: () => import('./npm/index.ts'), repoHosted: false },\n};\n\nconst presetCacheNamespace = 'preset';\n\nexport function replaceArgs(\n obj: string,\n argMapping: Record<string, any>,\n): string;\nexport function replaceArgs(\n obj: string[],\n argMapping: Record<string, any>,\n): string[];\nexport function replaceArgs(\n obj: Record<string, any>,\n argMapping: Record<string, any>,\n): Record<string, any>;\nexport function replaceArgs(\n obj: Record<string, any>[],\n argMapping: Record<string, any>,\n): Record<string, any>[];\n\n/**\n * TODO: fix me #22198\n * @param obj\n * @param argMapping\n */\nexport function replaceArgs(obj: any, argMapping: Record<string, any>): any;\nexport function replaceArgs(\n obj: string | string[] | Record<string, any> | Record<string, any>[],\n argMapping: Record<string, any>,\n): any {\n if (isString(obj)) {\n let returnStr = obj;\n for (const [arg, argVal] of Object.entries(argMapping)) {\n const re = regEx(`{{${arg}}}`, 'g', false);\n returnStr = returnStr.replace(re, argVal);\n }\n return returnStr;\n }\n if (isArray(obj)) {\n const returnArray = [];\n for (const item of obj) {\n returnArray.push(replaceArgs(item, argMapping));\n }\n return returnArray;\n }\n if (isObject(obj)) {\n const returnObj: Record<string, any> = {};\n for (const [key, val] of Object.entries(obj)) {\n returnObj[key] = replaceArgs(val, argMapping);\n }\n return returnObj;\n }\n return obj;\n}\n\nexport async function getPreset(\n preset: string,\n baseConfig?: RenovateConfig,\n): Promise<RenovateConfig> {\n logger.trace(`getPreset(${preset})`);\n // Check if the preset has been removed or replaced\n const newPreset = removedPresets[preset];\n if (newPreset) {\n return getPreset(newPreset, baseConfig);\n }\n if (newPreset === null) {\n return {};\n }\n const parsedPreset = parsePreset(preset);\n const { presetSource, repo, presetPath, presetName, tag, params, rawParams } =\n parsedPreset;\n\n if (presetSource === 'relative') {\n throw new Error(PRESET_RELATIVE_NO_PARENT);\n }\n\n let presetConfig: Preset | null | undefined;\n\n if (presetSource === 'internal') {\n presetConfig = internal.getPreset({\n repo,\n presetPath,\n presetName,\n tag,\n });\n } else {\n const cacheKey = `preset:${preset}`;\n const presetCachePersistence = GlobalConfig.get('presetCachePersistence');\n\n const packageCache = presetCachePersistence\n ? await import('../../util/cache/package/index.ts')\n : undefined;\n\n if (packageCache) {\n presetConfig = await packageCache.get(presetCacheNamespace, cacheKey);\n } else {\n presetConfig = memCache.get(cacheKey);\n }\n\n if (isNullOrUndefined(presetConfig)) {\n const source = await presetSources[presetSource].load();\n presetConfig = await source.getPreset({\n repo,\n presetPath,\n presetName,\n tag,\n });\n if (packageCache) {\n await packageCache.set(\n presetCacheNamespace,\n cacheKey,\n presetConfig,\n 15,\n );\n } else {\n memCache.set(cacheKey, presetConfig);\n }\n }\n }\n\n if (!presetConfig) {\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n logger.trace({ presetConfig }, `Found preset ${preset}`);\n if (params) {\n const argMapping: Record<string, string> = {};\n for (const [index, value] of params.entries()) {\n argMapping[`arg${index}`] = value;\n }\n if (rawParams) {\n argMapping.args = rawParams;\n }\n presetConfig = replaceArgs(presetConfig, argMapping);\n }\n logger.trace({ presetConfig }, `Applied params to preset ${preset}`);\n const presetKeys = Object.keys(presetConfig);\n if (\n presetKeys.length === 2 &&\n presetKeys.includes('description') &&\n presetKeys.includes('extends')\n ) {\n // preset is just a collection of other presets\n delete presetConfig.description;\n }\n const packageListKeys = ['description', 'matchPackageNames'];\n if (presetKeys.every((key) => packageListKeys.includes(key))) {\n delete presetConfig.description;\n }\n const { migratedConfig } = migration.migrateConfig(presetConfig);\n const massagedConfig = massage.massageConfig(migratedConfig);\n if (presetSources[parsedPreset.presetSource]?.repoHosted) {\n // only presets which are hosted in a repository can contain relative\n // references, in all other presets they are left as they are and fail\n // when they are resolved\n canonicalizeRelativePresets(massagedConfig, parsedPreset);\n }\n return massagedConfig;\n}\n\nexport interface ResolveConfigPresetsResult {\n config: AllConfig;\n /** when resolving the given configuration, which internal/shared presets were discovered */\n visitedPresets: {\n /** which internal/shared presets were merged into the final config */\n merged: string[];\n /** which internal/shared presets were not merged into the final config */\n unmerged: string[];\n };\n}\n\n/**\n * @param [mergeInternalPresets=true] when resolving the config presets, whether to merge Renovate internal presets into the resulting configuration.\n * When set to `false`, this will resolve these internal presets (recursively), but not merge them.\n * This is primarily intended to be used by \"shallow config\" resolution (for logging purposes).\n */\nexport async function resolveConfigPresets(\n inputConfig: AllConfig,\n baseConfig?: RenovateConfig,\n _ignorePresets?: string[],\n existingPresets: string[] = [],\n mergeInternalPresets = true,\n): Promise<ResolveConfigPresetsResult> {\n const allVisitedPresets = {\n merged: new Set<string>(),\n unmerged: new Set<string>(),\n };\n\n let ignorePresets = clone(_ignorePresets);\n if (!ignorePresets || ignorePresets.length === 0) {\n ignorePresets = inputConfig.ignorePresets ?? [];\n }\n logger.trace(\n { config: inputConfig, existingPresets, mergeInternalPresets },\n 'resolveConfigPresets',\n );\n\n let config: AllConfig = {};\n // First, merge all the preset configs from left to right\n if (inputConfig.extends?.length) {\n // Compile templates\n inputConfig.extends = inputConfig.extends.map((tmpl) =>\n template.compile(tmpl, {}),\n );\n for (const preset of inputConfig.extends) {\n // don't attempt to merge any internal presets if we're not expecting to\n if (!mergeInternalPresets && internal.isInternal(preset)) {\n logger.once.trace(\n { ignoredPreset: preset, mergeInternalPresets },\n 'Not merging preset',\n );\n // ... but make sure we note that we haven't resolved it\n allVisitedPresets.unmerged.add(preset);\n continue;\n }\n\n if (shouldResolvePreset(preset, existingPresets, ignorePresets)) {\n logger.trace(`Resolving preset \"${preset}\"`);\n const fetchedPreset = await fetchPreset(\n preset,\n baseConfig,\n inputConfig,\n existingPresets,\n );\n const { config: presetConfig, visitedPresets } =\n await resolveConfigPresets(\n fetchedPreset,\n baseConfig ?? inputConfig,\n ignorePresets,\n existingPresets.concat([preset]),\n mergeInternalPresets,\n );\n config = mergeChildConfig(config, presetConfig);\n allVisitedPresets.merged.add(preset);\n\n // then also make sure we've noted any nested presets we've merged\n for (const mergedPreset of visitedPresets.merged) {\n allVisitedPresets.merged.add(mergedPreset);\n }\n // ... or not merged\n for (const unmergedPreset of visitedPresets.unmerged) {\n allVisitedPresets.unmerged.add(unmergedPreset);\n }\n }\n }\n }\n logger.trace({ config }, `Post-preset resolve config`);\n // Now assign \"regular\" config on top\n config = mergeChildConfig(config, inputConfig);\n delete config.extends;\n delete config.ignorePresets;\n // Any description of this config replaces the ones collated from its presets.\n // Check the length, because array options default to an empty array.\n if (config.overrideDescription?.length) {\n config.description = config.overrideDescription;\n }\n delete config.overrideDescription;\n logger.trace({ config }, `Post-merge resolve config`);\n for (const [key, val] of Object.entries(config) as [\n keyof AllConfig,\n unknown,\n ][]) {\n const ignoredKeys = ['content', 'onboardingConfig'];\n if (isArray(val)) {\n // Resolve nested objects inside arrays\n config[key] = [] as never; // type can't be narrowed\n for (const element of val) {\n if (isObject(element)) {\n const { config: presetConfig, visitedPresets: visited } =\n await resolveConfigPresets(\n element,\n baseConfig,\n ignorePresets,\n existingPresets,\n mergeInternalPresets,\n );\n (config[key] as RenovateConfig[]).push(presetConfig);\n\n // then also make sure we've noted any nested presets we've merged\n for (const mergedPreset of visited.merged) {\n allVisitedPresets.merged.add(mergedPreset);\n }\n // ... or not merged\n for (const unmergedPreset of visited.unmerged) {\n allVisitedPresets.unmerged.add(unmergedPreset);\n }\n } else {\n (config[key] as unknown[]).push(element);\n }\n }\n } else if (isObject(val) && !ignoredKeys.includes(key)) {\n // Resolve nested objects\n logger.trace(`Resolving object \"${key}\"`);\n const { config: presetConfig, visitedPresets: visited } =\n await resolveConfigPresets(\n val,\n baseConfig,\n ignorePresets,\n existingPresets,\n mergeInternalPresets,\n );\n config[key] = presetConfig as never; // type can't be narrowed\n\n // then also make sure we've noted any nested presets we've merged\n for (const mergedPreset of visited.merged) {\n allVisitedPresets.merged.add(mergedPreset);\n }\n // ... or not merged\n for (const unmergedPreset of visited.unmerged) {\n allVisitedPresets.unmerged.add(unmergedPreset);\n }\n }\n }\n logger.trace({ config: inputConfig }, 'Input config');\n logger.trace(\n { config, visitedPresets: allVisitedPresets },\n 'Resolved config',\n );\n\n return {\n config,\n visitedPresets: {\n merged: Array.from(allVisitedPresets.merged),\n unmerged: Array.from(allVisitedPresets.unmerged),\n },\n };\n}\n\nasync function fetchPreset(\n preset: string,\n baseConfig: RenovateConfig | undefined,\n inputConfig: AllConfig,\n existingPresets: string[],\n): Promise<AllConfig> {\n try {\n return await getPreset(preset, baseConfig ?? inputConfig);\n } catch (err) {\n logger.debug({ preset, err }, 'Preset fetch error');\n if (err instanceof ExternalHostError) {\n throw err;\n }\n if (err.message === PLATFORM_RATE_LIMIT_EXCEEDED) {\n throw err;\n }\n const error = new Error(CONFIG_VALIDATION);\n if (err.message === PRESET_DEP_NOT_FOUND) {\n error.validationError = `Cannot find preset's package (${preset})`;\n } else if (err.message === PRESET_RENOVATE_CONFIG_NOT_FOUND) {\n error.validationError = `Preset package is missing a renovate-config entry (${preset})`;\n } else if (err.message === PRESET_NOT_FOUND) {\n error.validationError = `Preset name not found within published preset config (${preset})`;\n } else if (err.message === PRESET_INVALID) {\n error.validationError = `Preset is invalid (${preset})`;\n } else if (err.message === PRESET_PROHIBITED_SUBPRESET) {\n error.validationError = `Sub-presets cannot be combined with a custom path (${preset})`;\n } else if (err.message === PRESET_INVALID_JSON) {\n error.validationError = `Preset is invalid JSON (${preset})`;\n } else if (err.message === PRESET_RELATIVE_NO_PARENT) {\n error.validationError = `Relative preset reference cannot be resolved (${preset}). Relative presets can only be used within presets from a supported source, must stay inside their repository, and cannot be templated or used outside of a preset (for example in the repository config, inherited config, or globalExtends)`;\n } else {\n error.validationError = `Preset caused unexpected error (${preset})`;\n }\n if (existingPresets.length) {\n error.validationError +=\n '. Note: this is a *nested* preset so please contact the preset author if you are unable to fix it yourself.';\n }\n logger.info(\n { validationError: error.validationError },\n 'Throwing preset error',\n );\n throw error;\n }\n}\n\nfunction shouldResolvePreset(\n preset: string,\n existingPresets: string[],\n ignorePresets: string[],\n): boolean {\n if (existingPresets.includes(preset)) {\n logger.debug(\n `Already seen preset ${preset} in [${existingPresets.join(', ')}]`,\n );\n return false;\n }\n if (ignorePresets.includes(preset)) {\n logger.debug(\n `Ignoring preset ${preset} in [${existingPresets.join(', ')}]`,\n );\n return false;\n }\n return true;\n}\n"],"mappings":"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"}
|
|
@@ -388,7 +388,6 @@ const config = {
|
|
|
388
388
|
}]
|
|
389
389
|
},
|
|
390
390
|
recommended: {
|
|
391
|
-
description: "Use curated list of recommended non-monorepo package groupings.",
|
|
392
391
|
extends: [
|
|
393
392
|
"group:nodeJs",
|
|
394
393
|
"group:allApollographql",
|
|
@@ -445,7 +444,7 @@ const config = {
|
|
|
445
444
|
"group:springWs",
|
|
446
445
|
"group:symfony"
|
|
447
446
|
],
|
|
448
|
-
|
|
447
|
+
overrideDescription: "Use curated list of recommended non-monorepo package groupings."
|
|
449
448
|
},
|
|
450
449
|
remark: {
|
|
451
450
|
description: "Group remark packages together.",
|
|
@@ -747,9 +746,8 @@ for (const monorepo of Object.keys(presets$1)) {
|
|
|
747
746
|
}] };
|
|
748
747
|
}
|
|
749
748
|
config.monorepos = {
|
|
750
|
-
description: "Group known monorepo packages together.",
|
|
751
749
|
extends: monorepoNames,
|
|
752
|
-
|
|
750
|
+
overrideDescription: "Group known monorepo packages together."
|
|
753
751
|
};
|
|
754
752
|
const presets = config;
|
|
755
753
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.preset.js","names":["monorepos.presets"],"sources":["../../../../lib/config/presets/internal/group.preset.ts"],"sourcesContent":["import type { Preset } from '../types.ts';\nimport * as monorepos from './monorepos.preset.ts';\n\nconst nonPinUpdateTypes = ['digest', 'patch', 'minor', 'major'];\n\nconst staticGroups = {\n all: {\n description: 'Group all updates together.',\n groupName: 'all dependencies',\n groupSlug: 'all',\n packageRules: [\n {\n groupName: 'all dependencies',\n groupSlug: 'all',\n matchPackageNames: ['*'],\n },\n ],\n\n separateMajorMinor: false,\n },\n allApollographql: {\n description: 'Group all packages published by Apollo GraphQL together.',\n packageRules: [\n {\n extends: ['packages:apollographql'],\n groupName: 'Apollo GraphQL packages',\n },\n ],\n },\n allDigest: {\n description: 'Group all `digest` updates together.',\n packageRules: [\n {\n groupName: 'all digest updates',\n groupSlug: 'all-digest',\n matchPackageNames: ['*'],\n matchUpdateTypes: ['digest'],\n },\n ],\n },\n allNonMajor: {\n description: 'Group all `minor` and `patch` updates together.',\n packageRules: [\n {\n groupName: 'all non-major dependencies',\n groupSlug: 'all-minor-patch',\n matchPackageNames: ['*'],\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n apiPlatform: {\n description: 'Group PHP API Platform packages together.',\n packageRules: [\n {\n groupName: 'api-platform packages',\n groupSlug: 'api-platform',\n matchDatasources: ['packagist'],\n matchPackageNames: [\n 'api-platform/*',\n '!api-platform/admin-meta',\n '!api-platform/admin-pack',\n '!api-platform/api-pack',\n '!api-platform/api-platform',\n '!api-platform/parameter-validator',\n '!api-platform/postman-collection-generator',\n '!api-platform/schema-generator',\n ],\n },\n ],\n },\n atlaskit: {\n description: 'Group all Atlassian `@atlaskit` packages together.',\n packageRules: [\n {\n extends: ['packages:atlaskit'],\n groupName: 'Atlassian Atlaskit packages',\n },\n ],\n },\n codemirror: {\n description: 'Group CodeMirror packages together.',\n packageRules: [\n {\n groupName: 'CodeMirror',\n matchPackageNames: ['@codemirror/**'],\n },\n ],\n },\n definitelyTyped: {\n description: 'Group all `@types` packages together.',\n packageRules: [\n {\n groupName: 'definitelyTyped',\n matchPackageNames: ['@types/**'],\n },\n ],\n },\n dotNetCore: {\n description: '.NET Core Docker containers.',\n packageRules: [\n {\n groupName: '.NET Core Docker containers',\n matchDatasources: ['docker'],\n matchPackageNames: ['mcr.microsoft.com/dotnet/**'],\n },\n ],\n },\n 'drupal-core': {\n description: 'Group Drupal core updates.',\n packageRules: [\n {\n groupName: 'Drupal core',\n matchPackageNames: ['drupal/core', 'drupal/core-*'],\n },\n ],\n },\n flyway: {\n description: 'Group Java Flyway packages.',\n packageRules: [\n {\n groupName: 'flyway',\n matchPackageNames: ['org.flywaydb:*', 'org.flywaydb.flyway:*'],\n },\n ],\n },\n fortawesome: {\n description: 'Group all packages by Font Awesome together.',\n packageRules: [\n {\n groupName: 'Font Awesome',\n matchPackageNames: ['@fortawesome/**'],\n },\n ],\n },\n fusionjs: {\n description: 'Group Fusion.js packages together.',\n packageRules: [\n {\n groupName: 'Fusion.js packages',\n matchPackageNames: [\n 'fusion-cli',\n 'fusion-core',\n 'fusion-test-utils',\n 'fusion-tokens',\n 'fusion-plugin-**',\n 'fusion-react**',\n 'fusion-apollo**',\n ],\n },\n ],\n },\n githubArtifactActions: {\n description:\n 'Group `download-artifact` and `upload-artifact` major updates together.',\n packageRules: [\n {\n groupName: 'GitHub Artifact Actions',\n matchManagers: ['github-actions'],\n matchPackageNames: [\n 'actions/download-artifact',\n 'actions/upload-artifact',\n ],\n matchUpdateTypes: ['major'],\n },\n ],\n },\n glimmer: {\n description: 'Group Glimmer.js packages together.',\n packageRules: [\n {\n groupName: 'Glimmer.js packages',\n groupSlug: 'glimmer',\n matchPackageNames: ['@glimmer/component', '@glimmer/tracking'],\n },\n ],\n },\n googleapis: {\n description: 'Group `googleapis` packages together.',\n packageRules: [\n {\n extends: ['packages:googleapis'],\n groupName: 'googleapis packages',\n },\n ],\n },\n goOpenapi: {\n description: 'Group `go-openapi` packages together.',\n packageRules: [\n {\n groupName: 'go-openapi packages',\n groupSlug: 'go-openapi',\n matchDatasources: ['go'],\n matchPackageNames: ['github.com/go-openapi/**'],\n },\n ],\n },\n gradle: {\n description:\n \"Group anything that looks like Gradle together so that it's updated together.\",\n packageRules: [\n {\n commitMessageTopic: 'Gradle',\n matchDatasources: ['docker', 'gradle-version'],\n matchPackageNames: [\n '/(?:^|/)gradle$/', // gradle or ends with \"/gradle\"\n ],\n },\n ],\n },\n hibernateCommons: {\n description: 'Group Java Hibernate Commons packages.',\n packageRules: [\n {\n groupName: 'hibernate commons',\n matchPackageNames: ['org.hibernate.common:**'],\n },\n ],\n },\n hibernateCore: {\n description: 'Group Java Hibernate Core packages.',\n packageRules: [\n {\n groupName: 'hibernate core',\n matchPackageNames: ['org.hibernate:**'],\n },\n ],\n },\n hibernateOgm: {\n description: 'Group Java Hibernate OGM packages.',\n packageRules: [\n {\n groupName: 'hibernate ogm',\n matchPackageNames: ['org.hibernate.ogm:**'],\n },\n ],\n },\n hibernateValidator: {\n description: 'Group Java Hibernate Validator packages.',\n packageRules: [\n {\n groupName: 'hibernate validator',\n matchPackageNames: ['org.hibernate.validator:**'],\n },\n ],\n },\n illuminate: {\n description: 'Group PHP Illuminate packages together.',\n packageRules: [\n {\n groupName: 'illuminate packages',\n groupSlug: 'illuminate',\n matchPackageNames: ['illuminate/**'],\n },\n ],\n },\n jekyllEcosystem: {\n description: 'Group Jekyll and related Ruby packages together.',\n packageRules: [\n {\n groupName: 'jekyll ecosystem packages',\n matchSourceUrls: [\n 'https://github.com/jekyll/**',\n 'https://github.com/github/pages-gem**',\n ],\n },\n ],\n },\n jestPlusTSJest: {\n description: 'Add `ts-jest` `major` update to Jest monorepo.',\n packageRules: [\n {\n groupName: 'jest monorepo',\n matchSourceUrls: ['https://github.com/kulshekhar/ts-jest'],\n matchUpdateTypes: ['major'],\n },\n ],\n },\n jestPlusTypes: {\n description: 'Add `@types/jest` update to Jest monorepo.',\n packageRules: [\n {\n groupName: 'jest monorepo',\n matchPackageNames: ['@types/jest'],\n matchUpdateTypes: nonPinUpdateTypes,\n },\n ],\n },\n jsTest: {\n description: 'Group JS test packages together.',\n packageRules: [\n {\n extends: ['packages:jsTest'],\n groupName: 'JS test packages',\n },\n ],\n },\n jsTestNonMajor: {\n description: 'Group non-major JS test package updates together.',\n packageRules: [\n {\n extends: ['packages:jsTest'],\n groupName: 'JS test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n jsUnitTest: {\n description: 'Group JavaScript unit test packages together.',\n packageRules: [\n {\n extends: ['packages:jsUnitTest'],\n groupName: 'JS unit test packages',\n },\n ],\n },\n jsUnitTestNonMajor: {\n description:\n 'Group JavaScipt unit test packages together for non-major updates.',\n packageRules: [\n {\n extends: ['packages:jsUnitTest'],\n groupName: 'JS unit test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n jwtFramework: {\n description: 'Group JWT Framework packages together.',\n packageRules: [\n {\n groupName: 'JWT Framework packages',\n matchDatasources: ['packagist'],\n matchPackageNames: ['web-token/**'],\n },\n ],\n },\n linters: {\n description: 'Group various lint packages together.',\n packageRules: [\n {\n extends: ['packages:linters'],\n groupName: 'linters',\n },\n ],\n },\n micrometer: {\n description:\n \"Group Micrometer packages together, e.g. 'io.micrometer:micrometer-core'.\",\n packageRules: [\n {\n groupName: 'micrometer',\n matchPackageNames: ['io.micrometer:micrometer-**'],\n },\n ],\n },\n nodeJs: {\n description:\n \"Group anything that looks like Node.js together so that it's updated together.\",\n packageRules: [\n {\n commitMessageTopic: 'Node.js',\n matchDatasources: ['docker', 'node-version'],\n matchPackageNames: [\n '/(?:^|/)node$/', // node or ends with \"/node, except those below\"\n '!calico/node',\n '!docker.io/calico/node',\n '!ghcr.io/devcontainers/features/node',\n '!kindest/node',\n '!docker.io/kindest/node',\n ],\n },\n ],\n },\n phpstan: {\n description: 'Group PHPStan packages together.',\n packageRules: [\n {\n groupName: 'PHPStan packages',\n matchDatasources: ['packagist'],\n matchPackageNames: [\n 'phpstan/phpstan',\n '//phpstan-/',\n '//larastan/',\n 'phpstan/extension-installer',\n ],\n },\n ],\n },\n pnpm: {\n description: 'Group pnpm packages together.',\n packageRules: [\n {\n groupName: 'pnpm packages',\n matchDatasources: ['docker', 'npm'],\n matchPackageNames: ['pnpm', 'ghcr.io/pnpm/pnpm'],\n },\n ],\n },\n polymer: {\n description: 'Group all `@polymer` packages together.',\n packageRules: [\n {\n groupName: 'polymer packages',\n matchPackageNames: ['@polymer/**'],\n },\n ],\n },\n postcss: {\n description: 'Group PostCSS packages together.',\n packageRules: [\n {\n extends: ['packages:postcss'],\n groupName: 'postcss packages',\n },\n ],\n },\n pulumi: {\n description: 'Group Pulumi packages together.',\n packageRules: [\n {\n description: 'Group Pulumi Node.JS packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-node',\n matchDatasources: ['npm'],\n matchPackageNames: ['@pulumi/**'],\n },\n {\n description: 'Group Pulumi Python packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-python',\n matchDatasources: ['pypi'],\n matchPackageNames: ['pulumi-**'],\n },\n {\n description: 'Group Pulumi Go packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-go',\n matchDatasources: ['go'],\n matchPackageNames: ['github.com/pulumi/**'],\n },\n {\n description: 'Group Pulumi Java packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-java',\n matchDatasources: ['maven'],\n matchPackageNames: ['com.pulumi**'],\n },\n {\n description: 'Group Pulumi .NET packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-dotnet',\n matchDatasources: ['nuget'],\n matchPackageNames: ['Pulumi**'],\n },\n ],\n },\n puppeteer: {\n description: 'Group Puppeteer packages together.',\n packageRules: [\n {\n groupName: 'Puppeteer',\n matchDatasources: ['npm'],\n matchPackageNames: ['puppeteer', 'puppeteer-core'],\n },\n ],\n },\n react: {\n description: 'Group React and corresponding `@types` packages together.',\n packageRules: [\n {\n groupName: 'react monorepo',\n matchPackageNames: [\n '@types/react',\n '@types/react-dom',\n '@types/react-is',\n ],\n },\n ],\n },\n recommended: {\n description:\n 'Use curated list of recommended non-monorepo package groupings.',\n extends: [\n 'group:nodeJs',\n 'group:allApollographql',\n 'group:apiPlatform',\n 'group:codemirror',\n 'group:flyway',\n 'group:fortawesome',\n 'group:fusionjs',\n 'group:githubArtifactActions',\n 'group:glimmer',\n 'group:goOpenapi',\n 'group:gradle',\n 'group:hibernateCore',\n 'group:hibernateValidator',\n 'group:hibernateOgm',\n 'group:hibernateCommons',\n 'group:illuminate',\n 'group:jekyllEcosystem',\n 'group:jestPlusTSJest',\n 'group:jestPlusTypes',\n 'group:jwtFramework',\n 'group:micrometer',\n 'group:phpstan',\n 'group:polymer',\n 'group:puppeteer',\n 'group:react',\n 'group:remark',\n 'group:resilience4j',\n 'group:rubyOnRails',\n 'group:rubyOmniauth',\n 'group:socketio',\n 'group:springAmqp',\n 'group:springAndroid',\n 'group:springBatch',\n 'group:springBoot',\n 'group:springCloud',\n 'group:springCore',\n 'group:springData',\n 'group:springHateoas',\n 'group:springIntegration',\n 'group:springKafka',\n 'group:springLdap',\n 'group:springMobile',\n 'group:springOsgi',\n 'group:springRestDocs',\n 'group:springRoo',\n 'group:springScala',\n 'group:springSecurity',\n 'group:springSession',\n 'group:springShell',\n 'group:springSocial',\n 'group:springStatemachine',\n 'group:springWebflow',\n 'group:springWs',\n 'group:symfony',\n ],\n ignoreDeps: [], // Hack to improve onboarding PR description\n },\n remark: {\n description: 'Group remark packages together.',\n packageRules: [\n {\n groupName: 'remark',\n matchDatasources: ['npm'],\n matchSourceUrls: ['https://github.com/remarkjs/**'],\n },\n ],\n },\n resilience4j: {\n description: 'Group Java Resilience4j packages.',\n packageRules: [\n {\n groupName: 'resilience4j',\n matchPackageNames: ['io.github.resilience4j:**'],\n },\n ],\n },\n rubyOmniauth: {\n description: 'Group OmniAuth packages together.',\n packageRules: [\n {\n groupName: 'omniauth packages',\n matchDatasources: ['rubygems'],\n matchPackageNames: ['omniauth**'],\n },\n ],\n },\n rubyOnRails: {\n description: 'Group Ruby on Rails packages together.',\n packageRules: [\n {\n groupName: 'Ruby on Rails packages',\n matchDatasources: ['rubygems'],\n matchPackageNames: [\n 'actioncable',\n 'actionmailbox',\n 'actionmailer',\n 'actionpack',\n 'actiontext',\n 'actionview',\n 'activejob',\n 'activemodel',\n 'activerecord',\n 'activestorage',\n 'activesupport',\n 'railties',\n 'rails',\n ],\n },\n ],\n },\n socketio: {\n description: 'Group socket.io packages.',\n packageRules: [\n {\n groupName: 'socket.io packages',\n matchPackageNames: ['socket.io**'],\n },\n ],\n },\n springAmqp: {\n description: 'Group Java Spring AMQP packages.',\n packageRules: [\n {\n groupName: 'spring amqp',\n matchPackageNames: ['org.springframework.amqp:**'],\n },\n ],\n },\n springAndroid: {\n description: 'Group Java Spring Android packages.',\n packageRules: [\n {\n groupName: 'spring android',\n matchPackageNames: ['org.springframework.android:**'],\n },\n ],\n },\n springBatch: {\n description: 'Group Java Spring Batch packages.',\n packageRules: [\n {\n groupName: 'spring batch',\n matchPackageNames: ['org.springframework.batch:**'],\n },\n ],\n },\n springBoot: {\n description: 'Group Java Spring Boot packages.',\n packageRules: [\n {\n groupName: 'spring boot',\n matchDepNames: ['org.springframework.boot'],\n },\n {\n groupName: 'spring boot',\n matchPackageNames: ['org.springframework.boot:**'],\n },\n ],\n },\n springCloud: {\n description: 'Group Java Spring Cloud packages.',\n packageRules: [\n {\n groupName: 'spring cloud',\n matchPackageNames: ['org.springframework.cloud:**'],\n },\n ],\n },\n springCore: {\n description: 'Group Java Spring Core packages.',\n packageRules: [\n {\n groupName: 'spring core',\n matchPackageNames: ['org.springframework:**'],\n },\n ],\n },\n springData: {\n description: 'Group Java Spring Data packages.',\n packageRules: [\n {\n groupName: 'spring data',\n matchPackageNames: ['org.springframework.data:**'],\n },\n ],\n },\n springHateoas: {\n description: 'Group Java Spring HATEOAS packages.',\n packageRules: [\n {\n groupName: 'spring hateoas',\n matchPackageNames: ['org.springframework.hateoas:**'],\n },\n ],\n },\n springIntegration: {\n description: 'Group Java Spring Integration packages.',\n packageRules: [\n {\n groupName: 'spring integration',\n matchPackageNames: ['org.springframework.integration:**'],\n },\n ],\n },\n springKafka: {\n description: 'Group Java Spring Kafka packages.',\n packageRules: [\n {\n groupName: 'spring kafka',\n matchPackageNames: ['org.springframework.kafka:**'],\n },\n ],\n },\n springLdap: {\n description: 'Group Java Spring LDAP packages.',\n packageRules: [\n {\n groupName: 'spring ldap',\n matchPackageNames: ['org.springframework.ldap:**'],\n },\n ],\n },\n springMobile: {\n description: 'Group Java Spring Mobile packages.',\n packageRules: [\n {\n groupName: 'spring mobile',\n matchPackageNames: ['org.springframework.mobile:**'],\n },\n ],\n },\n springOsgi: {\n description: 'Group Java Spring OSGi packages.',\n packageRules: [\n {\n groupName: 'spring osgi',\n matchPackageNames: ['org.springframework.osgi:**'],\n },\n ],\n },\n springRestDocs: {\n description: 'Group Java Spring REST Docs packages.',\n packageRules: [\n {\n groupName: 'spring restdocs',\n matchPackageNames: ['org.springframework.restdocs:**'],\n },\n ],\n },\n springRoo: {\n description: 'Group Java Spring Roo packages.',\n packageRules: [\n {\n groupName: 'spring roo',\n matchPackageNames: ['org.springframework.roo:**'],\n },\n ],\n },\n springScala: {\n description: 'Group Java Spring Scala packages.',\n packageRules: [\n {\n groupName: 'spring scala',\n matchPackageNames: ['org.springframework.scala:**'],\n },\n ],\n },\n springSecurity: {\n description: 'Group Java Spring Security packages.',\n packageRules: [\n {\n groupName: 'spring security',\n matchPackageNames: ['org.springframework.security:**'],\n },\n ],\n },\n springSession: {\n description: 'Group Java Spring Session packages.',\n packageRules: [\n {\n groupName: 'spring session',\n matchPackageNames: ['org.springframework.session:**'],\n },\n ],\n },\n springShell: {\n description: 'Group Java Spring Shell packages.',\n packageRules: [\n {\n groupName: 'spring shell',\n matchPackageNames: ['org.springframework.shell:**'],\n },\n ],\n },\n springSocial: {\n description: 'Group Java Spring Social packages.',\n packageRules: [\n {\n groupName: 'spring social',\n matchPackageNames: ['org.springframework.social:**'],\n },\n ],\n },\n springStatemachine: {\n description: 'Group Java Spring Statemachine packages.',\n packageRules: [\n {\n groupName: 'spring statemachine',\n matchPackageNames: ['org.springframework.statemachine:**'],\n },\n ],\n },\n springWebflow: {\n description: 'Group Java Spring WebFlow packages.',\n packageRules: [\n {\n groupName: 'spring webflow',\n matchPackageNames: ['org.springframework.webflow:**'],\n },\n ],\n },\n springWs: {\n description: 'Group Java Spring WS packages.',\n packageRules: [\n {\n groupName: 'spring ws',\n matchPackageNames: ['org.springframework.ws:**'],\n },\n ],\n },\n stylelint: {\n description: 'Group stylelint packages together.',\n packageRules: [\n {\n extends: ['packages:stylelint'],\n groupName: 'stylelint packages',\n groupSlug: 'stylelint',\n separateMajorMinor: false,\n },\n ],\n },\n symfony: {\n description: 'Group PHP Symfony packages together.',\n packageRules: [\n {\n groupName: 'symfony packages',\n groupSlug: 'symfony',\n matchDatasources: ['packagist'],\n matchPackageNames: [\n 'symfony/*',\n '!symfony/*contracts',\n '!symfony/*pack',\n '!symfony/flex',\n '!symfony/maker-bundle',\n '!symfony/monolog-bundle',\n '!symfony/panther',\n '!symfony/polyfill*',\n '!symfony/proxy-manager-bridge',\n '!symfony/security-guard',\n '!symfony/stimulus-bundle',\n '!symfony/templating',\n '!symfony/thanks',\n '!symfony/ux*',\n '!symfony/webpack-encore-bundle',\n ],\n },\n ],\n },\n test: {\n description: 'Group all test packages together.',\n packageRules: [\n {\n extends: ['packages:test'],\n groupName: 'test packages',\n },\n ],\n },\n testNonMajor: {\n description: 'Group all non-major test package updates together.',\n packageRules: [\n {\n extends: ['packages:test'],\n groupName: 'test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n unitTest: {\n description: 'Group all unit test packages together.',\n packageRules: [\n {\n extends: ['packages:unitTest'],\n groupName: 'unit test packages',\n },\n ],\n },\n unitTestNonMajor: {\n description: 'Group all unit test packages together for non-major updates.',\n packageRules: [\n {\n extends: ['packages:unitTest'],\n groupName: 'unit test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n vite: {\n description: 'Group all Vite related packages together.',\n packageRules: [\n {\n extends: ['packages:vite'],\n groupName: 'Vite packages',\n },\n ],\n },\n};\n\nconst config: any = { ...staticGroups };\n\nconst monorepoNames = [];\nfor (const monorepo of Object.keys(monorepos.presets)) {\n const name = `${monorepo}Monorepo`;\n monorepoNames.push(`group:${name}`);\n config[name] = {\n packageRules: [\n {\n description: `Group packages from ${monorepo} monorepo together.`,\n extends: [`monorepo:${monorepo}`],\n groupName: `${monorepo} monorepo`,\n matchUpdateTypes: nonPinUpdateTypes,\n },\n ],\n };\n}\nconfig.monorepos = {\n description: 'Group known monorepo packages together.',\n extends: monorepoNames,\n ignoreDeps: [], // Hack to improve onboarding PR description\n};\n\nexport const presets: Record<string, Preset> = config;\n"],"mappings":";;AAGA,MAAM,oBAAoB;CAAC;CAAU;CAAS;CAAS;AAAO;AAk4B9D,MAAM,SAAc;CA/3BlB,KAAK;EACH,aAAa;EACb,WAAW;EACX,WAAW;EACX,cAAc,CACZ;GACE,WAAW;GACX,WAAW;GACX,mBAAmB,CAAC,GAAG;EACzB,CACF;EAEA,oBAAoB;CACtB;CACA,kBAAkB;EAChB,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,wBAAwB;GAClC,WAAW;EACb,CACF;CACF;CACA,WAAW;EACT,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,WAAW;GACX,mBAAmB,CAAC,GAAG;GACvB,kBAAkB,CAAC,QAAQ;EAC7B,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,WAAW;GACX,mBAAmB,CAAC,GAAG;GACvB,kBAAkB,CAAC,SAAS,OAAO;EACrC,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,WAAW;GACX,kBAAkB,CAAC,WAAW;GAC9B,mBAAmB;IACjB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;EACF,CACF;CACF;CACA,UAAU;EACR,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,mBAAmB;GAC7B,WAAW;EACb,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,gBAAgB;EACtC,CACF;CACF;CACA,iBAAiB;EACf,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,WAAW;EACjC,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,QAAQ;GAC3B,mBAAmB,CAAC,6BAA6B;EACnD,CACF;CACF;CACA,eAAe;EACb,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,eAAe,eAAe;EACpD,CACF;CACF;CACA,QAAQ;EACN,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,kBAAkB,uBAAuB;EAC/D,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,iBAAiB;EACvC,CACF;CACF;CACA,UAAU;EACR,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB;IACjB;IACA;IACA;IACA;IACA;IACA;IACA;GACF;EACF,CACF;CACF;CACA,uBAAuB;EACrB,aACE;EACF,cAAc,CACZ;GACE,WAAW;GACX,eAAe,CAAC,gBAAgB;GAChC,mBAAmB,CACjB,6BACA,yBACF;GACA,kBAAkB,CAAC,OAAO;EAC5B,CACF;CACF;CACA,SAAS;EACP,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,WAAW;GACX,mBAAmB,CAAC,sBAAsB,mBAAmB;EAC/D,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,qBAAqB;GAC/B,WAAW;EACb,CACF;CACF;CACA,WAAW;EACT,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,WAAW;GACX,kBAAkB,CAAC,IAAI;GACvB,mBAAmB,CAAC,0BAA0B;EAChD,CACF;CACF;CACA,QAAQ;EACN,aACE;EACF,cAAc,CACZ;GACE,oBAAoB;GACpB,kBAAkB,CAAC,UAAU,gBAAgB;GAC7C,mBAAmB,CACjB,kBACF;EACF,CACF;CACF;CACA,kBAAkB;EAChB,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,yBAAyB;EAC/C,CACF;CACF;CACA,eAAe;EACb,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,kBAAkB;EACxC,CACF;CACF;CACA,cAAc;EACZ,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,sBAAsB;EAC5C,CACF;CACF;CACA,oBAAoB;EAClB,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,4BAA4B;EAClD,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,WAAW;GACX,mBAAmB,CAAC,eAAe;EACrC,CACF;CACF;CACA,iBAAiB;EACf,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,iBAAiB,CACf,gCACA,uCACF;EACF,CACF;CACF;CACA,gBAAgB;EACd,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,iBAAiB,CAAC,uCAAuC;GACzD,kBAAkB,CAAC,OAAO;EAC5B,CACF;CACF;CACA,eAAe;EACb,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,aAAa;GACjC,kBAAkB;EACpB,CACF;CACF;CACA,QAAQ;EACN,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,iBAAiB;GAC3B,WAAW;EACb,CACF;CACF;CACA,gBAAgB;EACd,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,iBAAiB;GAC3B,WAAW;GACX,kBAAkB,CAAC,SAAS,OAAO;EACrC,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,qBAAqB;GAC/B,WAAW;EACb,CACF;CACF;CACA,oBAAoB;EAClB,aACE;EACF,cAAc,CACZ;GACE,SAAS,CAAC,qBAAqB;GAC/B,WAAW;GACX,kBAAkB,CAAC,SAAS,OAAO;EACrC,CACF;CACF;CACA,cAAc;EACZ,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,WAAW;GAC9B,mBAAmB,CAAC,cAAc;EACpC,CACF;CACF;CACA,SAAS;EACP,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,kBAAkB;GAC5B,WAAW;EACb,CACF;CACF;CACA,YAAY;EACV,aACE;EACF,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,6BAA6B;EACnD,CACF;CACF;CACA,QAAQ;EACN,aACE;EACF,cAAc,CACZ;GACE,oBAAoB;GACpB,kBAAkB,CAAC,UAAU,cAAc;GAC3C,mBAAmB;IACjB;IACA;IACA;IACA;IACA;IACA;GACF;EACF,CACF;CACF;CACA,SAAS;EACP,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,WAAW;GAC9B,mBAAmB;IACjB;IACA;IACA;IACA;GACF;EACF,CACF;CACF;CACA,MAAM;EACJ,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,UAAU,KAAK;GAClC,mBAAmB,CAAC,QAAQ,mBAAmB;EACjD,CACF;CACF;CACA,SAAS;EACP,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,aAAa;EACnC,CACF;CACF;CACA,SAAS;EACP,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,kBAAkB;GAC5B,WAAW;EACb,CACF;CACF;CACA,QAAQ;EACN,aAAa;EACb,cAAc;GACZ;IACE,aAAa;IACb,WAAW;IACX,WAAW;IACX,kBAAkB,CAAC,KAAK;IACxB,mBAAmB,CAAC,YAAY;GAClC;GACA;IACE,aAAa;IACb,WAAW;IACX,WAAW;IACX,kBAAkB,CAAC,MAAM;IACzB,mBAAmB,CAAC,WAAW;GACjC;GACA;IACE,aAAa;IACb,WAAW;IACX,WAAW;IACX,kBAAkB,CAAC,IAAI;IACvB,mBAAmB,CAAC,sBAAsB;GAC5C;GACA;IACE,aAAa;IACb,WAAW;IACX,WAAW;IACX,kBAAkB,CAAC,OAAO;IAC1B,mBAAmB,CAAC,cAAc;GACpC;GACA;IACE,aAAa;IACb,WAAW;IACX,WAAW;IACX,kBAAkB,CAAC,OAAO;IAC1B,mBAAmB,CAAC,UAAU;GAChC;EACF;CACF;CACA,WAAW;EACT,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,KAAK;GACxB,mBAAmB,CAAC,aAAa,gBAAgB;EACnD,CACF;CACF;CACA,OAAO;EACL,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB;IACjB;IACA;IACA;GACF;EACF,CACF;CACF;CACA,aAAa;EACX,aACE;EACF,SAAS;GACP;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;EACA,YAAY,CAAC;CACf;CACA,QAAQ;EACN,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,KAAK;GACxB,iBAAiB,CAAC,gCAAgC;EACpD,CACF;CACF;CACA,cAAc;EACZ,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,2BAA2B;EACjD,CACF;CACF;CACA,cAAc;EACZ,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,UAAU;GAC7B,mBAAmB,CAAC,YAAY;EAClC,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,UAAU;GAC7B,mBAAmB;IACjB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;EACF,CACF;CACF;CACA,UAAU;EACR,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,aAAa;EACnC,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,6BAA6B;EACnD,CACF;CACF;CACA,eAAe;EACb,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,gCAAgC;EACtD,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,8BAA8B;EACpD,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,eAAe,CAAC,0BAA0B;EAC5C,GACA;GACE,WAAW;GACX,mBAAmB,CAAC,6BAA6B;EACnD,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,8BAA8B;EACpD,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,wBAAwB;EA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"}
|
|
1
|
+
{"version":3,"file":"group.preset.js","names":["monorepos.presets"],"sources":["../../../../lib/config/presets/internal/group.preset.ts"],"sourcesContent":["import type { Preset } from '../types.ts';\nimport * as monorepos from './monorepos.preset.ts';\n\nconst nonPinUpdateTypes = ['digest', 'patch', 'minor', 'major'];\n\nconst staticGroups = {\n all: {\n description: 'Group all updates together.',\n groupName: 'all dependencies',\n groupSlug: 'all',\n packageRules: [\n {\n groupName: 'all dependencies',\n groupSlug: 'all',\n matchPackageNames: ['*'],\n },\n ],\n\n separateMajorMinor: false,\n },\n allApollographql: {\n description: 'Group all packages published by Apollo GraphQL together.',\n packageRules: [\n {\n extends: ['packages:apollographql'],\n groupName: 'Apollo GraphQL packages',\n },\n ],\n },\n allDigest: {\n description: 'Group all `digest` updates together.',\n packageRules: [\n {\n groupName: 'all digest updates',\n groupSlug: 'all-digest',\n matchPackageNames: ['*'],\n matchUpdateTypes: ['digest'],\n },\n ],\n },\n allNonMajor: {\n description: 'Group all `minor` and `patch` updates together.',\n packageRules: [\n {\n groupName: 'all non-major dependencies',\n groupSlug: 'all-minor-patch',\n matchPackageNames: ['*'],\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n apiPlatform: {\n description: 'Group PHP API Platform packages together.',\n packageRules: [\n {\n groupName: 'api-platform packages',\n groupSlug: 'api-platform',\n matchDatasources: ['packagist'],\n matchPackageNames: [\n 'api-platform/*',\n '!api-platform/admin-meta',\n '!api-platform/admin-pack',\n '!api-platform/api-pack',\n '!api-platform/api-platform',\n '!api-platform/parameter-validator',\n '!api-platform/postman-collection-generator',\n '!api-platform/schema-generator',\n ],\n },\n ],\n },\n atlaskit: {\n description: 'Group all Atlassian `@atlaskit` packages together.',\n packageRules: [\n {\n extends: ['packages:atlaskit'],\n groupName: 'Atlassian Atlaskit packages',\n },\n ],\n },\n codemirror: {\n description: 'Group CodeMirror packages together.',\n packageRules: [\n {\n groupName: 'CodeMirror',\n matchPackageNames: ['@codemirror/**'],\n },\n ],\n },\n definitelyTyped: {\n description: 'Group all `@types` packages together.',\n packageRules: [\n {\n groupName: 'definitelyTyped',\n matchPackageNames: ['@types/**'],\n },\n ],\n },\n dotNetCore: {\n description: '.NET Core Docker containers.',\n packageRules: [\n {\n groupName: '.NET Core Docker containers',\n matchDatasources: ['docker'],\n matchPackageNames: ['mcr.microsoft.com/dotnet/**'],\n },\n ],\n },\n 'drupal-core': {\n description: 'Group Drupal core updates.',\n packageRules: [\n {\n groupName: 'Drupal core',\n matchPackageNames: ['drupal/core', 'drupal/core-*'],\n },\n ],\n },\n flyway: {\n description: 'Group Java Flyway packages.',\n packageRules: [\n {\n groupName: 'flyway',\n matchPackageNames: ['org.flywaydb:*', 'org.flywaydb.flyway:*'],\n },\n ],\n },\n fortawesome: {\n description: 'Group all packages by Font Awesome together.',\n packageRules: [\n {\n groupName: 'Font Awesome',\n matchPackageNames: ['@fortawesome/**'],\n },\n ],\n },\n fusionjs: {\n description: 'Group Fusion.js packages together.',\n packageRules: [\n {\n groupName: 'Fusion.js packages',\n matchPackageNames: [\n 'fusion-cli',\n 'fusion-core',\n 'fusion-test-utils',\n 'fusion-tokens',\n 'fusion-plugin-**',\n 'fusion-react**',\n 'fusion-apollo**',\n ],\n },\n ],\n },\n githubArtifactActions: {\n description:\n 'Group `download-artifact` and `upload-artifact` major updates together.',\n packageRules: [\n {\n groupName: 'GitHub Artifact Actions',\n matchManagers: ['github-actions'],\n matchPackageNames: [\n 'actions/download-artifact',\n 'actions/upload-artifact',\n ],\n matchUpdateTypes: ['major'],\n },\n ],\n },\n glimmer: {\n description: 'Group Glimmer.js packages together.',\n packageRules: [\n {\n groupName: 'Glimmer.js packages',\n groupSlug: 'glimmer',\n matchPackageNames: ['@glimmer/component', '@glimmer/tracking'],\n },\n ],\n },\n googleapis: {\n description: 'Group `googleapis` packages together.',\n packageRules: [\n {\n extends: ['packages:googleapis'],\n groupName: 'googleapis packages',\n },\n ],\n },\n goOpenapi: {\n description: 'Group `go-openapi` packages together.',\n packageRules: [\n {\n groupName: 'go-openapi packages',\n groupSlug: 'go-openapi',\n matchDatasources: ['go'],\n matchPackageNames: ['github.com/go-openapi/**'],\n },\n ],\n },\n gradle: {\n description:\n \"Group anything that looks like Gradle together so that it's updated together.\",\n packageRules: [\n {\n commitMessageTopic: 'Gradle',\n matchDatasources: ['docker', 'gradle-version'],\n matchPackageNames: [\n '/(?:^|/)gradle$/', // gradle or ends with \"/gradle\"\n ],\n },\n ],\n },\n hibernateCommons: {\n description: 'Group Java Hibernate Commons packages.',\n packageRules: [\n {\n groupName: 'hibernate commons',\n matchPackageNames: ['org.hibernate.common:**'],\n },\n ],\n },\n hibernateCore: {\n description: 'Group Java Hibernate Core packages.',\n packageRules: [\n {\n groupName: 'hibernate core',\n matchPackageNames: ['org.hibernate:**'],\n },\n ],\n },\n hibernateOgm: {\n description: 'Group Java Hibernate OGM packages.',\n packageRules: [\n {\n groupName: 'hibernate ogm',\n matchPackageNames: ['org.hibernate.ogm:**'],\n },\n ],\n },\n hibernateValidator: {\n description: 'Group Java Hibernate Validator packages.',\n packageRules: [\n {\n groupName: 'hibernate validator',\n matchPackageNames: ['org.hibernate.validator:**'],\n },\n ],\n },\n illuminate: {\n description: 'Group PHP Illuminate packages together.',\n packageRules: [\n {\n groupName: 'illuminate packages',\n groupSlug: 'illuminate',\n matchPackageNames: ['illuminate/**'],\n },\n ],\n },\n jekyllEcosystem: {\n description: 'Group Jekyll and related Ruby packages together.',\n packageRules: [\n {\n groupName: 'jekyll ecosystem packages',\n matchSourceUrls: [\n 'https://github.com/jekyll/**',\n 'https://github.com/github/pages-gem**',\n ],\n },\n ],\n },\n jestPlusTSJest: {\n description: 'Add `ts-jest` `major` update to Jest monorepo.',\n packageRules: [\n {\n groupName: 'jest monorepo',\n matchSourceUrls: ['https://github.com/kulshekhar/ts-jest'],\n matchUpdateTypes: ['major'],\n },\n ],\n },\n jestPlusTypes: {\n description: 'Add `@types/jest` update to Jest monorepo.',\n packageRules: [\n {\n groupName: 'jest monorepo',\n matchPackageNames: ['@types/jest'],\n matchUpdateTypes: nonPinUpdateTypes,\n },\n ],\n },\n jsTest: {\n description: 'Group JS test packages together.',\n packageRules: [\n {\n extends: ['packages:jsTest'],\n groupName: 'JS test packages',\n },\n ],\n },\n jsTestNonMajor: {\n description: 'Group non-major JS test package updates together.',\n packageRules: [\n {\n extends: ['packages:jsTest'],\n groupName: 'JS test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n jsUnitTest: {\n description: 'Group JavaScript unit test packages together.',\n packageRules: [\n {\n extends: ['packages:jsUnitTest'],\n groupName: 'JS unit test packages',\n },\n ],\n },\n jsUnitTestNonMajor: {\n description:\n 'Group JavaScipt unit test packages together for non-major updates.',\n packageRules: [\n {\n extends: ['packages:jsUnitTest'],\n groupName: 'JS unit test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n jwtFramework: {\n description: 'Group JWT Framework packages together.',\n packageRules: [\n {\n groupName: 'JWT Framework packages',\n matchDatasources: ['packagist'],\n matchPackageNames: ['web-token/**'],\n },\n ],\n },\n linters: {\n description: 'Group various lint packages together.',\n packageRules: [\n {\n extends: ['packages:linters'],\n groupName: 'linters',\n },\n ],\n },\n micrometer: {\n description:\n \"Group Micrometer packages together, e.g. 'io.micrometer:micrometer-core'.\",\n packageRules: [\n {\n groupName: 'micrometer',\n matchPackageNames: ['io.micrometer:micrometer-**'],\n },\n ],\n },\n nodeJs: {\n description:\n \"Group anything that looks like Node.js together so that it's updated together.\",\n packageRules: [\n {\n commitMessageTopic: 'Node.js',\n matchDatasources: ['docker', 'node-version'],\n matchPackageNames: [\n '/(?:^|/)node$/', // node or ends with \"/node, except those below\"\n '!calico/node',\n '!docker.io/calico/node',\n '!ghcr.io/devcontainers/features/node',\n '!kindest/node',\n '!docker.io/kindest/node',\n ],\n },\n ],\n },\n phpstan: {\n description: 'Group PHPStan packages together.',\n packageRules: [\n {\n groupName: 'PHPStan packages',\n matchDatasources: ['packagist'],\n matchPackageNames: [\n 'phpstan/phpstan',\n '//phpstan-/',\n '//larastan/',\n 'phpstan/extension-installer',\n ],\n },\n ],\n },\n pnpm: {\n description: 'Group pnpm packages together.',\n packageRules: [\n {\n groupName: 'pnpm packages',\n matchDatasources: ['docker', 'npm'],\n matchPackageNames: ['pnpm', 'ghcr.io/pnpm/pnpm'],\n },\n ],\n },\n polymer: {\n description: 'Group all `@polymer` packages together.',\n packageRules: [\n {\n groupName: 'polymer packages',\n matchPackageNames: ['@polymer/**'],\n },\n ],\n },\n postcss: {\n description: 'Group PostCSS packages together.',\n packageRules: [\n {\n extends: ['packages:postcss'],\n groupName: 'postcss packages',\n },\n ],\n },\n pulumi: {\n description: 'Group Pulumi packages together.',\n packageRules: [\n {\n description: 'Group Pulumi Node.JS packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-node',\n matchDatasources: ['npm'],\n matchPackageNames: ['@pulumi/**'],\n },\n {\n description: 'Group Pulumi Python packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-python',\n matchDatasources: ['pypi'],\n matchPackageNames: ['pulumi-**'],\n },\n {\n description: 'Group Pulumi Go packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-go',\n matchDatasources: ['go'],\n matchPackageNames: ['github.com/pulumi/**'],\n },\n {\n description: 'Group Pulumi Java packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-java',\n matchDatasources: ['maven'],\n matchPackageNames: ['com.pulumi**'],\n },\n {\n description: 'Group Pulumi .NET packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-dotnet',\n matchDatasources: ['nuget'],\n matchPackageNames: ['Pulumi**'],\n },\n ],\n },\n puppeteer: {\n description: 'Group Puppeteer packages together.',\n packageRules: [\n {\n groupName: 'Puppeteer',\n matchDatasources: ['npm'],\n matchPackageNames: ['puppeteer', 'puppeteer-core'],\n },\n ],\n },\n react: {\n description: 'Group React and corresponding `@types` packages together.',\n packageRules: [\n {\n groupName: 'react monorepo',\n matchPackageNames: [\n '@types/react',\n '@types/react-dom',\n '@types/react-is',\n ],\n },\n ],\n },\n recommended: {\n extends: [\n 'group:nodeJs',\n 'group:allApollographql',\n 'group:apiPlatform',\n 'group:codemirror',\n 'group:flyway',\n 'group:fortawesome',\n 'group:fusionjs',\n 'group:githubArtifactActions',\n 'group:glimmer',\n 'group:goOpenapi',\n 'group:gradle',\n 'group:hibernateCore',\n 'group:hibernateValidator',\n 'group:hibernateOgm',\n 'group:hibernateCommons',\n 'group:illuminate',\n 'group:jekyllEcosystem',\n 'group:jestPlusTSJest',\n 'group:jestPlusTypes',\n 'group:jwtFramework',\n 'group:micrometer',\n 'group:phpstan',\n 'group:polymer',\n 'group:puppeteer',\n 'group:react',\n 'group:remark',\n 'group:resilience4j',\n 'group:rubyOnRails',\n 'group:rubyOmniauth',\n 'group:socketio',\n 'group:springAmqp',\n 'group:springAndroid',\n 'group:springBatch',\n 'group:springBoot',\n 'group:springCloud',\n 'group:springCore',\n 'group:springData',\n 'group:springHateoas',\n 'group:springIntegration',\n 'group:springKafka',\n 'group:springLdap',\n 'group:springMobile',\n 'group:springOsgi',\n 'group:springRestDocs',\n 'group:springRoo',\n 'group:springScala',\n 'group:springSecurity',\n 'group:springSession',\n 'group:springShell',\n 'group:springSocial',\n 'group:springStatemachine',\n 'group:springWebflow',\n 'group:springWs',\n 'group:symfony',\n ],\n overrideDescription:\n 'Use curated list of recommended non-monorepo package groupings.',\n },\n remark: {\n description: 'Group remark packages together.',\n packageRules: [\n {\n groupName: 'remark',\n matchDatasources: ['npm'],\n matchSourceUrls: ['https://github.com/remarkjs/**'],\n },\n ],\n },\n resilience4j: {\n description: 'Group Java Resilience4j packages.',\n packageRules: [\n {\n groupName: 'resilience4j',\n matchPackageNames: ['io.github.resilience4j:**'],\n },\n ],\n },\n rubyOmniauth: {\n description: 'Group OmniAuth packages together.',\n packageRules: [\n {\n groupName: 'omniauth packages',\n matchDatasources: ['rubygems'],\n matchPackageNames: ['omniauth**'],\n },\n ],\n },\n rubyOnRails: {\n description: 'Group Ruby on Rails packages together.',\n packageRules: [\n {\n groupName: 'Ruby on Rails packages',\n matchDatasources: ['rubygems'],\n matchPackageNames: [\n 'actioncable',\n 'actionmailbox',\n 'actionmailer',\n 'actionpack',\n 'actiontext',\n 'actionview',\n 'activejob',\n 'activemodel',\n 'activerecord',\n 'activestorage',\n 'activesupport',\n 'railties',\n 'rails',\n ],\n },\n ],\n },\n socketio: {\n description: 'Group socket.io packages.',\n packageRules: [\n {\n groupName: 'socket.io packages',\n matchPackageNames: ['socket.io**'],\n },\n ],\n },\n springAmqp: {\n description: 'Group Java Spring AMQP packages.',\n packageRules: [\n {\n groupName: 'spring amqp',\n matchPackageNames: ['org.springframework.amqp:**'],\n },\n ],\n },\n springAndroid: {\n description: 'Group Java Spring Android packages.',\n packageRules: [\n {\n groupName: 'spring android',\n matchPackageNames: ['org.springframework.android:**'],\n },\n ],\n },\n springBatch: {\n description: 'Group Java Spring Batch packages.',\n packageRules: [\n {\n groupName: 'spring batch',\n matchPackageNames: ['org.springframework.batch:**'],\n },\n ],\n },\n springBoot: {\n description: 'Group Java Spring Boot packages.',\n packageRules: [\n {\n groupName: 'spring boot',\n matchDepNames: ['org.springframework.boot'],\n },\n {\n groupName: 'spring boot',\n matchPackageNames: ['org.springframework.boot:**'],\n },\n ],\n },\n springCloud: {\n description: 'Group Java Spring Cloud packages.',\n packageRules: [\n {\n groupName: 'spring cloud',\n matchPackageNames: ['org.springframework.cloud:**'],\n },\n ],\n },\n springCore: {\n description: 'Group Java Spring Core packages.',\n packageRules: [\n {\n groupName: 'spring core',\n matchPackageNames: ['org.springframework:**'],\n },\n ],\n },\n springData: {\n description: 'Group Java Spring Data packages.',\n packageRules: [\n {\n groupName: 'spring data',\n matchPackageNames: ['org.springframework.data:**'],\n },\n ],\n },\n springHateoas: {\n description: 'Group Java Spring HATEOAS packages.',\n packageRules: [\n {\n groupName: 'spring hateoas',\n matchPackageNames: ['org.springframework.hateoas:**'],\n },\n ],\n },\n springIntegration: {\n description: 'Group Java Spring Integration packages.',\n packageRules: [\n {\n groupName: 'spring integration',\n matchPackageNames: ['org.springframework.integration:**'],\n },\n ],\n },\n springKafka: {\n description: 'Group Java Spring Kafka packages.',\n packageRules: [\n {\n groupName: 'spring kafka',\n matchPackageNames: ['org.springframework.kafka:**'],\n },\n ],\n },\n springLdap: {\n description: 'Group Java Spring LDAP packages.',\n packageRules: [\n {\n groupName: 'spring ldap',\n matchPackageNames: ['org.springframework.ldap:**'],\n },\n ],\n },\n springMobile: {\n description: 'Group Java Spring Mobile packages.',\n packageRules: [\n {\n groupName: 'spring mobile',\n matchPackageNames: ['org.springframework.mobile:**'],\n },\n ],\n },\n springOsgi: {\n description: 'Group Java Spring OSGi packages.',\n packageRules: [\n {\n groupName: 'spring osgi',\n matchPackageNames: ['org.springframework.osgi:**'],\n },\n ],\n },\n springRestDocs: {\n description: 'Group Java Spring REST Docs packages.',\n packageRules: [\n {\n groupName: 'spring restdocs',\n matchPackageNames: ['org.springframework.restdocs:**'],\n },\n ],\n },\n springRoo: {\n description: 'Group Java Spring Roo packages.',\n packageRules: [\n {\n groupName: 'spring roo',\n matchPackageNames: ['org.springframework.roo:**'],\n },\n ],\n },\n springScala: {\n description: 'Group Java Spring Scala packages.',\n packageRules: [\n {\n groupName: 'spring scala',\n matchPackageNames: ['org.springframework.scala:**'],\n },\n ],\n },\n springSecurity: {\n description: 'Group Java Spring Security packages.',\n packageRules: [\n {\n groupName: 'spring security',\n matchPackageNames: ['org.springframework.security:**'],\n },\n ],\n },\n springSession: {\n description: 'Group Java Spring Session packages.',\n packageRules: [\n {\n groupName: 'spring session',\n matchPackageNames: ['org.springframework.session:**'],\n },\n ],\n },\n springShell: {\n description: 'Group Java Spring Shell packages.',\n packageRules: [\n {\n groupName: 'spring shell',\n matchPackageNames: ['org.springframework.shell:**'],\n },\n ],\n },\n springSocial: {\n description: 'Group Java Spring Social packages.',\n packageRules: [\n {\n groupName: 'spring social',\n matchPackageNames: ['org.springframework.social:**'],\n },\n ],\n },\n springStatemachine: {\n description: 'Group Java Spring Statemachine packages.',\n packageRules: [\n {\n groupName: 'spring statemachine',\n matchPackageNames: ['org.springframework.statemachine:**'],\n },\n ],\n },\n springWebflow: {\n description: 'Group Java Spring WebFlow packages.',\n packageRules: [\n {\n groupName: 'spring webflow',\n matchPackageNames: ['org.springframework.webflow:**'],\n },\n ],\n },\n springWs: {\n description: 'Group Java Spring WS packages.',\n packageRules: [\n {\n groupName: 'spring ws',\n matchPackageNames: ['org.springframework.ws:**'],\n },\n ],\n },\n stylelint: {\n description: 'Group stylelint packages together.',\n packageRules: [\n {\n extends: ['packages:stylelint'],\n groupName: 'stylelint packages',\n groupSlug: 'stylelint',\n separateMajorMinor: false,\n },\n ],\n },\n symfony: {\n description: 'Group PHP Symfony packages together.',\n packageRules: [\n {\n groupName: 'symfony packages',\n groupSlug: 'symfony',\n matchDatasources: ['packagist'],\n matchPackageNames: [\n 'symfony/*',\n '!symfony/*contracts',\n '!symfony/*pack',\n '!symfony/flex',\n '!symfony/maker-bundle',\n '!symfony/monolog-bundle',\n '!symfony/panther',\n '!symfony/polyfill*',\n '!symfony/proxy-manager-bridge',\n '!symfony/security-guard',\n '!symfony/stimulus-bundle',\n '!symfony/templating',\n '!symfony/thanks',\n '!symfony/ux*',\n '!symfony/webpack-encore-bundle',\n ],\n },\n ],\n },\n test: {\n description: 'Group all test packages together.',\n packageRules: [\n {\n extends: ['packages:test'],\n groupName: 'test packages',\n },\n ],\n },\n testNonMajor: {\n description: 'Group all non-major test package updates together.',\n packageRules: [\n {\n extends: ['packages:test'],\n groupName: 'test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n unitTest: {\n description: 'Group all unit test packages together.',\n packageRules: [\n {\n extends: ['packages:unitTest'],\n groupName: 'unit test packages',\n },\n ],\n },\n unitTestNonMajor: {\n description: 'Group all unit test packages together for non-major updates.',\n packageRules: [\n {\n extends: ['packages:unitTest'],\n groupName: 'unit test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n vite: {\n description: 'Group all Vite related packages together.',\n packageRules: [\n {\n extends: ['packages:vite'],\n groupName: 'Vite packages',\n },\n ],\n },\n};\n\nconst config: any = { ...staticGroups };\n\nconst monorepoNames = [];\nfor (const monorepo of Object.keys(monorepos.presets)) {\n const name = `${monorepo}Monorepo`;\n monorepoNames.push(`group:${name}`);\n config[name] = {\n packageRules: [\n {\n description: `Group packages from ${monorepo} monorepo together.`,\n extends: [`monorepo:${monorepo}`],\n groupName: `${monorepo} monorepo`,\n matchUpdateTypes: nonPinUpdateTypes,\n },\n ],\n };\n}\nconfig.monorepos = {\n extends: monorepoNames,\n overrideDescription: 'Group known monorepo packages together.',\n};\n\nexport const presets: Record<string, Preset> = config;\n"],"mappings":";;AAGA,MAAM,oBAAoB;CAAC;CAAU;CAAS;CAAS;AAAO;AAi4B9D,MAAM,SAAc;CA93BlB,KAAK;EACH,aAAa;EACb,WAAW;EACX,WAAW;EACX,cAAc,CACZ;GACE,WAAW;GACX,WAAW;GACX,mBAAmB,CAAC,GAAG;EACzB,CACF;EAEA,oBAAoB;CACtB;CACA,kBAAkB;EAChB,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,wBAAwB;GAClC,WAAW;EACb,CACF;CACF;CACA,WAAW;EACT,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,WAAW;GACX,mBAAmB,CAAC,GAAG;GACvB,kBAAkB,CAAC,QAAQ;EAC7B,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,WAAW;GACX,mBAAmB,CAAC,GAAG;GACvB,kBAAkB,CAAC,SAAS,OAAO;EACrC,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,WAAW;GACX,kBAAkB,CAAC,WAAW;GAC9B,mBAAmB;IACjB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;EACF,CACF;CACF;CACA,UAAU;EACR,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,mBAAmB;GAC7B,WAAW;EACb,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,gBAAgB;EACtC,CACF;CACF;CACA,iBAAiB;EACf,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,WAAW;EACjC,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,QAAQ;GAC3B,mBAAmB,CAAC,6BAA6B;EACnD,CACF;CACF;CACA,eAAe;EACb,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,eAAe,eAAe;EACpD,CACF;CACF;CACA,QAAQ;EACN,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,kBAAkB,uBAAuB;EAC/D,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,iBAAiB;EACvC,CACF;CACF;CACA,UAAU;EACR,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB;IACjB;IACA;IACA;IACA;IACA;IACA;IACA;GACF;EACF,CACF;CACF;CACA,uBAAuB;EACrB,aACE;EACF,cAAc,CACZ;GACE,WAAW;GACX,eAAe,CAAC,gBAAgB;GAChC,mBAAmB,CACjB,6BACA,yBACF;GACA,kBAAkB,CAAC,OAAO;EAC5B,CACF;CACF;CACA,SAAS;EACP,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,WAAW;GACX,mBAAmB,CAAC,sBAAsB,mBAAmB;EAC/D,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,qBAAqB;GAC/B,WAAW;EACb,CACF;CACF;CACA,WAAW;EACT,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,WAAW;GACX,kBAAkB,CAAC,IAAI;GACvB,mBAAmB,CAAC,0BAA0B;EAChD,CACF;CACF;CACA,QAAQ;EACN,aACE;EACF,cAAc,CACZ;GACE,oBAAoB;GACpB,kBAAkB,CAAC,UAAU,gBAAgB;GAC7C,mBAAmB,CACjB,kBACF;EACF,CACF;CACF;CACA,kBAAkB;EAChB,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,yBAAyB;EAC/C,CACF;CACF;CACA,eAAe;EACb,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,kBAAkB;EACxC,CACF;CACF;CACA,cAAc;EACZ,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,sBAAsB;EAC5C,CACF;CACF;CACA,oBAAoB;EAClB,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,4BAA4B;EAClD,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,WAAW;GACX,mBAAmB,CAAC,eAAe;EACrC,CACF;CACF;CACA,iBAAiB;EACf,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,iBAAiB,CACf,gCACA,uCACF;EACF,CACF;CACF;CACA,gBAAgB;EACd,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,iBAAiB,CAAC,uCAAuC;GACzD,kBAAkB,CAAC,OAAO;EAC5B,CACF;CACF;CACA,eAAe;EACb,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,aAAa;GACjC,kBAAkB;EACpB,CACF;CACF;CACA,QAAQ;EACN,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,iBAAiB;GAC3B,WAAW;EACb,CACF;CACF;CACA,gBAAgB;EACd,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,iBAAiB;GAC3B,WAAW;GACX,kBAAkB,CAAC,SAAS,OAAO;EACrC,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,qBAAqB;GAC/B,WAAW;EACb,CACF;CACF;CACA,oBAAoB;EAClB,aACE;EACF,cAAc,CACZ;GACE,SAAS,CAAC,qBAAqB;GAC/B,WAAW;GACX,kBAAkB,CAAC,SAAS,OAAO;EACrC,CACF;CACF;CACA,cAAc;EACZ,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,WAAW;GAC9B,mBAAmB,CAAC,cAAc;EACpC,CACF;CACF;CACA,SAAS;EACP,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,kBAAkB;GAC5B,WAAW;EACb,CACF;CACF;CACA,YAAY;EACV,aACE;EACF,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,6BAA6B;EACnD,CACF;CACF;CACA,QAAQ;EACN,aACE;EACF,cAAc,CACZ;GACE,oBAAoB;GACpB,kBAAkB,CAAC,UAAU,cAAc;GAC3C,mBAAmB;IACjB;IACA;IACA;IACA;IACA;IACA;GACF;EACF,CACF;CACF;CACA,SAAS;EACP,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,WAAW;GAC9B,mBAAmB;IACjB;IACA;IACA;IACA;GACF;EACF,CACF;CACF;CACA,MAAM;EACJ,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,UAAU,KAAK;GAClC,mBAAmB,CAAC,QAAQ,mBAAmB;EACjD,CACF;CACF;CACA,SAAS;EACP,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,aAAa;EACnC,CACF;CACF;CACA,SAAS;EACP,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,kBAAkB;GAC5B,WAAW;EACb,CACF;CACF;CACA,QAAQ;EACN,aAAa;EACb,cAAc;GACZ;IACE,aAAa;IACb,WAAW;IACX,WAAW;IACX,kBAAkB,CAAC,KAAK;IACxB,mBAAmB,CAAC,YAAY;GAClC;GACA;IACE,aAAa;IACb,WAAW;IACX,WAAW;IACX,kBAAkB,CAAC,MAAM;IACzB,mBAAmB,CAAC,WAAW;GACjC;GACA;IACE,aAAa;IACb,WAAW;IACX,WAAW;IACX,kBAAkB,CAAC,IAAI;IACvB,mBAAmB,CAAC,sBAAsB;GAC5C;GACA;IACE,aAAa;IACb,WAAW;IACX,WAAW;IACX,kBAAkB,CAAC,OAAO;IAC1B,mBAAmB,CAAC,cAAc;GACpC;GACA;IACE,aAAa;IACb,WAAW;IACX,WAAW;IACX,kBAAkB,CAAC,OAAO;IAC1B,mBAAmB,CAAC,UAAU;GAChC;EACF;CACF;CACA,WAAW;EACT,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,KAAK;GACxB,mBAAmB,CAAC,aAAa,gBAAgB;EACnD,CACF;CACF;CACA,OAAO;EACL,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB;IACjB;IACA;IACA;GACF;EACF,CACF;CACF;CACA,aAAa;EACX,SAAS;GACP;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;EACA,qBACE;CACJ;CACA,QAAQ;EACN,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,KAAK;GACxB,iBAAiB,CAAC,gCAAgC;EACpD,CACF;CACF;CACA,cAAc;EACZ,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,2BAA2B;EACjD,CACF;CACF;CACA,cAAc;EACZ,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,UAAU;GAC7B,mBAAmB,CAAC,YAAY;EAClC,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,UAAU;GAC7B,mBAAmB;IACjB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;EACF,CACF;CACF;CACA,UAAU;EACR,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,aAAa;EACnC,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,6BAA6B;EACnD,CACF;CACF;CACA,eAAe;EACb,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,gCAAgC;EACtD,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,8BAA8B;EACpD,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,eAAe,CAAC,0BAA0B;EAC5C,GACA;GACE,WAAW;GACX,mBAAmB,CAAC,6BAA6B;EACnD,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,8BAA8B;EACpD,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,wBAAwB;EAC9C,CACF;CACF;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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
//#region lib/config/presets/internal/workarounds.preset.ts
|
|
2
2
|
const presets = {
|
|
3
3
|
all: {
|
|
4
|
-
description: ["Apply crowd-sourced workarounds for known problems with packages."],
|
|
5
4
|
extends: [
|
|
6
5
|
"workarounds:mavenCommonsAncientVersion",
|
|
7
6
|
"workarounds:ignoreSpringCloudNumeric",
|
|
@@ -24,7 +23,7 @@ const presets = {
|
|
|
24
23
|
"workarounds:libericaJdkDockerVersioning",
|
|
25
24
|
"workarounds:ubuntuDockerVersioning"
|
|
26
25
|
],
|
|
27
|
-
|
|
26
|
+
overrideDescription: ["Apply crowd-sourced workarounds for known problems with packages."]
|
|
28
27
|
},
|
|
29
28
|
bitnamiDockerImageVersioning: {
|
|
30
29
|
description: "Use custom regex versioning for bitnami images",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workarounds.preset.js","names":[],"sources":["../../../../lib/config/presets/internal/workarounds.preset.ts"],"sourcesContent":["import type { Preset } from '../types.ts';\n\nexport const presets: Record<string, Preset> = {\n all: {\n description: [\n 'Apply crowd-sourced workarounds for known problems with packages.',\n ],\n extends: [\n 'workarounds:mavenCommonsAncientVersion',\n 'workarounds:ignoreSpringCloudNumeric',\n 'workarounds:ignoreWeb3jCoreWithOldReleaseTimestamp',\n 'workarounds:ignoreHttp4sDigestMilestones',\n 'workarounds:typesNodeVersioning',\n 'workarounds:nodeDockerVersioning',\n 'workarounds:doNotUpgradeFromAlpineStableToEdge',\n 'workarounds:supportRedHatImageVersion',\n 'workarounds:javaLTSVersions',\n 'workarounds:disableEclipseLifecycleMapping',\n 'workarounds:disableGradleReplacements',\n 'workarounds:disableMavenParentRoot',\n 'workarounds:containerbase',\n 'workarounds:bitnamiDockerImageVersioning',\n 'workarounds:clamavDockerImageVersioning',\n 'workarounds:grafanaDockerImageVersioning',\n 'workarounds:k3sKubernetesVersioning',\n 'workarounds:rke2KubernetesVersioning',\n 'workarounds:libericaJdkDockerVersioning',\n 'workarounds:ubuntuDockerVersioning',\n ],\n ignoreDeps: [], // Hack to improve onboarding PR description\n },\n bitnamiDockerImageVersioning: {\n description: 'Use custom regex versioning for bitnami images',\n packageRules: [\n {\n matchCurrentValue:\n '/^(?<major>\\\\d+)(?:\\\\.(?<minor>\\\\d+)(?:\\\\.(?<patch>\\\\d+))?)?-(?<compatibility>.+)-(?<build>\\\\d+)(?:-r(?<revision>\\\\d+))?$/',\n matchDatasources: ['docker'],\n matchPackageNames: [\n 'bitnami/**',\n 'docker.io/bitnami/**',\n 'gcr.io/bitnami-containers/**',\n '*-docker.pkg.dev/vmw-app-catalog/**',\n ],\n versioning:\n 'regex:^(?<major>\\\\d+)(?:\\\\.(?<minor>\\\\d+)(?:\\\\.(?<patch>\\\\d+))?)?(:?-(?<compatibility>.+)-(?<build>\\\\d+)(?:-r(?<revision>\\\\d+))?)?$',\n },\n ],\n },\n clamavDockerImageVersioning: {\n description: 'Use custom regex versioning for ClamAV images',\n packageRules: [\n {\n matchDatasources: ['docker'],\n matchPackageNames: ['clamav/clamav', 'clamav/clamav-debian'],\n versioning:\n 'regex:^(?<major>\\\\d+)\\\\.(?<minor>\\\\d+)(\\\\.(?<patch>\\\\d+))?(-(?<build>\\\\d+))?(_(?<compatibility>.+))?$',\n },\n ],\n },\n containerbase: {\n description: 'Add some containerbase overrides.',\n packageRules: [\n {\n description:\n 'Use node versioning for `(containerbase|renovate)/node` images',\n matchDatasources: ['docker'],\n matchPackageNames: [\n '/^(?:(?:docker|ghcr)\\\\.io/)?(?:containerbase|renovate)/node$/',\n ],\n versioning: 'node',\n },\n ],\n },\n disableEclipseLifecycleMapping: {\n description: 'Disable Eclipse m2e lifecycle-mapping placeholder package.',\n packageRules: [\n {\n enabled: false,\n matchDatasources: ['maven'],\n matchPackageNames: ['org.eclipse.m2e:lifecycle-mapping'],\n },\n ],\n },\n disableGradleReplacements: {\n description: 'Disable package replacement updates for gradle dependencies.',\n packageRules: [\n {\n enabled: false,\n matchManagers: ['gradle'],\n matchUpdateTypes: ['replacement'],\n },\n ],\n },\n disableMavenParentRoot: {\n description:\n 'Avoid version fetching for Maven packages detected as project root.',\n packageRules: [\n {\n enabled: false,\n matchDepTypes: ['parent-root'],\n matchManagers: ['maven'],\n },\n ],\n },\n doNotUpgradeFromAlpineStableToEdge: {\n description: 'Do not upgrade from Alpine stable to edge.',\n packageRules: [\n {\n allowedVersions: '<20000000',\n matchCurrentVersion: '!/^\\\\d{8}$/',\n matchDatasources: ['docker'],\n matchDepNames: ['alpine'],\n },\n {\n allowedVersions: '<20000000',\n matchCurrentVersion: '!/^\\\\d{8}$/',\n matchDatasources: ['docker'],\n matchPackageNames: ['alpine'],\n },\n ],\n },\n grafanaDockerImageVersioning: {\n description: 'Support security releases on Grafana (product) images',\n packageRules: [\n {\n matchDatasources: ['docker'],\n matchPackageNames: [\n 'grafana/grafana',\n 'docker.io/grafana/grafana',\n 'grafana/grafana-enterprise',\n 'docker.io/grafana/grafana-enterprise',\n ],\n versioning:\n 'regex:^(?<major>\\\\d+)\\\\.(?<minor>\\\\d+)\\\\.(?<patch>\\\\d+)(?:-security-(?<build>\\\\d+))?(?:-(?<compatibility>.*))?$',\n },\n ],\n },\n ignoreHttp4sDigestMilestones: {\n description: 'Ignore `http4s` digest-based `1.x` milestones.',\n packageRules: [\n {\n allowedVersions: `!/^1\\\\.0-\\\\d+-[a-fA-F0-9]{7}$/`,\n matchManagers: ['sbt'],\n matchPackageNames: ['org.http4s:**'],\n },\n ],\n },\n ignoreSpringCloudNumeric: {\n description: 'Ignore spring cloud `1.x` releases.',\n packageRules: [\n {\n allowedVersions: '/^[A-Z]/',\n matchDatasources: ['maven'],\n matchPackageNames: [\n 'org.springframework.cloud:spring-cloud-starter-parent',\n ],\n },\n ],\n },\n ignoreWeb3jCoreWithOldReleaseTimestamp: {\n description: 'Ignore `web3j` `5.0.0` release.',\n packageRules: [\n {\n allowedVersions: '!/^5\\\\.0\\\\.0/',\n matchDatasources: ['maven'],\n matchPackageNames: ['org.web3j:core'],\n },\n ],\n },\n javaLTSVersions: {\n description: 'Limit Java runtime versions to LTS releases.',\n packageRules: [\n {\n allowedVersions: '/^(?:8|11|17|21|25)(?:\\\\.|-|$)/',\n description:\n 'Limit Java runtime versions to LTS releases. To receive all major releases add `workarounds:javaLTSVersions` to the `ignorePresets` array.',\n matchDatasources: ['docker', 'java-version'],\n matchPackageNames: [\n 'eclipse-temurin',\n 'amazoncorretto',\n 'adoptopenjdk',\n 'openjdk',\n 'java',\n 'java-jdk',\n 'java-jre',\n 'sapmachine',\n '/^azul/zulu-openjdk/',\n '/^bellsoft/liberica-openj(dk|re)-/',\n '/^cimg/openjdk/',\n ],\n versioning:\n 'regex:^(?<major>\\\\d+)?(\\\\.(?<minor>\\\\d+))?(\\\\.(?<patch>\\\\d+))?([\\\\._+](?<build>(\\\\d\\\\.?)+)(LTS)?)?(-(?<compatibility>.*))?$',\n },\n {\n allowedVersions: '/^(?:8|11|17|21|25)(?:\\\\.|-|$)/',\n description:\n 'Limit Java runtime versions to LTS releases. To receive all major releases add `workarounds:javaLTSVersions` to the `ignorePresets` array.',\n matchDatasources: ['docker', 'java-version'],\n matchDepNames: [\n 'eclipse-temurin',\n 'amazoncorretto',\n 'adoptopenjdk',\n 'openjdk',\n 'java',\n 'java-jre',\n 'sapmachine',\n ],\n versioning:\n 'regex:^(?<major>\\\\d+)?(\\\\.(?<minor>\\\\d+))?(\\\\.(?<patch>\\\\d+))?([\\\\._+](?<build>(\\\\d\\\\.?)+)(LTS)?)?(-(?<compatibility>.*))?$',\n },\n {\n description:\n 'Use docker versioning for major-only Java image tags so rolling tags (e.g. 21-jre) are not upgraded to full-precision tags (e.g. 21.0.11_10-jre).',\n matchCurrentValue: '/^\\\\d+(-|$)/',\n matchDatasources: ['docker'],\n matchPackageNames: [\n 'eclipse-temurin',\n 'amazoncorretto',\n 'adoptopenjdk',\n 'openjdk',\n 'java',\n 'java-jdk',\n 'java-jre',\n 'sapmachine',\n '/^azul/zulu-openjdk/',\n '/^bellsoft/liberica-openj(dk|re)-/',\n '/^cimg/openjdk/',\n ],\n versioning: 'docker',\n },\n {\n description:\n 'Use docker versioning for major-only Java image tags so rolling tags (e.g. 21-jre) are not upgraded to full-precision tags (e.g. 21.0.11_10-jre).',\n matchCurrentValue: '/^\\\\d+(-|$)/',\n matchDatasources: ['docker'],\n matchDepNames: [\n 'eclipse-temurin',\n 'amazoncorretto',\n 'adoptopenjdk',\n 'openjdk',\n 'java',\n 'java-jre',\n 'sapmachine',\n ],\n versioning: 'docker',\n },\n {\n allowedVersions: '/^(?:jdk|jdk-all|jre)-(?:8|11|17|21|25)(?:\\\\.|-|$)/',\n description:\n 'Limit Java runtime versions to LTS releases. To receive all major releases add `workarounds:javaLTSVersions` to the `ignorePresets` array.',\n matchDatasources: ['docker'],\n matchPackageNames: [\n 'bellsoft/hardened-liberica-runtime-container',\n 'bellsoft/liberica-runtime-container',\n ],\n },\n ],\n },\n k3sKubernetesVersioning: {\n description: 'Use custom regex versioning for k3s-io/k3s',\n packageRules: [\n {\n matchDatasources: ['github-releases'],\n matchPackageNames: ['k3s-io/k3s'],\n versioning:\n 'regex:^v(?<major>\\\\d+)\\\\.(?<minor>\\\\d+)\\\\.(?<patch>\\\\d+)(?:-(?<prerelease>[a-z]+\\\\d+))?(?<compatibility>\\\\+k3s)(?<build>\\\\d+)$',\n },\n ],\n },\n libericaJdkDockerVersioning: {\n description:\n 'Use custom regex versioning for bellsoft/liberica-runtime-container',\n packageRules: [\n {\n description: 'Liberica JDK Lite version optimized for the Cloud',\n matchCurrentValue: '/^jdk-[^a][^l]{2}/',\n matchDatasources: ['docker'],\n matchPackageNames: [\n 'bellsoft/hardened-liberica-runtime-container',\n 'bellsoft/liberica-runtime-container',\n ],\n versioning:\n 'regex:^jdk-(?<major>\\\\d+)?(\\\\.(?<minor>\\\\d+))?(\\\\.(?<patch>\\\\d+))?([\\\\._+](?<build>(\\\\d\\\\.?)+))?(-(?<compatibility>.*))?$',\n },\n {\n description:\n 'Liberica JDK that can be used to create a custom runtime with a help of jlink tool',\n matchCurrentValue: '/^jdk-all/',\n matchDatasources: ['docker'],\n matchPackageNames: [\n 'bellsoft/hardened-liberica-runtime-container',\n 'bellsoft/liberica-runtime-container',\n ],\n versioning:\n 'regex:^jdk-all-(?<major>\\\\d+)?(\\\\.(?<minor>\\\\d+))?(\\\\.(?<patch>\\\\d+))?([\\\\._+](?<build>(\\\\d\\\\.?)+))?(-(?<compatibility>.*))?$',\n },\n {\n description:\n 'Liberica JRE (only the runtime without the rest of JDK tools) for running Java applications',\n matchCurrentValue: '/^jre-/',\n matchDatasources: ['docker'],\n matchPackageNames: [\n 'bellsoft/hardened-liberica-runtime-container',\n 'bellsoft/liberica-runtime-container',\n ],\n versioning:\n 'regex:^jre-(?<major>\\\\d+)?(\\\\.(?<minor>\\\\d+))?(\\\\.(?<patch>\\\\d+))?([\\\\._+](?<build>(\\\\d\\\\.?)+))?(-(?<compatibility>.*))?$',\n },\n ],\n },\n mavenCommonsAncientVersion: {\n description: 'Fix some problems with very old Maven commons versions.',\n packageRules: [\n {\n allowedVersions: '!/^200\\\\d{5}(\\\\.\\\\d+)?/',\n matchDatasources: ['maven', 'sbt-package'],\n matchPackageNames: ['commons-**'],\n },\n ],\n },\n nodeDockerVersioning: {\n description: 'Use node versioning for `node` docker images.',\n packageRules: [\n {\n matchDatasources: ['docker'],\n // copied from https://github.com/renovatebot/renovate/blob/a471762e137619c06e73a678d6b63ca984da7dba/lib/config/presets/internal/group.ts#L351\n matchPackageNames: [\n '/(?:^|/)node$/', // node or ends with \"/node, except those below\"\n '!calico/node',\n '!docker.io/calico/node',\n '!ghcr.io/devcontainers/features/node',\n '!kindest/node',\n '!docker.io/kindest/node',\n ],\n versionCompatibility: '^(?<version>[^-]+)(?<compatibility>-.*)?$',\n versioning: 'node',\n },\n ],\n },\n rke2KubernetesVersioning: {\n description: 'Use custom regex versioning for rancher/rke2',\n packageRules: [\n {\n matchDatasources: ['github-releases'],\n matchPackageNames: ['rancher/rke2'],\n versioning:\n 'regex:^v(?<major>\\\\d+)\\\\.(?<minor>\\\\d+)\\\\.(?<patch>\\\\d+)(?:-(?<prerelease>[a-z]+\\\\d+))?(?<compatibility>\\\\+rke2r)(?<build>\\\\d+)$',\n },\n ],\n },\n supportRedHatImageVersion: {\n description:\n 'Use specific versioning for Red Hat-maintained container images.',\n packageRules: [\n {\n matchDatasources: ['docker'],\n matchPackageNames: [\n 'registry.access.redhat.com/rhel',\n 'registry.access.redhat.com/rhel-atomic',\n 'registry.access.redhat.com/rhel-init',\n 'registry.access.redhat.com/rhel-minimal',\n 'registry.access.redhat.com/rhceph/**',\n 'registry.access.redhat.com/rhgs3/**',\n 'registry.access.redhat.com/rhel7**',\n 'registry.access.redhat.com/rhel8/**',\n 'registry.access.redhat.com/rhel9/**',\n 'registry.access.redhat.com/rhscl/**',\n 'registry.access.redhat.com/ubi*{,/}**',\n 'redhat/**',\n ],\n versioning: 'redhat',\n },\n ],\n },\n typesNodeVersioning: {\n description: 'Use node versioning for `@types/node`.',\n packageRules: [\n {\n matchManagers: ['npm'],\n matchPackageNames: ['@types/node'],\n versioning: `node`,\n },\n ],\n },\n ubuntuDockerVersioning: {\n description: 'Use ubuntu versioning for `ubuntu` docker images.',\n packageRules: [\n {\n matchDatasources: ['docker'],\n matchDepNames: ['ubuntu'],\n versioning: 'ubuntu',\n },\n ],\n },\n};\n"],"mappings":";AAEA,MAAa,UAAkC;CAC7C,KAAK;EACH,aAAa,CACX,mEACF;EACA,SAAS;GACP;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;EACA,YAAY,CAAC;CACf;CACA,8BAA8B;EAC5B,aAAa;EACb,cAAc,CACZ;GACE,mBACE;GACF,kBAAkB,CAAC,QAAQ;GAC3B,mBAAmB;IACjB;IACA;IACA;IACA;GACF;GACA,YACE;EACJ,CACF;CACF;CACA,6BAA6B;EAC3B,aAAa;EACb,cAAc,CACZ;GACE,kBAAkB,CAAC,QAAQ;GAC3B,mBAAmB,CAAC,iBAAiB,sBAAsB;GAC3D,YACE;EACJ,CACF;CACF;CACA,eAAe;EACb,aAAa;EACb,cAAc,CACZ;GACE,aACE;GACF,kBAAkB,CAAC,QAAQ;GAC3B,mBAAmB,CACjB,+DACF;GACA,YAAY;EACd,CACF;CACF;CACA,gCAAgC;EAC9B,aAAa;EACb,cAAc,CACZ;GACE,SAAS;GACT,kBAAkB,CAAC,OAAO;GAC1B,mBAAmB,CAAC,mCAAmC;EACzD,CACF;CACF;CACA,2BAA2B;EACzB,aAAa;EACb,cAAc,CACZ;GACE,SAAS;GACT,eAAe,CAAC,QAAQ;GACxB,kBAAkB,CAAC,aAAa;EAClC,CACF;CACF;CACA,wBAAwB;EACtB,aACE;EACF,cAAc,CACZ;GACE,SAAS;GACT,eAAe,CAAC,aAAa;GAC7B,eAAe,CAAC,OAAO;EACzB,CACF;CACF;CACA,oCAAoC;EAClC,aAAa;EACb,cAAc,CACZ;GACE,iBAAiB;GACjB,qBAAqB;GACrB,kBAAkB,CAAC,QAAQ;GAC3B,eAAe,CAAC,QAAQ;EAC1B,GACA;GACE,iBAAiB;GACjB,qBAAqB;GACrB,kBAAkB,CAAC,QAAQ;GAC3B,mBAAmB,CAAC,QAAQ;EAC9B,CACF;CACF;CACA,8BAA8B;EAC5B,aAAa;EACb,cAAc,CACZ;GACE,kBAAkB,CAAC,QAAQ;GAC3B,mBAAmB;IACjB;IACA;IACA;IACA;GACF;GACA,YACE;EACJ,CACF;CACF;CACA,8BAA8B;EAC5B,aAAa;EACb,cAAc,CACZ;GACE,iBAAiB;GACjB,eAAe,CAAC,KAAK;GACrB,mBAAmB,CAAC,eAAe;EACrC,CACF;CACF;CACA,0BAA0B;EACxB,aAAa;EACb,cAAc,CACZ;GACE,iBAAiB;GACjB,kBAAkB,CAAC,OAAO;GAC1B,mBAAmB,CACjB,uDACF;EACF,CACF;CACF;CACA,wCAAwC;EACtC,aAAa;EACb,cAAc,CACZ;GACE,iBAAiB;GACjB,kBAAkB,CAAC,OAAO;GAC1B,mBAAmB,CAAC,gBAAgB;EACtC,CACF;CACF;CACA,iBAAiB;EACf,aAAa;EACb,cAAc;GACZ;IACE,iBAAiB;IACjB,aACE;IACF,kBAAkB,CAAC,UAAU,cAAc;IAC3C,mBAAmB;KACjB;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;IACF;IACA,YACE;GACJ;GACA;IACE,iBAAiB;IACjB,aACE;IACF,kBAAkB,CAAC,UAAU,cAAc;IAC3C,eAAe;KACb;KACA;KACA;KACA;KACA;KACA;KACA;IACF;IACA,YACE;GACJ;GACA;IACE,aACE;IACF,mBAAmB;IACnB,kBAAkB,CAAC,QAAQ;IAC3B,mBAAmB;KACjB;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;IACF;IACA,YAAY;GACd;GACA;IACE,aACE;IACF,mBAAmB;IACnB,kBAAkB,CAAC,QAAQ;IAC3B,eAAe;KACb;KACA;KACA;KACA;KACA;KACA;KACA;IACF;IACA,YAAY;GACd;GACA;IACE,iBAAiB;IACjB,aACE;IACF,kBAAkB,CAAC,QAAQ;IAC3B,mBAAmB,CACjB,gDACA,qCACF;GACF;EACF;CACF;CACA,yBAAyB;EACvB,aAAa;EACb,cAAc,CACZ;GACE,kBAAkB,CAAC,iBAAiB;GACpC,mBAAmB,CAAC,YAAY;GAChC,YACE;EACJ,CACF;CACF;CACA,6BAA6B;EAC3B,aACE;EACF,cAAc;GACZ;IACE,aAAa;IACb,mBAAmB;IACnB,kBAAkB,CAAC,QAAQ;IAC3B,mBAAmB,CACjB,gDACA,qCACF;IACA,YACE;GACJ;GACA;IACE,aACE;IACF,mBAAmB;IACnB,kBAAkB,CAAC,QAAQ;IAC3B,mBAAmB,CACjB,gDACA,qCACF;IACA,YACE;GACJ;GACA;IACE,aACE;IACF,mBAAmB;IACnB,kBAAkB,CAAC,QAAQ;IAC3B,mBAAmB,CACjB,gDACA,qCACF;IACA,YACE;GACJ;EACF;CACF;CACA,4BAA4B;EAC1B,aAAa;EACb,cAAc,CACZ;GACE,iBAAiB;GACjB,kBAAkB,CAAC,SAAS,aAAa;GACzC,mBAAmB,CAAC,YAAY;EAClC,CACF;CACF;CACA,sBAAsB;EACpB,aAAa;EACb,cAAc,CACZ;GACE,kBAAkB,CAAC,QAAQ;GAE3B,mBAAmB;IACjB;IACA;IACA;IACA;IACA;IACA;GACF;GACA,sBAAsB;GACtB,YAAY;EACd,CACF;CACF;CACA,0BAA0B;EACxB,aAAa;EACb,cAAc,CACZ;GACE,kBAAkB,CAAC,iBAAiB;GACpC,mBAAmB,CAAC,cAAc;GAClC,YACE;EACJ,CACF;CACF;CACA,2BAA2B;EACzB,aACE;EACF,cAAc,CACZ;GACE,kBAAkB,CAAC,QAAQ;GAC3B,mBAAmB;IACjB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;GACA,YAAY;EACd,CACF;CACF;CACA,qBAAqB;EACnB,aAAa;EACb,cAAc,CACZ;GACE,eAAe,CAAC,KAAK;GACrB,mBAAmB,CAAC,aAAa;GACjC,YAAY;EACd,CACF;CACF;CACA,wBAAwB;EACtB,aAAa;EACb,cAAc,CACZ;GACE,kBAAkB,CAAC,QAAQ;GAC3B,eAAe,CAAC,QAAQ;GACxB,YAAY;EACd,CACF;CACF;AACF"}
|
|
1
|
+
{"version":3,"file":"workarounds.preset.js","names":[],"sources":["../../../../lib/config/presets/internal/workarounds.preset.ts"],"sourcesContent":["import type { Preset } from '../types.ts';\n\nexport const presets: Record<string, Preset> = {\n all: {\n extends: [\n 'workarounds:mavenCommonsAncientVersion',\n 'workarounds:ignoreSpringCloudNumeric',\n 'workarounds:ignoreWeb3jCoreWithOldReleaseTimestamp',\n 'workarounds:ignoreHttp4sDigestMilestones',\n 'workarounds:typesNodeVersioning',\n 'workarounds:nodeDockerVersioning',\n 'workarounds:doNotUpgradeFromAlpineStableToEdge',\n 'workarounds:supportRedHatImageVersion',\n 'workarounds:javaLTSVersions',\n 'workarounds:disableEclipseLifecycleMapping',\n 'workarounds:disableGradleReplacements',\n 'workarounds:disableMavenParentRoot',\n 'workarounds:containerbase',\n 'workarounds:bitnamiDockerImageVersioning',\n 'workarounds:clamavDockerImageVersioning',\n 'workarounds:grafanaDockerImageVersioning',\n 'workarounds:k3sKubernetesVersioning',\n 'workarounds:rke2KubernetesVersioning',\n 'workarounds:libericaJdkDockerVersioning',\n 'workarounds:ubuntuDockerVersioning',\n ],\n overrideDescription: [\n 'Apply crowd-sourced workarounds for known problems with packages.',\n ],\n },\n bitnamiDockerImageVersioning: {\n description: 'Use custom regex versioning for bitnami images',\n packageRules: [\n {\n matchCurrentValue:\n '/^(?<major>\\\\d+)(?:\\\\.(?<minor>\\\\d+)(?:\\\\.(?<patch>\\\\d+))?)?-(?<compatibility>.+)-(?<build>\\\\d+)(?:-r(?<revision>\\\\d+))?$/',\n matchDatasources: ['docker'],\n matchPackageNames: [\n 'bitnami/**',\n 'docker.io/bitnami/**',\n 'gcr.io/bitnami-containers/**',\n '*-docker.pkg.dev/vmw-app-catalog/**',\n ],\n versioning:\n 'regex:^(?<major>\\\\d+)(?:\\\\.(?<minor>\\\\d+)(?:\\\\.(?<patch>\\\\d+))?)?(:?-(?<compatibility>.+)-(?<build>\\\\d+)(?:-r(?<revision>\\\\d+))?)?$',\n },\n ],\n },\n clamavDockerImageVersioning: {\n description: 'Use custom regex versioning for ClamAV images',\n packageRules: [\n {\n matchDatasources: ['docker'],\n matchPackageNames: ['clamav/clamav', 'clamav/clamav-debian'],\n versioning:\n 'regex:^(?<major>\\\\d+)\\\\.(?<minor>\\\\d+)(\\\\.(?<patch>\\\\d+))?(-(?<build>\\\\d+))?(_(?<compatibility>.+))?$',\n },\n ],\n },\n containerbase: {\n description: 'Add some containerbase overrides.',\n packageRules: [\n {\n description:\n 'Use node versioning for `(containerbase|renovate)/node` images',\n matchDatasources: ['docker'],\n matchPackageNames: [\n '/^(?:(?:docker|ghcr)\\\\.io/)?(?:containerbase|renovate)/node$/',\n ],\n versioning: 'node',\n },\n ],\n },\n disableEclipseLifecycleMapping: {\n description: 'Disable Eclipse m2e lifecycle-mapping placeholder package.',\n packageRules: [\n {\n enabled: false,\n matchDatasources: ['maven'],\n matchPackageNames: ['org.eclipse.m2e:lifecycle-mapping'],\n },\n ],\n },\n disableGradleReplacements: {\n description: 'Disable package replacement updates for gradle dependencies.',\n packageRules: [\n {\n enabled: false,\n matchManagers: ['gradle'],\n matchUpdateTypes: ['replacement'],\n },\n ],\n },\n disableMavenParentRoot: {\n description:\n 'Avoid version fetching for Maven packages detected as project root.',\n packageRules: [\n {\n enabled: false,\n matchDepTypes: ['parent-root'],\n matchManagers: ['maven'],\n },\n ],\n },\n doNotUpgradeFromAlpineStableToEdge: {\n description: 'Do not upgrade from Alpine stable to edge.',\n packageRules: [\n {\n allowedVersions: '<20000000',\n matchCurrentVersion: '!/^\\\\d{8}$/',\n matchDatasources: ['docker'],\n matchDepNames: ['alpine'],\n },\n {\n allowedVersions: '<20000000',\n matchCurrentVersion: '!/^\\\\d{8}$/',\n matchDatasources: ['docker'],\n matchPackageNames: ['alpine'],\n },\n ],\n },\n grafanaDockerImageVersioning: {\n description: 'Support security releases on Grafana (product) images',\n packageRules: [\n {\n matchDatasources: ['docker'],\n matchPackageNames: [\n 'grafana/grafana',\n 'docker.io/grafana/grafana',\n 'grafana/grafana-enterprise',\n 'docker.io/grafana/grafana-enterprise',\n ],\n versioning:\n 'regex:^(?<major>\\\\d+)\\\\.(?<minor>\\\\d+)\\\\.(?<patch>\\\\d+)(?:-security-(?<build>\\\\d+))?(?:-(?<compatibility>.*))?$',\n },\n ],\n },\n ignoreHttp4sDigestMilestones: {\n description: 'Ignore `http4s` digest-based `1.x` milestones.',\n packageRules: [\n {\n allowedVersions: `!/^1\\\\.0-\\\\d+-[a-fA-F0-9]{7}$/`,\n matchManagers: ['sbt'],\n matchPackageNames: ['org.http4s:**'],\n },\n ],\n },\n ignoreSpringCloudNumeric: {\n description: 'Ignore spring cloud `1.x` releases.',\n packageRules: [\n {\n allowedVersions: '/^[A-Z]/',\n matchDatasources: ['maven'],\n matchPackageNames: [\n 'org.springframework.cloud:spring-cloud-starter-parent',\n ],\n },\n ],\n },\n ignoreWeb3jCoreWithOldReleaseTimestamp: {\n description: 'Ignore `web3j` `5.0.0` release.',\n packageRules: [\n {\n allowedVersions: '!/^5\\\\.0\\\\.0/',\n matchDatasources: ['maven'],\n matchPackageNames: ['org.web3j:core'],\n },\n ],\n },\n javaLTSVersions: {\n description: 'Limit Java runtime versions to LTS releases.',\n packageRules: [\n {\n allowedVersions: '/^(?:8|11|17|21|25)(?:\\\\.|-|$)/',\n description:\n 'Limit Java runtime versions to LTS releases. To receive all major releases add `workarounds:javaLTSVersions` to the `ignorePresets` array.',\n matchDatasources: ['docker', 'java-version'],\n matchPackageNames: [\n 'eclipse-temurin',\n 'amazoncorretto',\n 'adoptopenjdk',\n 'openjdk',\n 'java',\n 'java-jdk',\n 'java-jre',\n 'sapmachine',\n '/^azul/zulu-openjdk/',\n '/^bellsoft/liberica-openj(dk|re)-/',\n '/^cimg/openjdk/',\n ],\n versioning:\n 'regex:^(?<major>\\\\d+)?(\\\\.(?<minor>\\\\d+))?(\\\\.(?<patch>\\\\d+))?([\\\\._+](?<build>(\\\\d\\\\.?)+)(LTS)?)?(-(?<compatibility>.*))?$',\n },\n {\n allowedVersions: '/^(?:8|11|17|21|25)(?:\\\\.|-|$)/',\n description:\n 'Limit Java runtime versions to LTS releases. To receive all major releases add `workarounds:javaLTSVersions` to the `ignorePresets` array.',\n matchDatasources: ['docker', 'java-version'],\n matchDepNames: [\n 'eclipse-temurin',\n 'amazoncorretto',\n 'adoptopenjdk',\n 'openjdk',\n 'java',\n 'java-jre',\n 'sapmachine',\n ],\n versioning:\n 'regex:^(?<major>\\\\d+)?(\\\\.(?<minor>\\\\d+))?(\\\\.(?<patch>\\\\d+))?([\\\\._+](?<build>(\\\\d\\\\.?)+)(LTS)?)?(-(?<compatibility>.*))?$',\n },\n {\n description:\n 'Use docker versioning for major-only Java image tags so rolling tags (e.g. 21-jre) are not upgraded to full-precision tags (e.g. 21.0.11_10-jre).',\n matchCurrentValue: '/^\\\\d+(-|$)/',\n matchDatasources: ['docker'],\n matchPackageNames: [\n 'eclipse-temurin',\n 'amazoncorretto',\n 'adoptopenjdk',\n 'openjdk',\n 'java',\n 'java-jdk',\n 'java-jre',\n 'sapmachine',\n '/^azul/zulu-openjdk/',\n '/^bellsoft/liberica-openj(dk|re)-/',\n '/^cimg/openjdk/',\n ],\n versioning: 'docker',\n },\n {\n description:\n 'Use docker versioning for major-only Java image tags so rolling tags (e.g. 21-jre) are not upgraded to full-precision tags (e.g. 21.0.11_10-jre).',\n matchCurrentValue: '/^\\\\d+(-|$)/',\n matchDatasources: ['docker'],\n matchDepNames: [\n 'eclipse-temurin',\n 'amazoncorretto',\n 'adoptopenjdk',\n 'openjdk',\n 'java',\n 'java-jre',\n 'sapmachine',\n ],\n versioning: 'docker',\n },\n {\n allowedVersions: '/^(?:jdk|jdk-all|jre)-(?:8|11|17|21|25)(?:\\\\.|-|$)/',\n description:\n 'Limit Java runtime versions to LTS releases. To receive all major releases add `workarounds:javaLTSVersions` to the `ignorePresets` array.',\n matchDatasources: ['docker'],\n matchPackageNames: [\n 'bellsoft/hardened-liberica-runtime-container',\n 'bellsoft/liberica-runtime-container',\n ],\n },\n ],\n },\n k3sKubernetesVersioning: {\n description: 'Use custom regex versioning for k3s-io/k3s',\n packageRules: [\n {\n matchDatasources: ['github-releases'],\n matchPackageNames: ['k3s-io/k3s'],\n versioning:\n 'regex:^v(?<major>\\\\d+)\\\\.(?<minor>\\\\d+)\\\\.(?<patch>\\\\d+)(?:-(?<prerelease>[a-z]+\\\\d+))?(?<compatibility>\\\\+k3s)(?<build>\\\\d+)$',\n },\n ],\n },\n libericaJdkDockerVersioning: {\n description:\n 'Use custom regex versioning for bellsoft/liberica-runtime-container',\n packageRules: [\n {\n description: 'Liberica JDK Lite version optimized for the Cloud',\n matchCurrentValue: '/^jdk-[^a][^l]{2}/',\n matchDatasources: ['docker'],\n matchPackageNames: [\n 'bellsoft/hardened-liberica-runtime-container',\n 'bellsoft/liberica-runtime-container',\n ],\n versioning:\n 'regex:^jdk-(?<major>\\\\d+)?(\\\\.(?<minor>\\\\d+))?(\\\\.(?<patch>\\\\d+))?([\\\\._+](?<build>(\\\\d\\\\.?)+))?(-(?<compatibility>.*))?$',\n },\n {\n description:\n 'Liberica JDK that can be used to create a custom runtime with a help of jlink tool',\n matchCurrentValue: '/^jdk-all/',\n matchDatasources: ['docker'],\n matchPackageNames: [\n 'bellsoft/hardened-liberica-runtime-container',\n 'bellsoft/liberica-runtime-container',\n ],\n versioning:\n 'regex:^jdk-all-(?<major>\\\\d+)?(\\\\.(?<minor>\\\\d+))?(\\\\.(?<patch>\\\\d+))?([\\\\._+](?<build>(\\\\d\\\\.?)+))?(-(?<compatibility>.*))?$',\n },\n {\n description:\n 'Liberica JRE (only the runtime without the rest of JDK tools) for running Java applications',\n matchCurrentValue: '/^jre-/',\n matchDatasources: ['docker'],\n matchPackageNames: [\n 'bellsoft/hardened-liberica-runtime-container',\n 'bellsoft/liberica-runtime-container',\n ],\n versioning:\n 'regex:^jre-(?<major>\\\\d+)?(\\\\.(?<minor>\\\\d+))?(\\\\.(?<patch>\\\\d+))?([\\\\._+](?<build>(\\\\d\\\\.?)+))?(-(?<compatibility>.*))?$',\n },\n ],\n },\n mavenCommonsAncientVersion: {\n description: 'Fix some problems with very old Maven commons versions.',\n packageRules: [\n {\n allowedVersions: '!/^200\\\\d{5}(\\\\.\\\\d+)?/',\n matchDatasources: ['maven', 'sbt-package'],\n matchPackageNames: ['commons-**'],\n },\n ],\n },\n nodeDockerVersioning: {\n description: 'Use node versioning for `node` docker images.',\n packageRules: [\n {\n matchDatasources: ['docker'],\n // copied from https://github.com/renovatebot/renovate/blob/a471762e137619c06e73a678d6b63ca984da7dba/lib/config/presets/internal/group.ts#L351\n matchPackageNames: [\n '/(?:^|/)node$/', // node or ends with \"/node, except those below\"\n '!calico/node',\n '!docker.io/calico/node',\n '!ghcr.io/devcontainers/features/node',\n '!kindest/node',\n '!docker.io/kindest/node',\n ],\n versionCompatibility: '^(?<version>[^-]+)(?<compatibility>-.*)?$',\n versioning: 'node',\n },\n ],\n },\n rke2KubernetesVersioning: {\n description: 'Use custom regex versioning for rancher/rke2',\n packageRules: [\n {\n matchDatasources: ['github-releases'],\n matchPackageNames: ['rancher/rke2'],\n versioning:\n 'regex:^v(?<major>\\\\d+)\\\\.(?<minor>\\\\d+)\\\\.(?<patch>\\\\d+)(?:-(?<prerelease>[a-z]+\\\\d+))?(?<compatibility>\\\\+rke2r)(?<build>\\\\d+)$',\n },\n ],\n },\n supportRedHatImageVersion: {\n description:\n 'Use specific versioning for Red Hat-maintained container images.',\n packageRules: [\n {\n matchDatasources: ['docker'],\n matchPackageNames: [\n 'registry.access.redhat.com/rhel',\n 'registry.access.redhat.com/rhel-atomic',\n 'registry.access.redhat.com/rhel-init',\n 'registry.access.redhat.com/rhel-minimal',\n 'registry.access.redhat.com/rhceph/**',\n 'registry.access.redhat.com/rhgs3/**',\n 'registry.access.redhat.com/rhel7**',\n 'registry.access.redhat.com/rhel8/**',\n 'registry.access.redhat.com/rhel9/**',\n 'registry.access.redhat.com/rhscl/**',\n 'registry.access.redhat.com/ubi*{,/}**',\n 'redhat/**',\n ],\n versioning: 'redhat',\n },\n ],\n },\n typesNodeVersioning: {\n description: 'Use node versioning for `@types/node`.',\n packageRules: [\n {\n matchManagers: ['npm'],\n matchPackageNames: ['@types/node'],\n versioning: `node`,\n },\n ],\n },\n ubuntuDockerVersioning: {\n description: 'Use ubuntu versioning for `ubuntu` docker images.',\n packageRules: [\n {\n matchDatasources: ['docker'],\n matchDepNames: ['ubuntu'],\n versioning: 'ubuntu',\n },\n ],\n },\n};\n"],"mappings":";AAEA,MAAa,UAAkC;CAC7C,KAAK;EACH,SAAS;GACP;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;EACA,qBAAqB,CACnB,mEACF;CACF;CACA,8BAA8B;EAC5B,aAAa;EACb,cAAc,CACZ;GACE,mBACE;GACF,kBAAkB,CAAC,QAAQ;GAC3B,mBAAmB;IACjB;IACA;IACA;IACA;GACF;GACA,YACE;EACJ,CACF;CACF;CACA,6BAA6B;EAC3B,aAAa;EACb,cAAc,CACZ;GACE,kBAAkB,CAAC,QAAQ;GAC3B,mBAAmB,CAAC,iBAAiB,sBAAsB;GAC3D,YACE;EACJ,CACF;CACF;CACA,eAAe;EACb,aAAa;EACb,cAAc,CACZ;GACE,aACE;GACF,kBAAkB,CAAC,QAAQ;GAC3B,mBAAmB,CACjB,+DACF;GACA,YAAY;EACd,CACF;CACF;CACA,gCAAgC;EAC9B,aAAa;EACb,cAAc,CACZ;GACE,SAAS;GACT,kBAAkB,CAAC,OAAO;GAC1B,mBAAmB,CAAC,mCAAmC;EACzD,CACF;CACF;CACA,2BAA2B;EACzB,aAAa;EACb,cAAc,CACZ;GACE,SAAS;GACT,eAAe,CAAC,QAAQ;GACxB,kBAAkB,CAAC,aAAa;EAClC,CACF;CACF;CACA,wBAAwB;EACtB,aACE;EACF,cAAc,CACZ;GACE,SAAS;GACT,eAAe,CAAC,aAAa;GAC7B,eAAe,CAAC,OAAO;EACzB,CACF;CACF;CACA,oCAAoC;EAClC,aAAa;EACb,cAAc,CACZ;GACE,iBAAiB;GACjB,qBAAqB;GACrB,kBAAkB,CAAC,QAAQ;GAC3B,eAAe,CAAC,QAAQ;EAC1B,GACA;GACE,iBAAiB;GACjB,qBAAqB;GACrB,kBAAkB,CAAC,QAAQ;GAC3B,mBAAmB,CAAC,QAAQ;EAC9B,CACF;CACF;CACA,8BAA8B;EAC5B,aAAa;EACb,cAAc,CACZ;GACE,kBAAkB,CAAC,QAAQ;GAC3B,mBAAmB;IACjB;IACA;IACA;IACA;GACF;GACA,YACE;EACJ,CACF;CACF;CACA,8BAA8B;EAC5B,aAAa;EACb,cAAc,CACZ;GACE,iBAAiB;GACjB,eAAe,CAAC,KAAK;GACrB,mBAAmB,CAAC,eAAe;EACrC,CACF;CACF;CACA,0BAA0B;EACxB,aAAa;EACb,cAAc,CACZ;GACE,iBAAiB;GACjB,kBAAkB,CAAC,OAAO;GAC1B,mBAAmB,CACjB,uDACF;EACF,CACF;CACF;CACA,wCAAwC;EACtC,aAAa;EACb,cAAc,CACZ;GACE,iBAAiB;GACjB,kBAAkB,CAAC,OAAO;GAC1B,mBAAmB,CAAC,gBAAgB;EACtC,CACF;CACF;CACA,iBAAiB;EACf,aAAa;EACb,cAAc;GACZ;IACE,iBAAiB;IACjB,aACE;IACF,kBAAkB,CAAC,UAAU,cAAc;IAC3C,mBAAmB;KACjB;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;IACF;IACA,YACE;GACJ;GACA;IACE,iBAAiB;IACjB,aACE;IACF,kBAAkB,CAAC,UAAU,cAAc;IAC3C,eAAe;KACb;KACA;KACA;KACA;KACA;KACA;KACA;IACF;IACA,YACE;GACJ;GACA;IACE,aACE;IACF,mBAAmB;IACnB,kBAAkB,CAAC,QAAQ;IAC3B,mBAAmB;KACjB;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;IACF;IACA,YAAY;GACd;GACA;IACE,aACE;IACF,mBAAmB;IACnB,kBAAkB,CAAC,QAAQ;IAC3B,eAAe;KACb;KACA;KACA;KACA;KACA;KACA;KACA;IACF;IACA,YAAY;GACd;GACA;IACE,iBAAiB;IACjB,aACE;IACF,kBAAkB,CAAC,QAAQ;IAC3B,mBAAmB,CACjB,gDACA,qCACF;GACF;EACF;CACF;CACA,yBAAyB;EACvB,aAAa;EACb,cAAc,CACZ;GACE,kBAAkB,CAAC,iBAAiB;GACpC,mBAAmB,CAAC,YAAY;GAChC,YACE;EACJ,CACF;CACF;CACA,6BAA6B;EAC3B,aACE;EACF,cAAc;GACZ;IACE,aAAa;IACb,mBAAmB;IACnB,kBAAkB,CAAC,QAAQ;IAC3B,mBAAmB,CACjB,gDACA,qCACF;IACA,YACE;GACJ;GACA;IACE,aACE;IACF,mBAAmB;IACnB,kBAAkB,CAAC,QAAQ;IAC3B,mBAAmB,CACjB,gDACA,qCACF;IACA,YACE;GACJ;GACA;IACE,aACE;IACF,mBAAmB;IACnB,kBAAkB,CAAC,QAAQ;IAC3B,mBAAmB,CACjB,gDACA,qCACF;IACA,YACE;GACJ;EACF;CACF;CACA,4BAA4B;EAC1B,aAAa;EACb,cAAc,CACZ;GACE,iBAAiB;GACjB,kBAAkB,CAAC,SAAS,aAAa;GACzC,mBAAmB,CAAC,YAAY;EAClC,CACF;CACF;CACA,sBAAsB;EACpB,aAAa;EACb,cAAc,CACZ;GACE,kBAAkB,CAAC,QAAQ;GAE3B,mBAAmB;IACjB;IACA;IACA;IACA;IACA;IACA;GACF;GACA,sBAAsB;GACtB,YAAY;EACd,CACF;CACF;CACA,0BAA0B;EACxB,aAAa;EACb,cAAc,CACZ;GACE,kBAAkB,CAAC,iBAAiB;GACpC,mBAAmB,CAAC,cAAc;GAClC,YACE;EACJ,CACF;CACF;CACA,2BAA2B;EACzB,aACE;EACF,cAAc,CACZ;GACE,kBAAkB,CAAC,QAAQ;GAC3B,mBAAmB;IACjB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;GACA,YAAY;EACd,CACF;CACF;CACA,qBAAqB;EACnB,aAAa;EACb,cAAc,CACZ;GACE,eAAe,CAAC,KAAK;GACrB,mBAAmB,CAAC,aAAa;GACjC,YAAY;EACd,CACF;CACF;CACA,wBAAwB;EACtB,aAAa;EACb,cAAc,CACZ;GACE,kBAAkB,CAAC,QAAQ;GAC3B,eAAe,CAAC,QAAQ;GACxB,YAAY;EACd,CACF;CACF;AACF"}
|
package/dist/config/types.d.ts
CHANGED
|
@@ -331,6 +331,7 @@ interface RenovateConfig extends LegacyAdminConfig, RenovateSharedConfig, Update
|
|
|
331
331
|
cloneSubmodules?: boolean;
|
|
332
332
|
cloneSubmodulesFilter?: string[];
|
|
333
333
|
description?: string | string[];
|
|
334
|
+
overrideDescription?: string | string[];
|
|
334
335
|
detectGlobalManagerConfig?: boolean;
|
|
335
336
|
errors?: ValidationMessage[];
|
|
336
337
|
forkModeDisallowMaintainerEdits?: boolean;
|
package/dist/config/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../lib/config/types.ts"],"sourcesContent":["import type { Category, PlatformId } from '../constants/index.ts';\nimport type { LogLevelRemap } from '../logger/types.ts';\nimport type { ManagerName } from '../manager-list.generated.ts';\nimport type { CustomManager } from '../modules/manager/custom/types.ts';\nimport type {\n GitUrlOption,\n RepoSortMethod,\n SortMethod,\n} from '../modules/platform/types.ts';\nimport type {\n AutoMergeType,\n HostRule,\n Nullish,\n RangeStrategy,\n SkipReason,\n} from '../types/index.ts';\nimport type { StageName } from '../types/skip-reason.ts';\nimport type {\n AdditionalConstraintName,\n ConstraintName,\n ToolName,\n} from '../util/exec/types.ts';\nimport type { GitNoVerifyOption } from '../util/git/types.ts';\nimport type { MergeConfidence } from '../util/merge-confidence/types.ts';\nimport type { Timestamp } from '../util/timestamp.ts';\nimport type { ConfigValidationTopic } from './validation-helpers/types.ts';\n\nexport type RenovateConfigStage =\n | 'global'\n | 'inherit'\n | 'repository'\n | 'package'\n | 'branch'\n | 'pr';\n\nexport type RenovateSplit =\n | 'init'\n | 'onboarding'\n | 'extract'\n | 'lookup'\n | 'update';\n\nexport type RepositoryCacheConfig = 'disabled' | 'enabled' | 'reset';\nexport type RepositoryCacheType = 'local' | (string & {});\nexport type DryRunConfig = 'extract' | 'lookup' | 'full';\nexport type RequiredConfig = 'required' | 'optional' | 'ignored';\n\nexport interface GroupConfig extends Record<string, unknown> {\n branchName?: string;\n branchTopic?: string;\n}\n\nexport type RecreateWhen = 'auto' | 'never' | 'always';\nexport type StatusCheckWhen = 'always' | 'never' | 'failed';\nexport type PlatformCommitOptions = 'auto' | 'disabled' | 'enabled';\n\nexport type BinarySource = 'docker' | 'global' | 'install' | 'hermit';\n\n// TODO: Proper typings\n/**\n * Any configuration that could be used either top-level in a repository config (or Global, Inherited or Shareable Preset configuration), or:\n *\n * - in a datasource-specific configuration\n * - in a manager-specific configuration\n * - in a Package Rule\n *\n * @see RenovateConfig for the superset of all configuration allowed in a given repository\n *\n */\nexport interface RenovateSharedConfig {\n $schema?: string;\n abandonmentThreshold?: Nullish<string>;\n addLabels?: string[];\n assignAutomerge?: boolean;\n autoApprove?: boolean;\n autoReplaceGlobalMatch?: boolean;\n automerge?: boolean;\n automergeSchedule?: string[];\n automergeStrategy?: MergeStrategy;\n automergeType?: AutoMergeType;\n azureWorkItemId?: number;\n azureWorkItemType?: string;\n branchName?: string;\n branchNameStrict?: boolean;\n branchPrefix?: string;\n branchPrefixOld?: string;\n bumpVersions?: BumpVersionConfig[];\n commitBody?: string;\n commitBodyTable?: boolean;\n commitMessage?: string;\n commitMessageAction?: string;\n commitMessageExtra?: string;\n commitMessageLowerCase?: 'auto' | 'never';\n commitMessagePrefix?: string;\n commitMessageTopic?: string;\n commitTrailers?: string[];\n confidential?: boolean;\n configValidationError?: boolean;\n changelogUrl?: string;\n dependencyDashboardApproval?: boolean;\n draftPR?: boolean;\n enabled?: boolean;\n enabledManagers?: string[];\n encrypted?: Record<string, string>;\n extends?: string[];\n extractVersion?: string;\n managerFilePatterns?: string[];\n followTag?: string;\n force?: RenovateConfig;\n gitIgnoredAuthors?: string[];\n group?: GroupConfig;\n groupName?: string;\n groupSingleUpdates?: boolean;\n groupSlug?: string;\n hashedBranchLength?: number;\n ignoreDeps?: string[];\n ignorePaths?: string[];\n ignoreTests?: boolean;\n ignoreUnstable?: boolean;\n includePaths?: string[];\n internalChecksAsSuccess?: boolean;\n internalChecksFilter?: 'strict' | 'flexible' | 'none';\n keepUpdatedLabel?: string;\n labels?: string[];\n manager?: string;\n milestone?: number;\n minimumReleaseAge?: Nullish<string>;\n npmrc?: string;\n npmrcMerge?: boolean;\n npmToken?: string;\n\n pinDigests?: boolean;\n platformAutomerge?: boolean;\n platformCommit?: PlatformCommitOptions;\n postUpgradeTasks?: PostUpgradeTasks;\n prBodyColumns?: string[];\n prBodyDefinitions?: Record<string, string>;\n prBodyHeadingDefinitions?: Record<string, string>;\n prBodyNotes?: string[];\n prCreation?: 'immediate' | 'not-pending' | 'status-success' | 'approval';\n prFooter?: string;\n prHeader?: string;\n prPriority?: number;\n prTitle?: string;\n prTitleStrict?: boolean;\n pruneBranchAfterAutomerge?: boolean;\n rangeStrategy?: RangeStrategy;\n rebaseLabel?: string;\n rebaseWhen?: string;\n recreateClosed?: boolean;\n recreateWhen?: RecreateWhen;\n repository?: string;\n repositoryCache?: RepositoryCacheConfig;\n repositoryCacheType?: RepositoryCacheType;\n respectLatest?: boolean;\n rollbackPrs?: boolean;\n schedule?: string[];\n semanticCommitScope?: string | null;\n semanticCommitType?: string;\n semanticCommits?: 'auto' | 'enabled' | 'disabled';\n separateMajorMinor?: boolean;\n separateMinorPatch?: boolean;\n separateMultipleMajor?: boolean;\n separateMultipleMinor?: boolean;\n skipArtifactsUpdate?: boolean;\n stopUpdatingLabel?: string;\n suppressNotifications?: string[];\n timezone?: string;\n unicodeEmoji?: boolean;\n updateNotScheduled?: boolean;\n versioning?: string;\n versionCompatibility?: string;\n}\n\n/**\n * Contains all options with globalOnly=true && inheritConfigSupport=true\n */\nexport interface GlobalInheritableConfig {\n bbUseDevelopmentBranch?: boolean;\n configFileNames?: string[];\n onboarding?: boolean;\n onboardingAutoCloseAge?: number;\n onboardingBranch?: string;\n onboardingCommitMessage?: string;\n onboardingConfig?: RenovateConfig;\n onboardingConfigFileName?: string;\n onboardingNoDeps?: 'auto' | 'enabled' | 'disabled';\n onboardingPrTitle?: string;\n requireConfig?: RequiredConfig;\n}\n\n// Config options used only within the global worker\n// The below should contain config options where stage=global\n/** @deprecated use `RepoGlobalConfig` instead **/\nexport interface GlobalOnlyConfigLegacy {\n autodiscover?: boolean;\n autodiscoverFilter?: string[] | string;\n autodiscoverNamespaces?: string[];\n autodiscoverProjects?: string[];\n autodiscoverTopics?: string[];\n baseDir?: string;\n cacheDir?: string;\n containerbaseDir?: string;\n detectHostRulesFromEnv?: boolean;\n dockerCliOptions?: string;\n endpoint?: string;\n forceCli?: boolean;\n gitNoVerify?: GitNoVerifyOption[];\n gitPrivateKey?: string;\n gitPrivateKeyPassphrase?: string;\n globalExtends?: string[];\n mergeConfidenceDatasources?: string[];\n mergeConfidenceEndpoint?: string;\n platform?: PlatformId;\n processEnv?: Record<string, string>;\n prCommitsPerRunLimit?: number;\n privateKey?: string;\n privateKeyOld?: string;\n privateKeyPath?: string;\n privateKeyPathOld?: string;\n redisPrefix?: string;\n redisUrl?: string;\n repositories?: RenovateRepository[];\n useCloudMetadataServices?: boolean;\n deleteConfigFile?: boolean;\n deleteAdditionalConfigFile?: boolean;\n}\n\n/**\n * Any global-only configuration set by self-hosted administrators.\n *\n * Used within the repository worker.\n *\n * Should only contain config options where globalOnly=true.\n */\nexport interface RepoGlobalConfig extends GlobalInheritableConfig {\n allowedCommands?: string[];\n allowCustomCrateRegistries?: boolean;\n allowPlugins?: boolean;\n allowScripts?: boolean;\n allowShellExecutorForPostUpgradeCommands?: boolean;\n allowedEnv?: string[];\n allowedHeaders?: string[];\n binarySource?: BinarySource;\n cacheDir?: string;\n cacheHardTtlMinutes?: number;\n cacheTtlOverride?: Record<string, number>;\n checkedBranches?: string[];\n containerbaseDir?: string;\n customEnvVariables?: Record<string, string>;\n dockerChildPrefix?: string;\n dockerCliOptions?: string;\n dockerSidecarImage?: string;\n dockerUser?: string;\n dryRun?: DryRunConfig;\n encryptedWarning?: string;\n endpoint?: string;\n executionTimeout?: number;\n exposeAllEnv?: boolean;\n gitTimeout?: number;\n githubTokenWarn?: boolean;\n includeMirrors?: boolean;\n migratePresets?: Record<string, string>;\n platform?: PlatformId;\n prCacheSyncMaxPages?: number;\n presetCachePersistence?: boolean;\n httpCacheTtlDays?: number;\n autodiscoverRepoSort?: RepoSortMethod;\n autodiscoverRepoOrder?: SortMethod;\n userAgent?: string;\n dockerMaxPages?: number;\n s3Endpoint?: string;\n s3PathStyle?: boolean;\n cachePrivatePackages?: boolean;\n repositoryCacheForceLocal?: boolean;\n configFileNames?: string[];\n ignorePrAuthor?: boolean;\n allowedUnsafeExecutions?: AllowedUnsafeExecution[];\n onboardingAutoCloseAge?: number;\n productLinks?: Record<string, string>;\n rebaseAllOpenBranches?: boolean;\n toolSettings?: GlobalToolSettingsOptions;\n}\n\n/**\n * Internal variables which are referenced from `GlobalConfig`, but are *not* user-configurable options.\n */\nexport interface InternalGlobalConfigOptions {\n localDir?: string;\n}\n\n/**\n * Those options are global only but still passed into the repository worker config.\n *\n * @deprecated https://github.com/renovatebot/renovate/issues/39693\n */\nexport interface LegacyAdminConfig {\n baseDir?: string;\n localDir?: string;\n\n logContext?: string;\n\n onboarding?: boolean;\n onboardingBranch?: string;\n onboardingNoDeps?: 'auto' | 'enabled' | 'disabled';\n onboardingRebaseCheckbox?: boolean;\n onboardingConfig?: RenovateConfig;\n onboardingConfigFileName?: string;\n\n optimizeForDisabled?: boolean;\n\n persistRepoData?: boolean;\n\n prCommitsPerRunLimit?: number;\n\n requireConfig?: RequiredConfig;\n\n useCloudMetadataServices?: boolean;\n\n writeDiscoveredRepos?: string;\n}\n\nexport type ExecutionMode = 'branch' | 'update';\n\nexport interface PostUpgradeTasks {\n commands?: string[];\n workingDirTemplate?: string;\n dataFileTemplate?: string;\n fileFilters?: string[];\n executionMode: ExecutionMode;\n installTools?: Partial<Record<ToolName, Record<never, never>>>;\n}\n\nexport type UpdateConfig<\n T extends RenovateSharedConfig = RenovateSharedConfig,\n> = Partial<Record<UpdateType, T | null>>;\n\nexport type RenovateRepositoryEntry = AllConfig & {\n repository: string;\n};\n\nexport type RenovateRepository = string | RenovateRepositoryEntry;\n\nexport type UseBaseBranchConfigType = 'merge' | 'none';\nexport type ConstraintsFilter = 'strict' | 'none';\nexport type MinimumReleaseAgeBehaviour =\n | 'timestamp-required'\n | 'timestamp-optional';\n\nexport const allowedStatusCheckStrings = [\n 'minimumReleaseAge',\n 'mergeConfidence',\n 'configValidation',\n 'artifactError',\n] as const;\nexport type StatusCheckKey = (typeof allowedStatusCheckStrings)[number];\ntype UserEnv = Record<string, string>;\n\n/**\n * Computed properties, for internal use only\n */\nexport interface RenovateInternalConfig {\n /** computed base branch from patterns - for internal use only */\n baseBranches?: string[];\n currentCompatibility?: string;\n datasource?: string;\n hasBaseBranches?: boolean;\n isFork?: boolean;\n isVulnerabilityAlert?: boolean;\n\n /** What is this used for? */\n remediations?: unknown;\n /** What is this used for? */\n vulnerabilityAlertsOnly?: boolean;\n}\n\n// TODO: Proper typings\n/**\n * Configuration that could be used either top-level in a repository config (or Global, Inherited or Shareable Preset configuration).\n *\n * This is a superset of any configuration that a Renovate user (not self-hosted administrator) can set.\n */\nexport interface RenovateConfig\n extends\n LegacyAdminConfig,\n RenovateSharedConfig,\n UpdateConfig<PackageRule>,\n AssigneesAndReviewersConfig,\n ConfigMigration,\n RenovateInternalConfig {\n s3Endpoint?: string;\n s3PathStyle?: boolean;\n reportFormatting?: boolean;\n reportPath?: string;\n reportType?: 'logging' | 'file' | 's3' | null;\n depName?: string;\n /** user configurable base branch patterns*/\n baseBranchPatterns?: string[];\n useBaseBranchConfig?: UseBaseBranchConfigType;\n baseBranch?: string;\n defaultBranch?: string;\n branchList?: string[];\n cloneSubmodules?: boolean;\n cloneSubmodulesFilter?: string[];\n description?: string | string[];\n detectGlobalManagerConfig?: boolean;\n errors?: ValidationMessage[];\n forkModeDisallowMaintainerEdits?: boolean;\n forkProcessing?: 'auto' | 'enabled' | 'disabled';\n forkToken?: string;\n\n gitAuthor?: string;\n\n hostRules?: HostRule[];\n\n inheritConfig?: boolean;\n inheritConfigFileName?: string;\n inheritConfigRepoName?: string;\n inheritConfigStrict?: boolean;\n\n ignorePresets?: string[];\n\n fileList?: string[];\n configWarningReuseIssue?: boolean;\n dependencyDashboard?: boolean;\n dependencyDashboardAutoclose?: boolean;\n dependencyDashboardChecks?: Record<string, string>;\n dependencyDashboardIssue?: number;\n dependencyDashboardTitle?: string;\n dependencyDashboardHeader?: string;\n dependencyDashboardFooter?: string;\n dependencyDashboardLabels?: string[];\n dependencyDashboardOSVVulnerabilitySummary?: 'none' | 'all' | 'unresolved';\n dependencyDashboardReportAbandonment?: boolean;\n mode?: 'silent' | 'full';\n packageFile?: string;\n packageRules?: PackageRule[];\n postUpdateOptions?: string[];\n branchConcurrentLimit?: number | null;\n parentOrg?: string;\n prConcurrentLimit?: number;\n commitHourlyLimit?: number;\n prHourlyLimit?: number;\n\n printConfig?: boolean;\n\n pruneStaleBranches?: boolean;\n\n defaultRegistryUrls?: string[];\n registryUrls?: string[] | null;\n registryAliases?: Record<string, string>;\n\n /**\n * What is this used for?\n * @deprecated\n */\n renovateJsonPresent?: boolean;\n\n repoIsOnboarded?: boolean;\n repoIsActivated?: boolean;\n\n topLevelOrg?: string;\n updateInternalDeps?: boolean;\n updateType?: UpdateType;\n\n warnings?: ValidationMessage[];\n vulnerabilityAlerts?: RenovateSharedConfig;\n osvVulnerabilityAlerts?: boolean;\n vulnerabilitySeverity?: string;\n customManagers?: CustomManager[];\n customDatasources?: Record<string, CustomDatasourceConfig>;\n\n fetchChangeLogs?: FetchChangeLogsOptions;\n secrets?: Record<string, string>;\n variables?: Record<string, string>;\n\n constraints?: Partial<Record<ConstraintName, string>>;\n /**\n * Any specific overrides for the versioning for the `AdditionalConstraintName`s.\n */\n constraintsVersioning?: Partial<Record<AdditionalConstraintName, string>>;\n skipInstalls?: boolean | null;\n\n constraintsFiltering?: ConstraintsFilter;\n\n customizeDashboard?: Record<string, string>;\n\n statusCheckNames?: Record<StatusCheckKey, string | null>;\n statusCheckWhen?: Partial<Record<StatusCheckKey, StatusCheckWhen>>;\n /**\n * User configured environment variables that Renovate uses when executing package manager commands\n */\n env?: UserEnv;\n logLevelRemap?: LogLevelRemap[];\n\n branchTopic?: string;\n additionalBranchPrefix?: string;\n sharedVariableName?: string;\n minimumGroupSize?: number;\n configFileNames?: string[];\n minimumReleaseAgeBehaviour?: MinimumReleaseAgeBehaviour;\n toolSettings?: RepoToolSettingsOptions;\n}\n\nconst CustomDatasourceFormats = [\n 'html',\n 'json',\n 'plain',\n 'toml',\n 'yaml',\n] as const;\nexport type CustomDatasourceFormats = (typeof CustomDatasourceFormats)[number];\n\nexport interface CustomDatasourceConfig {\n defaultRegistryUrlTemplate?: string;\n format?: CustomDatasourceFormats;\n transformTemplates?: string[];\n}\n\n/**\n * The superset of all configuration that a self-hosted administrator can set, alongside all repository-level configuration.\n *\n */\nexport interface AllConfig\n extends RenovateConfig, GlobalOnlyConfigLegacy, RepoGlobalConfig {\n gitUrl?: GitUrlOption;\n password?: string;\n token?: string;\n username?: string;\n}\n\nexport interface AssigneesAndReviewersConfig {\n assigneesFromCodeOwners?: boolean;\n expandCodeOwnersGroups?: boolean;\n assignees?: string[];\n assigneesSampleSize?: number;\n ignoreReviewers?: string[];\n reviewersFromCodeOwners?: boolean;\n reviewers?: string[];\n reviewersSampleSize?: number;\n additionalReviewers?: string[];\n filterUnavailableUsers?: boolean;\n}\n\nexport type UpdateType =\n | 'major'\n | 'minor'\n | 'patch'\n | 'pin'\n | 'digest'\n | 'pinDigest'\n | 'lockFileMaintenance'\n | 'lockfileUpdate'\n | 'rollback'\n | 'bump'\n | 'replacement';\n\n// These are the update types which can have configuration\nexport const UpdateTypesOptions = [\n 'major',\n 'minor',\n 'patch',\n 'pin',\n 'digest',\n 'pinDigest',\n 'lockFileMaintenance',\n 'rollback',\n 'replacement',\n] as const;\n\nexport type UpdateTypeOptions = (typeof UpdateTypesOptions)[number];\n\nexport type FetchChangeLogsOptions = 'off' | 'branch' | 'pr';\n\nexport type MatchStringsStrategy = 'any' | 'recursive' | 'combination';\n\nexport type MergeStrategy =\n | 'auto'\n | 'fast-forward'\n | 'merge-commit'\n | 'rebase'\n | 'rebase-merge'\n | 'squash';\n\n// This list should be added to as any new unsafe execution commands should be permitted\nexport type AllowedUnsafeExecution =\n | 'bazelModDeps'\n | 'goGenerate'\n | 'gradleWrapper'\n | 'mise'\n | 'pixi';\n\n// TODO: Proper typings\nexport interface PackageRule\n extends RenovateSharedConfig, RenovateInternalConfig, UpdateConfig {\n allowedVersions?: string;\n description?: string | string[];\n matchBaseBranches?: string[];\n matchCategories?: string[];\n matchConfidence?: MergeConfidence[];\n matchCurrentAge?: string;\n matchCurrentValue?: string;\n matchCurrentVersion?: string;\n matchDatasources?: string[];\n matchDepNames?: string[];\n matchDepTypes?: string[];\n matchFileNames?: string[];\n matchManagers?: string[];\n matchNewValue?: string;\n matchPackageNames?: string[];\n matchRepositories?: string[];\n matchSourceUrls?: string[];\n matchRegistryUrls?: string[];\n matchUpdateTypes?: UpdateType[];\n matchJsonata?: string[];\n overrideDatasource?: string;\n overrideDepName?: string;\n overridePackageName?: string;\n registryUrls?: string[] | null;\n replacementName?: string;\n replacementVersion?: string;\n sourceUrl?: string;\n sourceDirectory?: string;\n vulnerabilitySeverity?: string;\n vulnerabilityFixVersion?: string;\n}\n\nexport interface ValidationMessage {\n // Topic is either the known list of topics, or a dynamically generated one\n topic: ConfigValidationTopic | (string & {});\n message: string;\n}\n\nexport type AllowedParents =\n | '.'\n | 'bumpVersions'\n | 'customDatasources'\n | 'customManagers'\n | 'hostRules'\n | 'logLevelRemap'\n | 'packageRules'\n | 'postUpgradeTasks'\n | 'vulnerabilityAlerts'\n | 'toolSettings'\n | ManagerName\n | UpdateTypeOptions;\nexport interface RenovateOptionBase {\n /**\n * If true, the option can only be configured by people with access to the Renovate instance.\n * Furthermore, the option should be documented in docs/usage/self-hosted-configuration.md.\n */\n globalOnly?: boolean;\n\n inheritConfigSupport?: boolean;\n\n allowedValues?: string[];\n\n allowString?: boolean;\n\n cli?: boolean;\n\n description: string;\n\n env?: false | string;\n\n /**\n * Do not validate object children\n */\n freeChoice?: boolean;\n\n mergeable?: boolean;\n\n autogenerated?: boolean;\n\n name: string;\n\n parents?: AllowedParents[];\n\n stage?: RenovateConfigStage;\n\n experimental?: boolean;\n\n experimentalDescription?: string;\n\n experimentalIssues?: number[];\n\n advancedUse?: boolean;\n\n /**\n * This is used to add a deprecation message in the docs\n */\n deprecationMsg?: string;\n\n /**\n * For internal use only: add it to any config option that supports regex or glob matching\n */\n patternMatch?: boolean;\n\n /**\n * For internal use only: add it to any config option of type integer that supports negative integers\n */\n allowNegative?: boolean;\n\n /**\n * Managers which support this option, leave undefined if all managers support it.\n */\n supportedManagers?: string[];\n\n /**\n * Platforms which support this option, leave undefined if all platforms support it.\n */\n supportedPlatforms?: PlatformId[];\n\n /**\n * Conditions that must be met for this option to be required.\n */\n requiredIf?: RenovateRequiredOption[];\n\n /**\n * If true, the option's value supports Renovate templating.\n * @see https://docs.renovatebot.com/templates/\n */\n supportsTemplating?: boolean;\n}\n\nexport interface RenovateRequiredOption {\n siblingProperties: { property: string; value: string }[];\n}\n\nexport interface RenovateArrayOption<\n T extends string | number | Record<string, unknown> = Record<string, unknown>,\n> extends RenovateOptionBase {\n default?: T[] | null;\n mergeable?: boolean;\n type: 'array';\n subType?: 'string' | 'object' | 'number';\n}\n\nexport interface RenovateStringArrayOption extends RenovateArrayOption<string> {\n format?: 'regex';\n subType: 'string';\n}\n\nexport interface RenovateNumberArrayOption extends RenovateArrayOption<number> {\n subType: 'number';\n}\n\nexport interface RenovateBooleanOption extends RenovateOptionBase {\n default?: boolean | null;\n type: 'boolean';\n}\n\nexport interface RenovateIntegerOption extends RenovateOptionBase {\n default?: number | null;\n type: 'integer';\n}\n\nexport interface RenovateStringOption extends RenovateOptionBase {\n default?: string | null;\n format?: 'regex';\n\n // Not used\n replaceLineReturns?: boolean;\n type: 'string';\n}\n\nexport interface RenovateObjectOption extends RenovateOptionBase {\n default?: any;\n additionalProperties?: Record<string, unknown> | boolean;\n mergeable?: boolean;\n type: 'object';\n}\n\nexport type RenovateOptions =\n | RenovateStringOption\n | RenovateNumberArrayOption\n | RenovateStringArrayOption\n | RenovateIntegerOption\n | RenovateBooleanOption\n | RenovateArrayOption\n | RenovateObjectOption;\n\nexport interface PackageRuleInputConfig extends RenovateConfig {\n versioning?: string;\n packageFile?: string;\n lockFiles?: string[];\n depType?: string;\n depTypes?: string[];\n depName?: string;\n packageName?: string | null;\n newValue?: string | null;\n currentValue?: string | null;\n currentVersion?: string;\n lockedVersion?: string;\n updateType?: UpdateType;\n mergeConfidenceLevel?: MergeConfidence | undefined;\n isBump?: boolean;\n sourceUrl?: string | null;\n categories?: string[];\n baseBranch?: string;\n manager?: string;\n datasource?: string;\n packageRules?: (PackageRule & PackageRuleInputConfig)[];\n releaseTimestamp?: Timestamp | null;\n repository?: string;\n currentVersionAgeInDays?: number;\n currentVersionTimestamp?: string;\n enabled?: boolean;\n skipReason?: SkipReason;\n skipStage?: StageName;\n}\n\nexport interface ConfigMigration {\n configMigration?: boolean;\n}\n\nexport interface MigratedConfig {\n /**\n * Indicates whether there was a migration applied to the configuration.\n *\n * @returns\n * `false` if the configuration does not need migrating, and `migratedConfig` can be ignored\n * `true` if the configuration was migrated, and if so, `migratedConfig` should be used instead of the provided config\n */\n isMigrated: boolean;\n migratedConfig: RenovateConfig;\n}\n\nexport interface MigratedRenovateConfig extends RenovateConfig {\n endpoints?: HostRule[];\n pathRules: PackageRule[];\n packages: PackageRule[];\n\n node?: RenovateConfig;\n travis?: RenovateConfig;\n gradle?: RenovateConfig;\n}\n\nexport interface ManagerConfig extends RenovateConfig {\n manager: string;\n categories?: Category[];\n}\n\nexport interface ValidationResult {\n errors: ValidationMessage[];\n warnings: ValidationMessage[];\n}\n\nexport interface BumpVersionConfig {\n bumpType?: string;\n filePatterns: string[];\n matchStrings: string[];\n name?: string;\n}\n\n/**\n * Global Config for specified `toolSettings` options.\n *\n */\nexport interface GlobalToolSettingsOptions {\n /** An upper limit on what the Java Virtual Machine's maximum memory can be set to. Repositories can specify <= this value */\n jvmMaxMemory?: number;\n /** An upper limit on what the Java Virtual Machine's starting memory can be set to. Repositories can specify <= this value */\n jvmMemory?: number;\n /** An upper limit on what the Node.JS process' maximum memory can be set to. Repositories can specify <= this value */\n nodeMaxMemory?: number;\n}\n\n/**\n * Repository config options for `toolSettings` options.\n */\nexport interface RepoToolSettingsOptions {\n /** The maximum memory the Java Virtual Machine can use. If greater than the Global Self-Hosted configuration setting, it will be set to that limit **/\n jvmMaxMemory?: number;\n /** The starting memory the Java Virtual Machine can use. If greater than the Global Self-Hosted configuration setting, it will be set to that limit **/\n jvmMemory?: number;\n /** The maximum memory child Node.JS processes can use. If greater than the Global Self-Hosted configuration setting, it will be set to that limit **/\n nodeMaxMemory?: number;\n}\n"],"mappings":";AA6VA,MAAa,4BAA4B;CACvC;CACA;CACA;CACA;AACF;AA4MA,MAAa,qBAAqB;CAChC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF"}
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../lib/config/types.ts"],"sourcesContent":["import type { Category, PlatformId } from '../constants/index.ts';\nimport type { LogLevelRemap } from '../logger/types.ts';\nimport type { ManagerName } from '../manager-list.generated.ts';\nimport type { CustomManager } from '../modules/manager/custom/types.ts';\nimport type {\n GitUrlOption,\n RepoSortMethod,\n SortMethod,\n} from '../modules/platform/types.ts';\nimport type {\n AutoMergeType,\n HostRule,\n Nullish,\n RangeStrategy,\n SkipReason,\n} from '../types/index.ts';\nimport type { StageName } from '../types/skip-reason.ts';\nimport type {\n AdditionalConstraintName,\n ConstraintName,\n ToolName,\n} from '../util/exec/types.ts';\nimport type { GitNoVerifyOption } from '../util/git/types.ts';\nimport type { MergeConfidence } from '../util/merge-confidence/types.ts';\nimport type { Timestamp } from '../util/timestamp.ts';\nimport type { ConfigValidationTopic } from './validation-helpers/types.ts';\n\nexport type RenovateConfigStage =\n | 'global'\n | 'inherit'\n | 'repository'\n | 'package'\n | 'branch'\n | 'pr';\n\nexport type RenovateSplit =\n | 'init'\n | 'onboarding'\n | 'extract'\n | 'lookup'\n | 'update';\n\nexport type RepositoryCacheConfig = 'disabled' | 'enabled' | 'reset';\nexport type RepositoryCacheType = 'local' | (string & {});\nexport type DryRunConfig = 'extract' | 'lookup' | 'full';\nexport type RequiredConfig = 'required' | 'optional' | 'ignored';\n\nexport interface GroupConfig extends Record<string, unknown> {\n branchName?: string;\n branchTopic?: string;\n}\n\nexport type RecreateWhen = 'auto' | 'never' | 'always';\nexport type StatusCheckWhen = 'always' | 'never' | 'failed';\nexport type PlatformCommitOptions = 'auto' | 'disabled' | 'enabled';\n\nexport type BinarySource = 'docker' | 'global' | 'install' | 'hermit';\n\n// TODO: Proper typings\n/**\n * Any configuration that could be used either top-level in a repository config (or Global, Inherited or Shareable Preset configuration), or:\n *\n * - in a datasource-specific configuration\n * - in a manager-specific configuration\n * - in a Package Rule\n *\n * @see RenovateConfig for the superset of all configuration allowed in a given repository\n *\n */\nexport interface RenovateSharedConfig {\n $schema?: string;\n abandonmentThreshold?: Nullish<string>;\n addLabels?: string[];\n assignAutomerge?: boolean;\n autoApprove?: boolean;\n autoReplaceGlobalMatch?: boolean;\n automerge?: boolean;\n automergeSchedule?: string[];\n automergeStrategy?: MergeStrategy;\n automergeType?: AutoMergeType;\n azureWorkItemId?: number;\n azureWorkItemType?: string;\n branchName?: string;\n branchNameStrict?: boolean;\n branchPrefix?: string;\n branchPrefixOld?: string;\n bumpVersions?: BumpVersionConfig[];\n commitBody?: string;\n commitBodyTable?: boolean;\n commitMessage?: string;\n commitMessageAction?: string;\n commitMessageExtra?: string;\n commitMessageLowerCase?: 'auto' | 'never';\n commitMessagePrefix?: string;\n commitMessageTopic?: string;\n commitTrailers?: string[];\n confidential?: boolean;\n configValidationError?: boolean;\n changelogUrl?: string;\n dependencyDashboardApproval?: boolean;\n draftPR?: boolean;\n enabled?: boolean;\n enabledManagers?: string[];\n encrypted?: Record<string, string>;\n extends?: string[];\n extractVersion?: string;\n managerFilePatterns?: string[];\n followTag?: string;\n force?: RenovateConfig;\n gitIgnoredAuthors?: string[];\n group?: GroupConfig;\n groupName?: string;\n groupSingleUpdates?: boolean;\n groupSlug?: string;\n hashedBranchLength?: number;\n ignoreDeps?: string[];\n ignorePaths?: string[];\n ignoreTests?: boolean;\n ignoreUnstable?: boolean;\n includePaths?: string[];\n internalChecksAsSuccess?: boolean;\n internalChecksFilter?: 'strict' | 'flexible' | 'none';\n keepUpdatedLabel?: string;\n labels?: string[];\n manager?: string;\n milestone?: number;\n minimumReleaseAge?: Nullish<string>;\n npmrc?: string;\n npmrcMerge?: boolean;\n npmToken?: string;\n\n pinDigests?: boolean;\n platformAutomerge?: boolean;\n platformCommit?: PlatformCommitOptions;\n postUpgradeTasks?: PostUpgradeTasks;\n prBodyColumns?: string[];\n prBodyDefinitions?: Record<string, string>;\n prBodyHeadingDefinitions?: Record<string, string>;\n prBodyNotes?: string[];\n prCreation?: 'immediate' | 'not-pending' | 'status-success' | 'approval';\n prFooter?: string;\n prHeader?: string;\n prPriority?: number;\n prTitle?: string;\n prTitleStrict?: boolean;\n pruneBranchAfterAutomerge?: boolean;\n rangeStrategy?: RangeStrategy;\n rebaseLabel?: string;\n rebaseWhen?: string;\n recreateClosed?: boolean;\n recreateWhen?: RecreateWhen;\n repository?: string;\n repositoryCache?: RepositoryCacheConfig;\n repositoryCacheType?: RepositoryCacheType;\n respectLatest?: boolean;\n rollbackPrs?: boolean;\n schedule?: string[];\n semanticCommitScope?: string | null;\n semanticCommitType?: string;\n semanticCommits?: 'auto' | 'enabled' | 'disabled';\n separateMajorMinor?: boolean;\n separateMinorPatch?: boolean;\n separateMultipleMajor?: boolean;\n separateMultipleMinor?: boolean;\n skipArtifactsUpdate?: boolean;\n stopUpdatingLabel?: string;\n suppressNotifications?: string[];\n timezone?: string;\n unicodeEmoji?: boolean;\n updateNotScheduled?: boolean;\n versioning?: string;\n versionCompatibility?: string;\n}\n\n/**\n * Contains all options with globalOnly=true && inheritConfigSupport=true\n */\nexport interface GlobalInheritableConfig {\n bbUseDevelopmentBranch?: boolean;\n configFileNames?: string[];\n onboarding?: boolean;\n onboardingAutoCloseAge?: number;\n onboardingBranch?: string;\n onboardingCommitMessage?: string;\n onboardingConfig?: RenovateConfig;\n onboardingConfigFileName?: string;\n onboardingNoDeps?: 'auto' | 'enabled' | 'disabled';\n onboardingPrTitle?: string;\n requireConfig?: RequiredConfig;\n}\n\n// Config options used only within the global worker\n// The below should contain config options where stage=global\n/** @deprecated use `RepoGlobalConfig` instead **/\nexport interface GlobalOnlyConfigLegacy {\n autodiscover?: boolean;\n autodiscoverFilter?: string[] | string;\n autodiscoverNamespaces?: string[];\n autodiscoverProjects?: string[];\n autodiscoverTopics?: string[];\n baseDir?: string;\n cacheDir?: string;\n containerbaseDir?: string;\n detectHostRulesFromEnv?: boolean;\n dockerCliOptions?: string;\n endpoint?: string;\n forceCli?: boolean;\n gitNoVerify?: GitNoVerifyOption[];\n gitPrivateKey?: string;\n gitPrivateKeyPassphrase?: string;\n globalExtends?: string[];\n mergeConfidenceDatasources?: string[];\n mergeConfidenceEndpoint?: string;\n platform?: PlatformId;\n processEnv?: Record<string, string>;\n prCommitsPerRunLimit?: number;\n privateKey?: string;\n privateKeyOld?: string;\n privateKeyPath?: string;\n privateKeyPathOld?: string;\n redisPrefix?: string;\n redisUrl?: string;\n repositories?: RenovateRepository[];\n useCloudMetadataServices?: boolean;\n deleteConfigFile?: boolean;\n deleteAdditionalConfigFile?: boolean;\n}\n\n/**\n * Any global-only configuration set by self-hosted administrators.\n *\n * Used within the repository worker.\n *\n * Should only contain config options where globalOnly=true.\n */\nexport interface RepoGlobalConfig extends GlobalInheritableConfig {\n allowedCommands?: string[];\n allowCustomCrateRegistries?: boolean;\n allowPlugins?: boolean;\n allowScripts?: boolean;\n allowShellExecutorForPostUpgradeCommands?: boolean;\n allowedEnv?: string[];\n allowedHeaders?: string[];\n binarySource?: BinarySource;\n cacheDir?: string;\n cacheHardTtlMinutes?: number;\n cacheTtlOverride?: Record<string, number>;\n checkedBranches?: string[];\n containerbaseDir?: string;\n customEnvVariables?: Record<string, string>;\n dockerChildPrefix?: string;\n dockerCliOptions?: string;\n dockerSidecarImage?: string;\n dockerUser?: string;\n dryRun?: DryRunConfig;\n encryptedWarning?: string;\n endpoint?: string;\n executionTimeout?: number;\n exposeAllEnv?: boolean;\n gitTimeout?: number;\n githubTokenWarn?: boolean;\n includeMirrors?: boolean;\n migratePresets?: Record<string, string>;\n platform?: PlatformId;\n prCacheSyncMaxPages?: number;\n presetCachePersistence?: boolean;\n httpCacheTtlDays?: number;\n autodiscoverRepoSort?: RepoSortMethod;\n autodiscoverRepoOrder?: SortMethod;\n userAgent?: string;\n dockerMaxPages?: number;\n s3Endpoint?: string;\n s3PathStyle?: boolean;\n cachePrivatePackages?: boolean;\n repositoryCacheForceLocal?: boolean;\n configFileNames?: string[];\n ignorePrAuthor?: boolean;\n allowedUnsafeExecutions?: AllowedUnsafeExecution[];\n onboardingAutoCloseAge?: number;\n productLinks?: Record<string, string>;\n rebaseAllOpenBranches?: boolean;\n toolSettings?: GlobalToolSettingsOptions;\n}\n\n/**\n * Internal variables which are referenced from `GlobalConfig`, but are *not* user-configurable options.\n */\nexport interface InternalGlobalConfigOptions {\n localDir?: string;\n}\n\n/**\n * Those options are global only but still passed into the repository worker config.\n *\n * @deprecated https://github.com/renovatebot/renovate/issues/39693\n */\nexport interface LegacyAdminConfig {\n baseDir?: string;\n localDir?: string;\n\n logContext?: string;\n\n onboarding?: boolean;\n onboardingBranch?: string;\n onboardingNoDeps?: 'auto' | 'enabled' | 'disabled';\n onboardingRebaseCheckbox?: boolean;\n onboardingConfig?: RenovateConfig;\n onboardingConfigFileName?: string;\n\n optimizeForDisabled?: boolean;\n\n persistRepoData?: boolean;\n\n prCommitsPerRunLimit?: number;\n\n requireConfig?: RequiredConfig;\n\n useCloudMetadataServices?: boolean;\n\n writeDiscoveredRepos?: string;\n}\n\nexport type ExecutionMode = 'branch' | 'update';\n\nexport interface PostUpgradeTasks {\n commands?: string[];\n workingDirTemplate?: string;\n dataFileTemplate?: string;\n fileFilters?: string[];\n executionMode: ExecutionMode;\n installTools?: Partial<Record<ToolName, Record<never, never>>>;\n}\n\nexport type UpdateConfig<\n T extends RenovateSharedConfig = RenovateSharedConfig,\n> = Partial<Record<UpdateType, T | null>>;\n\nexport type RenovateRepositoryEntry = AllConfig & {\n repository: string;\n};\n\nexport type RenovateRepository = string | RenovateRepositoryEntry;\n\nexport type UseBaseBranchConfigType = 'merge' | 'none';\nexport type ConstraintsFilter = 'strict' | 'none';\nexport type MinimumReleaseAgeBehaviour =\n | 'timestamp-required'\n | 'timestamp-optional';\n\nexport const allowedStatusCheckStrings = [\n 'minimumReleaseAge',\n 'mergeConfidence',\n 'configValidation',\n 'artifactError',\n] as const;\nexport type StatusCheckKey = (typeof allowedStatusCheckStrings)[number];\ntype UserEnv = Record<string, string>;\n\n/**\n * Computed properties, for internal use only\n */\nexport interface RenovateInternalConfig {\n /** computed base branch from patterns - for internal use only */\n baseBranches?: string[];\n currentCompatibility?: string;\n datasource?: string;\n hasBaseBranches?: boolean;\n isFork?: boolean;\n isVulnerabilityAlert?: boolean;\n\n /** What is this used for? */\n remediations?: unknown;\n /** What is this used for? */\n vulnerabilityAlertsOnly?: boolean;\n}\n\n// TODO: Proper typings\n/**\n * Configuration that could be used either top-level in a repository config (or Global, Inherited or Shareable Preset configuration).\n *\n * This is a superset of any configuration that a Renovate user (not self-hosted administrator) can set.\n */\nexport interface RenovateConfig\n extends\n LegacyAdminConfig,\n RenovateSharedConfig,\n UpdateConfig<PackageRule>,\n AssigneesAndReviewersConfig,\n ConfigMigration,\n RenovateInternalConfig {\n s3Endpoint?: string;\n s3PathStyle?: boolean;\n reportFormatting?: boolean;\n reportPath?: string;\n reportType?: 'logging' | 'file' | 's3' | null;\n depName?: string;\n /** user configurable base branch patterns*/\n baseBranchPatterns?: string[];\n useBaseBranchConfig?: UseBaseBranchConfigType;\n baseBranch?: string;\n defaultBranch?: string;\n branchList?: string[];\n cloneSubmodules?: boolean;\n cloneSubmodulesFilter?: string[];\n description?: string | string[];\n overrideDescription?: string | string[];\n detectGlobalManagerConfig?: boolean;\n errors?: ValidationMessage[];\n forkModeDisallowMaintainerEdits?: boolean;\n forkProcessing?: 'auto' | 'enabled' | 'disabled';\n forkToken?: string;\n\n gitAuthor?: string;\n\n hostRules?: HostRule[];\n\n inheritConfig?: boolean;\n inheritConfigFileName?: string;\n inheritConfigRepoName?: string;\n inheritConfigStrict?: boolean;\n\n ignorePresets?: string[];\n\n fileList?: string[];\n configWarningReuseIssue?: boolean;\n dependencyDashboard?: boolean;\n dependencyDashboardAutoclose?: boolean;\n dependencyDashboardChecks?: Record<string, string>;\n dependencyDashboardIssue?: number;\n dependencyDashboardTitle?: string;\n dependencyDashboardHeader?: string;\n dependencyDashboardFooter?: string;\n dependencyDashboardLabels?: string[];\n dependencyDashboardOSVVulnerabilitySummary?: 'none' | 'all' | 'unresolved';\n dependencyDashboardReportAbandonment?: boolean;\n mode?: 'silent' | 'full';\n packageFile?: string;\n packageRules?: PackageRule[];\n postUpdateOptions?: string[];\n branchConcurrentLimit?: number | null;\n parentOrg?: string;\n prConcurrentLimit?: number;\n commitHourlyLimit?: number;\n prHourlyLimit?: number;\n\n printConfig?: boolean;\n\n pruneStaleBranches?: boolean;\n\n defaultRegistryUrls?: string[];\n registryUrls?: string[] | null;\n registryAliases?: Record<string, string>;\n\n /**\n * What is this used for?\n * @deprecated\n */\n renovateJsonPresent?: boolean;\n\n repoIsOnboarded?: boolean;\n repoIsActivated?: boolean;\n\n topLevelOrg?: string;\n updateInternalDeps?: boolean;\n updateType?: UpdateType;\n\n warnings?: ValidationMessage[];\n vulnerabilityAlerts?: RenovateSharedConfig;\n osvVulnerabilityAlerts?: boolean;\n vulnerabilitySeverity?: string;\n customManagers?: CustomManager[];\n customDatasources?: Record<string, CustomDatasourceConfig>;\n\n fetchChangeLogs?: FetchChangeLogsOptions;\n secrets?: Record<string, string>;\n variables?: Record<string, string>;\n\n constraints?: Partial<Record<ConstraintName, string>>;\n /**\n * Any specific overrides for the versioning for the `AdditionalConstraintName`s.\n */\n constraintsVersioning?: Partial<Record<AdditionalConstraintName, string>>;\n skipInstalls?: boolean | null;\n\n constraintsFiltering?: ConstraintsFilter;\n\n customizeDashboard?: Record<string, string>;\n\n statusCheckNames?: Record<StatusCheckKey, string | null>;\n statusCheckWhen?: Partial<Record<StatusCheckKey, StatusCheckWhen>>;\n /**\n * User configured environment variables that Renovate uses when executing package manager commands\n */\n env?: UserEnv;\n logLevelRemap?: LogLevelRemap[];\n\n branchTopic?: string;\n additionalBranchPrefix?: string;\n sharedVariableName?: string;\n minimumGroupSize?: number;\n configFileNames?: string[];\n minimumReleaseAgeBehaviour?: MinimumReleaseAgeBehaviour;\n toolSettings?: RepoToolSettingsOptions;\n}\n\nconst CustomDatasourceFormats = [\n 'html',\n 'json',\n 'plain',\n 'toml',\n 'yaml',\n] as const;\nexport type CustomDatasourceFormats = (typeof CustomDatasourceFormats)[number];\n\nexport interface CustomDatasourceConfig {\n defaultRegistryUrlTemplate?: string;\n format?: CustomDatasourceFormats;\n transformTemplates?: string[];\n}\n\n/**\n * The superset of all configuration that a self-hosted administrator can set, alongside all repository-level configuration.\n *\n */\nexport interface AllConfig\n extends RenovateConfig, GlobalOnlyConfigLegacy, RepoGlobalConfig {\n gitUrl?: GitUrlOption;\n password?: string;\n token?: string;\n username?: string;\n}\n\nexport interface AssigneesAndReviewersConfig {\n assigneesFromCodeOwners?: boolean;\n expandCodeOwnersGroups?: boolean;\n assignees?: string[];\n assigneesSampleSize?: number;\n ignoreReviewers?: string[];\n reviewersFromCodeOwners?: boolean;\n reviewers?: string[];\n reviewersSampleSize?: number;\n additionalReviewers?: string[];\n filterUnavailableUsers?: boolean;\n}\n\nexport type UpdateType =\n | 'major'\n | 'minor'\n | 'patch'\n | 'pin'\n | 'digest'\n | 'pinDigest'\n | 'lockFileMaintenance'\n | 'lockfileUpdate'\n | 'rollback'\n | 'bump'\n | 'replacement';\n\n// These are the update types which can have configuration\nexport const UpdateTypesOptions = [\n 'major',\n 'minor',\n 'patch',\n 'pin',\n 'digest',\n 'pinDigest',\n 'lockFileMaintenance',\n 'rollback',\n 'replacement',\n] as const;\n\nexport type UpdateTypeOptions = (typeof UpdateTypesOptions)[number];\n\nexport type FetchChangeLogsOptions = 'off' | 'branch' | 'pr';\n\nexport type MatchStringsStrategy = 'any' | 'recursive' | 'combination';\n\nexport type MergeStrategy =\n | 'auto'\n | 'fast-forward'\n | 'merge-commit'\n | 'rebase'\n | 'rebase-merge'\n | 'squash';\n\n// This list should be added to as any new unsafe execution commands should be permitted\nexport type AllowedUnsafeExecution =\n | 'bazelModDeps'\n | 'goGenerate'\n | 'gradleWrapper'\n | 'mise'\n | 'pixi';\n\n// TODO: Proper typings\nexport interface PackageRule\n extends RenovateSharedConfig, RenovateInternalConfig, UpdateConfig {\n allowedVersions?: string;\n description?: string | string[];\n matchBaseBranches?: string[];\n matchCategories?: string[];\n matchConfidence?: MergeConfidence[];\n matchCurrentAge?: string;\n matchCurrentValue?: string;\n matchCurrentVersion?: string;\n matchDatasources?: string[];\n matchDepNames?: string[];\n matchDepTypes?: string[];\n matchFileNames?: string[];\n matchManagers?: string[];\n matchNewValue?: string;\n matchPackageNames?: string[];\n matchRepositories?: string[];\n matchSourceUrls?: string[];\n matchRegistryUrls?: string[];\n matchUpdateTypes?: UpdateType[];\n matchJsonata?: string[];\n overrideDatasource?: string;\n overrideDepName?: string;\n overridePackageName?: string;\n registryUrls?: string[] | null;\n replacementName?: string;\n replacementVersion?: string;\n sourceUrl?: string;\n sourceDirectory?: string;\n vulnerabilitySeverity?: string;\n vulnerabilityFixVersion?: string;\n}\n\nexport interface ValidationMessage {\n // Topic is either the known list of topics, or a dynamically generated one\n topic: ConfigValidationTopic | (string & {});\n message: string;\n}\n\nexport type AllowedParents =\n | '.'\n | 'bumpVersions'\n | 'customDatasources'\n | 'customManagers'\n | 'hostRules'\n | 'logLevelRemap'\n | 'packageRules'\n | 'postUpgradeTasks'\n | 'vulnerabilityAlerts'\n | 'toolSettings'\n | ManagerName\n | UpdateTypeOptions;\nexport interface RenovateOptionBase {\n /**\n * If true, the option can only be configured by people with access to the Renovate instance.\n * Furthermore, the option should be documented in docs/usage/self-hosted-configuration.md.\n */\n globalOnly?: boolean;\n\n inheritConfigSupport?: boolean;\n\n allowedValues?: string[];\n\n allowString?: boolean;\n\n cli?: boolean;\n\n description: string;\n\n env?: false | string;\n\n /**\n * Do not validate object children\n */\n freeChoice?: boolean;\n\n mergeable?: boolean;\n\n autogenerated?: boolean;\n\n name: string;\n\n parents?: AllowedParents[];\n\n stage?: RenovateConfigStage;\n\n experimental?: boolean;\n\n experimentalDescription?: string;\n\n experimentalIssues?: number[];\n\n advancedUse?: boolean;\n\n /**\n * This is used to add a deprecation message in the docs\n */\n deprecationMsg?: string;\n\n /**\n * For internal use only: add it to any config option that supports regex or glob matching\n */\n patternMatch?: boolean;\n\n /**\n * For internal use only: add it to any config option of type integer that supports negative integers\n */\n allowNegative?: boolean;\n\n /**\n * Managers which support this option, leave undefined if all managers support it.\n */\n supportedManagers?: string[];\n\n /**\n * Platforms which support this option, leave undefined if all platforms support it.\n */\n supportedPlatforms?: PlatformId[];\n\n /**\n * Conditions that must be met for this option to be required.\n */\n requiredIf?: RenovateRequiredOption[];\n\n /**\n * If true, the option's value supports Renovate templating.\n * @see https://docs.renovatebot.com/templates/\n */\n supportsTemplating?: boolean;\n}\n\nexport interface RenovateRequiredOption {\n siblingProperties: { property: string; value: string }[];\n}\n\nexport interface RenovateArrayOption<\n T extends string | number | Record<string, unknown> = Record<string, unknown>,\n> extends RenovateOptionBase {\n default?: T[] | null;\n mergeable?: boolean;\n type: 'array';\n subType?: 'string' | 'object' | 'number';\n}\n\nexport interface RenovateStringArrayOption extends RenovateArrayOption<string> {\n format?: 'regex';\n subType: 'string';\n}\n\nexport interface RenovateNumberArrayOption extends RenovateArrayOption<number> {\n subType: 'number';\n}\n\nexport interface RenovateBooleanOption extends RenovateOptionBase {\n default?: boolean | null;\n type: 'boolean';\n}\n\nexport interface RenovateIntegerOption extends RenovateOptionBase {\n default?: number | null;\n type: 'integer';\n}\n\nexport interface RenovateStringOption extends RenovateOptionBase {\n default?: string | null;\n format?: 'regex';\n\n // Not used\n replaceLineReturns?: boolean;\n type: 'string';\n}\n\nexport interface RenovateObjectOption extends RenovateOptionBase {\n default?: any;\n additionalProperties?: Record<string, unknown> | boolean;\n mergeable?: boolean;\n type: 'object';\n}\n\nexport type RenovateOptions =\n | RenovateStringOption\n | RenovateNumberArrayOption\n | RenovateStringArrayOption\n | RenovateIntegerOption\n | RenovateBooleanOption\n | RenovateArrayOption\n | RenovateObjectOption;\n\nexport interface PackageRuleInputConfig extends RenovateConfig {\n versioning?: string;\n packageFile?: string;\n lockFiles?: string[];\n depType?: string;\n depTypes?: string[];\n depName?: string;\n packageName?: string | null;\n newValue?: string | null;\n currentValue?: string | null;\n currentVersion?: string;\n lockedVersion?: string;\n updateType?: UpdateType;\n mergeConfidenceLevel?: MergeConfidence | undefined;\n isBump?: boolean;\n sourceUrl?: string | null;\n categories?: string[];\n baseBranch?: string;\n manager?: string;\n datasource?: string;\n packageRules?: (PackageRule & PackageRuleInputConfig)[];\n releaseTimestamp?: Timestamp | null;\n repository?: string;\n currentVersionAgeInDays?: number;\n currentVersionTimestamp?: string;\n enabled?: boolean;\n skipReason?: SkipReason;\n skipStage?: StageName;\n}\n\nexport interface ConfigMigration {\n configMigration?: boolean;\n}\n\nexport interface MigratedConfig {\n /**\n * Indicates whether there was a migration applied to the configuration.\n *\n * @returns\n * `false` if the configuration does not need migrating, and `migratedConfig` can be ignored\n * `true` if the configuration was migrated, and if so, `migratedConfig` should be used instead of the provided config\n */\n isMigrated: boolean;\n migratedConfig: RenovateConfig;\n}\n\nexport interface MigratedRenovateConfig extends RenovateConfig {\n endpoints?: HostRule[];\n pathRules: PackageRule[];\n packages: PackageRule[];\n\n node?: RenovateConfig;\n travis?: RenovateConfig;\n gradle?: RenovateConfig;\n}\n\nexport interface ManagerConfig extends RenovateConfig {\n manager: string;\n categories?: Category[];\n}\n\nexport interface ValidationResult {\n errors: ValidationMessage[];\n warnings: ValidationMessage[];\n}\n\nexport interface BumpVersionConfig {\n bumpType?: string;\n filePatterns: string[];\n matchStrings: string[];\n name?: string;\n}\n\n/**\n * Global Config for specified `toolSettings` options.\n *\n */\nexport interface GlobalToolSettingsOptions {\n /** An upper limit on what the Java Virtual Machine's maximum memory can be set to. Repositories can specify <= this value */\n jvmMaxMemory?: number;\n /** An upper limit on what the Java Virtual Machine's starting memory can be set to. Repositories can specify <= this value */\n jvmMemory?: number;\n /** An upper limit on what the Node.JS process' maximum memory can be set to. Repositories can specify <= this value */\n nodeMaxMemory?: number;\n}\n\n/**\n * Repository config options for `toolSettings` options.\n */\nexport interface RepoToolSettingsOptions {\n /** The maximum memory the Java Virtual Machine can use. If greater than the Global Self-Hosted configuration setting, it will be set to that limit **/\n jvmMaxMemory?: number;\n /** The starting memory the Java Virtual Machine can use. If greater than the Global Self-Hosted configuration setting, it will be set to that limit **/\n jvmMemory?: number;\n /** The maximum memory child Node.JS processes can use. If greater than the Global Self-Hosted configuration setting, it will be set to that limit **/\n nodeMaxMemory?: number;\n}\n"],"mappings":";AA6VA,MAAa,4BAA4B;CACvC;CACA;CACA;CACA;AACF;AA6MA,MAAa,qBAAqB;CAChC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF"}
|