renovate 43.285.4 → 43.285.6

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.
Files changed (96) hide show
  1. package/dist/config/massage.js.map +1 -1
  2. package/dist/config/migration.js.map +1 -1
  3. package/dist/config/migrations/custom/compatibility-migration.js.map +1 -1
  4. package/dist/config/options/index.js +1 -1
  5. package/dist/config/options/index.js.map +1 -1
  6. package/dist/config/presets/index.js.map +1 -1
  7. package/dist/config/validation.js.map +1 -1
  8. package/dist/global-config-option-defaults.generated.js +1 -1
  9. package/dist/global-config-option-defaults.generated.js.map +1 -1
  10. package/dist/logger/bunyan.js.map +1 -1
  11. package/dist/modules/datasource/go/releases-goproxy.js +10 -4
  12. package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
  13. package/dist/modules/datasource/go/schema.js +5 -1
  14. package/dist/modules/datasource/go/schema.js.map +1 -1
  15. package/dist/modules/datasource/packagist/schema.js +13 -11
  16. package/dist/modules/datasource/packagist/schema.js.map +1 -1
  17. package/dist/modules/datasource/rubygems/metadata-cache.js.map +1 -1
  18. package/dist/modules/manager/bazel-module/index.js +1 -0
  19. package/dist/modules/manager/bazel-module/index.js.map +1 -1
  20. package/dist/modules/manager/bazelisk/index.js +1 -0
  21. package/dist/modules/manager/bazelisk/index.js.map +1 -1
  22. package/dist/modules/manager/bun/index.js +1 -0
  23. package/dist/modules/manager/bun/index.js.map +1 -1
  24. package/dist/modules/manager/bundler/index.js +1 -0
  25. package/dist/modules/manager/bundler/index.js.map +1 -1
  26. package/dist/modules/manager/cargo/index.js +1 -0
  27. package/dist/modules/manager/cargo/index.js.map +1 -1
  28. package/dist/modules/manager/circleci/schema.js.map +1 -1
  29. package/dist/modules/manager/composer/index.js +1 -0
  30. package/dist/modules/manager/composer/index.js.map +1 -1
  31. package/dist/modules/manager/conan/index.js +1 -0
  32. package/dist/modules/manager/conan/index.js.map +1 -1
  33. package/dist/modules/manager/deno/index.js +1 -0
  34. package/dist/modules/manager/deno/index.js.map +1 -1
  35. package/dist/modules/manager/devbox/index.js +1 -0
  36. package/dist/modules/manager/devbox/index.js.map +1 -1
  37. package/dist/modules/manager/fingerprint.generated.js +8 -8
  38. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  39. package/dist/modules/manager/gleam/index.js +1 -0
  40. package/dist/modules/manager/gleam/index.js.map +1 -1
  41. package/dist/modules/manager/gradle/extract/consistent-versions-plugin.js.map +1 -1
  42. package/dist/modules/manager/gradle/index.js +1 -0
  43. package/dist/modules/manager/gradle/index.js.map +1 -1
  44. package/dist/modules/manager/helmfile/index.js +1 -0
  45. package/dist/modules/manager/helmfile/index.js.map +1 -1
  46. package/dist/modules/manager/helmv3/index.js +1 -0
  47. package/dist/modules/manager/helmv3/index.js.map +1 -1
  48. package/dist/modules/manager/jsonnet-bundler/index.js +1 -0
  49. package/dist/modules/manager/jsonnet-bundler/index.js.map +1 -1
  50. package/dist/modules/manager/mise/index.js +1 -0
  51. package/dist/modules/manager/mise/index.js.map +1 -1
  52. package/dist/modules/manager/mix/index.js +1 -0
  53. package/dist/modules/manager/mix/index.js.map +1 -1
  54. package/dist/modules/manager/nix/index.js +1 -0
  55. package/dist/modules/manager/nix/index.js.map +1 -1
  56. package/dist/modules/manager/npm/artifacts.js.map +1 -1
  57. package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
  58. package/dist/modules/manager/npm/index.js +3 -1
  59. package/dist/modules/manager/npm/index.js.map +1 -1
  60. package/dist/modules/manager/nuget/index.js +1 -0
  61. package/dist/modules/manager/nuget/index.js.map +1 -1
  62. package/dist/modules/manager/pep621/index.js +3 -1
  63. package/dist/modules/manager/pep621/index.js.map +1 -1
  64. package/dist/modules/manager/pep621/schema.js.map +1 -1
  65. package/dist/modules/manager/pip-compile/index.js +1 -0
  66. package/dist/modules/manager/pip-compile/index.js.map +1 -1
  67. package/dist/modules/manager/pipenv/index.js +1 -0
  68. package/dist/modules/manager/pipenv/index.js.map +1 -1
  69. package/dist/modules/manager/pixi/index.js +1 -0
  70. package/dist/modules/manager/pixi/index.js.map +1 -1
  71. package/dist/modules/manager/poetry/index.js +1 -0
  72. package/dist/modules/manager/poetry/index.js.map +1 -1
  73. package/dist/modules/manager/pub/index.js +1 -0
  74. package/dist/modules/manager/pub/index.js.map +1 -1
  75. package/dist/modules/manager/terraform/index.js +1 -0
  76. package/dist/modules/manager/terraform/index.js.map +1 -1
  77. package/dist/modules/manager/terragrunt/index.js +3 -1
  78. package/dist/modules/manager/terragrunt/index.js.map +1 -1
  79. package/dist/modules/manager/types.d.ts +12 -0
  80. package/dist/modules/manager/vendir/index.js +1 -0
  81. package/dist/modules/manager/vendir/index.js.map +1 -1
  82. package/dist/modules/platform/codecommit/index.js.map +1 -1
  83. package/dist/modules/versioning/distro.js.map +1 -1
  84. package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
  85. package/dist/util/minimum-release-age.js +33 -0
  86. package/dist/util/minimum-release-age.js.map +1 -0
  87. package/dist/util/package-rules/index.js.map +1 -1
  88. package/dist/util/result.js.map +1 -1
  89. package/dist/workers/repository/init/vulnerability.js.map +1 -1
  90. package/dist/workers/repository/process/lookup/filter-checks.js +2 -28
  91. package/dist/workers/repository/process/lookup/filter-checks.js.map +1 -1
  92. package/dist/workers/repository/update/pr/changelog/common.js.map +1 -1
  93. package/dist/workers/repository/updates/branch-name.js.map +1 -1
  94. package/dist/workers/repository/updates/branchify.js.map +1 -1
  95. package/package.json +3 -3
  96. package/renovate-schema.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"massage.js","names":[],"sources":["../../lib/config/massage.ts"],"sourcesContent":["import { isArray, isNonEmptyArray, isObject, isString } from '@sindresorhus/is';\nimport { clone } from '../util/clone.ts';\nimport { toMs } from '../util/pretty-time.ts';\nimport { getOptions } from './options/index.ts';\nimport type { PackageRule, RenovateConfig, UpdateType } from './types.ts';\n\nconst options = getOptions();\n\nlet allowedStrings: string[];\n\n// Returns a massaged config\nexport function massageConfig(config: RenovateConfig): RenovateConfig {\n if (!allowedStrings) {\n allowedStrings = [];\n options.forEach((option) => {\n if (option.allowString) {\n allowedStrings.push(option.name);\n }\n });\n }\n const massagedConfig = clone(config);\n for (const [key, val] of Object.entries(config)) {\n if (key === 'minimumReleaseAge' && isString(val) && toMs(val) === 0) {\n massagedConfig.minimumReleaseAge = null;\n } else if (allowedStrings.includes(key) && isString(val)) {\n // @ts-expect-error -- TODO: fix me\n massagedConfig[key] = [val];\n } else if (isArray(val)) {\n // @ts-expect-error -- TODO: fix me\n massagedConfig[key] = [];\n val.forEach((item) => {\n if (isObject(item)) {\n // @ts-expect-error -- TODO: fix me\n (massagedConfig[key] as RenovateConfig[]).push(\n massageConfig(item as RenovateConfig),\n );\n } else {\n // @ts-expect-error -- TODO: fix me\n (massagedConfig[key] as unknown[]).push(item);\n }\n });\n } else if (isObject(val) && key !== 'encrypted') {\n // @ts-expect-error -- TODO: fix me\n massagedConfig[key] = massageConfig(val as RenovateConfig);\n }\n }\n if (isNonEmptyArray(massagedConfig.packageRules)) {\n let newRules: PackageRule[] = [];\n const updateTypes: UpdateType[] = [\n 'major',\n 'minor',\n 'patch',\n 'pin',\n 'digest',\n 'rollback',\n ];\n for (const rule of massagedConfig.packageRules) {\n newRules.push(rule);\n for (const [key, val] of Object.entries(rule) as [\n UpdateType,\n PackageRule,\n ][]) {\n if (updateTypes.includes(key)) {\n let newRule = clone(rule);\n Object.keys(newRule).forEach((newKey) => {\n if (!(newKey.startsWith(`match`) || newKey.startsWith('exclude'))) {\n // @ts-expect-error -- TODO: fix me\n delete newRule[newKey];\n }\n });\n newRule.matchUpdateTypes = rule.matchUpdateTypes ?? [];\n newRule.matchUpdateTypes.push(key);\n newRule = { ...newRule, ...val };\n newRules.push(newRule);\n }\n }\n }\n for (const rule of newRules) {\n updateTypes.forEach((updateType) => {\n delete rule[updateType];\n });\n }\n newRules = newRules.filter((rule) => {\n if (\n Object.keys(rule).every(\n (key) => key.startsWith('match') || key.startsWith('exclude'),\n )\n ) {\n // Exclude rules which contain only match or exclude options\n return false;\n }\n return true;\n });\n massagedConfig.packageRules = newRules;\n }\n return massagedConfig;\n}\n"],"mappings":";;;;;AAMA,MAAM,UAAU,WAAW;AAE3B,IAAI;AAGJ,SAAgB,cAAc,QAAwC;CACpE,IAAI,CAAC,gBAAgB;EACnB,iBAAiB,CAAC;EAClB,QAAQ,SAAS,WAAW;GAC1B,IAAI,OAAO,aACT,eAAe,KAAK,OAAO,IAAI;EAEnC,CAAC;CACH;CACA,MAAM,iBAAiB,MAAM,MAAM;CACnC,KAAK,MAAM,CAAC,KAAK,QAAQ,OAAO,QAAQ,MAAM,GAC5C,IAAI,QAAQ,uBAAuB,SAAS,GAAG,KAAK,KAAK,GAAG,MAAM,GAChE,eAAe,oBAAoB;MAC9B,IAAI,eAAe,SAAS,GAAG,KAAK,SAAS,GAAG,GAErD,eAAe,OAAO,CAAC,GAAG;MACrB,IAAI,QAAQ,GAAG,GAAG;EAEvB,eAAe,OAAO,CAAC;EACvB,IAAI,SAAS,SAAS;GACpB,IAAI,SAAS,IAAI,GAEf,eAAgB,IAAI,CAAsB,KACxC,cAAc,IAAsB,CACtC;QAGA,eAAgB,IAAI,CAAe,KAAK,IAAI;EAEhD,CAAC;CACH,OAAO,IAAI,SAAS,GAAG,KAAK,QAAQ,aAElC,eAAe,OAAO,cAAc,GAAqB;CAG7D,IAAI,gBAAgB,eAAe,YAAY,GAAG;EAChD,IAAI,WAA0B,CAAC;EAC/B,MAAM,cAA4B;GAChC;GACA;GACA;GACA;GACA;GACA;EACF;EACA,KAAK,MAAM,QAAQ,eAAe,cAAc;GAC9C,SAAS,KAAK,IAAI;GAClB,KAAK,MAAM,CAAC,KAAK,QAAQ,OAAO,QAAQ,IAAI,GAI1C,IAAI,YAAY,SAAS,GAAG,GAAG;IAC7B,IAAI,UAAU,MAAM,IAAI;IACxB,OAAO,KAAK,OAAO,CAAC,CAAC,SAAS,WAAW;KACvC,IAAI,EAAE,OAAO,WAAW,OAAO,KAAK,OAAO,WAAW,SAAS,IAE7D,OAAO,QAAQ;IAEnB,CAAC;IACD,QAAQ,mBAAmB,KAAK,oBAAoB,CAAC;IACrD,QAAQ,iBAAiB,KAAK,GAAG;IACjC,UAAU;KAAE,GAAG;KAAS,GAAG;IAAI;IAC/B,SAAS,KAAK,OAAO;GACvB;EAEJ;EACA,KAAK,MAAM,QAAQ,UACjB,YAAY,SAAS,eAAe;GAClC,OAAO,KAAK;EACd,CAAC;EAEH,WAAW,SAAS,QAAQ,SAAS;GACnC,IACE,OAAO,KAAK,IAAI,CAAC,CAAC,OACf,QAAQ,IAAI,WAAW,OAAO,KAAK,IAAI,WAAW,SAAS,CAC9D,GAGA,OAAO;GAET,OAAO;EACT,CAAC;EACD,eAAe,eAAe;CAChC;CACA,OAAO;AACT"}
