renovate 44.231.0 → 44.232.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.
@@ -0,0 +1,38 @@
1
+ import { AbstractMigration } from "../base/abstract-migration.js";
2
+ import { isBoolean, isNullOrUndefined, isPlainObject } from "@sindresorhus/is";
3
+ // lib/config/migrations/custom/dependency-dashboard-migration.ts
4
+ const dependencyDashboardFields = {
5
+ customizeDashboard: "customize",
6
+ dependencyDashboardAutoclose: "autoclose",
7
+ dependencyDashboardFooter: "footer",
8
+ dependencyDashboardHeader: "header",
9
+ dependencyDashboardLabels: "labels",
10
+ dependencyDashboardOSVVulnerabilitySummary: "osvVulnerabilitySummary",
11
+ dependencyDashboardReportAbandonment: "reportAbandonment",
12
+ dependencyDashboardTitle: "title"
13
+ };
14
+ /**
15
+ * Converts a `dependencyDashboard` value from before it was an object, including the strings which were accepted for the boolean.
16
+ *
17
+ * Returns `undefined` for a value which can't be converted, so it's left for validation to report.
18
+ */
19
+ function toObject(value) {
20
+ if (isNullOrUndefined(value)) return {};
21
+ if (isPlainObject(value)) return { ...value };
22
+ if (isBoolean(value) || value === "true" || value === "false") return { enabled: value === true || value === "true" };
23
+ }
24
+ var DependencyDashboardMigration = class extends AbstractMigration {
25
+ propertyName = /^(?:customizeDashboard|dependencyDashboard(?:Autoclose|Footer|Header|Labels|OSVVulnerabilitySummary|ReportAbandonment|Title)?)$/;
26
+ run(value, key) {
27
+ const dependencyDashboard = toObject(this.get("dependencyDashboard"));
28
+ if (!dependencyDashboard) return;
29
+ if (key !== "dependencyDashboard") {
30
+ dependencyDashboard[dependencyDashboardFields[key]] ??= value;
31
+ this.delete(key);
32
+ }
33
+ this.setHard("dependencyDashboard", dependencyDashboard);
34
+ }
35
+ };
36
+ export { DependencyDashboardMigration };
37
+
38
+ //# sourceMappingURL=dependency-dashboard-migration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-dashboard-migration.js","names":[],"sources":["../../../../lib/config/migrations/custom/dependency-dashboard-migration.ts"],"sourcesContent":["import { isBoolean, isNullOrUndefined, isPlainObject } from '@sindresorhus/is';\nimport type { DependencyDashboardConfig } from '../../types.ts';\nimport { AbstractMigration } from '../base/abstract-migration.ts';\n\nconst dependencyDashboardFields: Record<\n string,\n keyof DependencyDashboardConfig\n> = {\n customizeDashboard: 'customize',\n dependencyDashboardAutoclose: 'autoclose',\n dependencyDashboardFooter: 'footer',\n dependencyDashboardHeader: 'header',\n dependencyDashboardLabels: 'labels',\n dependencyDashboardOSVVulnerabilitySummary: 'osvVulnerabilitySummary',\n dependencyDashboardReportAbandonment: 'reportAbandonment',\n dependencyDashboardTitle: 'title',\n};\n\n/**\n * Converts a `dependencyDashboard` value from before it was an object, including the strings which were accepted for the boolean.\n *\n * Returns `undefined` for a value which can't be converted, so it's left for validation to report.\n */\nfunction toObject(value: unknown): Record<string, unknown> | undefined {\n if (isNullOrUndefined(value)) {\n return {};\n }\n if (isPlainObject(value)) {\n return { ...value };\n }\n if (isBoolean(value) || value === 'true' || value === 'false') {\n return { enabled: value === true || value === 'true' };\n }\n return undefined;\n}\n\nexport class DependencyDashboardMigration extends AbstractMigration {\n override readonly propertyName =\n // oxlint-disable-next-line renovate/require-regex-util -- must stay a native RegExp: MigrationsService matches propertyName via isRegExp(), which RE2 instances fail\n /^(?:customizeDashboard|dependencyDashboard(?:Autoclose|Footer|Header|Labels|OSVVulnerabilitySummary|ReportAbandonment|Title)?)$/;\n\n override run(value: unknown, key: string): void {\n const dependencyDashboard = toObject(this.get('dependencyDashboard'));\n if (!dependencyDashboard) {\n return;\n }\n\n if (key !== 'dependencyDashboard') {\n dependencyDashboard[dependencyDashboardFields[key]] ??= value;\n this.delete(key);\n }\n this.setHard('dependencyDashboard', dependencyDashboard);\n }\n}\n"],"mappings":";;;AAIA,MAAM,4BAGF;CACF,oBAAoB;CACpB,8BAA8B;CAC9B,2BAA2B;CAC3B,2BAA2B;CAC3B,2BAA2B;CAC3B,4CAA4C;CAC5C,sCAAsC;CACtC,0BAA0B;AAC5B;;;;;;AAOA,SAAS,SAAS,OAAqD;CACrE,IAAI,kBAAkB,KAAK,GACzB,OAAO,CAAC;CAEV,IAAI,cAAc,KAAK,GACrB,OAAO,EAAE,GAAG,MAAM;CAEpB,IAAI,UAAU,KAAK,KAAK,UAAU,UAAU,UAAU,SACpD,OAAO,EAAE,SAAS,UAAU,QAAQ,UAAU,OAAO;AAGzD;AAEA,IAAa,+BAAb,cAAkD,kBAAkB;CAClE,eAEE;CAEF,IAAa,OAAgB,KAAmB;EAC9C,MAAM,sBAAsB,SAAS,KAAK,IAAI,qBAAqB,CAAC;EACpE,IAAI,CAAC,qBACH;EAGF,IAAI,QAAQ,uBAAuB;GACjC,oBAAoB,0BAA0B,UAAU;GACxD,KAAK,OAAO,GAAG;EACjB;EACA,KAAK,QAAQ,uBAAuB,mBAAmB;CACzD;AACF"}
@@ -16,6 +16,7 @@ import { ConstraintsMigration } from "./custom/constraints-migration.js";
16
16
  import { CustomManagersMigration } from "./custom/custom-managers-migration.js";
