renovate 41.98.0 → 41.98.2

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.
@@ -5,6 +5,7 @@ exports.updateRepo = updateRepo;
5
5
  // TODO #22198
6
6
  const config_1 = require("../../../config");
7
7
  const global_1 = require("../../../config/global");
8
+ const migrate_validate_1 = require("../../../config/migrate-validate");
8
9
  const presets_1 = require("../../../config/presets");
9
10
  const error_messages_1 = require("../../../constants/error-messages");
10
11
  const logger_1 = require("../../../logger");
@@ -39,6 +40,16 @@ async function getBaseBranchConfig(baseBranch, config) {
39
40
  error.validationMessage = `Error fetching config file \`${configFileName}\` from branch \`${baseBranch}\``;
40
41
  throw error;
41
42
  }
43
+ baseBranchConfig = await (0, migrate_validate_1.migrateAndValidate)(config, baseBranchConfig);
44
+ if (baseBranchConfig.errors?.length) {
45
+ const error = new Error(error_messages_1.CONFIG_VALIDATION);
46
+ error.validationSource = configFileName;
47
+ error.validationError = `The renovate configuration file of branch ${baseBranch} contains some invalid settings`;
48
+ error.validationMessage = baseBranchConfig.errors
49
+ .map((e) => e.message)
50
+ .join(', ');
51
+ throw error;
52
+ }
42
53
  baseBranchConfig = await (0, presets_1.resolveConfigPresets)(baseBranchConfig, config);
43
54
  baseBranchConfig = (0, config_1.mergeChildConfig)(config, baseBranchConfig);
