renovate 40.3.3 → 40.3.4

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.
@@ -3,9 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getExtraDeps = getExtraDeps;
4
4
  exports.extraDepsTable = extraDepsTable;
5
5
  exports.getExtraDepsNotice = getExtraDepsNotice;
6
- const tslib_1 = require("tslib");
7
6
  const diff_1 = require("diff");
8
- const markdown_table_1 = tslib_1.__importDefault(require("markdown-table"));
7
+ const markdown_table_1 = require("markdown-table");
9
8
  const line_parser_1 = require("./line-parser");
10
9
  function getExtraDeps(goModBefore, goModAfter, excludeDeps) {
11
10
  const result = [];
@@ -63,7 +62,7 @@ function extraDepsTable(extraDeps) {
63
62
  const versionChangeQuoted = `\`${currentValue}\` -> \`${newValue}\``;
64
63
  tableLines.push([depNameQuoted, versionChangeQuoted]);
65
64
  }
66
- return (0, markdown_table_1.default)(tableLines, {
65
+ return (0, markdown_table_1.markdownTable)(tableLines, {
67
66
  align: ['l', 'l'],
68
67
  });
69
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts-extra.js","sourceRoot":"","sources":["../../../../lib/modules/manager/gomod/artifacts-extra.ts"],"names":[],"mappings":"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","sourcesContent":["import { diffLines } from 'diff';\nimport markdownTable from 'markdown-table';\nimport { parseLine } from './line-parser';\nimport type { ExtraDep } from './types';\n\nexport function getExtraDeps(\n goModBefore: string,\n goModAfter: string,\n excludeDeps: string[],\n): ExtraDep[] {\n const result: ExtraDep[] = [];\n\n const diff = diffLines(goModBefore, goModAfter, {\n newlineIsToken: true,\n });\n\n const addDeps: Record<string, string> = {};\n const rmDeps: Record<string, string> = {};\n for (const { added, removed, value } of diff) {\n if (!added && !removed) {\n continue;\n }\n\n const res = parseLine(value);\n if (!res) {\n continue;\n }\n\n const { depName, depType, currentValue } = res;\n if (!depName || !currentValue) {\n continue;\n }\n\n let expandedDepName = depName;\n // NOTE: Right now the only special depType we care about is 'toolchain' because the table\n // rendering prior to this change was ambiguous with regards to go version vs toolchain\n // version updates.\n if (depType === 'toolchain') {\n expandedDepName = `${depName} (${depType})`;\n }\n\n if (added) {\n addDeps[expandedDepName] = currentValue;\n } else {\n rmDeps[expandedDepName] = currentValue;\n }\n }\n\n for (const [depName, currentValue] of Object.entries(rmDeps)) {\n if (excludeDeps.includes(depName)) {\n continue;\n }\n\n const newValue = addDeps[depName];\n if (newValue) {\n result.push({\n depName,\n currentValue,\n newValue,\n });\n }\n }\n\n return result;\n}\n\nexport function extraDepsTable(extraDeps: ExtraDep[]): string {\n const tableLines: string[][] = [];\n\n tableLines.push(['**Package**', '**Change**']);\n\n for (const { depName, currentValue, newValue } of extraDeps) {\n const depNameQuoted = `\\`${depName}\\``;\n const versionChangeQuoted = `\\`${currentValue}\\` -> \\`${newValue}\\``;\n tableLines.push([depNameQuoted, versionChangeQuoted]);\n }\n\n return markdownTable(tableLines, {\n align: ['l', 'l'],\n });\n}\n\nexport function getExtraDepsNotice(\n goModBefore: string | null,\n goModAfter: string | null,\n excludeDeps: string[],\n): string | null {\n if (!goModBefore || !goModAfter) {\n return null;\n }\n\n const extraDeps = getExtraDeps(goModBefore, goModAfter, excludeDeps);\n if (extraDeps.length === 0) {\n return null;\n }\n\n const noticeLines: string[] = [\n 'In order to perform the update(s) described in the table above, Renovate ran the `go get` command, which resulted in the following additional change(s):',\n '\\n',\n ];\n\n const goUpdated = extraDeps.some(({ depName }) => depName === 'go');\n const toolchainUpdated = extraDeps.some(\n ({ depName }) => depName === 'go (toolchain)',\n );\n const otherDepsCount =\n extraDeps.length - (goUpdated ? 1 : 0) - (toolchainUpdated ? 1 : 0);\n\n if (otherDepsCount === 1) {\n noticeLines.push(`- ${otherDepsCount} additional dependency was updated`);\n } else if (otherDepsCount > 1) {\n noticeLines.push(\n `- ${otherDepsCount} additional dependencies were updated`,\n );\n }\n\n if (goUpdated) {\n noticeLines.push(\n '- The `go` directive was updated for compatibility reasons',\n );\n }\n\n noticeLines.push('\\n');\n noticeLines.push('Details:');\n noticeLines.push('\\n');\n noticeLines.push(extraDepsTable(extraDeps));\n\n return noticeLines.join('\\n');\n}\n"]}
1
+ {"version":3,"file":"artifacts-extra.js","sourceRoot":"","sources":["../../../../lib/modules/manager/gomod/artifacts-extra.ts"],"names":[],"mappings":"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","sourcesContent":["import { diffLines } from 'diff';\nimport { markdownTable } from 'markdown-table';\nimport { parseLine } from './line-parser';\nimport type { ExtraDep } from './types';\n\nexport function getExtraDeps(\n goModBefore: string,\n goModAfter: string,\n excludeDeps: string[],\n): ExtraDep[] {\n const result: ExtraDep[] = [];\n\n const diff = diffLines(goModBefore, goModAfter, {\n newlineIsToken: true,\n });\n\n const addDeps: Record<string, string> = {};\n const rmDeps: Record<string, string> = {};\n for (const { added, removed, value } of diff) {\n if (!added && !removed) {\n continue;\n }\n\n const res = parseLine(value);\n if (!res) {\n continue;\n }\n\n const { depName, depType, currentValue } = res;\n if (!depName || !currentValue) {\n continue;\n }\n\n let expandedDepName = depName;\n // NOTE: Right now the only special depType we care about is 'toolchain' because the table\n // rendering prior to this change was ambiguous with regards to go version vs toolchain\n // version updates.\n if (depType === 'toolchain') {\n expandedDepName = `${depName} (${depType})`;\n }\n\n if (added) {\n addDeps[expandedDepName] = currentValue;\n } else {\n rmDeps[expandedDepName] = currentValue;\n }\n }\n\n for (const [depName, currentValue] of Object.entries(rmDeps)) {\n if (excludeDeps.includes(depName)) {\n continue;\n }\n\n const newValue = addDeps[depName];\n if (newValue) {\n result.push({\n depName,\n currentValue,\n newValue,\n });\n }\n }\n\n return result;\n}\n\nexport function extraDepsTable(extraDeps: ExtraDep[]): string {\n const tableLines: string[][] = [];\n\n tableLines.push(['**Package**', '**Change**']);\n\n for (const { depName, currentValue, newValue } of extraDeps) {\n const depNameQuoted = `\\`${depName}\\``;\n const versionChangeQuoted = `\\`${currentValue}\\` -> \\`${newValue}\\``;\n tableLines.push([depNameQuoted, versionChangeQuoted]);\n }\n\n return markdownTable(tableLines, {\n align: ['l', 'l'],\n });\n}\n\nexport function getExtraDepsNotice(\n goModBefore: string | null,\n goModAfter: string | null,\n excludeDeps: string[],\n): string | null {\n if (!goModBefore || !goModAfter) {\n return null;\n }\n\n const extraDeps = getExtraDeps(goModBefore, goModAfter, excludeDeps);\n if (extraDeps.length === 0) {\n return null;\n }\n\n const noticeLines: string[] = [\n 'In order to perform the update(s) described in the table above, Renovate ran the `go get` command, which resulted in the following additional change(s):',\n '\\n',\n ];\n\n const goUpdated = extraDeps.some(({ depName }) => depName === 'go');\n const toolchainUpdated = extraDeps.some(\n ({ depName }) => depName === 'go (toolchain)',\n );\n const otherDepsCount =\n extraDeps.length - (goUpdated ? 1 : 0) - (toolchainUpdated ? 1 : 0);\n\n if (otherDepsCount === 1) {\n noticeLines.push(`- ${otherDepsCount} additional dependency was updated`);\n } else if (otherDepsCount > 1) {\n noticeLines.push(\n `- ${otherDepsCount} additional dependencies were updated`,\n );\n }\n\n if (goUpdated) {\n noticeLines.push(\n '- The `go` directive was updated for compatibility reasons',\n );\n }\n\n noticeLines.push('\\n');\n noticeLines.push('Details:');\n noticeLines.push('\\n');\n noticeLines.push(extraDepsTable(extraDeps));\n\n return noticeLines.join('\\n');\n}\n"]}
@@ -4,7 +4,7 @@ exports.generateBranchConfig = generateBranchConfig;
4
4
  const tslib_1 = require("tslib");
5
5
  const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
6
6
  const luxon_1 = require("luxon");
7
- const markdown_table_1 = tslib_1.__importDefault(require("markdown-table"));
7
+ const markdown_table_1 = require("markdown-table");
8
8
  const semver_1 = tslib_1.__importDefault(require("semver"));
9
9
  const config_1 = require("../../../config");
10
10
  const error_messages_1 = require("../../../constants/error-messages");
@@ -392,7 +392,7 @@ function generateBranchConfig(upgrades) {
392
392
  seenRows.add(key);
393
393
  table.push(row);
394
394
  }
395
- config.commitMessage += '\n\n' + (0, markdown_table_1.default)(table) + '\n';
395
+ config.commitMessage += '\n\n' + (0, markdown_table_1.markdownTable)(table) + '\n';
396
396
  }
397
397
  const additionalReviewers = (0, uniq_1.uniq)(config.upgrades
398
398
  .map((upgrade) => upgrade.additionalReviewers)
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../lib/workers/repository/updates/generate.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { DateTime } from 'luxon';\nimport mdTable from 'markdown-table';\nimport semver from 'semver';\nimport { mergeChildConfig } from '../../../config';\nimport { CONFIG_SECRETS_EXPOSED } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport { sanitize } from '../../../util/sanitize';\nimport { safeStringify } from '../../../util/stringify';\nimport * as template from '../../../util/template';\nimport type { Timestamp } from '../../../util/timestamp';\nimport { uniq } from '../../../util/uniq';\nimport type { BranchConfig, BranchUpgradeConfig } from '../../types';\nimport { CommitMessage } from '../model/commit-message';\n\nfunction prettifyVersion(version: string): string {\n if (regEx(/^\\d/).test(version)) {\n return `v${version}`;\n }\n\n return version;\n}\n\nfunction isTypesGroup(branchUpgrades: BranchUpgradeConfig[]): boolean {\n return (\n branchUpgrades.some(({ depName }) => depName?.startsWith('@types/')) &&\n new Set(\n branchUpgrades.map(({ depName }) => depName?.replace(/^@types\\//, '')),\n ).size === 1\n );\n}\n\nfunction sortTypesGroup(upgrades: BranchUpgradeConfig[]): void {\n const isTypesUpgrade = ({ depName }: BranchUpgradeConfig): boolean =>\n !!depName?.startsWith('@types/');\n const regularUpgrades = upgrades.filter(\n (upgrade) => !isTypesUpgrade(upgrade),\n );\n const typesUpgrades = upgrades.filter(isTypesUpgrade);\n upgrades.splice(0, upgrades.length);\n upgrades.push(...regularUpgrades, ...typesUpgrades);\n}\n\nfunction getTableValues(upgrade: BranchUpgradeConfig): string[] | null {\n if (!upgrade.commitBodyTable) {\n return null;\n }\n const { datasource, packageName, depName, currentVersion, newVersion } =\n upgrade;\n const name = packageName ?? depName;\n if (datasource && name && currentVersion && newVersion) {\n return [datasource, name, currentVersion, newVersion];\n }\n logger.trace(\n {\n datasource,\n packageName,\n depName,\n currentVersion,\n newVersion,\n },\n 'Cannot determine table values',\n );\n return null;\n}\n\nfunction compileCommitMessage(upgrade: BranchUpgradeConfig): string {\n if (upgrade.semanticCommits === 'enabled' && !upgrade.commitMessagePrefix) {\n logger.trace('Upgrade has semantic commits enabled');\n let semanticPrefix = upgrade.semanticCommitType;\n if (upgrade.semanticCommitScope) {\n semanticPrefix += `(${template.compile(\n upgrade.semanticCommitScope,\n upgrade,\n )})`;\n }\n upgrade.commitMessagePrefix = CommitMessage.formatPrefix(semanticPrefix!);\n upgrade.toLowerCase =\n regEx(/[A-Z]/).exec(upgrade.semanticCommitType!) === null &&\n !upgrade.semanticCommitType!.startsWith(':');\n }\n\n // Compile a few times in case there are nested templates\n upgrade.commitMessage = template.compile(\n upgrade.commitMessage ?? '',\n upgrade,\n );\n upgrade.commitMessage = template.compile(upgrade.commitMessage, upgrade);\n upgrade.commitMessage = template.compile(upgrade.commitMessage, upgrade);\n // istanbul ignore if\n if (upgrade.commitMessage !== sanitize(upgrade.commitMessage)) {\n logger.debug(\n { branchName: upgrade.branchName },\n 'Secrets exposed in commit message',\n );\n throw new Error(CONFIG_SECRETS_EXPOSED);\n }\n upgrade.commitMessage = upgrade.commitMessage.trim(); // Trim exterior whitespace\n upgrade.commitMessage = upgrade.commitMessage.replace(regEx(/\\s+/g), ' '); // Trim extra whitespace inside string\n upgrade.commitMessage = upgrade.commitMessage.replace(\n regEx(/to vv(\\d)/),\n 'to v$1',\n );\n if (upgrade.toLowerCase && upgrade.commitMessageLowerCase !== 'never') {\n // We only need to lowercase the first line\n const splitMessage = upgrade.commitMessage.split(newlineRegex);\n splitMessage[0] = splitMessage[0].toLowerCase();\n upgrade.commitMessage = splitMessage.join('\\n');\n }\n\n logger.trace(`commitMessage: ` + JSON.stringify(upgrade.commitMessage));\n return upgrade.commitMessage;\n}\n\nfunction compilePrTitle(\n upgrade: BranchUpgradeConfig,\n commitMessage: string,\n): void {\n if (upgrade.prTitle) {\n upgrade.prTitle = template.compile(upgrade.prTitle, upgrade);\n upgrade.prTitle = template.compile(upgrade.prTitle, upgrade);\n upgrade.prTitle = template\n .compile(upgrade.prTitle, upgrade)\n .trim()\n .replace(regEx(/\\s+/g), ' ');\n // istanbul ignore if\n if (upgrade.prTitle !== sanitize(upgrade.prTitle)) {\n logger.debug(\n { branchName: upgrade.branchName },\n 'Secrets were exposed in PR title',\n );\n throw new Error(CONFIG_SECRETS_EXPOSED);\n }\n if (upgrade.toLowerCase && upgrade.commitMessageLowerCase !== 'never') {\n upgrade.prTitle = upgrade.prTitle.toLowerCase();\n }\n } else {\n [upgrade.prTitle] = commitMessage.split(newlineRegex);\n }\n if (!upgrade.prTitleStrict) {\n upgrade.prTitle += upgrade.hasBaseBranches ? ' ({{baseBranch}})' : '';\n if (upgrade.isGroup) {\n upgrade.prTitle +=\n upgrade.updateType === 'major' && upgrade.separateMajorMinor\n ? ' (major)'\n : '';\n upgrade.prTitle +=\n upgrade.updateType === 'minor' && upgrade.separateMinorPatch\n ? ' (minor)'\n : '';\n upgrade.prTitle +=\n upgrade.updateType === 'patch' && upgrade.separateMinorPatch\n ? ' (patch)'\n : '';\n }\n }\n // Compile again to allow for nested templates\n upgrade.prTitle = template.compile(upgrade.prTitle, upgrade);\n logger.trace(`prTitle: ` + JSON.stringify(upgrade.prTitle));\n}\n\n// Sorted by priority, from low to high\nconst semanticCommitTypeByPriority = ['chore', 'ci', 'build', 'fix', 'feat'];\n\nexport function generateBranchConfig(\n upgrades: BranchUpgradeConfig[],\n): BranchConfig {\n let branchUpgrades = upgrades;\n if (!branchUpgrades.every((upgrade) => upgrade.pendingChecks)) {\n // If the branch isn't pending, then remove any upgrades within which *are*\n branchUpgrades = branchUpgrades.filter((upgrade) => !upgrade.pendingChecks);\n }\n logger.trace({ config: branchUpgrades }, 'generateBranchConfig');\n let config: BranchConfig = {\n upgrades: [],\n } as any;\n const hasGroupName = branchUpgrades[0].groupName !== null;\n logger.trace(`hasGroupName: ${hasGroupName}`);\n // Use group settings only if multiple upgrades or lazy grouping is disabled\n const depNames: string[] = [];\n const newValue: string[] = [];\n const toVersions: string[] = [];\n const toValues = new Set<string>();\n const depTypes = new Set<string>();\n for (const upg of branchUpgrades) {\n upg.recreateClosed = upg.recreateWhen === 'always';\n\n if (upg.currentDigest) {\n upg.currentDigestShort =\n upg.currentDigestShort ??\n upg.currentDigest.replace('sha256:', '').substring(0, 7);\n }\n if (upg.newDigest) {\n upg.newDigestShort =\n upg.newDigestShort ??\n upg.newDigest.replace('sha256:', '').substring(0, 7);\n }\n if (upg.isDigest || upg.isPinDigest) {\n upg.displayFrom = upg.currentDigestShort;\n upg.displayTo = upg.newDigestShort;\n } else if (upg.isLockfileUpdate) {\n upg.displayFrom = upg.currentVersion;\n upg.displayTo = upg.newVersion;\n } else if (!upg.isLockFileMaintenance) {\n upg.displayFrom = upg.currentValue;\n upg.displayTo = upg.newValue;\n }\n\n if (upg.isLockFileMaintenance) {\n upg.recreateClosed = upg.recreateWhen !== 'never';\n }\n upg.displayFrom ??= '';\n upg.displayTo ??= '';\n if (!depNames.includes(upg.depName!)) {\n depNames.push(upg.depName!);\n }\n if (!toVersions.includes(upg.newVersion!)) {\n toVersions.push(upg.newVersion!);\n }\n toValues.add(upg.newValue!);\n if (upg.depType) {\n depTypes.add(upg.depType);\n }\n // prettify newVersion and newMajor for printing\n if (upg.newVersion) {\n upg.prettyNewVersion = prettifyVersion(upg.newVersion);\n }\n if (upg.newMajor) {\n upg.prettyNewMajor = `v${upg.newMajor}`;\n }\n if (upg.commitMessageExtra) {\n const extra = template.compile(upg.commitMessageExtra, upg);\n if (!newValue.includes(extra)) {\n newValue.push(extra);\n }\n }\n }\n const groupEligible =\n depNames.length > 1 ||\n toVersions.length > 1 ||\n (!toVersions[0] && newValue.length > 1);\n\n const typesGroup =\n depNames.length > 1 && !hasGroupName && isTypesGroup(branchUpgrades);\n logger.trace(`groupEligible: ${groupEligible}`);\n const useGroupSettings = hasGroupName && groupEligible;\n logger.trace(`useGroupSettings: ${useGroupSettings}`);\n let releaseTimestamp: Timestamp;\n\n if (depTypes.size) {\n config.depTypes = Array.from(depTypes).sort();\n }\n\n for (const branchUpgrade of branchUpgrades) {\n let upgrade: BranchUpgradeConfig = { ...branchUpgrade };\n\n upgrade.depTypes = config.depTypes;\n\n // needs to be done for each upgrade, as we reorder them below\n if (newValue.length > 1 && !groupEligible) {\n upgrade.commitMessageExtra = `to v${toVersions[0]}`;\n }\n\n const pendingVersionsLength = upgrade.pendingVersions?.length;\n if (pendingVersionsLength) {\n upgrade.displayPending = `\\`${upgrade\n .pendingVersions!.slice(-1)\n .pop()!}\\``;\n if (pendingVersionsLength > 1) {\n upgrade.displayPending += ` (+${pendingVersionsLength - 1})`;\n }\n } else {\n upgrade.displayPending = '';\n }\n upgrade.prettyDepType =\n upgrade.prettyDepType ?? upgrade.depType ?? 'dependency';\n if (useGroupSettings) {\n // Now overwrite original config with group config\n upgrade = mergeChildConfig(upgrade, upgrade.group);\n upgrade.isGroup = true;\n } else {\n delete upgrade.groupName;\n }\n // Delete group config regardless of whether it was applied\n delete upgrade.group;\n\n if (\n toVersions.length > 1 &&\n toValues.size > 1 &&\n newValue.length > 1 &&\n !typesGroup\n ) {\n logger.trace({ toVersions });\n logger.trace({ toValues });\n delete upgrade.commitMessageExtra;\n upgrade.recreateClosed = upgrade.recreateWhen !== 'never';\n } else if (\n newValue.length > 1 &&\n (upgrade.isDigest || upgrade.isPinDigest)\n ) {\n logger.trace({ newValue });\n delete upgrade.commitMessageExtra;\n upgrade.recreateClosed = upgrade.recreateWhen !== 'never';\n } else if (semver.valid(toVersions[0])) {\n upgrade.isRange = false;\n }\n config.upgrades.push(upgrade);\n if (upgrade.releaseTimestamp) {\n if (releaseTimestamp!) {\n const existingStamp = DateTime.fromISO(releaseTimestamp);\n const upgradeStamp = DateTime.fromISO(upgrade.releaseTimestamp);\n if (upgradeStamp > existingStamp) {\n releaseTimestamp = upgrade.releaseTimestamp;\n }\n } else {\n releaseTimestamp = upgrade.releaseTimestamp;\n }\n }\n }\n\n if (typesGroup) {\n if (config.upgrades[0].depName?.startsWith('@types/')) {\n logger.debug('Found @types - reversing upgrades to use depName in PR');\n sortTypesGroup(config.upgrades);\n config.upgrades[0].recreateClosed = false;\n config.hasTypes = true;\n }\n } else {\n config.upgrades.sort((a, b) => {\n if (a.fileReplacePosition && b.fileReplacePosition) {\n // This is because we need to replace from the bottom of the file up\n return a.fileReplacePosition > b.fileReplacePosition ? -1 : 1;\n }\n\n // make sure that ordering is consistent :\n // items without position will be first in the list.\n if (a.fileReplacePosition) {\n return 1;\n }\n if (b.fileReplacePosition) {\n return -1;\n }\n\n if (a.depName! < b.depName!) {\n return -1;\n }\n if (a.depName! > b.depName!) {\n return 1;\n }\n return 0;\n });\n }\n // Now assign first upgrade's config as branch config\n config = {\n ...config,\n ...config.upgrades[0],\n releaseTimestamp: releaseTimestamp!,\n }; // TODO: fixme (#9666)\n\n // Enable `semanticCommits` if one of the branches has it enabled\n if (\n config.upgrades.some((upgrade) => upgrade.semanticCommits === 'enabled')\n ) {\n config.semanticCommits = 'enabled';\n // Calculate the highest priority `semanticCommitType`\n let highestIndex = -1;\n for (const upgrade of config.upgrades) {\n if (upgrade.semanticCommits === 'enabled' && upgrade.semanticCommitType) {\n const priorityIndex = semanticCommitTypeByPriority.indexOf(\n upgrade.semanticCommitType,\n );\n\n if (priorityIndex > highestIndex) {\n highestIndex = priorityIndex;\n }\n }\n }\n\n if (highestIndex > -1) {\n config.semanticCommitType = semanticCommitTypeByPriority[highestIndex];\n }\n }\n\n // Use templates to generate strings\n const commitMessage = compileCommitMessage(config);\n compilePrTitle(config, commitMessage);\n\n config.dependencyDashboardApproval = config.upgrades.some(\n (upgrade) => upgrade.dependencyDashboardApproval,\n );\n config.dependencyDashboardPrApproval = config.upgrades.some(\n (upgrade) => upgrade.prCreation === 'approval',\n );\n config.prBodyColumns = [\n ...new Set(\n config.upgrades.reduce(\n (existing: string[], upgrade) =>\n existing.concat(upgrade.prBodyColumns!),\n [],\n ),\n ),\n ].filter(is.nonEmptyString);\n // combine excludeCommitPaths for multiple manager experience\n const hasExcludeCommitPaths = config.upgrades.some(\n (u) => u.excludeCommitPaths && u.excludeCommitPaths.length > 0,\n );\n if (hasExcludeCommitPaths) {\n config.excludeCommitPaths = Object.keys(\n config.upgrades.reduce((acc: Record<string, boolean>, upgrade) => {\n if (upgrade.excludeCommitPaths) {\n upgrade.excludeCommitPaths.forEach((p) => {\n acc[p] = true;\n });\n }\n\n return acc;\n }, {}),\n );\n }\n\n config.automerge = config.upgrades.every((upgrade) => upgrade.automerge);\n // combine all labels\n config.labels = [\n ...new Set(\n config.upgrades\n .map((upgrade) => upgrade.labels ?? [])\n .reduce((a, b) => a.concat(b), []),\n ),\n ];\n config.addLabels = [\n ...new Set(\n config.upgrades\n .map((upgrade) => upgrade.addLabels ?? [])\n .reduce((a, b) => a.concat(b), []),\n ),\n ];\n\n if (config.upgrades.some((upgrade) => upgrade.updateType === 'major')) {\n config.updateType = 'major';\n }\n\n // explicit set `isLockFileMaintenance` for the branch for groups\n if (config.upgrades.some((upgrade) => upgrade.isLockFileMaintenance)) {\n config.isLockFileMaintenance = true;\n // istanbul ignore if: not worth testing\n if (config.upgrades.some((upgrade) => !upgrade.isLockFileMaintenance)) {\n // TODO: warn?\n logger.debug(\n 'Grouping lockfile maintenance with other update types is not supported',\n );\n }\n }\n\n config.constraints = {};\n for (const upgrade of config.upgrades) {\n if (upgrade.constraints) {\n config.constraints = { ...config.constraints, ...upgrade.constraints };\n }\n }\n\n // Set skipInstalls to false if any upgrade in the branch has it false\n config.skipInstalls = config.upgrades.every(\n (upgrade) => upgrade.skipInstalls !== false,\n );\n\n const tableRows = config.upgrades\n .map(getTableValues)\n .filter((x): x is string[] => is.array(x, is.string));\n\n if (tableRows.length) {\n const table: string[][] = [];\n table.push(['datasource', 'package', 'from', 'to']);\n\n const seenRows = new Set<string>();\n\n for (const row of tableRows) {\n const key = safeStringify(row);\n if (seenRows.has(key)) {\n continue;\n }\n seenRows.add(key);\n table.push(row);\n }\n config.commitMessage += '\\n\\n' + mdTable(table) + '\\n';\n }\n const additionalReviewers = uniq(\n config.upgrades\n .map((upgrade) => upgrade.additionalReviewers)\n .flat()\n .filter(is.nonEmptyString),\n );\n if (additionalReviewers.length > 0) {\n config.additionalReviewers = additionalReviewers;\n }\n return config;\n}\n"]}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../lib/workers/repository/updates/generate.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { DateTime } from 'luxon';\nimport { markdownTable } from 'markdown-table';\nimport semver from 'semver';\nimport { mergeChildConfig } from '../../../config';\nimport { CONFIG_SECRETS_EXPOSED } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport { sanitize } from '../../../util/sanitize';\nimport { safeStringify } from '../../../util/stringify';\nimport * as template from '../../../util/template';\nimport type { Timestamp } from '../../../util/timestamp';\nimport { uniq } from '../../../util/uniq';\nimport type { BranchConfig, BranchUpgradeConfig } from '../../types';\nimport { CommitMessage } from '../model/commit-message';\n\nfunction prettifyVersion(version: string): string {\n if (regEx(/^\\d/).test(version)) {\n return `v${version}`;\n }\n\n return version;\n}\n\nfunction isTypesGroup(branchUpgrades: BranchUpgradeConfig[]): boolean {\n return (\n branchUpgrades.some(({ depName }) => depName?.startsWith('@types/')) &&\n new Set(\n branchUpgrades.map(({ depName }) => depName?.replace(/^@types\\//, '')),\n ).size === 1\n );\n}\n\nfunction sortTypesGroup(upgrades: BranchUpgradeConfig[]): void {\n const isTypesUpgrade = ({ depName }: BranchUpgradeConfig): boolean =>\n !!depName?.startsWith('@types/');\n const regularUpgrades = upgrades.filter(\n (upgrade) => !isTypesUpgrade(upgrade),\n );\n const typesUpgrades = upgrades.filter(isTypesUpgrade);\n upgrades.splice(0, upgrades.length);\n upgrades.push(...regularUpgrades, ...typesUpgrades);\n}\n\nfunction getTableValues(upgrade: BranchUpgradeConfig): string[] | null {\n if (!upgrade.commitBodyTable) {\n return null;\n }\n const { datasource, packageName, depName, currentVersion, newVersion } =\n upgrade;\n const name = packageName ?? depName;\n if (datasource && name && currentVersion && newVersion) {\n return [datasource, name, currentVersion, newVersion];\n }\n logger.trace(\n {\n datasource,\n packageName,\n depName,\n currentVersion,\n newVersion,\n },\n 'Cannot determine table values',\n );\n return null;\n}\n\nfunction compileCommitMessage(upgrade: BranchUpgradeConfig): string {\n if (upgrade.semanticCommits === 'enabled' && !upgrade.commitMessagePrefix) {\n logger.trace('Upgrade has semantic commits enabled');\n let semanticPrefix = upgrade.semanticCommitType;\n if (upgrade.semanticCommitScope) {\n semanticPrefix += `(${template.compile(\n upgrade.semanticCommitScope,\n upgrade,\n )})`;\n }\n upgrade.commitMessagePrefix = CommitMessage.formatPrefix(semanticPrefix!);\n upgrade.toLowerCase =\n regEx(/[A-Z]/).exec(upgrade.semanticCommitType!) === null &&\n !upgrade.semanticCommitType!.startsWith(':');\n }\n\n // Compile a few times in case there are nested templates\n upgrade.commitMessage = template.compile(\n upgrade.commitMessage ?? '',\n upgrade,\n );\n upgrade.commitMessage = template.compile(upgrade.commitMessage, upgrade);\n upgrade.commitMessage = template.compile(upgrade.commitMessage, upgrade);\n // istanbul ignore if\n if (upgrade.commitMessage !== sanitize(upgrade.commitMessage)) {\n logger.debug(\n { branchName: upgrade.branchName },\n 'Secrets exposed in commit message',\n );\n throw new Error(CONFIG_SECRETS_EXPOSED);\n }\n upgrade.commitMessage = upgrade.commitMessage.trim(); // Trim exterior whitespace\n upgrade.commitMessage = upgrade.commitMessage.replace(regEx(/\\s+/g), ' '); // Trim extra whitespace inside string\n upgrade.commitMessage = upgrade.commitMessage.replace(\n regEx(/to vv(\\d)/),\n 'to v$1',\n );\n if (upgrade.toLowerCase && upgrade.commitMessageLowerCase !== 'never') {\n // We only need to lowercase the first line\n const splitMessage = upgrade.commitMessage.split(newlineRegex);\n splitMessage[0] = splitMessage[0].toLowerCase();\n upgrade.commitMessage = splitMessage.join('\\n');\n }\n\n logger.trace(`commitMessage: ` + JSON.stringify(upgrade.commitMessage));\n return upgrade.commitMessage;\n}\n\nfunction compilePrTitle(\n upgrade: BranchUpgradeConfig,\n commitMessage: string,\n): void {\n if (upgrade.prTitle) {\n upgrade.prTitle = template.compile(upgrade.prTitle, upgrade);\n upgrade.prTitle = template.compile(upgrade.prTitle, upgrade);\n upgrade.prTitle = template\n .compile(upgrade.prTitle, upgrade)\n .trim()\n .replace(regEx(/\\s+/g), ' ');\n // istanbul ignore if\n if (upgrade.prTitle !== sanitize(upgrade.prTitle)) {\n logger.debug(\n { branchName: upgrade.branchName },\n 'Secrets were exposed in PR title',\n );\n throw new Error(CONFIG_SECRETS_EXPOSED);\n }\n if (upgrade.toLowerCase && upgrade.commitMessageLowerCase !== 'never') {\n upgrade.prTitle = upgrade.prTitle.toLowerCase();\n }\n } else {\n [upgrade.prTitle] = commitMessage.split(newlineRegex);\n }\n if (!upgrade.prTitleStrict) {\n upgrade.prTitle += upgrade.hasBaseBranches ? ' ({{baseBranch}})' : '';\n if (upgrade.isGroup) {\n upgrade.prTitle +=\n upgrade.updateType === 'major' && upgrade.separateMajorMinor\n ? ' (major)'\n : '';\n upgrade.prTitle +=\n upgrade.updateType === 'minor' && upgrade.separateMinorPatch\n ? ' (minor)'\n : '';\n upgrade.prTitle +=\n upgrade.updateType === 'patch' && upgrade.separateMinorPatch\n ? ' (patch)'\n : '';\n }\n }\n // Compile again to allow for nested templates\n upgrade.prTitle = template.compile(upgrade.prTitle, upgrade);\n logger.trace(`prTitle: ` + JSON.stringify(upgrade.prTitle));\n}\n\n// Sorted by priority, from low to high\nconst semanticCommitTypeByPriority = ['chore', 'ci', 'build', 'fix', 'feat'];\n\nexport function generateBranchConfig(\n upgrades: BranchUpgradeConfig[],\n): BranchConfig {\n let branchUpgrades = upgrades;\n if (!branchUpgrades.every((upgrade) => upgrade.pendingChecks)) {\n // If the branch isn't pending, then remove any upgrades within which *are*\n branchUpgrades = branchUpgrades.filter((upgrade) => !upgrade.pendingChecks);\n }\n logger.trace({ config: branchUpgrades }, 'generateBranchConfig');\n let config: BranchConfig = {\n upgrades: [],\n } as any;\n const hasGroupName = branchUpgrades[0].groupName !== null;\n logger.trace(`hasGroupName: ${hasGroupName}`);\n // Use group settings only if multiple upgrades or lazy grouping is disabled\n const depNames: string[] = [];\n const newValue: string[] = [];\n const toVersions: string[] = [];\n const toValues = new Set<string>();\n const depTypes = new Set<string>();\n for (const upg of branchUpgrades) {\n upg.recreateClosed = upg.recreateWhen === 'always';\n\n if (upg.currentDigest) {\n upg.currentDigestShort =\n upg.currentDigestShort ??\n upg.currentDigest.replace('sha256:', '').substring(0, 7);\n }\n if (upg.newDigest) {\n upg.newDigestShort =\n upg.newDigestShort ??\n upg.newDigest.replace('sha256:', '').substring(0, 7);\n }\n if (upg.isDigest || upg.isPinDigest) {\n upg.displayFrom = upg.currentDigestShort;\n upg.displayTo = upg.newDigestShort;\n } else if (upg.isLockfileUpdate) {\n upg.displayFrom = upg.currentVersion;\n upg.displayTo = upg.newVersion;\n } else if (!upg.isLockFileMaintenance) {\n upg.displayFrom = upg.currentValue;\n upg.displayTo = upg.newValue;\n }\n\n if (upg.isLockFileMaintenance) {\n upg.recreateClosed = upg.recreateWhen !== 'never';\n }\n upg.displayFrom ??= '';\n upg.displayTo ??= '';\n if (!depNames.includes(upg.depName!)) {\n depNames.push(upg.depName!);\n }\n if (!toVersions.includes(upg.newVersion!)) {\n toVersions.push(upg.newVersion!);\n }\n toValues.add(upg.newValue!);\n if (upg.depType) {\n depTypes.add(upg.depType);\n }\n // prettify newVersion and newMajor for printing\n if (upg.newVersion) {\n upg.prettyNewVersion = prettifyVersion(upg.newVersion);\n }\n if (upg.newMajor) {\n upg.prettyNewMajor = `v${upg.newMajor}`;\n }\n if (upg.commitMessageExtra) {\n const extra = template.compile(upg.commitMessageExtra, upg);\n if (!newValue.includes(extra)) {\n newValue.push(extra);\n }\n }\n }\n const groupEligible =\n depNames.length > 1 ||\n toVersions.length > 1 ||\n (!toVersions[0] && newValue.length > 1);\n\n const typesGroup =\n depNames.length > 1 && !hasGroupName && isTypesGroup(branchUpgrades);\n logger.trace(`groupEligible: ${groupEligible}`);\n const useGroupSettings = hasGroupName && groupEligible;\n logger.trace(`useGroupSettings: ${useGroupSettings}`);\n let releaseTimestamp: Timestamp;\n\n if (depTypes.size) {\n config.depTypes = Array.from(depTypes).sort();\n }\n\n for (const branchUpgrade of branchUpgrades) {\n let upgrade: BranchUpgradeConfig = { ...branchUpgrade };\n\n upgrade.depTypes = config.depTypes;\n\n // needs to be done for each upgrade, as we reorder them below\n if (newValue.length > 1 && !groupEligible) {\n upgrade.commitMessageExtra = `to v${toVersions[0]}`;\n }\n\n const pendingVersionsLength = upgrade.pendingVersions?.length;\n if (pendingVersionsLength) {\n upgrade.displayPending = `\\`${upgrade\n .pendingVersions!.slice(-1)\n .pop()!}\\``;\n if (pendingVersionsLength > 1) {\n upgrade.displayPending += ` (+${pendingVersionsLength - 1})`;\n }\n } else {\n upgrade.displayPending = '';\n }\n upgrade.prettyDepType =\n upgrade.prettyDepType ?? upgrade.depType ?? 'dependency';\n if (useGroupSettings) {\n // Now overwrite original config with group config\n upgrade = mergeChildConfig(upgrade, upgrade.group);\n upgrade.isGroup = true;\n } else {\n delete upgrade.groupName;\n }\n // Delete group config regardless of whether it was applied\n delete upgrade.group;\n\n if (\n toVersions.length > 1 &&\n toValues.size > 1 &&\n newValue.length > 1 &&\n !typesGroup\n ) {\n logger.trace({ toVersions });\n logger.trace({ toValues });\n delete upgrade.commitMessageExtra;\n upgrade.recreateClosed = upgrade.recreateWhen !== 'never';\n } else if (\n newValue.length > 1 &&\n (upgrade.isDigest || upgrade.isPinDigest)\n ) {\n logger.trace({ newValue });\n delete upgrade.commitMessageExtra;\n upgrade.recreateClosed = upgrade.recreateWhen !== 'never';\n } else if (semver.valid(toVersions[0])) {\n upgrade.isRange = false;\n }\n config.upgrades.push(upgrade);\n if (upgrade.releaseTimestamp) {\n if (releaseTimestamp!) {\n const existingStamp = DateTime.fromISO(releaseTimestamp);\n const upgradeStamp = DateTime.fromISO(upgrade.releaseTimestamp);\n if (upgradeStamp > existingStamp) {\n releaseTimestamp = upgrade.releaseTimestamp;\n }\n } else {\n releaseTimestamp = upgrade.releaseTimestamp;\n }\n }\n }\n\n if (typesGroup) {\n if (config.upgrades[0].depName?.startsWith('@types/')) {\n logger.debug('Found @types - reversing upgrades to use depName in PR');\n sortTypesGroup(config.upgrades);\n config.upgrades[0].recreateClosed = false;\n config.hasTypes = true;\n }\n } else {\n config.upgrades.sort((a, b) => {\n if (a.fileReplacePosition && b.fileReplacePosition) {\n // This is because we need to replace from the bottom of the file up\n return a.fileReplacePosition > b.fileReplacePosition ? -1 : 1;\n }\n\n // make sure that ordering is consistent :\n // items without position will be first in the list.\n if (a.fileReplacePosition) {\n return 1;\n }\n if (b.fileReplacePosition) {\n return -1;\n }\n\n if (a.depName! < b.depName!) {\n return -1;\n }\n if (a.depName! > b.depName!) {\n return 1;\n }\n return 0;\n });\n }\n // Now assign first upgrade's config as branch config\n config = {\n ...config,\n ...config.upgrades[0],\n releaseTimestamp: releaseTimestamp!,\n }; // TODO: fixme (#9666)\n\n // Enable `semanticCommits` if one of the branches has it enabled\n if (\n config.upgrades.some((upgrade) => upgrade.semanticCommits === 'enabled')\n ) {\n config.semanticCommits = 'enabled';\n // Calculate the highest priority `semanticCommitType`\n let highestIndex = -1;\n for (const upgrade of config.upgrades) {\n if (upgrade.semanticCommits === 'enabled' && upgrade.semanticCommitType) {\n const priorityIndex = semanticCommitTypeByPriority.indexOf(\n upgrade.semanticCommitType,\n );\n\n if (priorityIndex > highestIndex) {\n highestIndex = priorityIndex;\n }\n }\n }\n\n if (highestIndex > -1) {\n config.semanticCommitType = semanticCommitTypeByPriority[highestIndex];\n }\n }\n\n // Use templates to generate strings\n const commitMessage = compileCommitMessage(config);\n compilePrTitle(config, commitMessage);\n\n config.dependencyDashboardApproval = config.upgrades.some(\n (upgrade) => upgrade.dependencyDashboardApproval,\n );\n config.dependencyDashboardPrApproval = config.upgrades.some(\n (upgrade) => upgrade.prCreation === 'approval',\n );\n config.prBodyColumns = [\n ...new Set(\n config.upgrades.reduce(\n (existing: string[], upgrade) =>\n existing.concat(upgrade.prBodyColumns!),\n [],\n ),\n ),\n ].filter(is.nonEmptyString);\n // combine excludeCommitPaths for multiple manager experience\n const hasExcludeCommitPaths = config.upgrades.some(\n (u) => u.excludeCommitPaths && u.excludeCommitPaths.length > 0,\n );\n if (hasExcludeCommitPaths) {\n config.excludeCommitPaths = Object.keys(\n config.upgrades.reduce((acc: Record<string, boolean>, upgrade) => {\n if (upgrade.excludeCommitPaths) {\n upgrade.excludeCommitPaths.forEach((p) => {\n acc[p] = true;\n });\n }\n\n return acc;\n }, {}),\n );\n }\n\n config.automerge = config.upgrades.every((upgrade) => upgrade.automerge);\n // combine all labels\n config.labels = [\n ...new Set(\n config.upgrades\n .map((upgrade) => upgrade.labels ?? [])\n .reduce((a, b) => a.concat(b), []),\n ),\n ];\n config.addLabels = [\n ...new Set(\n config.upgrades\n .map((upgrade) => upgrade.addLabels ?? [])\n .reduce((a, b) => a.concat(b), []),\n ),\n ];\n\n if (config.upgrades.some((upgrade) => upgrade.updateType === 'major')) {\n config.updateType = 'major';\n }\n\n // explicit set `isLockFileMaintenance` for the branch for groups\n if (config.upgrades.some((upgrade) => upgrade.isLockFileMaintenance)) {\n config.isLockFileMaintenance = true;\n // istanbul ignore if: not worth testing\n if (config.upgrades.some((upgrade) => !upgrade.isLockFileMaintenance)) {\n // TODO: warn?\n logger.debug(\n 'Grouping lockfile maintenance with other update types is not supported',\n );\n }\n }\n\n config.constraints = {};\n for (const upgrade of config.upgrades) {\n if (upgrade.constraints) {\n config.constraints = { ...config.constraints, ...upgrade.constraints };\n }\n }\n\n // Set skipInstalls to false if any upgrade in the branch has it false\n config.skipInstalls = config.upgrades.every(\n (upgrade) => upgrade.skipInstalls !== false,\n );\n\n const tableRows = config.upgrades\n .map(getTableValues)\n .filter((x): x is string[] => is.array(x, is.string));\n\n if (tableRows.length) {\n const table: string[][] = [];\n table.push(['datasource', 'package', 'from', 'to']);\n\n const seenRows = new Set<string>();\n\n for (const row of tableRows) {\n const key = safeStringify(row);\n if (seenRows.has(key)) {\n continue;\n }\n seenRows.add(key);\n table.push(row);\n }\n config.commitMessage += '\\n\\n' + markdownTable(table) + '\\n';\n }\n const additionalReviewers = uniq(\n config.upgrades\n .map((upgrade) => upgrade.additionalReviewers)\n .flat()\n .filter(is.nonEmptyString),\n );\n if (additionalReviewers.length > 0) {\n config.additionalReviewers = additionalReviewers;\n }\n return config;\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": "40.3.3",
4
+ "version": "40.3.4",
5
5
  "type": "commonjs",
6
6
  "bin": {
7
7
  "renovate": "dist/renovate.js",
@@ -226,7 +226,7 @@
226
226
  "klona": "2.0.6",
227
227
  "luxon": "3.6.1",
228
228
  "markdown-it": "14.1.0",
229
- "markdown-table": "2.0.0",
229
+ "markdown-table": "3.0.4",
230
230
  "minimatch": "10.0.1",
231
231
  "moo": "0.5.2",
232
232
  "ms": "2.1.3",
@@ -298,7 +298,6 @@
298
298
  "@types/lodash": "4.17.16",
299
299
  "@types/luxon": "3.6.2",
300
300
  "@types/markdown-it": "14.1.2",
301
- "@types/markdown-table": "2.0.0",
302
301
  "@types/marshal": "0.5.3",
303
302
  "@types/mdast": "3.0.15",
304
303
  "@types/moo": "0.5.10",