1
+ {"version":3,"file":"massage.js","names":[],"sources":["../../lib/config/massage.ts"],"sourcesContent":["import { isArray, isNonEmptyArray, isObject, isString } from '@sindresorhus/is';\nimport { clone } from '../util/clone.ts';\nimport { toMs } from '../util/pretty-time.ts';\nimport { getOptions } from './options/index.ts';\nimport type { PackageRule, RenovateConfig, UpdateType } from './types.ts';\n\nconst options = getOptions();\n\nlet allowedStrings: string[];\n\n// Returns a massaged config\nexport function massageConfig(config: RenovateConfig): RenovateConfig {\n if (!allowedStrings) {\n allowedStrings = [];\n options.forEach((option) => {\n if (option.allowString) {\n allowedStrings.push(option.name);\n }\n });\n }\n const massagedConfig = clone(config);\n for (const [key, val] of Object.entries(config)) {\n if (key === 'minimumReleaseAge' && isString(val) && toMs(val) === 0) {\n massagedConfig.minimumReleaseAge = null;\n } else if (allowedStrings.includes(key) && isString(val)) {\n // @ts-expect-error -- TODO: fix me\n massagedConfig[key] = [val];\n } else if (isArray(val)) {\n // @ts-expect-error -- TODO: fix me\n massagedConfig[key] = [];\n val.forEach((item) => {\n if (isObject(item)) {\n // @ts-expect-error -- TODO: fix me\n (massagedConfig[key] as RenovateConfig[]).push(massageConfig(item));\n } else {\n // @ts-expect-error -- TODO: fix me\n (massagedConfig[key] as unknown[]).push(item);\n }\n });\n } else if (isObject(val) && key !== 'encrypted') {\n // @ts-expect-error -- TODO: fix me\n massagedConfig[key] = massageConfig(val);\n }\n }\n if (isNonEmptyArray(massagedConfig.packageRules)) {\n let newRules: PackageRule[] = [];\n const updateTypes: UpdateType[] = [\n 'major',\n 'minor',\n 'patch',\n 'pin',\n 'digest',\n 'rollback',\n ];\n for (const rule of massagedConfig.packageRules) {\n newRules.push(rule);\n for (const [key, val] of Object.entries(rule) as [\n UpdateType,\n PackageRule,\n ][]) {\n if (updateTypes.includes(key)) {\n let newRule = clone(rule);\n Object.keys(newRule).forEach((newKey) => {\n if (!(newKey.startsWith(`match`) || newKey.startsWith('exclude'))) {\n // @ts-expect-error -- TODO: fix me\n delete newRule[newKey];\n }\n });\n newRule.matchUpdateTypes = rule.matchUpdateTypes ?? [];\n newRule.matchUpdateTypes.push(key);\n newRule = { ...newRule, ...val };\n newRules.push(newRule);\n }\n }\n }\n for (const rule of newRules) {\n updateTypes.forEach((updateType) => {\n delete rule[updateType];\n });\n }\n newRules = newRules.filter((rule) => {\n if (\n Object.keys(rule).every(\n (key) => key.startsWith('match') || key.startsWith('exclude'),\n )\n ) {\n // Exclude rules which contain only match or exclude options\n return false;\n }\n return true;\n });\n massagedConfig.packageRules = newRules;\n }\n return massagedConfig;\n}\n"],"mappings":";;;;;AAMA,MAAM,UAAU,WAAW;AAE3B,IAAI;AAGJ,SAAgB,cAAc,QAAwC;CACpE,IAAI,CAAC,gBAAgB;EACnB,iBAAiB,CAAC;EAClB,QAAQ,SAAS,WAAW;GAC1B,IAAI,OAAO,aACT,eAAe,KAAK,OAAO,IAAI;EAEnC,CAAC;CACH;CACA,MAAM,iBAAiB,MAAM,MAAM;CACnC,KAAK,MAAM,CAAC,KAAK,QAAQ,OAAO,QAAQ,MAAM,GAC5C,IAAI,QAAQ,uBAAuB,SAAS,GAAG,KAAK,KAAK,GAAG,MAAM,GAChE,eAAe,oBAAoB;MAC9B,IAAI,eAAe,SAAS,GAAG,KAAK,SAAS,GAAG,GAErD,eAAe,OAAO,CAAC,GAAG;MACrB,IAAI,QAAQ,GAAG,GAAG;EAEvB,eAAe,OAAO,CAAC;EACvB,IAAI,SAAS,SAAS;GACpB,IAAI,SAAS,IAAI,GAEf,eAAgB,IAAI,CAAsB,KAAK,cAAc,IAAI,CAAC;QAGlE,eAAgB,IAAI,CAAe,KAAK,IAAI;EAEhD,CAAC;CACH,OAAO,IAAI,SAAS,GAAG,KAAK,QAAQ,aAElC,eAAe,OAAO,cAAc,GAAG;CAG3C,IAAI,gBAAgB,eAAe,YAAY,GAAG;EAChD,IAAI,WAA0B,CAAC;EAC/B,MAAM,cAA4B;GAChC;GACA;GACA;GACA;GACA;GACA;EACF;EACA,KAAK,MAAM,QAAQ,eAAe,cAAc;GAC9C,SAAS,KAAK,IAAI;GAClB,KAAK,MAAM,CAAC,KAAK,QAAQ,OAAO,QAAQ,IAAI,GAI1C,IAAI,YAAY,SAAS,GAAG,GAAG;IAC7B,IAAI,UAAU,MAAM,IAAI;IACxB,OAAO,KAAK,OAAO,CAAC,CAAC,SAAS,WAAW;KACvC,IAAI,EAAE,OAAO,WAAW,OAAO,KAAK,OAAO,WAAW,SAAS,IAE7D,OAAO,QAAQ;IAEnB,CAAC;IACD,QAAQ,mBAAmB,KAAK,oBAAoB,CAAC;IACrD,QAAQ,iBAAiB,KAAK,GAAG;IACjC,UAAU;KAAE,GAAG;KAAS,GAAG;IAAI;IAC/B,SAAS,KAAK,OAAO;GACvB;EAEJ;EACA,KAAK,MAAM,QAAQ,UACjB,YAAY,SAAS,eAAe;GAClC,OAAO,KAAK;EACd,CAAC;EAEH,WAAW,SAAS,QAAQ,SAAS;GACnC,IACE,OAAO,KAAK,IAAI,CAAC,CAAC,OACf,QAAQ,IAAI,WAAW,OAAO,KAAK,IAAI,WAAW,SAAS,CAC9D,GAGA,OAAO;GAET,OAAO;EACT,CAAC;EACD,eAAe,eAAe;CAChC;CACA,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"migration.js","names":[],"sources":["../../lib/config/migration.ts"],"sourcesContent":["import {\n isArray,\n isBoolean,\n isNonEmptyArray,\n isNonEmptyObject,\n isObject,\n isString,\n} from '@sindresorhus/is';\nimport { dequal } from 'dequal';\nimport { logger } from '../logger/index.ts';\nimport { clone } from '../util/clone.ts';\nimport { regEx } from '../util/regex.ts';\nimport { MigrationsService } from './migrations/index.ts';\nimport { getOptions } from './options/index.ts';\nimport type {\n MigratedConfig,\n MigratedRenovateConfig,\n PackageRule,\n RenovateConfig,\n RenovateOptions,\n} from './types.ts';\nimport { mergeChildConfig } from './utils.ts';\n\nconst options = getOptions();\nexport function fixShortHours(input: string): string {\n return input.replace(regEx(/( \\d?\\d)((a|p)m)/g), '$1:00$2');\n}\n\nlet optionTypes: Record<string, RenovateOptions['type']>;\n// Returns a migrated config\nexport function migrateConfig(\n config: RenovateConfig,\n parentKey?: string,\n): MigratedConfig {\n try {\n if (!optionTypes) {\n optionTypes = {};\n options.forEach((option) => {\n optionTypes[option.name] = option.type;\n });\n }\n const newConfig = MigrationsService.run(config, parentKey);\n const migratedConfig = clone(newConfig) as MigratedRenovateConfig;\n\n for (const [key, val] of Object.entries(newConfig)) {\n if (isString(val) && val.includes('{{baseDir}}')) {\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = val.replace(\n regEx(/{{baseDir}}/g),\n '{{packageFileDir}}',\n );\n } else if (isString(val) && val.includes('{{lookupName}}')) {\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = val.replace(\n regEx(/{{lookupName}}/g),\n '{{packageName}}',\n );\n } else if (isString(val) && val.includes('{{depNameShort}}')) {\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = val.replace(\n regEx(/{{depNameShort}}/g),\n '{{depName}}',\n );\n } else if (isString(val) && val.startsWith('{{semanticPrefix}}')) {\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = val.replace(\n '{{semanticPrefix}}',\n '{{#if semanticCommitType}}{{semanticCommitType}}{{#if semanticCommitScope}}({{semanticCommitScope}}){{/if}}: {{/if}}',\n );\n } else if (optionTypes[key] === 'object' && isBoolean(val)) {\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = { enabled: val };\n } else if (optionTypes[key] === 'boolean') {\n if (val === 'true') {\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = true;\n } else if (val === 'false') {\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = false;\n }\n } else if (\n optionTypes[key] === 'string' &&\n isArray(val) &&\n val.length === 1\n ) {\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = String(val[0]);\n } else if (isArray(val)) {\n // @ts-expect-error -- TODO: fix me\n // v8 ignore else -- TODO: add test #40625\n if (isArray(migratedConfig?.[key])) {\n const newArray = [];\n // @ts-expect-error -- TODO: fix me\n for (const item of migratedConfig[key]) {\n if (isObject(item) && !isArray(item)) {\n const arrMigrate = migrateConfig(item as RenovateConfig);\n newArray.push(arrMigrate.migratedConfig);\n } else {\n newArray.push(item);\n }\n }\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = newArray;\n }\n } else if (isObject(val)) {\n const subMigrate = migrateConfig(\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] as RenovateConfig,\n key,\n );\n if (subMigrate.isMigrated) {\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = subMigrate.migratedConfig;\n }\n }\n\n const migratedTemplates = {\n fromVersion: 'currentVersion',\n newValueMajor: 'newMajor',\n newValueMinor: 'newMinor',\n newVersionMajor: 'newMajor',\n newVersionMinor: 'newMinor',\n toVersion: 'newVersion',\n };\n // @ts-expect-error -- TODO: fix me\n if (isString(migratedConfig[key])) {\n for (const [from, to] of Object.entries(migratedTemplates)) {\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = (migratedConfig[key] as string).replace(\n regEx(from, 'g'),\n to,\n );\n }\n }\n }\n const languages = [\n 'docker',\n 'dotnet',\n 'golang',\n 'java',\n 'js',\n 'node',\n 'php',\n 'python',\n 'ruby',\n 'rust',\n ];\n for (const language of languages) {\n // @ts-expect-error -- TODO: fix me\n if (isNonEmptyObject(migratedConfig[language])) {\n migratedConfig.packageRules ??= [];\n // @ts-expect-error -- TODO: fix me\n const currentContent = migratedConfig[language] as any;\n const packageRule = {\n matchCategories: [language],\n ...currentContent,\n };\n migratedConfig.packageRules.unshift(packageRule);\n // @ts-expect-error -- TODO: fix me\n delete migratedConfig[language];\n }\n }\n // Migrate nested packageRules\n if (isNonEmptyArray(migratedConfig.packageRules)) {\n const existingRules = migratedConfig.packageRules;\n migratedConfig.packageRules = [];\n for (const packageRule of existingRules) {\n // @ts-expect-error -- TODO: fix me\n if (isArray(packageRule.packageRules)) {\n logger.debug('Flattening nested packageRules');\n // merge each subrule and add to the parent list\n // @ts-expect-error -- TODO: fix me\n for (const subrule of packageRule.packageRules) {\n // TODO: fix types #22198\n const combinedRule = mergeChildConfig(\n packageRule,\n subrule as PackageRule,\n );\n // @ts-expect-error -- TODO: fix me\n delete combinedRule.packageRules;\n migratedConfig.packageRules.push(combinedRule);\n }\n } else {\n migratedConfig.packageRules.push(packageRule);\n }\n }\n }\n if (\n // @ts-expect-error -- TODO: fix me\n isNonEmptyObject(migratedConfig['pip-compile']) &&\n // @ts-expect-error -- TODO: fix me\n isNonEmptyArray(migratedConfig['pip-compile'].managerFilePatterns)\n ) {\n // @ts-expect-error -- TODO: fix me\n migratedConfig['pip-compile'].managerFilePatterns = migratedConfig[\n 'pip-compile'\n ].managerFilePatterns.map((filePattern) => {\n const pattern = filePattern as string;\n if (pattern.endsWith('.in')) {\n return pattern.replace(/\\.in$/, '.txt');\n }\n if (pattern.endsWith('.in/')) {\n return pattern.replace(/\\.in\\/$/, '.txt/');\n }\n return pattern.replace(/\\.in\\$\\/$/, '.txt$/');\n });\n }\n if (\n // @ts-expect-error -- TODO: fix me\n isNonEmptyArray(migratedConfig.matchManagers) &&\n // @ts-expect-error -- TODO: fix me\n migratedConfig.matchManagers.includes('gradle-lite')\n ) {\n // @ts-expect-error -- TODO: fix me\n // v8 ignore else -- TODO: add test #40625\n if (!migratedConfig.matchManagers.includes('gradle')) {\n // @ts-expect-error -- TODO: fix me\n migratedConfig.matchManagers.push('gradle');\n }\n // @ts-expect-error -- TODO: fix me\n migratedConfig.matchManagers = migratedConfig.matchManagers.filter(\n // @ts-expect-error -- TODO: fix me\n (manager) => manager !== 'gradle-lite',\n );\n }\n // @ts-expect-error -- TODO: fix me\n if (isNonEmptyObject(migratedConfig['gradle-lite'])) {\n migratedConfig.gradle = mergeChildConfig(\n migratedConfig.gradle ?? {},\n // @ts-expect-error -- TODO: fix me\n migratedConfig['gradle-lite'],\n );\n }\n // @ts-expect-error -- TODO: fix me\n delete migratedConfig['gradle-lite'];\n const isMigrated = !dequal(config, migratedConfig);\n if (isMigrated) {\n // recursive call in case any migrated configs need further migrating\n return {\n isMigrated,\n migratedConfig: migrateConfig(migratedConfig).migratedConfig,\n };\n }\n return { isMigrated, migratedConfig };\n } catch (err) {\n logger.debug({ config, err }, 'migrateConfig() error');\n throw err;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"migration.js","names":[],"sources":["../../lib/config/migration.ts"],"sourcesContent":["import {\n isArray,\n isBoolean,\n isNonEmptyArray,\n isNonEmptyObject,\n isObject,\n isString,\n} from '@sindresorhus/is';\nimport { dequal } from 'dequal';\nimport { logger } from '../logger/index.ts';\nimport { clone } from '../util/clone.ts';\nimport { regEx } from '../util/regex.ts';\nimport { MigrationsService } from './migrations/index.ts';\nimport { getOptions } from './options/index.ts';\nimport type {\n MigratedConfig,\n MigratedRenovateConfig,\n PackageRule,\n RenovateConfig,\n RenovateOptions,\n} from './types.ts';\nimport { mergeChildConfig } from './utils.ts';\n\nconst options = getOptions();\nexport function fixShortHours(input: string): string {\n return input.replace(regEx(/( \\d?\\d)((a|p)m)/g), '$1:00$2');\n}\n\nlet optionTypes: Record<string, RenovateOptions['type']>;\n// Returns a migrated config\nexport function migrateConfig(\n config: RenovateConfig,\n parentKey?: string,\n): MigratedConfig {\n try {\n if (!optionTypes) {\n optionTypes = {};\n options.forEach((option) => {\n optionTypes[option.name] = option.type;\n });\n }\n const newConfig = MigrationsService.run(config, parentKey);\n const migratedConfig = clone(newConfig) as MigratedRenovateConfig;\n\n for (const [key, val] of Object.entries(newConfig)) {\n if (isString(val) && val.includes('{{baseDir}}')) {\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = val.replace(\n regEx(/{{baseDir}}/g),\n '{{packageFileDir}}',\n );\n } else if (isString(val) && val.includes('{{lookupName}}')) {\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = val.replace(\n regEx(/{{lookupName}}/g),\n '{{packageName}}',\n );\n } else if (isString(val) && val.includes('{{depNameShort}}')) {\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = val.replace(\n regEx(/{{depNameShort}}/g),\n '{{depName}}',\n );\n } else if (isString(val) && val.startsWith('{{semanticPrefix}}')) {\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = val.replace(\n '{{semanticPrefix}}',\n '{{#if semanticCommitType}}{{semanticCommitType}}{{#if semanticCommitScope}}({{semanticCommitScope}}){{/if}}: {{/if}}',\n );\n } else if (optionTypes[key] === 'object' && isBoolean(val)) {\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = { enabled: val };\n } else if (optionTypes[key] === 'boolean') {\n if (val === 'true') {\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = true;\n } else if (val === 'false') {\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = false;\n }\n } else if (\n optionTypes[key] === 'string' &&\n isArray(val) &&\n val.length === 1\n ) {\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = String(val[0]);\n } else if (isArray(val)) {\n // @ts-expect-error -- TODO: fix me\n // v8 ignore else -- TODO: add test #40625\n if (isArray(migratedConfig?.[key])) {\n const newArray = [];\n // @ts-expect-error -- TODO: fix me\n for (const item of migratedConfig[key]) {\n if (isObject(item) && !isArray(item)) {\n const arrMigrate = migrateConfig(item);\n newArray.push(arrMigrate.migratedConfig);\n } else {\n newArray.push(item);\n }\n }\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = newArray;\n }\n } else if (isObject(val)) {\n const subMigrate = migrateConfig(\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] as RenovateConfig,\n key,\n );\n if (subMigrate.isMigrated) {\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = subMigrate.migratedConfig;\n }\n }\n\n const migratedTemplates = {\n fromVersion: 'currentVersion',\n newValueMajor: 'newMajor',\n newValueMinor: 'newMinor',\n newVersionMajor: 'newMajor',\n newVersionMinor: 'newMinor',\n toVersion: 'newVersion',\n };\n // @ts-expect-error -- TODO: fix me\n if (isString(migratedConfig[key])) {\n for (const [from, to] of Object.entries(migratedTemplates)) {\n // @ts-expect-error -- TODO: fix me\n migratedConfig[key] = (migratedConfig[key] as string).replace(\n regEx(from, 'g'),\n to,\n );\n }\n }\n }\n const languages = [\n 'docker',\n 'dotnet',\n 'golang',\n 'java',\n 'js',\n 'node',\n 'php',\n 'python',\n 'ruby',\n 'rust',\n ];\n for (const language of languages) {\n // @ts-expect-error -- TODO: fix me\n if (isNonEmptyObject(migratedConfig[language])) {\n migratedConfig.packageRules ??= [];\n // @ts-expect-error -- TODO: fix me\n const currentContent = migratedConfig[language] as any;\n const packageRule = {\n matchCategories: [language],\n ...currentContent,\n };\n migratedConfig.packageRules.unshift(packageRule);\n // @ts-expect-error -- TODO: fix me\n delete migratedConfig[language];\n }\n }\n // Migrate nested packageRules\n if (isNonEmptyArray(migratedConfig.packageRules)) {\n const existingRules = migratedConfig.packageRules;\n migratedConfig.packageRules = [];\n for (const packageRule of existingRules) {\n // @ts-expect-error -- TODO: fix me\n if (isArray(packageRule.packageRules)) {\n logger.debug('Flattening nested packageRules');\n // merge each subrule and add to the parent list\n // @ts-expect-error -- TODO: fix me\n for (const subrule of packageRule.packageRules) {\n // TODO: fix types #22198\n const combinedRule = mergeChildConfig(\n packageRule,\n subrule as PackageRule,\n );\n // @ts-expect-error -- TODO: fix me\n delete combinedRule.packageRules;\n migratedConfig.packageRules.push(combinedRule);\n }\n } else {\n migratedConfig.packageRules.push(packageRule);\n }\n }\n }\n if (\n // @ts-expect-error -- TODO: fix me\n isNonEmptyObject(migratedConfig['pip-compile']) &&\n // @ts-expect-error -- TODO: fix me\n isNonEmptyArray(migratedConfig['pip-compile'].managerFilePatterns)\n ) {\n // @ts-expect-error -- TODO: fix me\n migratedConfig['pip-compile'].managerFilePatterns = migratedConfig[\n 'pip-compile'\n ].managerFilePatterns.map((filePattern) => {\n const pattern = filePattern as string;\n if (pattern.endsWith('.in')) {\n return pattern.replace(/\\.in$/, '.txt');\n }\n if (pattern.endsWith('.in/')) {\n return pattern.replace(/\\.in\\/$/, '.txt/');\n }\n return pattern.replace(/\\.in\\$\\/$/, '.txt$/');\n });\n }\n if (\n // @ts-expect-error -- TODO: fix me\n isNonEmptyArray(migratedConfig.matchManagers) &&\n // @ts-expect-error -- TODO: fix me\n migratedConfig.matchManagers.includes('gradle-lite')\n ) {\n // @ts-expect-error -- TODO: fix me\n // v8 ignore else -- TODO: add test #40625\n if (!migratedConfig.matchManagers.includes('gradle')) {\n // @ts-expect-error -- TODO: fix me\n migratedConfig.matchManagers.push('gradle');\n }\n // @ts-expect-error -- TODO: fix me\n migratedConfig.matchManagers = migratedConfig.matchManagers.filter(\n // @ts-expect-error -- TODO: fix me\n (manager) => manager !== 'gradle-lite',\n );\n }\n // @ts-expect-error -- TODO: fix me\n if (isNonEmptyObject(migratedConfig['gradle-lite'])) {\n migratedConfig.gradle = mergeChildConfig(\n migratedConfig.gradle ?? {},\n // @ts-expect-error -- TODO: fix me\n migratedConfig['gradle-lite'],\n );\n }\n // @ts-expect-error -- TODO: fix me\n delete migratedConfig['gradle-lite'];\n const isMigrated = !dequal(config, migratedConfig);\n if (isMigrated) {\n // recursive call in case any migrated configs need further migrating\n return {\n isMigrated,\n migratedConfig: migrateConfig(migratedConfig).migratedConfig,\n };\n }\n return { isMigrated, migratedConfig };\n } catch (err) {\n logger.debug({ config, err }, 'migrateConfig() error');\n throw err;\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compatibility-migration.js","names":[],"sources":["../../../../lib/config/migrations/custom/compatibility-migration.ts"],"sourcesContent":["import { isObject } from '@sindresorhus/is';\nimport { AbstractMigration } from '../base/abstract-migration.ts';\n\nexport class CompatibilityMigration extends AbstractMigration {\n override readonly deprecated = true;\n override readonly propertyName = 'compatibility';\n\n override run(value: unknown): void {\n if (isObject(value)) {\n this.setSafely('constraints', value as Record<string, string>);\n }\n }\n}\n"],"mappings":";;;AAGA,IAAa,yBAAb,cAA4C,kBAAkB;CAC5D,aAA+B;CAC/B,eAAiC;CAEjC,IAAa,OAAsB;EACjC,IAAI,SAAS,KAAK,GAChB,KAAK,UAAU,eAAe,KAA+B;CAEjE;AACF"}
1
+ {"version":3,"file":"compatibility-migration.js","names":[],"sources":["../../../../lib/config/migrations/custom/compatibility-migration.ts"],"sourcesContent":["import { isObject } from '@sindresorhus/is';\nimport { AbstractMigration } from '../base/abstract-migration.ts';\n\nexport class CompatibilityMigration extends AbstractMigration {\n override readonly deprecated = true;\n override readonly propertyName = 'compatibility';\n\n override run(value: unknown): void {\n if (isObject(value)) {\n this.setSafely('constraints', value);\n }\n }\n}\n"],"mappings":";;;AAGA,IAAa,yBAAb,cAA4C,kBAAkB;CAC5D,aAA+B;CAC/B,eAAiC;CAEjC,IAAa,OAAsB;EACjC,IAAI,SAAS,KAAK,GAChB,KAAK,UAAU,eAAe,KAAK;CAEvC;AACF"}
@@ -656,7 +656,7 @@ const options = [
656
656
  name: "dockerSidecarImage",
657
657
  description: "Change this value to override the default Renovate sidecar image.",
658
658
  type: "string",
659
- default: "ghcr.io/renovatebot/base-image:13.77.8",
659
+ default: "ghcr.io/renovatebot/base-image:13.77.9",
660
660
  globalOnly: true,
661
661
  deprecationMsg: "The usage of `binarySource=docker` is deprecated, and will be removed in the future"
662
662
  },