44
55
  // istanbul ignore if
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/workers/repository/process/index.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO #22198\nimport { mergeChildConfig } from '../../../config';\nimport { GlobalConfig } from '../../../config/global';\nimport { resolveConfigPresets } from '../../../config/presets';\nimport type { RenovateConfig } from '../../../config/types';\nimport { CONFIG_VALIDATION } from '../../../constants/error-messages';\nimport { addMeta, logger, removeMeta } from '../../../logger';\nimport type { PackageFile } from '../../../modules/manager/types';\nimport { platform } from '../../../modules/platform';\nimport { scm } from '../../../modules/platform/scm';\nimport { getCache } from '../../../util/cache/repository';\nimport { clone } from '../../../util/clone';\nimport { getBranchList } from '../../../util/git';\nimport { addSplit } from '../../../util/split';\nimport { getRegexPredicate } from '../../../util/string-match';\nimport type { BranchConfig } from '../../types';\nimport { readDashboardBody } from '../dependency-dashboard';\nimport type { ExtractResult } from './extract-update';\nimport { extract, lookup, update } from './extract-update';\nimport type { WriteUpdateResult } from './write';\n\nasync function getBaseBranchConfig(\n baseBranch: string,\n config: RenovateConfig,\n): Promise<RenovateConfig> {\n logger.debug(`baseBranch: ${baseBranch}`);\n\n let baseBranchConfig: RenovateConfig = clone(config);\n\n if (\n config.useBaseBranchConfig === 'merge' &&\n baseBranch !== config.defaultBranch\n ) {\n logger.debug(\n { baseBranch },\n `Merging config from base branch because useBaseBranchConfig=merge`,\n );\n\n // Retrieve config file name autodetected for this repo\n const cache = getCache();\n // TODO: types (#22198)\n const configFileName = cache.configFileName!;\n\n try {\n baseBranchConfig = await platform.getJsonFile(\n configFileName,\n config.repository,\n baseBranch,\n );\n logger.debug({ config: baseBranchConfig }, 'Base branch config raw');\n } catch {\n logger.error(\n { configFileName, baseBranch },\n `Error fetching config file from base branch - possible config name mismatch between branches?`,\n );\n\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = 'config';\n error.validationError = 'Error fetching config file';\n error.validationMessage = `Error fetching config file \\`${configFileName}\\` from branch \\`${baseBranch}\\``;\n throw error;\n }\n\n baseBranchConfig = await resolveConfigPresets(baseBranchConfig, config);\n baseBranchConfig = mergeChildConfig(config, baseBranchConfig);\n\n // istanbul ignore if\n if (config.printConfig) {\n logger.info(\n { config: baseBranchConfig },\n 'Base branch config after merge',\n );\n }\n\n // baseBranches value should be based off the default branch\n baseBranchConfig.baseBranchPatterns = config.baseBranchPatterns;\n }\n\n if (config.baseBranchPatterns!.length > 1) {\n baseBranchConfig.branchPrefix += `${baseBranch}-`;\n baseBranchConfig.hasBaseBranches = true;\n }\n\n baseBranchConfig = mergeChildConfig(baseBranchConfig, { baseBranch });\n\n return baseBranchConfig;\n}\n\nfunction unfoldBaseBranches(\n defaultBranch: string,\n baseBranchPatterns: string[],\n): string[] {\n const unfoldedList: string[] = [];\n\n const allBranches = getBranchList();\n for (const baseBranchPattern of baseBranchPatterns) {\n const isAllowedPred = getRegexPredicate(baseBranchPattern);\n if (isAllowedPred) {\n const matchingBranches = allBranches.filter(isAllowedPred);\n logger.debug(\n `baseBranchePatterns regex \"${baseBranchPattern}\" matches [${matchingBranches.join()}]`,\n );\n unfoldedList.push(...matchingBranches);\n } else if (baseBranchPattern === '$default') {\n logger.debug(`baseBranchPatterns \"$default\" matches \"${defaultBranch}\"`);\n unfoldedList.push(defaultBranch);\n } else {\n unfoldedList.push(baseBranchPattern);\n }\n }\n\n return [...new Set(unfoldedList)];\n}\n\nexport async function extractDependencies(\n config: RenovateConfig,\n overwriteCache = true,\n): Promise<ExtractResult> {\n await readDashboardBody(config);\n let res: ExtractResult = {\n branches: [],\n branchList: [],\n packageFiles: {},\n };\n if (\n GlobalConfig.get('platform') !== 'local' &&\n config.baseBranchPatterns?.length\n ) {\n config.baseBranchPatterns = unfoldBaseBranches(\n config.defaultBranch!,\n config.baseBranchPatterns,\n );\n logger.debug({ baseBranches: config.baseBranchPatterns }, 'baseBranches');\n const extracted: Record<string, Record<string, PackageFile[]>> = {};\n for (const baseBranch of config.baseBranchPatterns) {\n addMeta({ baseBranch });\n\n if (scm.syncForkWithUpstream) {\n await scm.syncForkWithUpstream(baseBranch);\n }\n if (await scm.branchExists(baseBranch)) {\n const baseBranchConfig = await getBaseBranchConfig(baseBranch, config);\n extracted[baseBranch] = await extract(baseBranchConfig, overwriteCache);\n } else {\n logger.warn({ baseBranch }, 'Base branch does not exist - skipping');\n }\n }\n addSplit('extract');\n for (const baseBranch of config.baseBranchPatterns) {\n if (await scm.branchExists(baseBranch)) {\n addMeta({ baseBranch });\n const baseBranchConfig = await getBaseBranchConfig(baseBranch, config);\n const packageFiles = extracted[baseBranch];\n const baseBranchRes = await lookup(baseBranchConfig, packageFiles);\n res.branches = res.branches.concat(baseBranchRes?.branches);\n res.branchList = res.branchList.concat(baseBranchRes?.branchList);\n if (!res.packageFiles || !Object.keys(res.packageFiles).length) {\n // Use the first branch\n res.packageFiles = baseBranchRes?.packageFiles;\n }\n }\n }\n removeMeta(['baseBranch']);\n } else {\n logger.debug('No baseBranches');\n const packageFiles = await extract(config, overwriteCache);\n addSplit('extract');\n if (GlobalConfig.get('dryRun') === 'extract') {\n res.packageFiles = packageFiles;\n logger.info({ packageFiles }, 'Extracted dependencies');\n return res;\n }\n res = await lookup(config, packageFiles);\n }\n addSplit('lookup');\n return res;\n}\n\nexport function updateRepo(\n config: RenovateConfig,\n branches: BranchConfig[],\n): Promise<WriteUpdateResult | undefined> {\n logger.debug('processRepo()');\n\n return update(config, branches);\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/workers/repository/process/index.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO #22198\nimport { mergeChildConfig } from '../../../config';\nimport { GlobalConfig } from '../../../config/global';\nimport { migrateAndValidate } from '../../../config/migrate-validate';\nimport { resolveConfigPresets } from '../../../config/presets';\nimport type { RenovateConfig } from '../../../config/types';\nimport { CONFIG_VALIDATION } from '../../../constants/error-messages';\nimport { addMeta, logger, removeMeta } from '../../../logger';\nimport type { PackageFile } from '../../../modules/manager/types';\nimport { platform } from '../../../modules/platform';\nimport { scm } from '../../../modules/platform/scm';\nimport { getCache } from '../../../util/cache/repository';\nimport { clone } from '../../../util/clone';\nimport { getBranchList } from '../../../util/git';\nimport { addSplit } from '../../../util/split';\nimport { getRegexPredicate } from '../../../util/string-match';\nimport type { BranchConfig } from '../../types';\nimport { readDashboardBody } from '../dependency-dashboard';\nimport type { ExtractResult } from './extract-update';\nimport { extract, lookup, update } from './extract-update';\nimport type { WriteUpdateResult } from './write';\n\nasync function getBaseBranchConfig(\n baseBranch: string,\n config: RenovateConfig,\n): Promise<RenovateConfig> {\n logger.debug(`baseBranch: ${baseBranch}`);\n\n let baseBranchConfig: RenovateConfig = clone(config);\n\n if (\n config.useBaseBranchConfig === 'merge' &&\n baseBranch !== config.defaultBranch\n ) {\n logger.debug(\n { baseBranch },\n `Merging config from base branch because useBaseBranchConfig=merge`,\n );\n\n // Retrieve config file name autodetected for this repo\n const cache = getCache();\n // TODO: types (#22198)\n const configFileName = cache.configFileName!;\n\n try {\n baseBranchConfig = await platform.getJsonFile(\n configFileName,\n config.repository,\n baseBranch,\n );\n logger.debug({ config: baseBranchConfig }, 'Base branch config raw');\n } catch {\n logger.error(\n { configFileName, baseBranch },\n `Error fetching config file from base branch - possible config name mismatch between branches?`,\n );\n\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = 'config';\n error.validationError = 'Error fetching config file';\n error.validationMessage = `Error fetching config file \\`${configFileName}\\` from branch \\`${baseBranch}\\``;\n throw error;\n }\n\n baseBranchConfig = await migrateAndValidate(config, baseBranchConfig);\n if (baseBranchConfig.errors?.length) {\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = configFileName;\n error.validationError = `The renovate configuration file of branch ${baseBranch} contains some invalid settings`;\n error.validationMessage = baseBranchConfig.errors\n .map((e) => e.message)\n .join(', ');\n throw error;\n }\n\n baseBranchConfig = await resolveConfigPresets(baseBranchConfig, config);\n baseBranchConfig = mergeChildConfig(config, baseBranchConfig);\n\n // istanbul ignore if\n if (config.printConfig) {\n logger.info(\n { config: baseBranchConfig },\n 'Base branch config after merge',\n );\n }\n\n // baseBranches value should be based off the default branch\n baseBranchConfig.baseBranchPatterns = config.baseBranchPatterns;\n }\n\n if (config.baseBranchPatterns!.length > 1) {\n baseBranchConfig.branchPrefix += `${baseBranch}-`;\n baseBranchConfig.hasBaseBranches = true;\n }\n\n baseBranchConfig = mergeChildConfig(baseBranchConfig, { baseBranch });\n\n return baseBranchConfig;\n}\n\nfunction unfoldBaseBranches(\n defaultBranch: string,\n baseBranchPatterns: string[],\n): string[] {\n const unfoldedList: string[] = [];\n\n const allBranches = getBranchList();\n for (const baseBranchPattern of baseBranchPatterns) {\n const isAllowedPred = getRegexPredicate(baseBranchPattern);\n if (isAllowedPred) {\n const matchingBranches = allBranches.filter(isAllowedPred);\n logger.debug(\n `baseBranchePatterns regex \"${baseBranchPattern}\" matches [${matchingBranches.join()}]`,\n );\n unfoldedList.push(...matchingBranches);\n } else if (baseBranchPattern === '$default') {\n logger.debug(`baseBranchPatterns \"$default\" matches \"${defaultBranch}\"`);\n unfoldedList.push(defaultBranch);\n } else {\n unfoldedList.push(baseBranchPattern);\n }\n }\n\n return [...new Set(unfoldedList)];\n}\n\nexport async function extractDependencies(\n config: RenovateConfig,\n overwriteCache = true,\n): Promise<ExtractResult> {\n await readDashboardBody(config);\n let res: ExtractResult = {\n branches: [],\n branchList: [],\n packageFiles: {},\n };\n if (\n GlobalConfig.get('platform') !== 'local' &&\n config.baseBranchPatterns?.length\n ) {\n config.baseBranchPatterns = unfoldBaseBranches(\n config.defaultBranch!,\n config.baseBranchPatterns,\n );\n logger.debug({ baseBranches: config.baseBranchPatterns }, 'baseBranches');\n const extracted: Record<string, Record<string, PackageFile[]>> = {};\n for (const baseBranch of config.baseBranchPatterns) {\n addMeta({ baseBranch });\n\n if (scm.syncForkWithUpstream) {\n await scm.syncForkWithUpstream(baseBranch);\n }\n if (await scm.branchExists(baseBranch)) {\n const baseBranchConfig = await getBaseBranchConfig(baseBranch, config);\n extracted[baseBranch] = await extract(baseBranchConfig, overwriteCache);\n } else {\n logger.warn({ baseBranch }, 'Base branch does not exist - skipping');\n }\n }\n addSplit('extract');\n for (const baseBranch of config.baseBranchPatterns) {\n if (await scm.branchExists(baseBranch)) {\n addMeta({ baseBranch });\n const baseBranchConfig = await getBaseBranchConfig(baseBranch, config);\n const packageFiles = extracted[baseBranch];\n const baseBranchRes = await lookup(baseBranchConfig, packageFiles);\n res.branches = res.branches.concat(baseBranchRes?.branches);\n res.branchList = res.branchList.concat(baseBranchRes?.branchList);\n if (!res.packageFiles || !Object.keys(res.packageFiles).length) {\n // Use the first branch\n res.packageFiles = baseBranchRes?.packageFiles;\n }\n }\n }\n removeMeta(['baseBranch']);\n } else {\n logger.debug('No baseBranches');\n const packageFiles = await extract(config, overwriteCache);\n addSplit('extract');\n if (GlobalConfig.get('dryRun') === 'extract') {\n res.packageFiles = packageFiles;\n logger.info({ packageFiles }, 'Extracted dependencies');\n return res;\n }\n res = await lookup(config, packageFiles);\n }\n addSplit('lookup');\n return res;\n}\n\nexport function updateRepo(\n config: RenovateConfig,\n branches: BranchConfig[],\n): Promise<WriteUpdateResult | undefined> {\n logger.debug('processRepo()');\n\n return update(config, branches);\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "renovate",
3
3
  "description": "Automated dependency updates. Flexible so you don't need to be.",
4
- "version": "41.98.0",
4
+ "version": "41.98.2",
5
5
  "type": "commonjs",
6
6
  "bin": {
7
7
  "renovate": "dist/renovate.js",
@@ -315,7 +315,7 @@
315
315
  "@types/tmp": "0.2.6",
316
316
  "@types/validate-npm-package-name": "4.0.2",
317
317
  "@vitest/coverage-v8": "3.2.4",
318
- "@vitest/eslint-plugin": "1.3.5",
318
+ "@vitest/eslint-plugin": "1.3.6",
319
319
  "aws-sdk-client-mock": "4.1.0",
320
320
  "callsite": "1.0.0",
321
321
  "common-tags": "1.8.2",
@@ -333,7 +333,7 @@
333
333
  "graphql": "16.11.0",
334
334
  "husky": "9.1.7",
335
335
  "jest-extended": "6.0.0",
336
- "lint-staged": "16.1.5",
336
+ "lint-staged": "16.1.6",
337
337
  "markdownlint-cli2": "0.18.1",
338
338
  "memfs": "4.38.2",
339
339
  "nock": "14.0.10",