renovate 44.192.2 → 44.193.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.
@@ -106,6 +106,7 @@ const presets = {
106
106
  matchPackageNames: [
107
107
  "@biomejs/**",
108
108
  "@oxlint/**",
109
+ "oxfmt",
109
110
  "oxlint",
110
111
  "prettier",
111
112
  "remark-lint",
@@ -1 +1 @@
1
- {"version":3,"file":"packages.preset.js","names":[],"sources":["../../../../lib/config/presets/internal/packages.preset.ts"],"sourcesContent":["import type { Preset } from '../types.ts';\n\nexport const presets: Record<string, Preset> = {\n angularJs: {\n description: 'All AngularJS packages.',\n matchPackageNames: [\n 'angular',\n 'angular-animate',\n 'angular-scroll',\n 'angular-sanitize',\n ],\n },\n apollographql: {\n description: 'All packages published by Apollo GraphQL.',\n matchSourceUrls: ['https://github.com/apollographql/**'],\n },\n atlaskit: {\n description: 'All @atlaskit packages published by Atlassian.',\n matchPackageNames: ['@atlaskit/**'],\n },\n emberTemplateLint: {\n description: 'All ember-template-lint packages.',\n matchPackageNames: ['ember-template-lint**'],\n },\n eslint: {\n description: 'All ESLint packages.',\n matchPackageNames: [\n '*/eslint-plugin',\n '@babel/eslint-parser',\n '@eslint/**',\n '@eslint-community/**',\n '@stylistic/eslint-plugin**',\n '@types/eslint',\n '@types/eslint__**',\n '@typescript-eslint/**',\n 'babel-eslint',\n 'eslint**',\n 'typescript-eslint',\n ],\n },\n gatsby: {\n description: 'All packages published by Gatsby.',\n extends: ['monorepo:gatsby'],\n },\n googleapis: {\n description: 'All `googleapis` packages.',\n matchDatasources: ['npm'],\n matchPackageNames: [\n '@google-cloud/**',\n 'google-auth-library',\n 'googleapis',\n ],\n },\n jsTest: {\n description: 'JavaScript test packages.',\n extends: ['packages:jsUnitTest'],\n },\n jsUnitTest: {\n description: 'Unit test packages for JavaScript.',\n matchPackageNames: [\n '@types/chai',\n '@types/ember-mocha',\n '@types/ember-qunit',\n '@types/enzyme',\n '@types/istanbul',\n '@types/jest',\n '@types/mocha',\n '@types/mock-fs',\n '@types/proxyquire',\n '@types/sinon',\n '@types/supertest',\n 'coveralls',\n 'ember-exam',\n 'ember-mocha',\n 'ember-qunit',\n 'enzyme',\n 'istanbul',\n 'mock-fs',\n 'nock',\n 'nyc',\n 'proxyquire',\n 'supertest',\n 'ts-auto-mock',\n 'ts-jest',\n 'vitest',\n '@jest/**',\n '@testing-library/**',\n '@types/testing-library__**',\n '@vitest/**',\n 'chai**',\n 'jest**',\n 'mocha**',\n 'qunit**',\n 'should**',\n 'sinon**',\n ],\n },\n linters: {\n description: 'All lint-related packages.',\n extends: [\n 'packages:emberTemplateLint',\n 'packages:eslint',\n 'packages:phpLinters',\n 'packages:stylelint',\n 'packages:tslint',\n ],\n matchPackageNames: [\n '@biomejs/**',\n '@oxlint/**',\n 'oxlint',\n 'prettier',\n 'remark-lint',\n 'standard',\n ],\n },\n mapbox: {\n description: 'All Mapbox-related packages.',\n matchPackageNames: ['leaflet**', 'mapbox**'],\n },\n phpLinters: {\n description: 'All PHP lint-related packages.',\n matchPackageNames: [\n 'friendsofphp/php-cs-fixer',\n 'squizlabs/php_codesniffer',\n 'symplify/easy-coding-standard',\n ],\n },\n phpUnitTest: {\n description: 'Unit test packages for PHP.',\n matchPackageNames: [\n 'behat/behat',\n 'brianium/paratest',\n 'facile-it/paraunit',\n 'mockery/mockery',\n 'phpspec/prophecy',\n 'phpspec/prophecy-phpunit',\n 'phpspec/phpspec',\n 'phpunit/phpunit',\n 'pestphp/**',\n 'php-mock/**',\n ],\n },\n postcss: {\n description: 'All PostCSS packages.',\n matchPackageNames: ['postcss', 'postcss-**'],\n },\n react: {\n description: 'All React packages.',\n matchDatasources: ['npm'],\n matchPackageNames: ['@types/react**', 'react**'],\n },\n stylelint: {\n description: 'All Stylelint packages.',\n matchPackageNames: ['stylelint**'],\n },\n test: {\n description: 'Test packages.',\n extends: ['packages:unitTest'],\n },\n tslint: {\n description: 'All TSLint packages.',\n matchPackageNames: ['codelyzer', '/\\\\btslint\\\\b/'],\n },\n unitTest: {\n description: 'All unit test packages.',\n extends: ['packages:jsUnitTest', 'packages:phpUnitTest'],\n },\n vite: {\n description: 'All Vite related packages',\n matchDatasources: ['npm'],\n matchPackageNames: ['vite', '**vite-plugin**', '@vitejs/**'],\n },\n vitePlus: {\n description: 'All Vite+ related packages',\n extends: ['monorepo:vite-plus', 'monorepo:vitest'],\n },\n};\n"],"mappings":";AAEA,MAAa,UAAkC;CAC7C,WAAW;EACT,aAAa;EACb,mBAAmB;GACjB;GACA;GACA;GACA;EACF;CACF;CACA,eAAe;EACb,aAAa;EACb,iBAAiB,CAAC,qCAAqC;CACzD;CACA,UAAU;EACR,aAAa;EACb,mBAAmB,CAAC,cAAc;CACpC;CACA,mBAAmB;EACjB,aAAa;EACb,mBAAmB,CAAC,uBAAuB;CAC7C;CACA,QAAQ;EACN,aAAa;EACb,mBAAmB;GACjB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA,QAAQ;EACN,aAAa;EACb,SAAS,CAAC,iBAAiB;CAC7B;CACA,YAAY;EACV,aAAa;EACb,kBAAkB,CAAC,KAAK;EACxB,mBAAmB;GACjB;GACA;GACA;EACF;CACF;CACA,QAAQ;EACN,aAAa;EACb,SAAS,CAAC,qBAAqB;CACjC;CACA,YAAY;EACV,aAAa;EACb,mBAAmB;GACjB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA,SAAS;EACP,aAAa;EACb,SAAS;GACP;GACA;GACA;GACA;GACA;EACF;EACA,mBAAmB;GACjB;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA,QAAQ;EACN,aAAa;EACb,mBAAmB,CAAC,aAAa,UAAU;CAC7C;CACA,YAAY;EACV,aAAa;EACb,mBAAmB;GACjB;GACA;GACA;EACF;CACF;CACA,aAAa;EACX,aAAa;EACb,mBAAmB;GACjB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA,SAAS;EACP,aAAa;EACb,mBAAmB,CAAC,WAAW,YAAY;CAC7C;CACA,OAAO;EACL,aAAa;EACb,kBAAkB,CAAC,KAAK;EACxB,mBAAmB,CAAC,kBAAkB,SAAS;CACjD;CACA,WAAW;EACT,aAAa;EACb,mBAAmB,CAAC,aAAa;CACnC;CACA,MAAM;EACJ,aAAa;EACb,SAAS,CAAC,mBAAmB;CAC/B;CACA,QAAQ;EACN,aAAa;EACb,mBAAmB,CAAC,aAAa,gBAAgB;CACnD;CACA,UAAU;EACR,aAAa;EACb,SAAS,CAAC,uBAAuB,sBAAsB;CACzD;CACA,MAAM;EACJ,aAAa;EACb,kBAAkB,CAAC,KAAK;EACxB,mBAAmB;GAAC;GAAQ;GAAmB;EAAY;CAC7D;CACA,UAAU;EACR,aAAa;EACb,SAAS,CAAC,sBAAsB,iBAAiB;CACnD;AACF"}
1
+ {"version":3,"file":"packages.preset.js","names":[],"sources":["../../../../lib/config/presets/internal/packages.preset.ts"],"sourcesContent":["import type { Preset } from '../types.ts';\n\nexport const presets: Record<string, Preset> = {\n angularJs: {\n description: 'All AngularJS packages.',\n matchPackageNames: [\n 'angular',\n 'angular-animate',\n 'angular-scroll',\n 'angular-sanitize',\n ],\n },\n apollographql: {\n description: 'All packages published by Apollo GraphQL.',\n matchSourceUrls: ['https://github.com/apollographql/**'],\n },\n atlaskit: {\n description: 'All @atlaskit packages published by Atlassian.',\n matchPackageNames: ['@atlaskit/**'],\n },\n emberTemplateLint: {\n description: 'All ember-template-lint packages.',\n matchPackageNames: ['ember-template-lint**'],\n },\n eslint: {\n description: 'All ESLint packages.',\n matchPackageNames: [\n '*/eslint-plugin',\n '@babel/eslint-parser',\n '@eslint/**',\n '@eslint-community/**',\n '@stylistic/eslint-plugin**',\n '@types/eslint',\n '@types/eslint__**',\n '@typescript-eslint/**',\n 'babel-eslint',\n 'eslint**',\n 'typescript-eslint',\n ],\n },\n gatsby: {\n description: 'All packages published by Gatsby.',\n extends: ['monorepo:gatsby'],\n },\n googleapis: {\n description: 'All `googleapis` packages.',\n matchDatasources: ['npm'],\n matchPackageNames: [\n '@google-cloud/**',\n 'google-auth-library',\n 'googleapis',\n ],\n },\n jsTest: {\n description: 'JavaScript test packages.',\n extends: ['packages:jsUnitTest'],\n },\n jsUnitTest: {\n description: 'Unit test packages for JavaScript.',\n matchPackageNames: [\n '@types/chai',\n '@types/ember-mocha',\n '@types/ember-qunit',\n '@types/enzyme',\n '@types/istanbul',\n '@types/jest',\n '@types/mocha',\n '@types/mock-fs',\n '@types/proxyquire',\n '@types/sinon',\n '@types/supertest',\n 'coveralls',\n 'ember-exam',\n 'ember-mocha',\n 'ember-qunit',\n 'enzyme',\n 'istanbul',\n 'mock-fs',\n 'nock',\n 'nyc',\n 'proxyquire',\n 'supertest',\n 'ts-auto-mock',\n 'ts-jest',\n 'vitest',\n '@jest/**',\n '@testing-library/**',\n '@types/testing-library__**',\n '@vitest/**',\n 'chai**',\n 'jest**',\n 'mocha**',\n 'qunit**',\n 'should**',\n 'sinon**',\n ],\n },\n linters: {\n description: 'All lint-related packages.',\n extends: [\n 'packages:emberTemplateLint',\n 'packages:eslint',\n 'packages:phpLinters',\n 'packages:stylelint',\n 'packages:tslint',\n ],\n matchPackageNames: [\n '@biomejs/**',\n '@oxlint/**',\n 'oxfmt',\n 'oxlint',\n 'prettier',\n 'remark-lint',\n 'standard',\n ],\n },\n mapbox: {\n description: 'All Mapbox-related packages.',\n matchPackageNames: ['leaflet**', 'mapbox**'],\n },\n phpLinters: {\n description: 'All PHP lint-related packages.',\n matchPackageNames: [\n 'friendsofphp/php-cs-fixer',\n 'squizlabs/php_codesniffer',\n 'symplify/easy-coding-standard',\n ],\n },\n phpUnitTest: {\n description: 'Unit test packages for PHP.',\n matchPackageNames: [\n 'behat/behat',\n 'brianium/paratest',\n 'facile-it/paraunit',\n 'mockery/mockery',\n 'phpspec/prophecy',\n 'phpspec/prophecy-phpunit',\n 'phpspec/phpspec',\n 'phpunit/phpunit',\n 'pestphp/**',\n 'php-mock/**',\n ],\n },\n postcss: {\n description: 'All PostCSS packages.',\n matchPackageNames: ['postcss', 'postcss-**'],\n },\n react: {\n description: 'All React packages.',\n matchDatasources: ['npm'],\n matchPackageNames: ['@types/react**', 'react**'],\n },\n stylelint: {\n description: 'All Stylelint packages.',\n matchPackageNames: ['stylelint**'],\n },\n test: {\n description: 'Test packages.',\n extends: ['packages:unitTest'],\n },\n tslint: {\n description: 'All TSLint packages.',\n matchPackageNames: ['codelyzer', '/\\\\btslint\\\\b/'],\n },\n unitTest: {\n description: 'All unit test packages.',\n extends: ['packages:jsUnitTest', 'packages:phpUnitTest'],\n },\n vite: {\n description: 'All Vite related packages',\n matchDatasources: ['npm'],\n matchPackageNames: ['vite', '**vite-plugin**', '@vitejs/**'],\n },\n vitePlus: {\n description: 'All Vite+ related packages',\n extends: ['monorepo:vite-plus', 'monorepo:vitest'],\n },\n};\n"],"mappings":";AAEA,MAAa,UAAkC;CAC7C,WAAW;EACT,aAAa;EACb,mBAAmB;GACjB;GACA;GACA;GACA;EACF;CACF;CACA,eAAe;EACb,aAAa;EACb,iBAAiB,CAAC,qCAAqC;CACzD;CACA,UAAU;EACR,aAAa;EACb,mBAAmB,CAAC,cAAc;CACpC;CACA,mBAAmB;EACjB,aAAa;EACb,mBAAmB,CAAC,uBAAuB;CAC7C;CACA,QAAQ;EACN,aAAa;EACb,mBAAmB;GACjB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA,QAAQ;EACN,aAAa;EACb,SAAS,CAAC,iBAAiB;CAC7B;CACA,YAAY;EACV,aAAa;EACb,kBAAkB,CAAC,KAAK;EACxB,mBAAmB;GACjB;GACA;GACA;EACF;CACF;CACA,QAAQ;EACN,aAAa;EACb,SAAS,CAAC,qBAAqB;CACjC;CACA,YAAY;EACV,aAAa;EACb,mBAAmB;GACjB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA,SAAS;EACP,aAAa;EACb,SAAS;GACP;GACA;GACA;GACA;GACA;EACF;EACA,mBAAmB;GACjB;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA,QAAQ;EACN,aAAa;EACb,mBAAmB,CAAC,aAAa,UAAU;CAC7C;CACA,YAAY;EACV,aAAa;EACb,mBAAmB;GACjB;GACA;GACA;EACF;CACF;CACA,aAAa;EACX,aAAa;EACb,mBAAmB;GACjB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA,SAAS;EACP,aAAa;EACb,mBAAmB,CAAC,WAAW,YAAY;CAC7C;CACA,OAAO;EACL,aAAa;EACb,kBAAkB,CAAC,KAAK;EACxB,mBAAmB,CAAC,kBAAkB,SAAS;CACjD;CACA,WAAW;EACT,aAAa;EACb,mBAAmB,CAAC,aAAa;CACnC;CACA,MAAM;EACJ,aAAa;EACb,SAAS,CAAC,mBAAmB;CAC/B;CACA,QAAQ;EACN,aAAa;EACb,mBAAmB,CAAC,aAAa,gBAAgB;CACnD;CACA,UAAU;EACR,aAAa;EACb,SAAS,CAAC,uBAAuB,sBAAsB;CACzD;CACA,MAAM;EACJ,aAAa;EACb,kBAAkB,CAAC,KAAK;EACxB,mBAAmB;GAAC;GAAQ;GAAmB;EAAY;CAC7D;CACA,UAAU;EACR,aAAa;EACb,SAAS,CAAC,sBAAsB,iBAAiB;CACnD;AACF"}
@@ -752,6 +752,30 @@ export interface RepoToolSettingsOptions {
752
752
  /** The maximum memory child Node.JS processes can use. If greater than the Global Self-Hosted configuration setting, it will be set to that limit **/
753
753
  nodeMaxMemory?: number;
754
754
  }
755
+ /** All known `VulnerabilityAlertSource`s */
756
+ export declare const VulnerabilityAlertSources: readonly [
757
+ /**
758
+ * The Platform being used provides vulnerability alerts.
759
+ *
760
+ * i.e. GitHub Advanced Security's Dependabot Alerts
761
+ **/
762
+ '$platform',
763
+ /**
764
+ * The Open Source Vulnerability database (OSV) provides vulnerability alerts.
765
+ *
766
+ * @link https://github.com/renovatebot/osv-offline
767
+ **/
768
+ 'OSV',
769
+ /**
770
+ * A self-hosted administrator is providing any `packageRules` that will apply Vulnerability Alerts.
771
+ *
772
+ * @see PackageRule
773
+ **/
774
+ 'packageRules'];
775
+ /**
776
+ * Where the Vulnerability Alerts are sourced from.
777
+ */
778
+ export type VulnerabilityAlertSource = (typeof VulnerabilityAlertSources)[number];
755
779
  //#endregion
756
780
  export {};
757
781
  //# sourceMappingURL=types.d.ts.map
@@ -57,7 +57,13 @@ const namedParents = [
57
57
  "toolSettings",
58
58
  "vulnerabilityAlerts"
59
59
  ];
60
+ /** All known `VulnerabilityAlertSource`s */
61
+ const VulnerabilityAlertSources = [
62
+ "$platform",
63
+ "OSV",
64
+ "packageRules"
65
+ ];
60
66
  //#endregion
61
- export { CustomDatasourceFormats, UpdateTypesOptions, allowedStatusCheckStrings, allowedStatusCheckWhenValues, configScopes, namedParents };
67
+ export { CustomDatasourceFormats, UpdateTypesOptions, VulnerabilityAlertSources, allowedStatusCheckStrings, allowedStatusCheckWhenValues, configScopes, namedParents };
62
68
 
63
69
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../lib/config/types.ts"],"sourcesContent":["import type { Category, PlatformId } from '../constants/index.ts';\nimport type { LogLevelRemap } from '../logger/types.ts';\nimport type {\n CustomManagerName,\n ManagerName,\n} from '../manager-list.generated.ts';\nimport type { CustomManager } from '../modules/manager/custom/types.ts';\nimport type {\n GitUrlOption,\n RepoSortMethod,\n SortMethod,\n} from '../modules/platform/types.ts';\nimport type {\n AutoMergeType,\n HostRule,\n Nullish,\n RangeStrategy,\n SkipReason,\n} from '../types/index.ts';\nimport type { StageName } from '../types/skip-reason.ts';\nimport type {\n AdditionalConstraintName,\n ConstraintName,\n ToolName,\n} from '../util/exec/types.ts';\nimport type { GitNoVerifyOption } from '../util/git/types.ts';\nimport type { MergeConfidence } from '../util/merge-confidence/types.ts';\nimport type { Timestamp } from '../util/timestamp.ts';\nimport type { ConfigValidationTopic } from './validation-helpers/types.ts';\n\nexport type RenovateConfigStage =\n 'global' | 'inherit' | 'repository' | 'package' | 'branch' | 'pr';\n\nexport type RenovateSplit =\n 'init' | 'onboarding' | 'extract' | 'lookup' | 'update';\n\nexport type RepositoryCacheConfig = 'disabled' | 'enabled' | 'reset';\nexport type RepositoryCacheType = 'local' | (string & {});\nexport type DryRunConfig = 'extract' | 'lookup' | 'full';\nexport type InternalHostAccess = 'allow' | 'warn' | 'block';\nexport type RequiredConfig = 'required' | 'optional' | 'ignored';\n\nexport interface GroupConfig extends Record<string, unknown> {\n branchName?: string;\n branchTopic?: string;\n}\n\nexport type RecreateWhen = 'auto' | 'never' | 'always';\nexport const allowedStatusCheckWhenValues = [\n 'always',\n 'never',\n 'failed',\n] as const;\nexport type StatusCheckWhen = (typeof allowedStatusCheckWhenValues)[number];\nexport type PlatformCommitOptions = 'auto' | 'disabled' | 'enabled';\n\nexport type BinarySource = 'docker' | 'global' | 'install' | 'hermit';\n\n// TODO: Proper typings\n/**\n * Any configuration that could be used either top-level in a repository config (or Global, Inherited or Shareable Preset configuration), or:\n *\n * - in a datasource-specific configuration\n * - in a manager-specific configuration\n * - in a Package Rule\n *\n * @see RenovateConfig for the superset of all configuration allowed in a given repository\n *\n */\nexport interface RenovateSharedConfig {\n $schema?: string;\n abandonmentThreshold?: Nullish<string>;\n addLabels?: string[];\n assignAutomerge?: boolean;\n autoApprove?: boolean;\n autoReplaceGlobalMatch?: boolean;\n automerge?: boolean;\n automergeSchedule?: string[];\n automergeStrategy?: MergeStrategy;\n automergeType?: AutoMergeType;\n azureWorkItemId?: number;\n azureWorkItemType?: string;\n branchName?: string;\n branchNameStrict?: boolean;\n branchPrefix?: string;\n branchPrefixOld?: string;\n bumpVersions?: BumpVersionConfig[];\n commitBody?: string;\n commitBodyTable?: boolean;\n commitMessage?: string;\n commitMessageAction?: string;\n commitMessageExtra?: string;\n commitMessageLowerCase?: 'auto' | 'never';\n commitMessagePrefix?: string;\n commitMessageTopic?: string;\n commitTrailers?: string[];\n confidential?: boolean;\n configValidationError?: boolean;\n changelogUrl?: string;\n dependencyDashboardApproval?: boolean;\n draftPR?: boolean;\n enabled?: boolean;\n enabledManagers?: string[];\n encrypted?: Record<string, string>;\n extends?: string[];\n extractVersion?: string;\n managerFilePatterns?: string[];\n followTag?: string;\n force?: RenovateConfig;\n gitIgnoredAuthors?: string[];\n group?: GroupConfig;\n groupName?: string;\n groupSingleUpdates?: boolean;\n groupSlug?: string;\n hashedBranchLength?: number;\n ignoreDeps?: string[];\n ignorePaths?: string[];\n ignoreTests?: boolean;\n ignoreUnstable?: boolean;\n includePaths?: string[];\n internalChecksAsSuccess?: boolean;\n internalChecksFilter?: 'strict' | 'flexible' | 'none';\n keepUpdatedLabel?: string;\n labels?: string[];\n manager?: string;\n milestone?: number;\n minimumReleaseAge?: Nullish<string>;\n minimumReleaseAgeBuffer?: Nullish<string>;\n npmrc?: string;\n npmrcMerge?: boolean;\n npmToken?: string;\n\n pinDigests?: boolean;\n platformAutomerge?: boolean;\n platformCommit?: PlatformCommitOptions;\n postUpgradeTasks?: PostUpgradeTasks;\n prBodyColumns?: string[];\n prBodyDefinitions?: Record<string, string>;\n prBodyHeadingDefinitions?: Record<string, string>;\n prBodyNotes?: string[];\n prCreation?: 'immediate' | 'not-pending' | 'status-success' | 'approval';\n prFooter?: string;\n prHeader?: string;\n prPriority?: number;\n prTitle?: string;\n prTitleStrict?: boolean;\n pruneBranchAfterAutomerge?: boolean;\n rangeStrategy?: RangeStrategy;\n rebaseLabel?: string;\n rebaseWhen?: string;\n recreateClosed?: boolean;\n recreateWhen?: RecreateWhen;\n repository?: string;\n repositoryCache?: RepositoryCacheConfig;\n repositoryCacheType?: RepositoryCacheType;\n respectLatest?: boolean;\n rollbackPrs?: boolean;\n schedule?: string[];\n semanticCommitScope?: string | null;\n semanticCommitType?: string;\n semanticCommits?: 'auto' | 'enabled' | 'disabled';\n separateMajorMinor?: boolean;\n separateMinorPatch?: boolean;\n separateMultipleMajor?: boolean;\n separateMultipleMinor?: boolean;\n skipArtifactsUpdate?: boolean;\n stopUpdatingLabel?: string;\n suppressNotifications?: string[];\n timezone?: string;\n unicodeEmoji?: boolean;\n updateNotScheduled?: boolean;\n versioning?: string;\n versionCompatibility?: string;\n}\n\n/**\n * Contains all options with globalOnly=true && inheritConfigSupport=true\n */\nexport interface GlobalInheritableConfig {\n bbUseDevelopmentBranch?: boolean;\n configFileNames?: string[];\n onboarding?: boolean;\n onboardingAutoCloseAge?: number;\n onboardingBranch?: string;\n onboardingCommitMessage?: string;\n onboardingConfig?: RenovateConfig;\n onboardingConfigFileName?: string;\n onboardingNoDeps?: 'auto' | 'enabled' | 'disabled';\n onboardingPrTitle?: string;\n requireConfig?: RequiredConfig;\n}\n\n// Config options used only within the global worker\n// The below should contain config options where stage=global\n/** @deprecated use `RepoGlobalConfig` instead **/\nexport interface GlobalOnlyConfigLegacy {\n autodiscover?: boolean;\n autodiscoverFilter?: string[] | string;\n autodiscoverNamespaces?: string[];\n autodiscoverProjects?: string[];\n autodiscoverTopics?: string[];\n baseDir?: string;\n cacheDir?: string;\n containerbaseDir?: string;\n detectHostRulesFromEnv?: boolean;\n dockerCliOptions?: string;\n endpoint?: string;\n exitCodeForErrors?: boolean;\n forceCli?: boolean;\n gitNoVerify?: GitNoVerifyOption[];\n gitPrivateKey?: string;\n gitPrivateKeyPassphrase?: string;\n globalExtends?: string[];\n mergeConfidenceDatasources?: string[];\n mergeConfidenceEndpoint?: string;\n platform?: PlatformId;\n processEnv?: Record<string, string>;\n prCommitsPerRunLimit?: number;\n privateKey?: string;\n privateKeyOld?: string;\n privateKeyPath?: string;\n privateKeyPathOld?: string;\n redisPrefix?: string;\n redisUrl?: string;\n repositories?: RenovateRepository[];\n useCloudMetadataServices?: boolean;\n deleteConfigFile?: boolean;\n deleteAdditionalConfigFile?: boolean;\n}\n\n/**\n * Any global-only configuration set by self-hosted administrators.\n *\n * Used within the repository worker.\n *\n * Should only contain config options where globalOnly=true.\n */\nexport interface RepoGlobalConfig extends GlobalInheritableConfig {\n allowedCommands?: string[];\n allowCustomCrateGitRegistries?: boolean;\n allowPlugins?: boolean;\n allowScripts?: boolean;\n allowShellExecutorForPostUpgradeCommands?: boolean;\n allowedEnv?: string[];\n allowedHeaders?: string[];\n binarySource?: BinarySource;\n cacheDir?: string;\n cacheHardTtlMinutes?: number;\n cacheTtlOverride?: Record<string, number>;\n checkedBranches?: string[];\n containerbaseDir?: string;\n customEnvVariables?: Record<string, string>;\n dockerChildPrefix?: string;\n dockerCliOptions?: string;\n dockerSidecarImage?: string;\n dockerUser?: string;\n dryRun?: DryRunConfig;\n encryptedWarning?: string;\n endpoint?: string;\n executionTimeout?: number;\n exposeAllEnv?: boolean;\n gitTimeout?: number;\n githubTokenWarn?: boolean;\n includeMirrors?: boolean;\n inheritConfigTrusted?: boolean;\n internalHostAccess?: InternalHostAccess;\n migratePresets?: Record<string, string>;\n platform?: PlatformId;\n prCacheSyncMaxPages?: number;\n presetCachePersistence?: boolean;\n httpCacheTtlDays?: number;\n autodiscoverRepoSort?: RepoSortMethod;\n autodiscoverRepoOrder?: SortMethod;\n userAgent?: string;\n dockerMaxPages?: number;\n s3Endpoint?: string;\n s3PathStyle?: boolean;\n cachePrivatePackages?: boolean;\n repositoryCacheForceLocal?: boolean;\n configFileNames?: string[];\n ignorePrAuthor?: boolean;\n allowedUnsafeExecutions?: AllowedUnsafeExecution[];\n onboardingAutoCloseAge?: number;\n productLinks?: Record<string, string>;\n rebaseAllOpenBranches?: boolean;\n toolSettings?: GlobalToolSettingsOptions;\n}\n\n/**\n * Internal variables which are referenced from `GlobalConfig`, but are *not* user-configurable options.\n */\nexport interface InternalGlobalConfigOptions {\n localDir?: string;\n}\n\n/**\n * Those options are global only but still passed into the repository worker config.\n *\n * @deprecated https://github.com/renovatebot/renovate/issues/39693\n */\nexport interface LegacyAdminConfig {\n baseDir?: string;\n localDir?: string;\n\n logContext?: string;\n\n onboarding?: boolean;\n onboardingBranch?: string;\n onboardingNoDeps?: 'auto' | 'enabled' | 'disabled';\n onboardingRebaseCheckbox?: boolean;\n onboardingConfig?: RenovateConfig;\n onboardingConfigFileName?: string;\n\n optimizeForDisabled?: boolean;\n\n persistRepoData?: boolean;\n\n prCommitsPerRunLimit?: number;\n\n requireConfig?: RequiredConfig;\n\n useCloudMetadataServices?: boolean;\n\n writeDiscoveredRepos?: string;\n}\n\nexport type ExecutionMode = 'branch' | 'update';\n\nexport interface PostUpgradeTasks {\n commands?: string[];\n workingDirTemplate?: string;\n dataFileTemplate?: string;\n fileFilters?: string[];\n executionMode: ExecutionMode;\n installTools?: Partial<Record<ToolName, Record<never, never>>>;\n}\n\nexport type UpdateConfig<\n T extends RenovateSharedConfig = RenovateSharedConfig,\n> = Partial<Record<UpdateType, T | null>>;\n\nexport type RenovateRepositoryEntry = AllConfig & {\n repository: string;\n};\n\nexport type RenovateRepository = string | RenovateRepositoryEntry;\n\nexport type UseBaseBranchConfigType = 'merge' | 'none';\nexport type ConstraintsFilter = 'strict' | 'none';\nexport type MinimumReleaseAgeBehaviour =\n 'timestamp-required' | 'timestamp-optional';\n\nexport const allowedStatusCheckStrings = [\n 'minimumReleaseAge',\n 'mergeConfidence',\n 'configValidation',\n 'artifactError',\n] as const;\nexport type StatusCheckKey = (typeof allowedStatusCheckStrings)[number];\ntype UserEnv = Record<string, string>;\n\n/**\n * Computed properties, for internal use only\n */\nexport interface RenovateInternalConfig {\n /** computed base branch from patterns - for internal use only */\n baseBranches?: string[];\n currentCompatibility?: string;\n datasource?: string;\n hasBaseBranches?: boolean;\n isFork?: boolean;\n isVulnerabilityAlert?: boolean;\n\n /** What is this used for? */\n remediations?: unknown;\n /** What is this used for? */\n vulnerabilityAlertsOnly?: boolean;\n}\n\n// TODO: Proper typings\n/**\n * Configuration that could be used either top-level in a repository config (or Global, Inherited or Shareable Preset configuration).\n *\n * This is a superset of any configuration that a Renovate user (not self-hosted administrator) can set.\n */\nexport interface RenovateConfig\n extends\n LegacyAdminConfig,\n RenovateSharedConfig,\n UpdateConfig<PackageRule>,\n AssigneesAndReviewersConfig,\n ConfigMigration,\n RenovateInternalConfig {\n s3Endpoint?: string;\n s3PathStyle?: boolean;\n reportFormatting?: boolean;\n reportPath?: string;\n reportType?: 'logging' | 'file' | 's3' | null;\n depName?: string;\n /** user configurable base branch patterns*/\n baseBranchPatterns?: string[];\n useBaseBranchConfig?: UseBaseBranchConfigType;\n baseBranch?: string;\n defaultBranch?: string;\n branchList?: string[];\n cloneSubmodules?: boolean;\n cloneSubmodulesFilter?: string[];\n description?: string | string[];\n overrideDescription?: string | string[];\n detectGlobalManagerConfig?: boolean;\n errors?: ValidationMessage[];\n forkModeDisallowMaintainerEdits?: boolean;\n forkProcessing?: 'auto' | 'enabled' | 'disabled';\n forkToken?: string;\n\n gitAuthor?: string;\n\n hostRules?: HostRule[];\n\n inheritConfig?: boolean;\n inheritConfigFileName?: string;\n inheritConfigRepoName?: string;\n inheritConfigStrict?: boolean;\n\n ignorePresets?: string[];\n\n fileList?: string[];\n configWarningReuseIssue?: boolean;\n dependencyDashboard?: boolean;\n dependencyDashboardAutoclose?: boolean;\n dependencyDashboardChecks?: Record<string, string>;\n dependencyDashboardIssue?: number;\n dependencyDashboardTitle?: string;\n dependencyDashboardHeader?: string;\n dependencyDashboardFooter?: string;\n dependencyDashboardLabels?: string[];\n dependencyDashboardOSVVulnerabilitySummary?: 'none' | 'all' | 'unresolved';\n dependencyDashboardReportAbandonment?: boolean;\n mode?: 'silent' | 'full';\n packageFile?: string;\n packageRules?: PackageRule[];\n postUpdateOptions?: string[];\n branchConcurrentLimit?: number | null;\n parentOrg?: string;\n prConcurrentLimit?: number;\n commitHourlyLimit?: number;\n prHourlyLimit?: number;\n\n printConfig?: boolean;\n\n pruneStaleBranches?: boolean;\n\n defaultRegistryUrls?: string[];\n registryUrls?: string[] | null;\n registryAliases?: Record<string, string>;\n\n /**\n * What is this used for?\n * @deprecated\n */\n renovateJsonPresent?: boolean;\n\n repoIsOnboarded?: boolean;\n repoIsActivated?: boolean;\n\n topLevelOrg?: string;\n updateInternalDeps?: boolean;\n updateType?: UpdateType;\n\n warnings?: ValidationMessage[];\n vulnerabilityAlerts?: RenovateSharedConfig;\n osvVulnerabilityAlerts?: boolean;\n vulnerabilitySeverity?: string;\n customManagers?: CustomManager[];\n customDatasources?: Record<string, CustomDatasourceConfig>;\n\n fetchChangeLogs?: FetchChangeLogsOptions;\n secrets?: Record<string, string>;\n variables?: Record<string, string>;\n\n constraints?: Partial<Record<ConstraintName, string>>;\n /**\n * Any specific overrides for the versioning for the `AdditionalConstraintName`s.\n */\n constraintsVersioning?: Partial<Record<AdditionalConstraintName, string>>;\n skipInstalls?: boolean | null;\n\n constraintsFiltering?: ConstraintsFilter;\n\n customizeDashboard?: Record<string, string>;\n\n statusCheckNames?: Record<StatusCheckKey, string | null>;\n statusCheckWhen?: Partial<Record<StatusCheckKey, StatusCheckWhen>>;\n /**\n * User configured environment variables that Renovate uses when executing package manager commands\n */\n env?: UserEnv;\n logLevelRemap?: LogLevelRemap[];\n\n branchTopic?: string;\n additionalBranchPrefix?: string;\n sharedVariableName?: string;\n minimumGroupSize?: number;\n configFileNames?: string[];\n minimumReleaseAgeBehaviour?: MinimumReleaseAgeBehaviour;\n toolSettings?: RepoToolSettingsOptions;\n}\n\nexport const CustomDatasourceFormats = [\n 'html',\n 'json',\n 'plain',\n 'toml',\n 'yaml',\n] as const;\nexport type CustomDatasourceFormats = (typeof CustomDatasourceFormats)[number];\n\nexport interface CustomDatasourceConfig {\n defaultRegistryUrlTemplate?: string;\n format?: CustomDatasourceFormats;\n transformTemplates?: string[];\n}\n\n/**\n * The superset of all configuration that a self-hosted administrator can set, alongside all repository-level configuration.\n *\n */\nexport interface AllConfig\n extends RenovateConfig, GlobalOnlyConfigLegacy, RepoGlobalConfig {\n gitUrl?: GitUrlOption;\n password?: string;\n token?: string;\n username?: string;\n}\n\nexport interface AssigneesAndReviewersConfig {\n assigneesFromCodeOwners?: boolean;\n expandCodeOwnersGroups?: boolean;\n assignees?: string[];\n assigneesSampleSize?: number;\n ignoreReviewers?: string[];\n reviewersFromCodeOwners?: boolean;\n reviewers?: string[];\n reviewersSampleSize?: number;\n additionalReviewers?: string[];\n filterUnavailableUsers?: boolean;\n}\n\nexport type UpdateType =\n | 'major'\n | 'minor'\n | 'patch'\n | 'pin'\n | 'digest'\n | 'pinDigest'\n | 'lockFileMaintenance'\n | 'lockfileUpdate'\n | 'rollback'\n | 'bump'\n | 'replacement';\n\n// These are the update types which can have configuration\nexport const UpdateTypesOptions = [\n 'major',\n 'minor',\n 'patch',\n 'pin',\n 'digest',\n 'pinDigest',\n 'lockFileMaintenance',\n 'rollback',\n 'replacement',\n] as const;\n\nexport type UpdateTypeOptions = (typeof UpdateTypesOptions)[number];\n\nexport type FetchChangeLogsOptions = 'off' | 'branch' | 'pr';\n\nexport type MatchStringsStrategy = 'any' | 'recursive' | 'combination';\n\nexport type MergeStrategy =\n | 'auto'\n | 'fast-forward'\n | 'merge-commit'\n | 'rebase'\n | 'rebase-merge'\n | 'squash';\n\n// This list should be added to as any new unsafe execution commands should be permitted\nexport type AllowedUnsafeExecution =\n 'bazelModDeps' | 'goGenerate' | 'gradleWrapper' | 'mise' | 'pixi';\n\n// TODO: Proper typings\nexport interface PackageRule\n extends RenovateSharedConfig, RenovateInternalConfig, UpdateConfig {\n allowedVersions?: string;\n description?: string | string[];\n matchBaseBranches?: string[];\n matchCategories?: string[];\n matchConfidence?: MergeConfidence[];\n matchCurrentAge?: string;\n matchCurrentValue?: string;\n matchCurrentVersion?: string;\n matchDatasources?: string[];\n matchDepNames?: string[];\n matchDepTypes?: string[];\n matchFileNames?: string[];\n matchIsBreaking?: boolean;\n matchManagers?: string[];\n matchNewValue?: string;\n matchPackageNames?: string[];\n matchRepositories?: string[];\n matchSourceUrls?: string[];\n matchRegistryUrls?: string[];\n matchUpdateTypes?: UpdateType[];\n matchJsonata?: string[];\n overrideDatasource?: string;\n overrideDepName?: string;\n overridePackageName?: string;\n registryUrls?: string[] | null;\n replacementName?: string;\n replacementVersion?: string;\n sourceUrl?: string;\n sourceDirectory?: string;\n vulnerabilitySeverity?: string;\n vulnerabilityFixVersion?: string;\n}\n\nexport interface ValidationMessage {\n // Topic is either the known list of topics, or a dynamically generated one\n topic: ConfigValidationTopic | (string & {});\n message: string;\n}\n\n/**\n * The kinds of place a config option can be used, which expand to the {@link AllowedParents} they cover.\n *\n * These are for the places which can't reasonably be listed, like every manager or every update type, so an option which is only valid in a specific object - like `hostRules` - should use `parents` instead.\n */\nexport const configScopes = [\n /** the top level of a repository, global, inherited or preset config */\n 'repo',\n /** a `packageRules` entry */\n 'packageRule',\n /** a manager's configuration object, like `npm` */\n 'manager',\n /** an update type's configuration object, like `major` */\n 'updateType',\n /** the `vulnerabilityAlerts` configuration object */\n 'vulnerabilityAlert',\n /** the `group` configuration object, which is merged into an update when it's grouped */\n 'group',\n /** every object a config can be nested in, for the options which are read wherever they're found */\n 'any',\n] as const;\n\nexport type ConfigScope = (typeof configScopes)[number];\n\n/**\n * The objects which a config can be nested in, other than the top level and the ones which are covered by a {@link ConfigScope}.\n */\nexport const namedParents = [\n 'bumpVersions',\n 'customDatasources',\n 'customManagers',\n 'group',\n 'hostRules',\n 'logLevelRemap',\n 'packageRules',\n 'postUpgradeTasks',\n 'toolSettings',\n 'vulnerabilityAlerts',\n] as const;\n\nexport type AllowedParents =\n | '.'\n | (typeof namedParents)[number]\n | ManagerName\n | CustomManagerName\n | UpdateTypeOptions;\nexport interface RenovateOptionBase {\n /**\n * If true, this option **MUST** be checked at the trust boundary: after resolving the full config that sets it, but **before** the value is applied.\n *\n * This is in addition to any existing config validation, and ensures that these options are re-validated due to their sensitive nature.\n *\n * A failure of that check **must** lead to a {@link ConfigValidationTopic.Security} error (which is then a full config validation error), stopping the Renovate run.\n *\n * After this check has been performed, additional filtering (for defence in depth) could be performed, but may not have an indication of what is repo- or preset-config vs global self-hosted config.\n */\n requiresCheckAtTrustBoundary?: boolean;\n\n inheritConfigSupport?: boolean;\n\n allowedValues?: string[];\n\n /**\n * A subset of suggested values for the user, which are some (but not all) of the possible `allowedValues`.\n *\n * This provides editor autocomplete (i.e. via our JSON Schema) but makes it possible to not be an exhaustive list, which is required by `allowedValues`, and may be further complicated by `patternMatch`.\n */\n suggestedValues?: string[];\n\n allowString?: boolean;\n\n cli?: boolean;\n\n description: string;\n\n env?: false | string;\n\n /**\n * Do not validate object children\n */\n freeChoice?: boolean;\n\n mergeable?: boolean;\n\n autogenerated?: boolean;\n\n name: string;\n\n parents?: AllowedParents[];\n\n /**\n * The kinds of place this option can be used, which are expanded alongside any `parents`.\n *\n * An option which declares neither is treated as valid anywhere, which is what we're working towards removing in #43020.\n */\n scopes?: ConfigScope[];\n\n stage?: RenovateConfigStage;\n\n experimental?: boolean;\n\n experimentalDescription?: string;\n\n experimentalIssues?: number[];\n\n advancedUse?: boolean;\n\n /**\n * This is used to add a deprecation message in the docs\n */\n deprecationMsg?: string;\n\n /**\n * For internal use only: add it to any config option that supports regex or glob matching\n */\n patternMatch?: boolean;\n\n /**\n * For internal use only: add it to any config option of type integer that supports negative integers\n */\n allowNegative?: boolean;\n\n /**\n * Whether the option can be set to `null`.\n *\n * This is only needed if the default is not `null` (which makes this implied).\n */\n nullable?: boolean;\n\n /**\n * Managers which support this option, leave undefined if all managers support it.\n */\n supportedManagers?: string[];\n\n /**\n * Platforms which support this option, leave undefined if all platforms support it.\n */\n supportedPlatforms?: PlatformId[];\n\n /**\n * Conditions that must be met for this option to be required.\n */\n requiredIf?: RenovateRequiredOption[];\n\n /**\n * If true, the option's value supports Renovate templating.\n * @see https://docs.renovatebot.com/templates/\n */\n supportsTemplating?: boolean;\n}\n\nexport interface RenovateRequiredOption {\n siblingProperties: { property: string; value: string }[];\n}\n\nexport interface RenovateArrayOption<\n T extends string | number | Record<string, unknown> = Record<string, unknown>,\n> extends RenovateOptionBase {\n default?: T[] | null;\n mergeable?: boolean;\n type: 'array';\n subType?: 'string' | 'object' | 'number';\n}\n\nexport interface RenovateStringArrayOption extends RenovateArrayOption<string> {\n format?: 'regex';\n subType: 'string';\n}\n\nexport interface RenovateNumberArrayOption extends RenovateArrayOption<number> {\n subType: 'number';\n}\n\nexport interface RenovateBooleanOption extends RenovateOptionBase {\n default?: boolean | null;\n type: 'boolean';\n}\n\nexport interface RenovateIntegerOption extends RenovateOptionBase {\n default?: number | null;\n type: 'integer';\n}\n\nexport interface RenovateStringOption extends RenovateOptionBase {\n default?: string | null;\n format?: 'regex';\n\n // Not used\n replaceLineReturns?: boolean;\n type: 'string';\n}\n\nexport interface RenovateObjectOption extends RenovateOptionBase {\n default?: any;\n additionalProperties?: Record<string, unknown> | boolean;\n\n /**\n * The keys the object accepts, for an option whose keys are a known set rather than the user's choice.\n */\n properties?: Record<string, unknown>;\n mergeable?: boolean;\n type: 'object';\n}\n\ntype RenovateOptionType =\n | RenovateStringOption\n | RenovateNumberArrayOption\n | RenovateStringArrayOption\n | RenovateIntegerOption\n | RenovateBooleanOption\n | RenovateArrayOption\n | RenovateObjectOption;\n\n/**\n * An option which can only be configured by people with access to the Renovate instance.\n *\n * It should be documented in docs/usage/self-hosted-configuration.md, and doesn't have to say where it can be used yet - see #43020.\n */\ninterface SelfHostedOption {\n globalOnly: true;\n scopes?: ConfigScope[];\n parents?: AllowedParents[];\n}\n\n/**\n * An option which a repository can configure, which has to say where it can be used, through either its `scopes` or its `parents`.\n */\ntype ConfigurableOption = { globalOnly?: false } & (\n | { scopes: ConfigScope[]; parents?: AllowedParents[] }\n | { parents: AllowedParents[]; scopes?: ConfigScope[] }\n);\n\nexport type RenovateOptions = RenovateOptionType &\n (SelfHostedOption | ConfigurableOption);\n\nexport interface PackageRuleInputConfig extends RenovateConfig {\n versioning?: string;\n packageFile?: string;\n lockFiles?: string[];\n depType?: string;\n depTypes?: string[];\n depName?: string;\n packageName?: string | null;\n newValue?: string | null;\n currentValue?: string | null;\n currentVersion?: string;\n lockedVersion?: string;\n updateType?: UpdateType;\n mergeConfidenceLevel?: MergeConfidence | undefined;\n isBump?: boolean;\n isBreaking?: boolean;\n sourceUrl?: string | null;\n categories?: string[];\n baseBranch?: string;\n manager?: string;\n datasource?: string;\n effectiveDatasource?: string;\n packageRules?: (PackageRule & PackageRuleInputConfig)[];\n releaseTimestamp?: Timestamp | null;\n repository?: string;\n currentVersionAgeInDays?: number;\n currentVersionTimestamp?: string;\n enabled?: boolean;\n skipReason?: SkipReason;\n skipStage?: StageName;\n}\n\nexport interface ConfigMigration {\n configMigration?: boolean;\n}\n\nexport interface MigratedConfig {\n /**\n * Indicates whether there was a migration applied to the configuration.\n *\n * @returns\n * `false` if the configuration does not need migrating, and `migratedConfig` can be ignored\n * `true` if the configuration was migrated, and if so, `migratedConfig` should be used instead of the provided config\n */\n isMigrated: boolean;\n migratedConfig: RenovateConfig;\n}\n\nexport interface MigratedRenovateConfig extends RenovateConfig {\n endpoints?: HostRule[];\n pathRules: PackageRule[];\n packages: PackageRule[];\n\n node?: RenovateConfig;\n travis?: RenovateConfig;\n gradle?: RenovateConfig;\n}\n\nexport interface ManagerConfig extends RenovateConfig {\n manager: string;\n categories?: Category[];\n}\n\nexport interface ValidationResult {\n errors: ValidationMessage[];\n warnings: ValidationMessage[];\n}\n\nexport interface BumpVersionConfig {\n bumpType?: string;\n filePatterns: string[];\n matchStrings: string[];\n name?: string;\n}\n\n/**\n * Global Config for specified `toolSettings` options.\n *\n */\nexport interface GlobalToolSettingsOptions {\n /** An upper limit on what the Java Virtual Machine's maximum memory can be set to. Repositories can specify <= this value */\n jvmMaxMemory?: number;\n /** An upper limit on what the Java Virtual Machine's starting memory can be set to. Repositories can specify <= this value */\n jvmMemory?: number;\n /** An upper limit on what the Node.JS process' maximum memory can be set to. Repositories can specify <= this value */\n nodeMaxMemory?: number;\n}\n\n/**\n * Repository config options for `toolSettings` options.\n */\nexport interface RepoToolSettingsOptions {\n /** The maximum memory the Java Virtual Machine can use. If greater than the Global Self-Hosted configuration setting, it will be set to that limit **/\n jvmMaxMemory?: number;\n /** The starting memory the Java Virtual Machine can use. If greater than the Global Self-Hosted configuration setting, it will be set to that limit **/\n jvmMemory?: number;\n /** The maximum memory child Node.JS processes can use. If greater than the Global Self-Hosted configuration setting, it will be set to that limit **/\n nodeMaxMemory?: number;\n}\n"],"mappings":";AAgDA,MAAa,+BAA+B;CAC1C;CACA;CACA;AACF;AA4SA,MAAa,4BAA4B;CACvC;CACA;CACA;CACA;AACF;AAuJA,MAAa,0BAA0B;CACrC;CACA;CACA;CACA;CACA;AACF;AAgDA,MAAa,qBAAqB;CAChC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;;;;AAmEA,MAAa,eAAe;CAE1B;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;AACF;;;;AAOA,MAAa,eAAe;CAC1B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../lib/config/types.ts"],"sourcesContent":["import type { Category, PlatformId } from '../constants/index.ts';\nimport type { LogLevelRemap } from '../logger/types.ts';\nimport type {\n CustomManagerName,\n ManagerName,\n} from '../manager-list.generated.ts';\nimport type { CustomManager } from '../modules/manager/custom/types.ts';\nimport type {\n GitUrlOption,\n RepoSortMethod,\n SortMethod,\n} from '../modules/platform/types.ts';\nimport type {\n AutoMergeType,\n HostRule,\n Nullish,\n RangeStrategy,\n SkipReason,\n} from '../types/index.ts';\nimport type { StageName } from '../types/skip-reason.ts';\nimport type {\n AdditionalConstraintName,\n ConstraintName,\n ToolName,\n} from '../util/exec/types.ts';\nimport type { GitNoVerifyOption } from '../util/git/types.ts';\nimport type { MergeConfidence } from '../util/merge-confidence/types.ts';\nimport type { Timestamp } from '../util/timestamp.ts';\nimport type { ConfigValidationTopic } from './validation-helpers/types.ts';\n\nexport type RenovateConfigStage =\n 'global' | 'inherit' | 'repository' | 'package' | 'branch' | 'pr';\n\nexport type RenovateSplit =\n 'init' | 'onboarding' | 'extract' | 'lookup' | 'update';\n\nexport type RepositoryCacheConfig = 'disabled' | 'enabled' | 'reset';\nexport type RepositoryCacheType = 'local' | (string & {});\nexport type DryRunConfig = 'extract' | 'lookup' | 'full';\nexport type InternalHostAccess = 'allow' | 'warn' | 'block';\nexport type RequiredConfig = 'required' | 'optional' | 'ignored';\n\nexport interface GroupConfig extends Record<string, unknown> {\n branchName?: string;\n branchTopic?: string;\n}\n\nexport type RecreateWhen = 'auto' | 'never' | 'always';\nexport const allowedStatusCheckWhenValues = [\n 'always',\n 'never',\n 'failed',\n] as const;\nexport type StatusCheckWhen = (typeof allowedStatusCheckWhenValues)[number];\nexport type PlatformCommitOptions = 'auto' | 'disabled' | 'enabled';\n\nexport type BinarySource = 'docker' | 'global' | 'install' | 'hermit';\n\n// TODO: Proper typings\n/**\n * Any configuration that could be used either top-level in a repository config (or Global, Inherited or Shareable Preset configuration), or:\n *\n * - in a datasource-specific configuration\n * - in a manager-specific configuration\n * - in a Package Rule\n *\n * @see RenovateConfig for the superset of all configuration allowed in a given repository\n *\n */\nexport interface RenovateSharedConfig {\n $schema?: string;\n abandonmentThreshold?: Nullish<string>;\n addLabels?: string[];\n assignAutomerge?: boolean;\n autoApprove?: boolean;\n autoReplaceGlobalMatch?: boolean;\n automerge?: boolean;\n automergeSchedule?: string[];\n automergeStrategy?: MergeStrategy;\n automergeType?: AutoMergeType;\n azureWorkItemId?: number;\n azureWorkItemType?: string;\n branchName?: string;\n branchNameStrict?: boolean;\n branchPrefix?: string;\n branchPrefixOld?: string;\n bumpVersions?: BumpVersionConfig[];\n commitBody?: string;\n commitBodyTable?: boolean;\n commitMessage?: string;\n commitMessageAction?: string;\n commitMessageExtra?: string;\n commitMessageLowerCase?: 'auto' | 'never';\n commitMessagePrefix?: string;\n commitMessageTopic?: string;\n commitTrailers?: string[];\n confidential?: boolean;\n configValidationError?: boolean;\n changelogUrl?: string;\n dependencyDashboardApproval?: boolean;\n draftPR?: boolean;\n enabled?: boolean;\n enabledManagers?: string[];\n encrypted?: Record<string, string>;\n extends?: string[];\n extractVersion?: string;\n managerFilePatterns?: string[];\n followTag?: string;\n force?: RenovateConfig;\n gitIgnoredAuthors?: string[];\n group?: GroupConfig;\n groupName?: string;\n groupSingleUpdates?: boolean;\n groupSlug?: string;\n hashedBranchLength?: number;\n ignoreDeps?: string[];\n ignorePaths?: string[];\n ignoreTests?: boolean;\n ignoreUnstable?: boolean;\n includePaths?: string[];\n internalChecksAsSuccess?: boolean;\n internalChecksFilter?: 'strict' | 'flexible' | 'none';\n keepUpdatedLabel?: string;\n labels?: string[];\n manager?: string;\n milestone?: number;\n minimumReleaseAge?: Nullish<string>;\n minimumReleaseAgeBuffer?: Nullish<string>;\n npmrc?: string;\n npmrcMerge?: boolean;\n npmToken?: string;\n\n pinDigests?: boolean;\n platformAutomerge?: boolean;\n platformCommit?: PlatformCommitOptions;\n postUpgradeTasks?: PostUpgradeTasks;\n prBodyColumns?: string[];\n prBodyDefinitions?: Record<string, string>;\n prBodyHeadingDefinitions?: Record<string, string>;\n prBodyNotes?: string[];\n prCreation?: 'immediate' | 'not-pending' | 'status-success' | 'approval';\n prFooter?: string;\n prHeader?: string;\n prPriority?: number;\n prTitle?: string;\n prTitleStrict?: boolean;\n pruneBranchAfterAutomerge?: boolean;\n rangeStrategy?: RangeStrategy;\n rebaseLabel?: string;\n rebaseWhen?: string;\n recreateClosed?: boolean;\n recreateWhen?: RecreateWhen;\n repository?: string;\n repositoryCache?: RepositoryCacheConfig;\n repositoryCacheType?: RepositoryCacheType;\n respectLatest?: boolean;\n rollbackPrs?: boolean;\n schedule?: string[];\n semanticCommitScope?: string | null;\n semanticCommitType?: string;\n semanticCommits?: 'auto' | 'enabled' | 'disabled';\n separateMajorMinor?: boolean;\n separateMinorPatch?: boolean;\n separateMultipleMajor?: boolean;\n separateMultipleMinor?: boolean;\n skipArtifactsUpdate?: boolean;\n stopUpdatingLabel?: string;\n suppressNotifications?: string[];\n timezone?: string;\n unicodeEmoji?: boolean;\n updateNotScheduled?: boolean;\n versioning?: string;\n versionCompatibility?: string;\n}\n\n/**\n * Contains all options with globalOnly=true && inheritConfigSupport=true\n */\nexport interface GlobalInheritableConfig {\n bbUseDevelopmentBranch?: boolean;\n configFileNames?: string[];\n onboarding?: boolean;\n onboardingAutoCloseAge?: number;\n onboardingBranch?: string;\n onboardingCommitMessage?: string;\n onboardingConfig?: RenovateConfig;\n onboardingConfigFileName?: string;\n onboardingNoDeps?: 'auto' | 'enabled' | 'disabled';\n onboardingPrTitle?: string;\n requireConfig?: RequiredConfig;\n}\n\n// Config options used only within the global worker\n// The below should contain config options where stage=global\n/** @deprecated use `RepoGlobalConfig` instead **/\nexport interface GlobalOnlyConfigLegacy {\n autodiscover?: boolean;\n autodiscoverFilter?: string[] | string;\n autodiscoverNamespaces?: string[];\n autodiscoverProjects?: string[];\n autodiscoverTopics?: string[];\n baseDir?: string;\n cacheDir?: string;\n containerbaseDir?: string;\n detectHostRulesFromEnv?: boolean;\n dockerCliOptions?: string;\n endpoint?: string;\n exitCodeForErrors?: boolean;\n forceCli?: boolean;\n gitNoVerify?: GitNoVerifyOption[];\n gitPrivateKey?: string;\n gitPrivateKeyPassphrase?: string;\n globalExtends?: string[];\n mergeConfidenceDatasources?: string[];\n mergeConfidenceEndpoint?: string;\n platform?: PlatformId;\n processEnv?: Record<string, string>;\n prCommitsPerRunLimit?: number;\n privateKey?: string;\n privateKeyOld?: string;\n privateKeyPath?: string;\n privateKeyPathOld?: string;\n redisPrefix?: string;\n redisUrl?: string;\n repositories?: RenovateRepository[];\n useCloudMetadataServices?: boolean;\n deleteConfigFile?: boolean;\n deleteAdditionalConfigFile?: boolean;\n}\n\n/**\n * Any global-only configuration set by self-hosted administrators.\n *\n * Used within the repository worker.\n *\n * Should only contain config options where globalOnly=true.\n */\nexport interface RepoGlobalConfig extends GlobalInheritableConfig {\n allowedCommands?: string[];\n allowCustomCrateGitRegistries?: boolean;\n allowPlugins?: boolean;\n allowScripts?: boolean;\n allowShellExecutorForPostUpgradeCommands?: boolean;\n allowedEnv?: string[];\n allowedHeaders?: string[];\n binarySource?: BinarySource;\n cacheDir?: string;\n cacheHardTtlMinutes?: number;\n cacheTtlOverride?: Record<string, number>;\n checkedBranches?: string[];\n containerbaseDir?: string;\n customEnvVariables?: Record<string, string>;\n dockerChildPrefix?: string;\n dockerCliOptions?: string;\n dockerSidecarImage?: string;\n dockerUser?: string;\n dryRun?: DryRunConfig;\n encryptedWarning?: string;\n endpoint?: string;\n executionTimeout?: number;\n exposeAllEnv?: boolean;\n gitTimeout?: number;\n githubTokenWarn?: boolean;\n includeMirrors?: boolean;\n inheritConfigTrusted?: boolean;\n internalHostAccess?: InternalHostAccess;\n migratePresets?: Record<string, string>;\n platform?: PlatformId;\n prCacheSyncMaxPages?: number;\n presetCachePersistence?: boolean;\n httpCacheTtlDays?: number;\n autodiscoverRepoSort?: RepoSortMethod;\n autodiscoverRepoOrder?: SortMethod;\n userAgent?: string;\n dockerMaxPages?: number;\n s3Endpoint?: string;\n s3PathStyle?: boolean;\n cachePrivatePackages?: boolean;\n repositoryCacheForceLocal?: boolean;\n configFileNames?: string[];\n ignorePrAuthor?: boolean;\n allowedUnsafeExecutions?: AllowedUnsafeExecution[];\n onboardingAutoCloseAge?: number;\n productLinks?: Record<string, string>;\n rebaseAllOpenBranches?: boolean;\n toolSettings?: GlobalToolSettingsOptions;\n}\n\n/**\n * Internal variables which are referenced from `GlobalConfig`, but are *not* user-configurable options.\n */\nexport interface InternalGlobalConfigOptions {\n localDir?: string;\n}\n\n/**\n * Those options are global only but still passed into the repository worker config.\n *\n * @deprecated https://github.com/renovatebot/renovate/issues/39693\n */\nexport interface LegacyAdminConfig {\n baseDir?: string;\n localDir?: string;\n\n logContext?: string;\n\n onboarding?: boolean;\n onboardingBranch?: string;\n onboardingNoDeps?: 'auto' | 'enabled' | 'disabled';\n onboardingRebaseCheckbox?: boolean;\n onboardingConfig?: RenovateConfig;\n onboardingConfigFileName?: string;\n\n optimizeForDisabled?: boolean;\n\n persistRepoData?: boolean;\n\n prCommitsPerRunLimit?: number;\n\n requireConfig?: RequiredConfig;\n\n useCloudMetadataServices?: boolean;\n\n writeDiscoveredRepos?: string;\n}\n\nexport type ExecutionMode = 'branch' | 'update';\n\nexport interface PostUpgradeTasks {\n commands?: string[];\n workingDirTemplate?: string;\n dataFileTemplate?: string;\n fileFilters?: string[];\n executionMode: ExecutionMode;\n installTools?: Partial<Record<ToolName, Record<never, never>>>;\n}\n\nexport type UpdateConfig<\n T extends RenovateSharedConfig = RenovateSharedConfig,\n> = Partial<Record<UpdateType, T | null>>;\n\nexport type RenovateRepositoryEntry = AllConfig & {\n repository: string;\n};\n\nexport type RenovateRepository = string | RenovateRepositoryEntry;\n\nexport type UseBaseBranchConfigType = 'merge' | 'none';\nexport type ConstraintsFilter = 'strict' | 'none';\nexport type MinimumReleaseAgeBehaviour =\n 'timestamp-required' | 'timestamp-optional';\n\nexport const allowedStatusCheckStrings = [\n 'minimumReleaseAge',\n 'mergeConfidence',\n 'configValidation',\n 'artifactError',\n] as const;\nexport type StatusCheckKey = (typeof allowedStatusCheckStrings)[number];\ntype UserEnv = Record<string, string>;\n\n/**\n * Computed properties, for internal use only\n */\nexport interface RenovateInternalConfig {\n /** computed base branch from patterns - for internal use only */\n baseBranches?: string[];\n currentCompatibility?: string;\n datasource?: string;\n hasBaseBranches?: boolean;\n isFork?: boolean;\n isVulnerabilityAlert?: boolean;\n\n /** What is this used for? */\n remediations?: unknown;\n /** What is this used for? */\n vulnerabilityAlertsOnly?: boolean;\n}\n\n// TODO: Proper typings\n/**\n * Configuration that could be used either top-level in a repository config (or Global, Inherited or Shareable Preset configuration).\n *\n * This is a superset of any configuration that a Renovate user (not self-hosted administrator) can set.\n */\nexport interface RenovateConfig\n extends\n LegacyAdminConfig,\n RenovateSharedConfig,\n UpdateConfig<PackageRule>,\n AssigneesAndReviewersConfig,\n ConfigMigration,\n RenovateInternalConfig {\n s3Endpoint?: string;\n s3PathStyle?: boolean;\n reportFormatting?: boolean;\n reportPath?: string;\n reportType?: 'logging' | 'file' | 's3' | null;\n depName?: string;\n /** user configurable base branch patterns*/\n baseBranchPatterns?: string[];\n useBaseBranchConfig?: UseBaseBranchConfigType;\n baseBranch?: string;\n defaultBranch?: string;\n branchList?: string[];\n cloneSubmodules?: boolean;\n cloneSubmodulesFilter?: string[];\n description?: string | string[];\n overrideDescription?: string | string[];\n detectGlobalManagerConfig?: boolean;\n errors?: ValidationMessage[];\n forkModeDisallowMaintainerEdits?: boolean;\n forkProcessing?: 'auto' | 'enabled' | 'disabled';\n forkToken?: string;\n\n gitAuthor?: string;\n\n hostRules?: HostRule[];\n\n inheritConfig?: boolean;\n inheritConfigFileName?: string;\n inheritConfigRepoName?: string;\n inheritConfigStrict?: boolean;\n\n ignorePresets?: string[];\n\n fileList?: string[];\n configWarningReuseIssue?: boolean;\n dependencyDashboard?: boolean;\n dependencyDashboardAutoclose?: boolean;\n dependencyDashboardChecks?: Record<string, string>;\n dependencyDashboardIssue?: number;\n dependencyDashboardTitle?: string;\n dependencyDashboardHeader?: string;\n dependencyDashboardFooter?: string;\n dependencyDashboardLabels?: string[];\n dependencyDashboardOSVVulnerabilitySummary?: 'none' | 'all' | 'unresolved';\n dependencyDashboardReportAbandonment?: boolean;\n mode?: 'silent' | 'full';\n packageFile?: string;\n packageRules?: PackageRule[];\n postUpdateOptions?: string[];\n branchConcurrentLimit?: number | null;\n parentOrg?: string;\n prConcurrentLimit?: number;\n commitHourlyLimit?: number;\n prHourlyLimit?: number;\n\n printConfig?: boolean;\n\n pruneStaleBranches?: boolean;\n\n defaultRegistryUrls?: string[];\n registryUrls?: string[] | null;\n registryAliases?: Record<string, string>;\n\n /**\n * What is this used for?\n * @deprecated\n */\n renovateJsonPresent?: boolean;\n\n repoIsOnboarded?: boolean;\n repoIsActivated?: boolean;\n\n topLevelOrg?: string;\n updateInternalDeps?: boolean;\n updateType?: UpdateType;\n\n warnings?: ValidationMessage[];\n vulnerabilityAlerts?: RenovateSharedConfig;\n osvVulnerabilityAlerts?: boolean;\n vulnerabilitySeverity?: string;\n customManagers?: CustomManager[];\n customDatasources?: Record<string, CustomDatasourceConfig>;\n\n fetchChangeLogs?: FetchChangeLogsOptions;\n secrets?: Record<string, string>;\n variables?: Record<string, string>;\n\n constraints?: Partial<Record<ConstraintName, string>>;\n /**\n * Any specific overrides for the versioning for the `AdditionalConstraintName`s.\n */\n constraintsVersioning?: Partial<Record<AdditionalConstraintName, string>>;\n skipInstalls?: boolean | null;\n\n constraintsFiltering?: ConstraintsFilter;\n\n customizeDashboard?: Record<string, string>;\n\n statusCheckNames?: Record<StatusCheckKey, string | null>;\n statusCheckWhen?: Partial<Record<StatusCheckKey, StatusCheckWhen>>;\n /**\n * User configured environment variables that Renovate uses when executing package manager commands\n */\n env?: UserEnv;\n logLevelRemap?: LogLevelRemap[];\n\n branchTopic?: string;\n additionalBranchPrefix?: string;\n sharedVariableName?: string;\n minimumGroupSize?: number;\n configFileNames?: string[];\n minimumReleaseAgeBehaviour?: MinimumReleaseAgeBehaviour;\n toolSettings?: RepoToolSettingsOptions;\n}\n\nexport const CustomDatasourceFormats = [\n 'html',\n 'json',\n 'plain',\n 'toml',\n 'yaml',\n] as const;\nexport type CustomDatasourceFormats = (typeof CustomDatasourceFormats)[number];\n\nexport interface CustomDatasourceConfig {\n defaultRegistryUrlTemplate?: string;\n format?: CustomDatasourceFormats;\n transformTemplates?: string[];\n}\n\n/**\n * The superset of all configuration that a self-hosted administrator can set, alongside all repository-level configuration.\n *\n */\nexport interface AllConfig\n extends RenovateConfig, GlobalOnlyConfigLegacy, RepoGlobalConfig {\n gitUrl?: GitUrlOption;\n password?: string;\n token?: string;\n username?: string;\n}\n\nexport interface AssigneesAndReviewersConfig {\n assigneesFromCodeOwners?: boolean;\n expandCodeOwnersGroups?: boolean;\n assignees?: string[];\n assigneesSampleSize?: number;\n ignoreReviewers?: string[];\n reviewersFromCodeOwners?: boolean;\n reviewers?: string[];\n reviewersSampleSize?: number;\n additionalReviewers?: string[];\n filterUnavailableUsers?: boolean;\n}\n\nexport type UpdateType =\n | 'major'\n | 'minor'\n | 'patch'\n | 'pin'\n | 'digest'\n | 'pinDigest'\n | 'lockFileMaintenance'\n | 'lockfileUpdate'\n | 'rollback'\n | 'bump'\n | 'replacement';\n\n// These are the update types which can have configuration\nexport const UpdateTypesOptions = [\n 'major',\n 'minor',\n 'patch',\n 'pin',\n 'digest',\n 'pinDigest',\n 'lockFileMaintenance',\n 'rollback',\n 'replacement',\n] as const;\n\nexport type UpdateTypeOptions = (typeof UpdateTypesOptions)[number];\n\nexport type FetchChangeLogsOptions = 'off' | 'branch' | 'pr';\n\nexport type MatchStringsStrategy = 'any' | 'recursive' | 'combination';\n\nexport type MergeStrategy =\n | 'auto'\n | 'fast-forward'\n | 'merge-commit'\n | 'rebase'\n | 'rebase-merge'\n | 'squash';\n\n// This list should be added to as any new unsafe execution commands should be permitted\nexport type AllowedUnsafeExecution =\n 'bazelModDeps' | 'goGenerate' | 'gradleWrapper' | 'mise' | 'pixi';\n\n// TODO: Proper typings\nexport interface PackageRule\n extends RenovateSharedConfig, RenovateInternalConfig, UpdateConfig {\n allowedVersions?: string;\n description?: string | string[];\n matchBaseBranches?: string[];\n matchCategories?: string[];\n matchConfidence?: MergeConfidence[];\n matchCurrentAge?: string;\n matchCurrentValue?: string;\n matchCurrentVersion?: string;\n matchDatasources?: string[];\n matchDepNames?: string[];\n matchDepTypes?: string[];\n matchFileNames?: string[];\n matchIsBreaking?: boolean;\n matchManagers?: string[];\n matchNewValue?: string;\n matchPackageNames?: string[];\n matchRepositories?: string[];\n matchSourceUrls?: string[];\n matchRegistryUrls?: string[];\n matchUpdateTypes?: UpdateType[];\n matchJsonata?: string[];\n overrideDatasource?: string;\n overrideDepName?: string;\n overridePackageName?: string;\n registryUrls?: string[] | null;\n replacementName?: string;\n replacementVersion?: string;\n sourceUrl?: string;\n sourceDirectory?: string;\n vulnerabilitySeverity?: string;\n vulnerabilityFixVersion?: string;\n}\n\nexport interface ValidationMessage {\n // Topic is either the known list of topics, or a dynamically generated one\n topic: ConfigValidationTopic | (string & {});\n message: string;\n}\n\n/**\n * The kinds of place a config option can be used, which expand to the {@link AllowedParents} they cover.\n *\n * These are for the places which can't reasonably be listed, like every manager or every update type, so an option which is only valid in a specific object - like `hostRules` - should use `parents` instead.\n */\nexport const configScopes = [\n /** the top level of a repository, global, inherited or preset config */\n 'repo',\n /** a `packageRules` entry */\n 'packageRule',\n /** a manager's configuration object, like `npm` */\n 'manager',\n /** an update type's configuration object, like `major` */\n 'updateType',\n /** the `vulnerabilityAlerts` configuration object */\n 'vulnerabilityAlert',\n /** the `group` configuration object, which is merged into an update when it's grouped */\n 'group',\n /** every object a config can be nested in, for the options which are read wherever they're found */\n 'any',\n] as const;\n\nexport type ConfigScope = (typeof configScopes)[number];\n\n/**\n * The objects which a config can be nested in, other than the top level and the ones which are covered by a {@link ConfigScope}.\n */\nexport const namedParents = [\n 'bumpVersions',\n 'customDatasources',\n 'customManagers',\n 'group',\n 'hostRules',\n 'logLevelRemap',\n 'packageRules',\n 'postUpgradeTasks',\n 'toolSettings',\n 'vulnerabilityAlerts',\n] as const;\n\nexport type AllowedParents =\n | '.'\n | (typeof namedParents)[number]\n | ManagerName\n | CustomManagerName\n | UpdateTypeOptions;\nexport interface RenovateOptionBase {\n /**\n * If true, this option **MUST** be checked at the trust boundary: after resolving the full config that sets it, but **before** the value is applied.\n *\n * This is in addition to any existing config validation, and ensures that these options are re-validated due to their sensitive nature.\n *\n * A failure of that check **must** lead to a {@link ConfigValidationTopic.Security} error (which is then a full config validation error), stopping the Renovate run.\n *\n * After this check has been performed, additional filtering (for defence in depth) could be performed, but may not have an indication of what is repo- or preset-config vs global self-hosted config.\n */\n requiresCheckAtTrustBoundary?: boolean;\n\n inheritConfigSupport?: boolean;\n\n allowedValues?: string[];\n\n /**\n * A subset of suggested values for the user, which are some (but not all) of the possible `allowedValues`.\n *\n * This provides editor autocomplete (i.e. via our JSON Schema) but makes it possible to not be an exhaustive list, which is required by `allowedValues`, and may be further complicated by `patternMatch`.\n */\n suggestedValues?: string[];\n\n allowString?: boolean;\n\n cli?: boolean;\n\n description: string;\n\n env?: false | string;\n\n /**\n * Do not validate object children\n */\n freeChoice?: boolean;\n\n mergeable?: boolean;\n\n autogenerated?: boolean;\n\n name: string;\n\n parents?: AllowedParents[];\n\n /**\n * The kinds of place this option can be used, which are expanded alongside any `parents`.\n *\n * An option which declares neither is treated as valid anywhere, which is what we're working towards removing in #43020.\n */\n scopes?: ConfigScope[];\n\n stage?: RenovateConfigStage;\n\n experimental?: boolean;\n\n experimentalDescription?: string;\n\n experimentalIssues?: number[];\n\n advancedUse?: boolean;\n\n /**\n * This is used to add a deprecation message in the docs\n */\n deprecationMsg?: string;\n\n /**\n * For internal use only: add it to any config option that supports regex or glob matching\n */\n patternMatch?: boolean;\n\n /**\n * For internal use only: add it to any config option of type integer that supports negative integers\n */\n allowNegative?: boolean;\n\n /**\n * Whether the option can be set to `null`.\n *\n * This is only needed if the default is not `null` (which makes this implied).\n */\n nullable?: boolean;\n\n /**\n * Managers which support this option, leave undefined if all managers support it.\n */\n supportedManagers?: string[];\n\n /**\n * Platforms which support this option, leave undefined if all platforms support it.\n */\n supportedPlatforms?: PlatformId[];\n\n /**\n * Conditions that must be met for this option to be required.\n */\n requiredIf?: RenovateRequiredOption[];\n\n /**\n * If true, the option's value supports Renovate templating.\n * @see https://docs.renovatebot.com/templates/\n */\n supportsTemplating?: boolean;\n}\n\nexport interface RenovateRequiredOption {\n siblingProperties: { property: string; value: string }[];\n}\n\nexport interface RenovateArrayOption<\n T extends string | number | Record<string, unknown> = Record<string, unknown>,\n> extends RenovateOptionBase {\n default?: T[] | null;\n mergeable?: boolean;\n type: 'array';\n subType?: 'string' | 'object' | 'number';\n}\n\nexport interface RenovateStringArrayOption extends RenovateArrayOption<string> {\n format?: 'regex';\n subType: 'string';\n}\n\nexport interface RenovateNumberArrayOption extends RenovateArrayOption<number> {\n subType: 'number';\n}\n\nexport interface RenovateBooleanOption extends RenovateOptionBase {\n default?: boolean | null;\n type: 'boolean';\n}\n\nexport interface RenovateIntegerOption extends RenovateOptionBase {\n default?: number | null;\n type: 'integer';\n}\n\nexport interface RenovateStringOption extends RenovateOptionBase {\n default?: string | null;\n format?: 'regex';\n\n // Not used\n replaceLineReturns?: boolean;\n type: 'string';\n}\n\nexport interface RenovateObjectOption extends RenovateOptionBase {\n default?: any;\n additionalProperties?: Record<string, unknown> | boolean;\n\n /**\n * The keys the object accepts, for an option whose keys are a known set rather than the user's choice.\n */\n properties?: Record<string, unknown>;\n mergeable?: boolean;\n type: 'object';\n}\n\ntype RenovateOptionType =\n | RenovateStringOption\n | RenovateNumberArrayOption\n | RenovateStringArrayOption\n | RenovateIntegerOption\n | RenovateBooleanOption\n | RenovateArrayOption\n | RenovateObjectOption;\n\n/**\n * An option which can only be configured by people with access to the Renovate instance.\n *\n * It should be documented in docs/usage/self-hosted-configuration.md, and doesn't have to say where it can be used yet - see #43020.\n */\ninterface SelfHostedOption {\n globalOnly: true;\n scopes?: ConfigScope[];\n parents?: AllowedParents[];\n}\n\n/**\n * An option which a repository can configure, which has to say where it can be used, through either its `scopes` or its `parents`.\n */\ntype ConfigurableOption = { globalOnly?: false } & (\n | { scopes: ConfigScope[]; parents?: AllowedParents[] }\n | { parents: AllowedParents[]; scopes?: ConfigScope[] }\n);\n\nexport type RenovateOptions = RenovateOptionType &\n (SelfHostedOption | ConfigurableOption);\n\nexport interface PackageRuleInputConfig extends RenovateConfig {\n versioning?: string;\n packageFile?: string;\n lockFiles?: string[];\n depType?: string;\n depTypes?: string[];\n depName?: string;\n packageName?: string | null;\n newValue?: string | null;\n currentValue?: string | null;\n currentVersion?: string;\n lockedVersion?: string;\n updateType?: UpdateType;\n mergeConfidenceLevel?: MergeConfidence | undefined;\n isBump?: boolean;\n isBreaking?: boolean;\n sourceUrl?: string | null;\n categories?: string[];\n baseBranch?: string;\n manager?: string;\n datasource?: string;\n effectiveDatasource?: string;\n packageRules?: (PackageRule & PackageRuleInputConfig)[];\n releaseTimestamp?: Timestamp | null;\n repository?: string;\n currentVersionAgeInDays?: number;\n currentVersionTimestamp?: string;\n enabled?: boolean;\n skipReason?: SkipReason;\n skipStage?: StageName;\n}\n\nexport interface ConfigMigration {\n configMigration?: boolean;\n}\n\nexport interface MigratedConfig {\n /**\n * Indicates whether there was a migration applied to the configuration.\n *\n * @returns\n * `false` if the configuration does not need migrating, and `migratedConfig` can be ignored\n * `true` if the configuration was migrated, and if so, `migratedConfig` should be used instead of the provided config\n */\n isMigrated: boolean;\n migratedConfig: RenovateConfig;\n}\n\nexport interface MigratedRenovateConfig extends RenovateConfig {\n endpoints?: HostRule[];\n pathRules: PackageRule[];\n packages: PackageRule[];\n\n node?: RenovateConfig;\n travis?: RenovateConfig;\n gradle?: RenovateConfig;\n}\n\nexport interface ManagerConfig extends RenovateConfig {\n manager: string;\n categories?: Category[];\n}\n\nexport interface ValidationResult {\n errors: ValidationMessage[];\n warnings: ValidationMessage[];\n}\n\nexport interface BumpVersionConfig {\n bumpType?: string;\n filePatterns: string[];\n matchStrings: string[];\n name?: string;\n}\n\n/**\n * Global Config for specified `toolSettings` options.\n *\n */\nexport interface GlobalToolSettingsOptions {\n /** An upper limit on what the Java Virtual Machine's maximum memory can be set to. Repositories can specify <= this value */\n jvmMaxMemory?: number;\n /** An upper limit on what the Java Virtual Machine's starting memory can be set to. Repositories can specify <= this value */\n jvmMemory?: number;\n /** An upper limit on what the Node.JS process' maximum memory can be set to. Repositories can specify <= this value */\n nodeMaxMemory?: number;\n}\n\n/**\n * Repository config options for `toolSettings` options.\n */\nexport interface RepoToolSettingsOptions {\n /** The maximum memory the Java Virtual Machine can use. If greater than the Global Self-Hosted configuration setting, it will be set to that limit **/\n jvmMaxMemory?: number;\n /** The starting memory the Java Virtual Machine can use. If greater than the Global Self-Hosted configuration setting, it will be set to that limit **/\n jvmMemory?: number;\n /** The maximum memory child Node.JS processes can use. If greater than the Global Self-Hosted configuration setting, it will be set to that limit **/\n nodeMaxMemory?: number;\n}\n\n/** All known `VulnerabilityAlertSource`s */\nexport const VulnerabilityAlertSources = [\n /**\n * The Platform being used provides vulnerability alerts.\n *\n * i.e. GitHub Advanced Security's Dependabot Alerts\n **/\n '$platform',\n /**\n * The Open Source Vulnerability database (OSV) provides vulnerability alerts.\n *\n * @link https://github.com/renovatebot/osv-offline\n **/\n 'OSV',\n /**\n * A self-hosted administrator is providing any `packageRules` that will apply Vulnerability Alerts.\n *\n * @see PackageRule\n **/\n 'packageRules',\n] as const;\n\n/**\n * Where the Vulnerability Alerts are sourced from.\n */\nexport type VulnerabilityAlertSource =\n (typeof VulnerabilityAlertSources)[number];\n"],"mappings":";AAgDA,MAAa,+BAA+B;CAC1C;CACA;CACA;AACF;AA4SA,MAAa,4BAA4B;CACvC;CACA;CACA;CACA;AACF;AAuJA,MAAa,0BAA0B;CACrC;CACA;CACA;CACA;CACA;AACF;AAgDA,MAAa,qBAAqB;CAChC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;;;;AAmEA,MAAa,eAAe;CAE1B;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;AACF;;;;AAOA,MAAa,eAAe;CAC1B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;AA0SA,MAAa,4BAA4B;CAMvC;CAMA;CAMA;AACF"}
@@ -10,7 +10,7 @@ import { RangeStrategy } from "../../types/versioning.js";
10
10
  import { MaybePromise, Nullish } from "../../types/index.js";
11
11
  import "../datasource/index.js";
12
12
  import { CustomExtractConfig } from "./custom/types.js";
13
- import { MatchStringsStrategy, RepoToolSettingsOptions, UpdateType, ValidationMessage } from "../../config/types.js";
13
+ import { MatchStringsStrategy, RepoToolSettingsOptions, UpdateType, ValidationMessage, VulnerabilityAlertSource } from "../../config/types.js";
14
14
  import { ReleaseType } from "semver";
15
15
  //#region lib/modules/manager/types.d.ts
16
16
  export interface ManagerData<T> {
@@ -385,6 +385,12 @@ export interface ManagerApiBase extends ModuleApi {
385
385
  lockFileNames?: string[];
386
386
  supersedesManagers?: string[];
387
387
  supportedDatasources: string[];
388
+ /**
389
+ * Whether Renovate can perform a Vulnerability Alerts' remediation for a transitive dependency.
390
+ *
391
+ * This most likely happens using `lockfile-only` updates.
392
+ */
393
+ supportsTransitiveRemediation?: Partial<Record<VulnerabilityAlertSource, true>>;
388
394
  bumpPackageVersion?(content: string, currentValue: string, bumpVersion: ReleaseType, packageFile: string): MaybePromise<BumpPackageVersionResult>;
389
395
  detectGlobalConfig?(): MaybePromise<GlobalManagerConfig>;
390
396
  extractAllPackageFiles?(config: ExtractConfig, files: string[]): MaybePromise<PackageFile[] | null>;
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": "44.192.2",
4
+ "version": "44.193.0",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "renovate": "dist/renovate.js",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$id": "https://docs.renovatebot.com/renovate-schema.json",
3
- "title": "JSON schema for Renovate 44.192.2 config files (https://renovatebot.com/)",
3
+ "title": "JSON schema for Renovate 44.193.0 config files (https://renovatebot.com/)",
4
4
  "$schema": "http://json-schema.org/draft-07/schema#",
5
- "x-renovate-version": "44.192.2",
5
+ "x-renovate-version": "44.193.0",
6
6
  "allowComments": true,
7
7
  "type": "object",
8
8
  "definitions": {