renovate 42.8.1 → 42.9.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.
@@ -13,7 +13,6 @@ const groupPreset = tslib_1.__importStar(require("./group"));
13
13
  const helpersPreset = tslib_1.__importStar(require("./helpers"));
14
14
  const mergeConfidence = tslib_1.__importStar(require("./merge-confidence"));
15
15
  const monorepoPreset = tslib_1.__importStar(require("./monorepos"));
16
- const npm = tslib_1.__importStar(require("./npm"));
17
16
  const packagesPreset = tslib_1.__importStar(require("./packages"));
18
17
  const previewPreset = tslib_1.__importStar(require("./preview"));
19
18
  const replacements = tslib_1.__importStar(require("./replacements"));
@@ -32,7 +31,6 @@ exports.groups = {
32
31
  helpers: helpersPreset.presets,
33
32
  mergeConfidence: mergeConfidence.presets,
34
33
  monorepo: monorepoPreset.presets,
35
- npm: npm.presets,
36
34
  packages: packagesPreset.presets,
37
35
  preview: previewPreset.presets,
38
36
  replacements: replacements.presets,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/internal/index.ts"],"names":[],"mappings":";;;AAyCA,8BAKC;;AA7CD,2EAAqD;AACrD,+DAAyC;AACzC,gFAA0D;AAC1D,iEAA2C;AAC3C,+DAAyC;AACzC,+DAAyC;AACzC,6DAAuC;AACvC,iEAA2C;AAC3C,4EAAsD;AACtD,oEAA8C;AAC9C,mDAA6B;AAC7B,mEAA6C;AAC7C,iEAA2C;AAC3C,qEAA+C;AAC/C,mEAA6C;AAC7C,mEAA6C;AAC7C,yEAAmD;AAEnD,+EAA+E;AAElE,QAAA,MAAM,GAA2C;IAC5D,YAAY,EAAE,kBAAkB,CAAC,OAAO;IACxC,MAAM,EAAE,YAAY,CAAC,OAAO;IAC5B,cAAc,EAAE,oBAAoB,CAAC,OAAO;IAC5C,OAAO,EAAE,aAAa,CAAC,OAAO;IAC9B,MAAM,EAAE,YAAY,CAAC,OAAO;IAC5B,MAAM,EAAE,YAAY,CAAC,OAAO;IAC5B,KAAK,EAAE,WAAW,CAAC,OAAO;IAC1B,OAAO,EAAE,aAAa,CAAC,OAAO;IAC9B,eAAe,EAAE,eAAe,CAAC,OAAO;IACxC,QAAQ,EAAE,cAAc,CAAC,OAAO;IAChC,GAAG,EAAE,GAAG,CAAC,OAAO;IAChB,QAAQ,EAAE,cAAc,CAAC,OAAO;IAChC,OAAO,EAAE,aAAa,CAAC,OAAO;IAC9B,YAAY,EAAE,YAAY,CAAC,OAAO;IAClC,QAAQ,EAAE,cAAc,CAAC,OAAO;IAChC,QAAQ,EAAE,cAAc,CAAC,OAAO;IAChC,WAAW,EAAE,iBAAiB,CAAC,OAAO;CACvC,CAAC;AAEF,SAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,UAAU,GACG;IACb,OAAO,cAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,cAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC","sourcesContent":["import type { Preset, PresetConfig } from '../types';\nimport * as configAbandonments from './abandonments';\nimport * as configPreset from './config';\nimport * as customManagersPreset from './custom-managers';\nimport * as defaultPreset from './default';\nimport * as dockerPreset from './docker';\nimport * as globalPreset from './global';\nimport * as groupPreset from './group';\nimport * as helpersPreset from './helpers';\nimport * as mergeConfidence from './merge-confidence';\nimport * as monorepoPreset from './monorepos';\nimport * as npm from './npm';\nimport * as packagesPreset from './packages';\nimport * as previewPreset from './preview';\nimport * as replacements from './replacements';\nimport * as schedulePreset from './schedule';\nimport * as securityPreset from './security';\nimport * as workaroundsPreset from './workarounds';\n\n/* eslint sort-keys: [\"error\", \"asc\", {caseSensitive: false, natural: true}] */\n\nexport const groups: Record<string, Record<string, Preset>> = {\n abandonments: configAbandonments.presets,\n config: configPreset.presets,\n customManagers: customManagersPreset.presets,\n default: defaultPreset.presets,\n docker: dockerPreset.presets,\n global: globalPreset.presets,\n group: groupPreset.presets,\n helpers: helpersPreset.presets,\n mergeConfidence: mergeConfidence.presets,\n monorepo: monorepoPreset.presets,\n npm: npm.presets,\n packages: packagesPreset.presets,\n preview: previewPreset.presets,\n replacements: replacements.presets,\n schedule: schedulePreset.presets,\n security: securityPreset.presets,\n workarounds: workaroundsPreset.presets,\n};\n\nexport function getPreset({\n repo,\n presetName,\n}: PresetConfig): Preset | undefined {\n return groups[repo] && presetName ? groups[repo][presetName] : undefined;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/internal/index.ts"],"names":[],"mappings":";;;AAuCA,8BAKC;;AA3CD,2EAAqD;AACrD,+DAAyC;AACzC,gFAA0D;AAC1D,iEAA2C;AAC3C,+DAAyC;AACzC,+DAAyC;AACzC,6DAAuC;AACvC,iEAA2C;AAC3C,4EAAsD;AACtD,oEAA8C;AAC9C,mEAA6C;AAC7C,iEAA2C;AAC3C,qEAA+C;AAC/C,mEAA6C;AAC7C,mEAA6C;AAC7C,yEAAmD;AAEnD,+EAA+E;AAElE,QAAA,MAAM,GAA2C;IAC5D,YAAY,EAAE,kBAAkB,CAAC,OAAO;IACxC,MAAM,EAAE,YAAY,CAAC,OAAO;IAC5B,cAAc,EAAE,oBAAoB,CAAC,OAAO;IAC5C,OAAO,EAAE,aAAa,CAAC,OAAO;IAC9B,MAAM,EAAE,YAAY,CAAC,OAAO;IAC5B,MAAM,EAAE,YAAY,CAAC,OAAO;IAC5B,KAAK,EAAE,WAAW,CAAC,OAAO;IAC1B,OAAO,EAAE,aAAa,CAAC,OAAO;IAC9B,eAAe,EAAE,eAAe,CAAC,OAAO;IACxC,QAAQ,EAAE,cAAc,CAAC,OAAO;IAChC,QAAQ,EAAE,cAAc,CAAC,OAAO;IAChC,OAAO,EAAE,aAAa,CAAC,OAAO;IAC9B,YAAY,EAAE,YAAY,CAAC,OAAO;IAClC,QAAQ,EAAE,cAAc,CAAC,OAAO;IAChC,QAAQ,EAAE,cAAc,CAAC,OAAO;IAChC,WAAW,EAAE,iBAAiB,CAAC,OAAO;CACvC,CAAC;AAEF,SAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,UAAU,GACG;IACb,OAAO,cAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,cAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC","sourcesContent":["import type { Preset, PresetConfig } from '../types';\nimport * as configAbandonments from './abandonments';\nimport * as configPreset from './config';\nimport * as customManagersPreset from './custom-managers';\nimport * as defaultPreset from './default';\nimport * as dockerPreset from './docker';\nimport * as globalPreset from './global';\nimport * as groupPreset from './group';\nimport * as helpersPreset from './helpers';\nimport * as mergeConfidence from './merge-confidence';\nimport * as monorepoPreset from './monorepos';\nimport * as packagesPreset from './packages';\nimport * as previewPreset from './preview';\nimport * as replacements from './replacements';\nimport * as schedulePreset from './schedule';\nimport * as securityPreset from './security';\nimport * as workaroundsPreset from './workarounds';\n\n/* eslint sort-keys: [\"error\", \"asc\", {caseSensitive: false, natural: true}] */\n\nexport const groups: Record<string, Record<string, Preset>> = {\n abandonments: configAbandonments.presets,\n config: configPreset.presets,\n customManagers: customManagersPreset.presets,\n default: defaultPreset.presets,\n docker: dockerPreset.presets,\n global: globalPreset.presets,\n group: groupPreset.presets,\n helpers: helpersPreset.presets,\n mergeConfidence: mergeConfidence.presets,\n monorepo: monorepoPreset.presets,\n packages: packagesPreset.presets,\n preview: previewPreset.presets,\n replacements: replacements.presets,\n schedule: schedulePreset.presets,\n security: securityPreset.presets,\n workarounds: workaroundsPreset.presets,\n};\n\nexport function getPreset({\n repo,\n presetName,\n}: PresetConfig): Preset | undefined {\n return groups[repo] && presetName ? groups[repo][presetName] : undefined;\n}\n"]}
@@ -85,7 +85,22 @@ async function bumpVersion(config, branchConfig, fileList, packageFiles, artifac
85
85
  let newVersion = null;
86
86
  try {
87
87
  const bumpType = (0, template_1.compile)(rawBumpType, branchConfig);
88
- newVersion = (0, semver_1.inc)(version, bumpType);
88
+ const parts = (0, regex_1.regEx)('^(?<major>\\d+)(?:\\.(?<minor>\\d+))?$').exec(version);
89
+ if (parts?.groups) {
90
+ const { major, minor } = parts.groups;
91
+ if (bumpType === 'major') {
92
+ newVersion = `${parseInt(major) + 1}${minor ? `.0` : ''}`;
93
+ }
94
+ else if (bumpType === 'minor') {
95
+ newVersion = `${major}.${parseInt(minor) + 1}`;
96
+ }
97
+ else {
98
+ throw new Error(`Unsupported bump type for {major}.{minor} version: ${bumpType}`);
99
+ }
100
+ }
101
+ else {
102
+ newVersion = (0, semver_1.inc)(version, bumpType);
103
+ }
89
104
  }
90
105
  catch (e) {
91
106
  addArtifactError(branchConfig, `Failed to calculate new version for ${bumpVersionsDescr}: ${e.message}`, filePath);
@@ -1 +1 @@
1
- {"version":3,"file":"bump-versions.js","sourceRoot":"","sources":["../../../../../lib/workers/repository/update/branch/bump-versions.ts"],"names":[],"mappings":"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","sourcesContent":["import { type ReleaseType, inc } from 'semver';\nimport type { BumpVersionConfig } from '../../../../config/types';\nimport { logger } from '../../../../logger';\nimport { scm } from '../../../../modules/platform/scm';\nimport { coerceArray } from '../../../../util/array';\nimport { readLocalFile } from '../../../../util/fs';\nimport type { FileChange } from '../../../../util/git/types';\nimport { regEx } from '../../../../util/regex';\nimport { matchRegexOrGlobList } from '../../../../util/string-match';\nimport { compile } from '../../../../util/template';\nimport type { BranchConfig } from '../../../types';\nimport { getFilteredFileList } from '../../extract/file-match';\n\ntype ParseFileChangesResult =\n | { state: 'modified'; content: string | null }\n | { state: 'deleted' }\n | { state: 'unmodified' };\n\nexport async function bumpVersions(config: BranchConfig): Promise<void> {\n const bumpVersions = config.bumpVersions;\n if (!bumpVersions?.length) {\n return;\n }\n\n // skip if no packageFiles or artifacts have been updated\n if (!config.updatedPackageFiles?.length && !config.updatedArtifacts?.length) {\n return;\n }\n\n const allFiles = await scm.getFileList();\n const fileList = getFilteredFileList(config, allFiles);\n\n const packageFileChanges = fileChangeListToMap(config.updatedPackageFiles);\n const artifactFileChanges = fileChangeListToMap(config.updatedArtifacts);\n\n for (const bumpVersionConfig of bumpVersions) {\n await bumpVersion(\n bumpVersionConfig,\n config,\n fileList,\n packageFileChanges,\n artifactFileChanges,\n );\n }\n\n // update the config with the new files\n config.updatedPackageFiles = Object.values(packageFileChanges).flat();\n config.updatedArtifacts = Object.values(artifactFileChanges).flat();\n}\n\nasync function bumpVersion(\n config: BumpVersionConfig,\n branchConfig: BranchConfig,\n fileList: string[],\n packageFiles: Record<string, FileChange[]>,\n artifactFiles: Record<string, FileChange[]>,\n): Promise<void> {\n const rawBumpType = config.bumpType ?? 'patch';\n\n // all log messages should be prefixed with this string to facilitate easier logLevelRemapping\n const bumpVersionsDescr = config.name\n ? `bumpVersions(${config.name})`\n : 'bumpVersions';\n\n const files: string[] = [];\n try {\n files.push(\n ...getMatchedFiles(\n bumpVersionsDescr,\n config.filePatterns,\n branchConfig,\n fileList,\n ),\n );\n } catch (e) {\n addArtifactError(\n branchConfig,\n `Failed to calculate matched files for bumpVersions: ${e.message}`,\n );\n return;\n }\n\n if (!files.length) {\n logger.debug(`${bumpVersionsDescr}: filePatterns did not match any files`);\n return;\n }\n\n logger.trace(\n { files },\n `${bumpVersionsDescr}: Found ${files.length} files to bump versions`,\n );\n\n // keeping this only for logging purposes\n const matchStrings: string[] = [];\n\n // prepare the matchStrings\n const matchStringsRegexes: RegExp[] = [];\n for (const matchString of config.matchStrings) {\n try {\n const templated = compile(matchString, branchConfig);\n matchStrings.push(templated);\n matchStringsRegexes.push(regEx(templated));\n } catch (e) {\n addArtifactError(\n branchConfig,\n `Failed to compile matchString for ${bumpVersionsDescr}: ${e.message}`,\n matchString,\n );\n }\n }\n\n logger.trace({ matchStrings }, `${bumpVersionsDescr}: Compiled matchStrings`);\n\n for (const filePath of files) {\n let fileBumped = false;\n\n const fileContents = await getFileContent(\n bumpVersionsDescr,\n filePath,\n packageFiles,\n artifactFiles,\n );\n if (!fileContents) {\n continue;\n }\n\n for (const matchStringRegex of matchStringsRegexes) {\n // extracting the version from the file\n const regexResult = matchStringRegex.exec(fileContents);\n if (!regexResult) {\n continue;\n }\n const version = regexResult.groups?.version;\n if (!version) {\n logger.debug(\n { file: filePath },\n `${bumpVersionsDescr}: No version found`,\n );\n continue;\n }\n\n // getting new version\n let newVersion: string | null = null;\n try {\n const bumpType = compile(rawBumpType, branchConfig);\n newVersion = inc(version, bumpType as ReleaseType);\n } catch (e) {\n addArtifactError(\n branchConfig,\n `Failed to calculate new version for ${bumpVersionsDescr}: ${e.message}`,\n filePath,\n );\n }\n if (!newVersion) {\n logger.debug(\n { file: filePath },\n `${bumpVersionsDescr}: Could not bump version`,\n );\n continue;\n }\n\n // replace the content of the `version` group with newVersion\n const newFileContents: string = fileContents\n .toString()\n .replace(matchStringRegex, (match, ...groups) => {\n const { version } = groups.pop();\n return match.replace(version, newVersion);\n });\n\n // update the file. Add it to the buckets if exists or create a new artifact update\n if (packageFiles[filePath]) {\n packageFiles[filePath].push({\n type: 'addition',\n path: filePath,\n contents: newFileContents,\n });\n } else {\n artifactFiles[filePath] ??= [];\n artifactFiles[filePath].push({\n type: 'addition',\n path: filePath,\n contents: newFileContents,\n });\n }\n\n fileBumped = true;\n }\n\n if (!fileBumped) {\n logger.debug(\n { file: filePath },\n `${bumpVersionsDescr}: No match found for bumping version`,\n );\n }\n }\n}\n\n/**\n * Get files that match ANY of the fileMatches pattern. fileMatches are compiled with the branchConfig.\n * @param bumpVersionsDescr log description for the bump version config\n * @param filePatternTemplates list of regex patterns\n * @param branchConfig compile metadata\n * @param fileList list of files to match against\n */\nfunction getMatchedFiles(\n bumpVersionsDescr: string,\n filePatternTemplates: string[],\n branchConfig: BranchConfig,\n fileList: string[],\n): string[] {\n // prepare file regex\n const filePatterns: string[] = [];\n for (const filePatternTemplateElement of filePatternTemplates) {\n const filePattern = compile(filePatternTemplateElement, branchConfig);\n filePatterns.push(filePattern);\n }\n\n logger.trace({ filePatterns }, `${bumpVersionsDescr}: Compiled filePatterns`);\n\n // get files that match the fileMatch\n const files: string[] = [];\n for (const file of fileList) {\n if (matchRegexOrGlobList(file, filePatterns)) {\n files.push(file);\n }\n }\n return files;\n}\n\nfunction fileChangeListToMap(\n list: FileChange[] | undefined,\n): Record<string, FileChange[]> {\n const record: Record<string, FileChange[]> = {};\n for (const fileChange of coerceArray(list)) {\n record[fileChange.path] ??= [];\n record[fileChange.path].push(fileChange);\n }\n return record;\n}\n\nfunction addArtifactError(\n branchConfig: BranchConfig,\n message: string,\n fileName?: string,\n): void {\n branchConfig.artifactErrors ??= [];\n branchConfig.artifactErrors.push({\n stderr: message,\n fileName,\n });\n}\n\nasync function getFileContent(\n bumpVersionsDescr: string,\n filePath: string,\n packageFiles: Record<string, FileChange[]>,\n artifactFiles: Record<string, FileChange[]>,\n): Promise<string | null> {\n const packageFileChanges = parseFileChanges(filePath, packageFiles);\n const artifactFileChanges = parseFileChanges(filePath, artifactFiles);\n\n // skip if the file is deleted as it virtually doesn't exist\n if (\n packageFileChanges.state === 'deleted' ||\n artifactFileChanges.state === 'deleted'\n ) {\n return null;\n }\n\n if (packageFileChanges.state === 'modified') {\n const lastChange = packageFileChanges.content;\n if (lastChange) {\n return lastChange;\n }\n }\n if (artifactFileChanges.state === 'modified') {\n const lastChange = artifactFileChanges.content;\n if (lastChange) {\n return lastChange;\n }\n }\n\n try {\n return await readLocalFile(filePath, 'utf8');\n } catch (e) {\n logger.warn(\n { file: filePath },\n `${bumpVersionsDescr}: Could not read file: ${e.message}`,\n );\n return null;\n }\n}\n\nfunction parseFileChanges(\n filePath: string,\n changeRecord: Record<string, FileChange[]>,\n): ParseFileChangesResult {\n const changes = coerceArray(changeRecord[filePath]);\n\n // skip if we can fetch from record\n if (!changes.length) {\n return { state: 'unmodified' };\n }\n\n const lastChange = changes[changes.length - 1];\n if (lastChange.type === 'deletion') {\n return { state: 'deleted' };\n }\n return {\n state: 'modified',\n content: lastChange.contents?.toString() ?? null,\n };\n}\n"]}
1
+ {"version":3,"file":"bump-versions.js","sourceRoot":"","sources":["../../../../../lib/workers/repository/update/branch/bump-versions.ts"],"names":[],"mappings":"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","sourcesContent":["import { type ReleaseType, inc } from 'semver';\nimport type { BumpVersionConfig } from '../../../../config/types';\nimport { logger } from '../../../../logger';\nimport { scm } from '../../../../modules/platform/scm';\nimport { coerceArray } from '../../../../util/array';\nimport { readLocalFile } from '../../../../util/fs';\nimport type { FileChange } from '../../../../util/git/types';\nimport { regEx } from '../../../../util/regex';\nimport { matchRegexOrGlobList } from '../../../../util/string-match';\nimport { compile } from '../../../../util/template';\nimport type { BranchConfig } from '../../../types';\nimport { getFilteredFileList } from '../../extract/file-match';\n\ntype ParseFileChangesResult =\n | { state: 'modified'; content: string | null }\n | { state: 'deleted' }\n | { state: 'unmodified' };\n\nexport async function bumpVersions(config: BranchConfig): Promise<void> {\n const bumpVersions = config.bumpVersions;\n if (!bumpVersions?.length) {\n return;\n }\n\n // skip if no packageFiles or artifacts have been updated\n if (!config.updatedPackageFiles?.length && !config.updatedArtifacts?.length) {\n return;\n }\n\n const allFiles = await scm.getFileList();\n const fileList = getFilteredFileList(config, allFiles);\n\n const packageFileChanges = fileChangeListToMap(config.updatedPackageFiles);\n const artifactFileChanges = fileChangeListToMap(config.updatedArtifacts);\n\n for (const bumpVersionConfig of bumpVersions) {\n await bumpVersion(\n bumpVersionConfig,\n config,\n fileList,\n packageFileChanges,\n artifactFileChanges,\n );\n }\n\n // update the config with the new files\n config.updatedPackageFiles = Object.values(packageFileChanges).flat();\n config.updatedArtifacts = Object.values(artifactFileChanges).flat();\n}\n\nasync function bumpVersion(\n config: BumpVersionConfig,\n branchConfig: BranchConfig,\n fileList: string[],\n packageFiles: Record<string, FileChange[]>,\n artifactFiles: Record<string, FileChange[]>,\n): Promise<void> {\n const rawBumpType = config.bumpType ?? 'patch';\n\n // all log messages should be prefixed with this string to facilitate easier logLevelRemapping\n const bumpVersionsDescr = config.name\n ? `bumpVersions(${config.name})`\n : 'bumpVersions';\n\n const files: string[] = [];\n try {\n files.push(\n ...getMatchedFiles(\n bumpVersionsDescr,\n config.filePatterns,\n branchConfig,\n fileList,\n ),\n );\n } catch (e) {\n addArtifactError(\n branchConfig,\n `Failed to calculate matched files for bumpVersions: ${e.message}`,\n );\n return;\n }\n\n if (!files.length) {\n logger.debug(`${bumpVersionsDescr}: filePatterns did not match any files`);\n return;\n }\n\n logger.trace(\n { files },\n `${bumpVersionsDescr}: Found ${files.length} files to bump versions`,\n );\n\n // keeping this only for logging purposes\n const matchStrings: string[] = [];\n\n // prepare the matchStrings\n const matchStringsRegexes: RegExp[] = [];\n for (const matchString of config.matchStrings) {\n try {\n const templated = compile(matchString, branchConfig);\n matchStrings.push(templated);\n matchStringsRegexes.push(regEx(templated));\n } catch (e) {\n addArtifactError(\n branchConfig,\n `Failed to compile matchString for ${bumpVersionsDescr}: ${e.message}`,\n matchString,\n );\n }\n }\n\n logger.trace({ matchStrings }, `${bumpVersionsDescr}: Compiled matchStrings`);\n\n for (const filePath of files) {\n let fileBumped = false;\n\n const fileContents = await getFileContent(\n bumpVersionsDescr,\n filePath,\n packageFiles,\n artifactFiles,\n );\n if (!fileContents) {\n continue;\n }\n\n for (const matchStringRegex of matchStringsRegexes) {\n // extracting the version from the file\n const regexResult = matchStringRegex.exec(fileContents);\n if (!regexResult) {\n continue;\n }\n const version = regexResult.groups?.version;\n if (!version) {\n logger.debug(\n { file: filePath },\n `${bumpVersionsDescr}: No version found`,\n );\n continue;\n }\n\n // getting new version\n let newVersion: string | null = null;\n try {\n const bumpType = compile(rawBumpType, branchConfig);\n const parts = regEx('^(?<major>\\\\d+)(?:\\\\.(?<minor>\\\\d+))?$').exec(\n version,\n );\n if (parts?.groups) {\n const { major, minor } = parts.groups;\n if (bumpType === 'major') {\n newVersion = `${parseInt(major) + 1}${minor ? `.0` : ''}`;\n } else if (bumpType === 'minor') {\n newVersion = `${major}.${parseInt(minor) + 1}`;\n } else {\n throw new Error(\n `Unsupported bump type for {major}.{minor} version: ${bumpType}`,\n );\n }\n } else {\n newVersion = inc(version, bumpType as ReleaseType);\n }\n } catch (e) {\n addArtifactError(\n branchConfig,\n `Failed to calculate new version for ${bumpVersionsDescr}: ${e.message}`,\n filePath,\n );\n }\n if (!newVersion) {\n logger.debug(\n { file: filePath },\n `${bumpVersionsDescr}: Could not bump version`,\n );\n continue;\n }\n\n // replace the content of the `version` group with newVersion\n const newFileContents: string = fileContents\n .toString()\n .replace(matchStringRegex, (match, ...groups) => {\n const { version } = groups.pop();\n return match.replace(version, newVersion);\n });\n\n // update the file. Add it to the buckets if exists or create a new artifact update\n if (packageFiles[filePath]) {\n packageFiles[filePath].push({\n type: 'addition',\n path: filePath,\n contents: newFileContents,\n });\n } else {\n artifactFiles[filePath] ??= [];\n artifactFiles[filePath].push({\n type: 'addition',\n path: filePath,\n contents: newFileContents,\n });\n }\n\n fileBumped = true;\n }\n\n if (!fileBumped) {\n logger.debug(\n { file: filePath },\n `${bumpVersionsDescr}: No match found for bumping version`,\n );\n }\n }\n}\n\n/**\n * Get files that match ANY of the fileMatches pattern. fileMatches are compiled with the branchConfig.\n * @param bumpVersionsDescr log description for the bump version config\n * @param filePatternTemplates list of regex patterns\n * @param branchConfig compile metadata\n * @param fileList list of files to match against\n */\nfunction getMatchedFiles(\n bumpVersionsDescr: string,\n filePatternTemplates: string[],\n branchConfig: BranchConfig,\n fileList: string[],\n): string[] {\n // prepare file regex\n const filePatterns: string[] = [];\n for (const filePatternTemplateElement of filePatternTemplates) {\n const filePattern = compile(filePatternTemplateElement, branchConfig);\n filePatterns.push(filePattern);\n }\n\n logger.trace({ filePatterns }, `${bumpVersionsDescr}: Compiled filePatterns`);\n\n // get files that match the fileMatch\n const files: string[] = [];\n for (const file of fileList) {\n if (matchRegexOrGlobList(file, filePatterns)) {\n files.push(file);\n }\n }\n return files;\n}\n\nfunction fileChangeListToMap(\n list: FileChange[] | undefined,\n): Record<string, FileChange[]> {\n const record: Record<string, FileChange[]> = {};\n for (const fileChange of coerceArray(list)) {\n record[fileChange.path] ??= [];\n record[fileChange.path].push(fileChange);\n }\n return record;\n}\n\nfunction addArtifactError(\n branchConfig: BranchConfig,\n message: string,\n fileName?: string,\n): void {\n branchConfig.artifactErrors ??= [];\n branchConfig.artifactErrors.push({\n stderr: message,\n fileName,\n });\n}\n\nasync function getFileContent(\n bumpVersionsDescr: string,\n filePath: string,\n packageFiles: Record<string, FileChange[]>,\n artifactFiles: Record<string, FileChange[]>,\n): Promise<string | null> {\n const packageFileChanges = parseFileChanges(filePath, packageFiles);\n const artifactFileChanges = parseFileChanges(filePath, artifactFiles);\n\n // skip if the file is deleted as it virtually doesn't exist\n if (\n packageFileChanges.state === 'deleted' ||\n artifactFileChanges.state === 'deleted'\n ) {\n return null;\n }\n\n if (packageFileChanges.state === 'modified') {\n const lastChange = packageFileChanges.content;\n if (lastChange) {\n return lastChange;\n }\n }\n if (artifactFileChanges.state === 'modified') {\n const lastChange = artifactFileChanges.content;\n if (lastChange) {\n return lastChange;\n }\n }\n\n try {\n return await readLocalFile(filePath, 'utf8');\n } catch (e) {\n logger.warn(\n { file: filePath },\n `${bumpVersionsDescr}: Could not read file: ${e.message}`,\n );\n return null;\n }\n}\n\nfunction parseFileChanges(\n filePath: string,\n changeRecord: Record<string, FileChange[]>,\n): ParseFileChangesResult {\n const changes = coerceArray(changeRecord[filePath]);\n\n // skip if we can fetch from record\n if (!changes.length) {\n return { state: 'unmodified' };\n }\n\n const lastChange = changes[changes.length - 1];\n if (lastChange.type === 'deletion') {\n return { state: 'deleted' };\n }\n return {\n state: 'modified',\n content: lastChange.contents?.toString() ?? null,\n };\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": "42.8.1",
4
+ "version": "42.9.0",
5
5
  "type": "commonjs",
6
6
  "bin": {
7
7
  "renovate": "dist/renovate.js",
@@ -1,7 +1,7 @@
1
1
  {
2
- "title": "JSON schema for Renovate 42.8.1 config files (https://renovatebot.com/)",
2
+ "title": "JSON schema for Renovate 42.9.0 config files (https://renovatebot.com/)",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "x-renovate-version": "42.8.1",
4
+ "x-renovate-version": "42.9.0",
5
5
  "allowComments": true,
6
6
  "type": "object",
7
7
  "properties": {
@@ -1,2 +0,0 @@
1
- import type { Preset } from '../types';
2
- export declare const presets: Record<string, Preset>;
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.presets = void 0;
4
- /* eslint sort-keys: ["error", "asc", {caseSensitive: false, natural: true}] */
5
- exports.presets = {};
6
- //# sourceMappingURL=npm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../../../lib/config/presets/internal/npm.ts"],"names":[],"mappings":";;;AAEA,+EAA+E;AAElE,QAAA,OAAO,GAA2B,EAAE,CAAC","sourcesContent":["import type { Preset } from '../types';\n\n/* eslint sort-keys: [\"error\", \"asc\", {caseSensitive: false, natural: true}] */\n\nexport const presets: Record<string, Preset> = {};\n"]}