17
17
  import { DatasourceMigration } from "./custom/datasource-migration.js";
18
18
  import { DepTypesMigration } from "./custom/dep-types-migration.js";
19
+ import { DependencyDashboardMigration } from "./custom/dependency-dashboard-migration.js";
19
20
  import { DryRunMigration } from "./custom/dry-run-migration.js";
20
21
  import { EnabledManagersMigration } from "./custom/enabled-managers-migration.js";
21
22
  import { ExtendsMigration } from "./custom/extends-migration.js";
@@ -166,7 +167,8 @@ var MigrationsService = class MigrationsService {
166
167
  PlatformCommitMigration,
167
168
  FileMatchMigration,
168
169
  UpdateLockFilesMigration,
169
- ConstraintsMigration
170
+ ConstraintsMigration,
171
+ DependencyDashboardMigration
170
172
  ];
171
173
  static run(originalConfig, parentKey) {
172
174
  const migratedConfig = {};
@@ -1 +1 @@
1
- {"version":3,"file":"migrations-service.js","names":[],"sources":["../../../lib/config/migrations/migrations-service.ts"],"sourcesContent":["import { isRegExp } from '@sindresorhus/is';\nimport { dequal } from 'dequal';\nimport type { RenovateConfig } from '../types.ts';\nimport { RemovePropertyMigration } from './base/remove-property-migration.ts';\nimport { RenamePropertyMigration } from './base/rename-property-migration.ts';\nimport { AutomergeMajorMigration } from './custom/automerge-major-migration.ts';\nimport { AutomergeMigration } from './custom/automerge-migration.ts';\nimport { AutomergeMinorMigration } from './custom/automerge-minor-migration.ts';\nimport { AutomergePatchMigration } from './custom/automerge-patch-migration.ts';\nimport { AutomergeTypeMigration } from './custom/automerge-type-migration.ts';\nimport { AzureGitLabAutomergeMigration } from './custom/azure-gitlab-automerge-migration.ts';\nimport { BaseBranchMigration } from './custom/base-branch-migration.ts';\nimport { BinarySourceMigration } from './custom/binary-source-migration.ts';\nimport { BranchNameMigration } from './custom/branch-name-migration.ts';\nimport { BranchPrefixMigration } from './custom/branch-prefix-migration.ts';\nimport { CompatibilityMigration } from './custom/compatibility-migration.ts';\nimport { ComposerIgnorePlatformReqsMigration } from './custom/composer-ignore-platform-reqs-migration.ts';\nimport { ConstraintsMigration } from './custom/constraints-migration.ts';\nimport { CustomManagersMigration } from './custom/custom-managers-migration.ts';\nimport { DatasourceMigration } from './custom/datasource-migration.ts';\nimport { DepTypesMigration } from './custom/dep-types-migration.ts';\nimport { DryRunMigration } from './custom/dry-run-migration.ts';\nimport { EnabledManagersMigration } from './custom/enabled-managers-migration.ts';\nimport { ExtendsMigration } from './custom/extends-migration.ts';\nimport { FetchReleaseNotesMigration } from './custom/fetch-release-notes-migration.ts';\nimport { FileMatchMigration } from './custom/file-match-migration.ts';\nimport { GoModTidyMigration } from './custom/go-mod-tidy-migration.ts';\nimport { HostRulesMigration } from './custom/host-rules-migration.ts';\nimport { IgnoreNodeModulesMigration } from './custom/ignore-node-modules-migration.ts';\nimport { IgnoreNpmrcFileMigration } from './custom/ignore-npmrc-file-migration.ts';\nimport { IncludeForksMigration } from './custom/include-forks-migration.ts';\nimport { MatchDatasourcesMigration } from './custom/match-datasources-migration.ts';\nimport { MatchManagersMigration } from './custom/match-managers-migration.ts';\nimport { MatchStringsMigration } from './custom/match-strings-migration.ts';\nimport { NodeMigration } from './custom/node-migration.ts';\nimport { PackageFilesMigration } from './custom/package-files-migration.ts';\nimport { PackageNameMigration } from './custom/package-name-migration.ts';\nimport { PackagePatternMigration } from './custom/package-pattern-migration.ts';\nimport { PackageRulesMigration } from './custom/package-rules-migration.ts';\nimport { PackagesMigration } from './custom/packages-migration.ts';\nimport { PathRulesMigration } from './custom/path-rules-migration.ts';\nimport { PinVersionsMigration } from './custom/pin-versions-migration.ts';\nimport { PlatformCommitMigration } from './custom/platform-commit-migration.ts';\nimport { PostUpdateOptionsMigration } from './custom/post-update-options-migration.ts';\nimport { RebaseConflictedPrs } from './custom/rebase-conflicted-prs-migration.ts';\nimport { RebaseStalePrsMigration } from './custom/rebase-stale-prs-migration.ts';\nimport { RecreateClosedMigration } from './custom/recreate-closed-migration.ts';\nimport { RenovateForkMigration } from './custom/renovate-fork-migration.ts';\nimport { RequireConfigMigration } from './custom/require-config-migration.ts';\nimport { RequiredStatusChecksMigration } from './custom/required-status-checks-migration.ts';\nimport { ScheduleMigration } from './custom/schedule-migration.ts';\nimport { SemanticCommitsMigration } from './custom/semantic-commits-migration.ts';\nimport { SemanticPrefixMigration } from './custom/semantic-prefix-migration.ts';\nimport { SeparateMajorReleasesMigration } from './custom/separate-major-release-migration.ts';\nimport { SeparateMultipleMajorMigration } from './custom/separate-multiple-major-migration.ts';\nimport { StabilityDaysMigration } from './custom/stability-days-migration.ts';\nimport { SuppressNotificationsMigration } from './custom/suppress-notifications-migration.ts';\nimport { TrustLevelMigration } from './custom/trust-level-migration.ts';\nimport { UnpublishSafeMigration } from './custom/unpublish-safe-migration.ts';\nimport { UpdateLockFilesMigration } from './custom/update-lock-files-migration.ts';\nimport { UpgradeInRangeMigration } from './custom/upgrade-in-range-migration.ts';\nimport { VersionStrategyMigration } from './custom/version-strategy-migration.ts';\nimport type {\n MigratableConfig,\n Migration,\n MigrationConstructor,\n} from './types.ts';\n\nexport class MigrationsService {\n static readonly removedProperties: ReadonlySet<string> = new Set([\n 'allowCommandTemplating',\n 'allowPostUpgradeCommandTemplating',\n 'deepExtract',\n 'gitFs',\n 'groupBranchName',\n 'groupCommitMessage',\n 'groupPrBody',\n 'groupPrTitle',\n 'lazyGrouping',\n 'maintainYarnLock',\n 'raiseDeprecationWarnings',\n 'statusCheckVerify',\n 'supportPolicy',\n 'transitiveRemediation',\n 'yarnCacheFolder',\n 'yarnMaintenanceBranchName',\n 'yarnMaintenanceCommitMessage',\n 'yarnMaintenancePrBody',\n 'yarnMaintenancePrTitle',\n ]);\n\n static readonly renamedProperties: ReadonlyMap<string, string> = new Map([\n ['adoptium-java', 'java-version'],\n ['allowCustomCrateRegistries', 'allowCustomCrateGitRegistries'],\n ['allowedPostUpgradeCommands', 'allowedCommands'],\n ['azureAutoApprove', 'autoApprove'],\n ['customChangelogUrl', 'changelogUrl'],\n ['endpoints', 'hostRules'],\n ['excludedPackageNames', 'excludePackageNames'],\n ['exposeEnv', 'exposeAllEnv'],\n ['keepalive', 'keepAlive'],\n ['managerBranchPrefix', 'additionalBranchPrefix'],\n ['multipleMajorPrs', 'separateMultipleMajor'],\n ['separatePatchReleases', 'separateMinorPatch'],\n ['versionScheme', 'versioning'],\n ['lookupNameTemplate', 'packageNameTemplate'],\n ['aliases', 'registryAliases'],\n ['masterIssue', 'dependencyDashboard'],\n ['masterIssueApproval', 'dependencyDashboardApproval'],\n ['masterIssueAutoclose', 'dependencyDashboardAutoclose'],\n ['masterIssueHeader', 'dependencyDashboardHeader'],\n ['masterIssueFooter', 'dependencyDashboardFooter'],\n ['masterIssueTitle', 'dependencyDashboardTitle'],\n ['masterIssueLabels', 'dependencyDashboardLabels'],\n ['regexManagers', 'customManagers'],\n ['baseBranches', 'baseBranchPatterns'],\n ['renovate-config-presets', 'renovate-config'],\n ]);\n\n static readonly customMigrations: readonly MigrationConstructor[] = [\n AutomergeMajorMigration,\n AutomergeMigration,\n AutomergeMinorMigration,\n AutomergePatchMigration,\n AutomergeTypeMigration,\n AzureGitLabAutomergeMigration,\n BaseBranchMigration,\n BinarySourceMigration,\n BranchNameMigration,\n BranchPrefixMigration,\n CompatibilityMigration,\n ComposerIgnorePlatformReqsMigration,\n EnabledManagersMigration,\n ExtendsMigration,\n GoModTidyMigration,\n HostRulesMigration,\n IgnoreNodeModulesMigration,\n IgnoreNpmrcFileMigration,\n IncludeForksMigration,\n MatchStringsMigration,\n PackageNameMigration,\n PackagePatternMigration,\n PackagesMigration,\n PathRulesMigration,\n PinVersionsMigration,\n PostUpdateOptionsMigration,\n RebaseConflictedPrs,\n RebaseStalePrsMigration,\n RenovateForkMigration,\n RequiredStatusChecksMigration,\n ScheduleMigration,\n SemanticCommitsMigration,\n SeparateMajorReleasesMigration,\n SeparateMultipleMajorMigration,\n SuppressNotificationsMigration,\n TrustLevelMigration,\n UnpublishSafeMigration,\n UpgradeInRangeMigration,\n VersionStrategyMigration,\n DryRunMigration,\n RequireConfigMigration,\n PackageFilesMigration,\n DepTypesMigration,\n PackageRulesMigration,\n NodeMigration,\n SemanticPrefixMigration,\n MatchDatasourcesMigration,\n DatasourceMigration,\n RecreateClosedMigration,\n StabilityDaysMigration,\n FetchReleaseNotesMigration,\n MatchManagersMigration,\n CustomManagersMigration,\n PlatformCommitMigration,\n FileMatchMigration,\n UpdateLockFilesMigration,\n ConstraintsMigration,\n ];\n\n static run(\n originalConfig: MigratableConfig,\n parentKey?: string,\n ): RenovateConfig {\n const migratedConfig: RenovateConfig = {};\n const migrations = this.getMigrations(originalConfig, migratedConfig);\n\n for (const [key, value] of Object.entries(originalConfig) as [\n keyof RenovateConfig,\n unknown,\n ][]) {\n // @ts-expect-error -- can't be narrowed\n migratedConfig[key] ??= value;\n const migration = MigrationsService.getMigration(migrations, key);\n\n if (migration) {\n migration.run(value, key, parentKey);\n\n if (migration.deprecated) {\n delete migratedConfig[key];\n }\n }\n }\n\n return migratedConfig;\n }\n\n static isMigrated(\n originalConfig: MigratableConfig,\n migratedConfig: RenovateConfig,\n ): boolean {\n return !dequal(originalConfig, migratedConfig);\n }\n\n public static getMigrations(\n originalConfig: MigratableConfig,\n migratedConfig: RenovateConfig,\n ): readonly Migration[] {\n const migrations: Migration[] = [];\n\n for (const propertyName of MigrationsService.removedProperties) {\n migrations.push(\n new RemovePropertyMigration(\n propertyName,\n originalConfig,\n migratedConfig,\n ),\n );\n }\n\n for (const [\n oldPropertyName,\n newPropertyName,\n ] of MigrationsService.renamedProperties.entries()) {\n migrations.push(\n new RenamePropertyMigration(\n oldPropertyName,\n newPropertyName,\n originalConfig,\n migratedConfig,\n ),\n );\n }\n\n for (const CustomMigration of this.customMigrations) {\n migrations.push(new CustomMigration(originalConfig, migratedConfig));\n }\n\n return migrations;\n }\n\n private static getMigration(\n migrations: readonly Migration[],\n key: string,\n ): Migration | undefined {\n return migrations.find((migration) => {\n if (isRegExp(migration.propertyName)) {\n return migration.propertyName.test(key);\n }\n\n return migration.propertyName === key;\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"migrations-service.js","names":[],"sources":["../../../lib/config/migrations/migrations-service.ts"],"sourcesContent":["import { isRegExp } from '@sindresorhus/is';\nimport { dequal } from 'dequal';\nimport type { RenovateConfig } from '../types.ts';\nimport { RemovePropertyMigration } from './base/remove-property-migration.ts';\nimport { RenamePropertyMigration } from './base/rename-property-migration.ts';\nimport { AutomergeMajorMigration } from './custom/automerge-major-migration.ts';\nimport { AutomergeMigration } from './custom/automerge-migration.ts';\nimport { AutomergeMinorMigration } from './custom/automerge-minor-migration.ts';\nimport { AutomergePatchMigration } from './custom/automerge-patch-migration.ts';\nimport { AutomergeTypeMigration } from './custom/automerge-type-migration.ts';\nimport { AzureGitLabAutomergeMigration } from './custom/azure-gitlab-automerge-migration.ts';\nimport { BaseBranchMigration } from './custom/base-branch-migration.ts';\nimport { BinarySourceMigration } from './custom/binary-source-migration.ts';\nimport { BranchNameMigration } from './custom/branch-name-migration.ts';\nimport { BranchPrefixMigration } from './custom/branch-prefix-migration.ts';\nimport { CompatibilityMigration } from './custom/compatibility-migration.ts';\nimport { ComposerIgnorePlatformReqsMigration } from './custom/composer-ignore-platform-reqs-migration.ts';\nimport { ConstraintsMigration } from './custom/constraints-migration.ts';\nimport { CustomManagersMigration } from './custom/custom-managers-migration.ts';\nimport { DatasourceMigration } from './custom/datasource-migration.ts';\nimport { DepTypesMigration } from './custom/dep-types-migration.ts';\nimport { DependencyDashboardMigration } from './custom/dependency-dashboard-migration.ts';\nimport { DryRunMigration } from './custom/dry-run-migration.ts';\nimport { EnabledManagersMigration } from './custom/enabled-managers-migration.ts';\nimport { ExtendsMigration } from './custom/extends-migration.ts';\nimport { FetchReleaseNotesMigration } from './custom/fetch-release-notes-migration.ts';\nimport { FileMatchMigration } from './custom/file-match-migration.ts';\nimport { GoModTidyMigration } from './custom/go-mod-tidy-migration.ts';\nimport { HostRulesMigration } from './custom/host-rules-migration.ts';\nimport { IgnoreNodeModulesMigration } from './custom/ignore-node-modules-migration.ts';\nimport { IgnoreNpmrcFileMigration } from './custom/ignore-npmrc-file-migration.ts';\nimport { IncludeForksMigration } from './custom/include-forks-migration.ts';\nimport { MatchDatasourcesMigration } from './custom/match-datasources-migration.ts';\nimport { MatchManagersMigration } from './custom/match-managers-migration.ts';\nimport { MatchStringsMigration } from './custom/match-strings-migration.ts';\nimport { NodeMigration } from './custom/node-migration.ts';\nimport { PackageFilesMigration } from './custom/package-files-migration.ts';\nimport { PackageNameMigration } from './custom/package-name-migration.ts';\nimport { PackagePatternMigration } from './custom/package-pattern-migration.ts';\nimport { PackageRulesMigration } from './custom/package-rules-migration.ts';\nimport { PackagesMigration } from './custom/packages-migration.ts';\nimport { PathRulesMigration } from './custom/path-rules-migration.ts';\nimport { PinVersionsMigration } from './custom/pin-versions-migration.ts';\nimport { PlatformCommitMigration } from './custom/platform-commit-migration.ts';\nimport { PostUpdateOptionsMigration } from './custom/post-update-options-migration.ts';\nimport { RebaseConflictedPrs } from './custom/rebase-conflicted-prs-migration.ts';\nimport { RebaseStalePrsMigration } from './custom/rebase-stale-prs-migration.ts';\nimport { RecreateClosedMigration } from './custom/recreate-closed-migration.ts';\nimport { RenovateForkMigration } from './custom/renovate-fork-migration.ts';\nimport { RequireConfigMigration } from './custom/require-config-migration.ts';\nimport { RequiredStatusChecksMigration } from './custom/required-status-checks-migration.ts';\nimport { ScheduleMigration } from './custom/schedule-migration.ts';\nimport { SemanticCommitsMigration } from './custom/semantic-commits-migration.ts';\nimport { SemanticPrefixMigration } from './custom/semantic-prefix-migration.ts';\nimport { SeparateMajorReleasesMigration } from './custom/separate-major-release-migration.ts';\nimport { SeparateMultipleMajorMigration } from './custom/separate-multiple-major-migration.ts';\nimport { StabilityDaysMigration } from './custom/stability-days-migration.ts';\nimport { SuppressNotificationsMigration } from './custom/suppress-notifications-migration.ts';\nimport { TrustLevelMigration } from './custom/trust-level-migration.ts';\nimport { UnpublishSafeMigration } from './custom/unpublish-safe-migration.ts';\nimport { UpdateLockFilesMigration } from './custom/update-lock-files-migration.ts';\nimport { UpgradeInRangeMigration } from './custom/upgrade-in-range-migration.ts';\nimport { VersionStrategyMigration } from './custom/version-strategy-migration.ts';\nimport type {\n MigratableConfig,\n Migration,\n MigrationConstructor,\n} from './types.ts';\n\nexport class MigrationsService {\n static readonly removedProperties: ReadonlySet<string> = new Set([\n 'allowCommandTemplating',\n 'allowPostUpgradeCommandTemplating',\n 'deepExtract',\n 'gitFs',\n 'groupBranchName',\n 'groupCommitMessage',\n 'groupPrBody',\n 'groupPrTitle',\n 'lazyGrouping',\n 'maintainYarnLock',\n 'raiseDeprecationWarnings',\n 'statusCheckVerify',\n 'supportPolicy',\n 'transitiveRemediation',\n 'yarnCacheFolder',\n 'yarnMaintenanceBranchName',\n 'yarnMaintenanceCommitMessage',\n 'yarnMaintenancePrBody',\n 'yarnMaintenancePrTitle',\n ]);\n\n static readonly renamedProperties: ReadonlyMap<string, string> = new Map([\n ['adoptium-java', 'java-version'],\n ['allowCustomCrateRegistries', 'allowCustomCrateGitRegistries'],\n ['allowedPostUpgradeCommands', 'allowedCommands'],\n ['azureAutoApprove', 'autoApprove'],\n ['customChangelogUrl', 'changelogUrl'],\n ['endpoints', 'hostRules'],\n ['excludedPackageNames', 'excludePackageNames'],\n ['exposeEnv', 'exposeAllEnv'],\n ['keepalive', 'keepAlive'],\n ['managerBranchPrefix', 'additionalBranchPrefix'],\n ['multipleMajorPrs', 'separateMultipleMajor'],\n ['separatePatchReleases', 'separateMinorPatch'],\n ['versionScheme', 'versioning'],\n ['lookupNameTemplate', 'packageNameTemplate'],\n ['aliases', 'registryAliases'],\n ['masterIssue', 'dependencyDashboard'],\n ['masterIssueApproval', 'dependencyDashboardApproval'],\n ['masterIssueAutoclose', 'dependencyDashboardAutoclose'],\n ['masterIssueHeader', 'dependencyDashboardHeader'],\n ['masterIssueFooter', 'dependencyDashboardFooter'],\n ['masterIssueTitle', 'dependencyDashboardTitle'],\n ['masterIssueLabels', 'dependencyDashboardLabels'],\n ['regexManagers', 'customManagers'],\n ['baseBranches', 'baseBranchPatterns'],\n ['renovate-config-presets', 'renovate-config'],\n ]);\n\n static readonly customMigrations: readonly MigrationConstructor[] = [\n AutomergeMajorMigration,\n AutomergeMigration,\n AutomergeMinorMigration,\n AutomergePatchMigration,\n AutomergeTypeMigration,\n AzureGitLabAutomergeMigration,\n BaseBranchMigration,\n BinarySourceMigration,\n BranchNameMigration,\n BranchPrefixMigration,\n CompatibilityMigration,\n ComposerIgnorePlatformReqsMigration,\n EnabledManagersMigration,\n ExtendsMigration,\n GoModTidyMigration,\n HostRulesMigration,\n IgnoreNodeModulesMigration,\n IgnoreNpmrcFileMigration,\n IncludeForksMigration,\n MatchStringsMigration,\n PackageNameMigration,\n PackagePatternMigration,\n PackagesMigration,\n PathRulesMigration,\n PinVersionsMigration,\n PostUpdateOptionsMigration,\n RebaseConflictedPrs,\n RebaseStalePrsMigration,\n RenovateForkMigration,\n RequiredStatusChecksMigration,\n ScheduleMigration,\n SemanticCommitsMigration,\n SeparateMajorReleasesMigration,\n SeparateMultipleMajorMigration,\n SuppressNotificationsMigration,\n TrustLevelMigration,\n UnpublishSafeMigration,\n UpgradeInRangeMigration,\n VersionStrategyMigration,\n DryRunMigration,\n RequireConfigMigration,\n PackageFilesMigration,\n DepTypesMigration,\n PackageRulesMigration,\n NodeMigration,\n SemanticPrefixMigration,\n MatchDatasourcesMigration,\n DatasourceMigration,\n RecreateClosedMigration,\n StabilityDaysMigration,\n FetchReleaseNotesMigration,\n MatchManagersMigration,\n CustomManagersMigration,\n PlatformCommitMigration,\n FileMatchMigration,\n UpdateLockFilesMigration,\n ConstraintsMigration,\n DependencyDashboardMigration,\n ];\n\n static run(\n originalConfig: MigratableConfig,\n parentKey?: string,\n ): RenovateConfig {\n const migratedConfig: RenovateConfig = {};\n const migrations = this.getMigrations(originalConfig, migratedConfig);\n\n for (const [key, value] of Object.entries(originalConfig) as [\n keyof RenovateConfig,\n unknown,\n ][]) {\n // @ts-expect-error -- can't be narrowed\n migratedConfig[key] ??= value;\n const migration = MigrationsService.getMigration(migrations, key);\n\n if (migration) {\n migration.run(value, key, parentKey);\n\n if (migration.deprecated) {\n delete migratedConfig[key];\n }\n }\n }\n\n return migratedConfig;\n }\n\n static isMigrated(\n originalConfig: MigratableConfig,\n migratedConfig: RenovateConfig,\n ): boolean {\n return !dequal(originalConfig, migratedConfig);\n }\n\n public static getMigrations(\n originalConfig: MigratableConfig,\n migratedConfig: RenovateConfig,\n ): readonly Migration[] {\n const migrations: Migration[] = [];\n\n for (const propertyName of MigrationsService.removedProperties) {\n migrations.push(\n new RemovePropertyMigration(\n propertyName,\n originalConfig,\n migratedConfig,\n ),\n );\n }\n\n for (const [\n oldPropertyName,\n newPropertyName,\n ] of MigrationsService.renamedProperties.entries()) {\n migrations.push(\n new RenamePropertyMigration(\n oldPropertyName,\n newPropertyName,\n originalConfig,\n migratedConfig,\n ),\n );\n }\n\n for (const CustomMigration of this.customMigrations) {\n migrations.push(new CustomMigration(originalConfig, migratedConfig));\n }\n\n return migrations;\n }\n\n private static getMigration(\n migrations: readonly Migration[],\n key: string,\n ): Migration | undefined {\n return migrations.find((migration) => {\n if (isRegExp(migration.propertyName)) {\n return migration.propertyName.test(key);\n }\n\n return migration.propertyName === key;\n });\n }\n}\n"],"mappings":"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"}
@@ -549,7 +549,11 @@ const options = [
549
549
  "manager",
550
550
  "updateType"
551
551
  ],
552
- parents: ["hostRules", "vulnerabilityAlerts"]
552
+ parents: [
553
+ "dependencyDashboard",
554
+ "hostRules",
555
+ "vulnerabilityAlerts"
556
+ ]
553
557
  },
554
558
  {
555
559
  name: "constraintsFiltering",
@@ -967,75 +971,107 @@ const options = [
967
971
  {
968
972
  name: "dependencyDashboard",
969
973
  scopes: ["repo"],
970
- description: "Whether to create a \"Dependency Dashboard\" issue in the repository.",
971
- type: "boolean",
972
- default: false
973
- },
974
- {
975
- name: "dependencyDashboardApproval",
976
- scopes: sharedScopes,
977
- description: "Controls if updates need manual approval from the Dependency Dashboard issue before PRs are created.",
978
- type: "boolean",
979
- default: false
974
+ description: "Configuration for the \"Dependency Dashboard\" issue.",
975
+ type: "object",
976
+ default: {
977
+ enabled: false,
978
+ autoclose: false,
979
+ title: "Dependency Dashboard",
980
+ header: "This issue lists Renovate updates and detected dependencies. Read the [Dependency Dashboard](https://docs.renovatebot.com/key-concepts/dashboard/) docs to learn more.",
981
+ osvVulnerabilitySummary: "none",
982
+ reportAbandonment: true,
983
+ customize: {}
984
+ },
985
+ mergeable: true,
986
+ additionalProperties: false
980
987
  },
981
988
  {
982
- name: "dependencyDashboardAutoclose",
983
- scopes: ["repo"],
989
+ name: "autoclose",
984
990
  description: "Set to `true` to let Renovate close the Dependency Dashboard issue if there are no more updates.",
985
991
  type: "boolean",
986
- default: false
992
+ parents: ["dependencyDashboard"],
993
+ default: false,
994
+ cli: false,
995
+ env: false
987
996
  },
988
997
  {
989
- name: "dependencyDashboardTitle",
990
- scopes: ["repo"],
998
+ name: "title",
991
999
  description: "Title for the Dependency Dashboard issue.",
992
1000
  type: "string",
993
- default: `Dependency Dashboard`
994
- },
995
- {
996
- name: "dependencyDashboardCategory",
997
- scopes: sharedScopes,
998
- description: "The category to group branches on the Dependency Dashboard issue.",
999
- type: "string",
1000
- default: null,
1001
+ parents: ["dependencyDashboard"],
1002
+ default: `Dependency Dashboard`,
1001
1003
  cli: false,
1002
1004
  env: false
1003
1005
  },
1004
1006
  {
1005
- name: "dependencyDashboardHeader",
1006
- scopes: ["repo"],
1007
+ name: "header",
1007
1008
  description: "Any text added here will be placed first in the Dependency Dashboard issue body.",
1008
1009
  type: "string",
1010
+ parents: ["dependencyDashboard"],
1009
1011
  default: "This issue lists Renovate updates and detected dependencies. Read the [Dependency Dashboard](https://docs.renovatebot.com/key-concepts/dashboard/) docs to learn more.",
1010
- supportsTemplating: true
1012
+ supportsTemplating: true,
1013
+ cli: false,
1014
+ env: false
1011
1015
  },
1012
1016
  {
1013
- name: "dependencyDashboardFooter",
1014
- scopes: ["repo"],
1017
+ name: "footer",
1015
1018
  description: "Any text added here will be placed last in the Dependency Dashboard issue body, with a divider separator before it.",
1016
1019
  type: "string",
1017
- supportsTemplating: true
1018
- },
1019
- {
1020
- name: "dependencyDashboardLabels",
1021
- scopes: ["repo"],
1022
- description: "These labels will always be applied on the Dependency Dashboard issue, even when they have been removed manually.",
1023
- type: "array",
1024
- subType: "string",
1025
- default: null
1020
+ parents: ["dependencyDashboard"],
1021
+ supportsTemplating: true,
1022
+ cli: false,
1023
+ env: false
1026
1024
  },
1027
1025
  {
1028
- name: "dependencyDashboardOSVVulnerabilitySummary",
1029
- scopes: ["repo"],
1026
+ name: "osvVulnerabilitySummary",
1030
1027
  description: "Control if the Dependency Dashboard issue lists CVEs supplied by [osv.dev](https://osv.dev).",
1031
1028
  type: "string",
1029
+ parents: ["dependencyDashboard"],
1032
1030
  allowedValues: [
1033
1031
  "none",
1034
1032
  "all",
1035
1033
  "unresolved"
1036
1034
  ],
1037
1035
  default: "none",
1038
- experimental: true
1036
+ experimental: true,
1037
+ cli: false,
1038
+ env: false
1039
+ },
1040
+ {
1041
+ name: "reportAbandonment",
1042
+ description: "Controls whether abandoned packages are reported in the Dependency Dashboard issue.",
1043
+ type: "boolean",
1044
+ parents: ["dependencyDashboard"],
1045
+ default: true,
1046
+ cli: false,
1047
+ env: false
1048
+ },
1049
+ {
1050
+ name: "customize",
1051
+ description: "Customize sections in the Dependency Dashboard issue.",
1052
+ type: "object",
1053
+ parents: ["dependencyDashboard"],
1054
+ default: {},
1055
+ freeChoice: true,
1056
+ additionalProperties: { type: "string" },
1057
+ cli: false,
1058
+ env: false
1059
+ },
1060
+ {
1061
+ name: "dependencyDashboardApproval",
1062
+ scopes: sharedScopes,
1063
+ description: "Controls if updates need manual approval from the Dependency Dashboard issue before PRs are created.",
1064
+ type: "boolean",
1065
+ default: false
1066
+ },
1067
+ {
1068
+ name: "dependencyDashboardCategory",
1069
+ scopes: sharedScopes,
1070
+ description: "The category to group branches on the Dependency Dashboard issue.",
1071
+ type: "string",
1072
+ default: null,
1073
+ cli: false,
1074
+ env: false
1039
1075
  },
1040
1076
  {
1041
1077
  name: "configWarningReuseIssue",
@@ -1671,7 +1707,7 @@ const options = [
1671
1707
  type: "array",
1672
1708
  subType: "string",
1673
1709
  allowString: true,
1674
- suggestedValues: [...AllManagersListLiteral, ...CustomManagersListLiteral.map((manager) => `custom.${manager}`)],
1710
+ allowedValues: [...AllManagersListLiteral, ...CustomManagersListLiteral.map((manager) => `custom.${manager}`)],
1675
1711
  parents: ["packageRules"],
1676
1712
  stage: "package",
1677
1713
  mergeable: true,
@@ -2381,13 +2417,6 @@ const options = [
2381
2417
  type: "string",
2382
2418
  default: null
2383
2419
  },
2384
- {
2385
- name: "dependencyDashboardReportAbandonment",
2386
- scopes: ["repo"],
2387
- description: "Controls whether abandoned packages are reported in the dependency dashboard.",
2388
- type: "boolean",
2389
- default: true
2390
- },
2391
2420
  {
2392
2421
  name: "internalChecksAsSuccess",
2393
2422
  scopes: sharedScopes,
@@ -2804,15 +2833,6 @@ const options = [
2804
2833
  default: `This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).`,
2805
2834
  supportsTemplating: true
2806
2835
  },
2807
- {
2808
- name: "customizeDashboard",
2809
- scopes: ["repo"],
2810
- description: "Customize sections in the Dependency Dashboard issue.",
2811
- type: "object",
2812
- default: {},
2813
- freeChoice: true,
2814
- additionalProperties: { type: "string" }
2815
- },
2816
2836
  {
2817
2837
  name: "lockFileMaintenance",
2818
2838
  scopes: [
@@ -2890,7 +2910,8 @@ const options = [
2890
2910
  {
2891
2911
  name: "labels",
2892
2912
  scopes: sharedScopes,
2893
- description: "Labels to set in Pull Request.",
2913
+ parents: ["dependencyDashboard"],
2914
+ description: "Labels to set in Pull Request, or on the Dependency Dashboard issue when used in `dependencyDashboard`.",
2894
2915
  type: "array",
2895
2916
  subType: "string",
2896
2917
  supportsTemplating: true