renovate 39.77.0 → 39.79.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -313,9 +313,10 @@ const staticGroups = {
313
313
  'k8s.io/cluster-bootstrap**',
314
314
  'k8s.io/code-generator**',
315
315
  'k8s.io/component-base**',
316
+ 'k8s.io/component-helpers**',
316
317
  'k8s.io/controller-manager**',
317
318
  'k8s.io/cri-api**',
318
- // 'k8s.io/csi-api', has not go.mod set up and does not follow the versioning of other repos
319
+ // 'k8s.io/csi-api', has no go.mod set up and does not follow the versioning of other repos
319
320
  'k8s.io/csi-translation-lib**',
320
321
  'k8s.io/kube-aggregator**',
321
322
  'k8s.io/kube-controller-manager**',
@@ -1 +1 @@
1
- {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../../lib/config/presets/internal/group.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Preset } from '../types';\nimport * as monorepos from './monorepos';\n\nconst nonPinUpdateTypes = ['digest', 'patch', 'minor', 'major'];\n\n/* eslint sort-keys: [\"error\", \"asc\", {caseSensitive: false, natural: true}] */\n\nconst staticGroups = {\n all: {\n description: 'Group all updates together.',\n groupName: 'all dependencies',\n groupSlug: 'all',\n lockFileMaintenance: {\n enabled: false,\n },\n packageRules: [\n {\n groupName: 'all dependencies',\n groupSlug: 'all',\n matchPackageNames: ['*'],\n },\n ],\n\n separateMajorMinor: false,\n },\n allApollographql: {\n description: 'Group all packages published by Apollo GraphQL together.',\n packageRules: [\n {\n extends: ['packages:apollographql'],\n groupName: 'Apollo GraphQL packages',\n },\n ],\n },\n allDigest: {\n description: 'Group all `digest` updates together.',\n packageRules: [\n {\n groupName: 'all digest updates',\n groupSlug: 'all-digest',\n matchPackageNames: ['*'],\n matchUpdateTypes: ['digest'],\n },\n ],\n },\n allNonMajor: {\n description: 'Group all `minor` and `patch` updates together.',\n packageRules: [\n {\n groupName: 'all non-major dependencies',\n groupSlug: 'all-minor-patch',\n matchPackageNames: ['*'],\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n atlaskit: {\n description: 'Group all Atlassian `@atlaskit` packages together.',\n packageRules: [\n {\n extends: ['packages:atlaskit'],\n groupName: 'Atlassian Atlaskit packages',\n },\n ],\n },\n codemirror: {\n description: 'Group CodeMirror packages together.',\n packageRules: [\n {\n groupName: 'CodeMirror',\n matchPackageNames: ['@codemirror/**'],\n },\n ],\n },\n definitelyTyped: {\n description: 'Group all `@types` packages together.',\n packageRules: [\n {\n groupName: 'definitelyTyped',\n matchPackageNames: ['@types/**'],\n },\n ],\n },\n dotNetCore: {\n description: '.NET Core Docker containers.',\n packageRules: [\n {\n groupName: '.NET Core Docker containers',\n matchDatasources: ['docker'],\n matchPackageNames: ['mcr.microsoft.com/dotnet/**'],\n },\n ],\n },\n flyway: {\n description: 'Group Java Flyway packages.',\n packageRules: [\n {\n groupName: 'flyway',\n matchPackageNames: ['org.flywaydb:*', 'org.flywaydb.flyway:*'],\n },\n ],\n },\n fortawesome: {\n description: 'Group all packages by Font Awesome together.',\n packageRules: [\n {\n groupName: 'Font Awesome',\n matchPackageNames: ['@fortawesome/**'],\n },\n ],\n },\n fusionjs: {\n description: 'Group Fusion.js packages together.',\n packageRules: [\n {\n groupName: 'Fusion.js packages',\n matchPackageNames: [\n 'fusion-cli',\n 'fusion-core',\n 'fusion-test-utils',\n 'fusion-tokens',\n 'fusion-plugin-**',\n 'fusion-react**',\n 'fusion-apollo**',\n ],\n },\n ],\n },\n githubArtifactActions: {\n description:\n 'Group `download-artifact` and `upload-artifact` major updates together.',\n packageRules: [\n {\n groupName: 'GitHub Artifact Actions',\n matchManagers: ['github-actions'],\n matchPackageNames: [\n 'actions/download-artifact',\n 'actions/upload-artifact',\n ],\n matchUpdateTypes: ['major'],\n },\n ],\n },\n glimmer: {\n description: 'Group Glimmer.js packages together.',\n packageRules: [\n {\n groupName: 'Glimmer.js packages',\n groupSlug: 'glimmer',\n matchPackageNames: ['@glimmer/component', '@glimmer/tracking'],\n },\n ],\n },\n googleapis: {\n description: 'Group `googleapis` packages together.',\n packageRules: [\n {\n extends: ['packages:googleapis'],\n groupName: 'googleapis packages',\n },\n ],\n },\n goOpenapi: {\n description: 'Group `go-openapi` packages together.',\n packageRules: [\n {\n groupName: 'go-openapi packages',\n groupSlug: 'go-openapi',\n matchDatasources: ['go'],\n matchPackageNames: ['github.com/go-openapi/**'],\n },\n ],\n },\n hibernateCommons: {\n description: 'Group Java Hibernate Commons packages.',\n packageRules: [\n {\n groupName: 'hibernate commons',\n matchPackageNames: ['org.hibernate.common:**'],\n },\n ],\n },\n hibernateCore: {\n description: 'Group Java Hibernate Core packages.',\n packageRules: [\n {\n groupName: 'hibernate core',\n matchPackageNames: ['org.hibernate:**'],\n },\n ],\n },\n hibernateOgm: {\n description: 'Group Java Hibernate OGM packages.',\n packageRules: [\n {\n groupName: 'hibernate ogm',\n matchPackageNames: ['org.hibernate.ogm:**'],\n },\n ],\n },\n hibernateValidator: {\n description: 'Group Java Hibernate Validator packages.',\n packageRules: [\n {\n groupName: 'hibernate validator',\n matchPackageNames: ['org.hibernate.validator:**'],\n },\n ],\n },\n illuminate: {\n description: 'Group PHP Illuminate packages together.',\n packageRules: [\n {\n groupName: 'illuminate packages',\n groupSlug: 'illuminate',\n matchPackageNames: ['illuminate/**'],\n },\n ],\n },\n jekyllEcosystem: {\n description: 'Group Jekyll and related Ruby packages together.',\n packageRules: [\n {\n groupName: 'jekyll ecosystem packages',\n matchSourceUrls: [\n 'https://github.com/jekyll/**',\n 'https://github.com/github/pages-gem**',\n ],\n },\n ],\n },\n jestPlusTSJest: {\n description: 'Add `ts-jest` `major` update to Jest monorepo.',\n packageRules: [\n {\n groupName: 'jest monorepo',\n matchSourceUrls: ['https://github.com/kulshekhar/ts-jest'],\n matchUpdateTypes: ['major'],\n },\n ],\n },\n jestPlusTypes: {\n description: 'Add `@types/jest` update to Jest monorepo.',\n packageRules: [\n {\n groupName: 'jest monorepo',\n matchPackageNames: ['@types/jest'],\n matchUpdateTypes: nonPinUpdateTypes,\n },\n ],\n },\n jsTest: {\n description: 'Group JS test packages together.',\n packageRules: [\n {\n extends: ['packages:jsTest'],\n groupName: 'JS test packages',\n },\n ],\n },\n jsTestNonMajor: {\n description: 'Group non-major JS test package updates together.',\n packageRules: [\n {\n extends: ['packages:jsTest'],\n groupName: 'JS test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n jsUnitTest: {\n description: 'Group JavaScript unit test packages together.',\n packageRules: [\n {\n extends: ['packages:jsUnitTest'],\n groupName: 'JS unit test packages',\n },\n ],\n },\n jsUnitTestNonMajor: {\n description:\n 'Group JavaScipt unit test packages together for non-major updates.',\n packageRules: [\n {\n extends: ['packages:jsUnitTest'],\n groupName: 'JS unit test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n jwtFramework: {\n description: 'Group JWT Framework packages together.',\n packageRules: [\n {\n groupName: 'JWT Framework packages',\n matchDatasources: ['packagist'],\n matchPackageNames: ['web-token/**'],\n },\n ],\n },\n kubernetes: {\n description: 'Group Kubernetes packages together.',\n packageRules: [\n {\n groupName: 'kubernetes packages',\n groupSlug: 'kubernetes-go',\n matchDatasources: ['go'],\n matchPackageNames: [\n 'k8s.io/api**',\n 'k8s.io/apiextensions-apiserver**',\n 'k8s.io/apimachinery**',\n 'k8s.io/apiserver**',\n 'k8s.io/cli-runtime**',\n 'k8s.io/client-go**',\n 'k8s.io/cloud-provider**',\n 'k8s.io/cluster-bootstrap**',\n 'k8s.io/code-generator**',\n 'k8s.io/component-base**',\n 'k8s.io/controller-manager**',\n 'k8s.io/cri-api**',\n // 'k8s.io/csi-api', has not go.mod set up and does not follow the versioning of other repos\n 'k8s.io/csi-translation-lib**',\n 'k8s.io/kube-aggregator**',\n 'k8s.io/kube-controller-manager**',\n 'k8s.io/kube-proxy**',\n 'k8s.io/kube-scheduler**',\n 'k8s.io/kubectl**',\n 'k8s.io/kubelet**',\n 'k8s.io/legacy-cloud-providers**',\n 'k8s.io/metrics**',\n 'k8s.io/mount-utils**',\n 'k8s.io/pod-security-admission**',\n 'k8s.io/sample-apiserver**',\n 'k8s.io/sample-cli-plugin**',\n 'k8s.io/sample-controller**',\n ],\n },\n ],\n },\n linters: {\n description: 'Group various lint packages together.',\n packageRules: [\n {\n extends: ['packages:linters'],\n groupName: 'linters',\n },\n ],\n },\n micrometer: {\n description:\n \"Group Micrometer packages together, e.g. 'io.micrometer:micrometer-core'.\",\n packageRules: [\n {\n groupName: 'micrometer',\n matchPackageNames: ['io.micrometer:micrometer-**'],\n },\n ],\n },\n nodeJs: {\n description:\n \"Group anything that looks like Node.js together so that it's updated together.\",\n packageRules: [\n {\n commitMessageTopic: 'Node.js',\n matchDatasources: ['docker', 'node-version'],\n matchPackageNames: [\n '/(?:^|/)node$/', // node or ends with \"/node, except those below\"\n '!calico/node',\n '!docker.io/calico/node',\n '!kindest/node',\n ],\n },\n ],\n },\n phpstan: {\n description: 'Group PHPStan packages together.',\n packageRules: [\n {\n groupName: 'PHPStan packages',\n matchDatasources: ['packagist'],\n matchPackageNames: [\n 'phpstan/phpstan',\n '//phpstan-/',\n '//larastan/',\n 'phpstan/extension-installer',\n ],\n },\n ],\n },\n polymer: {\n description: 'Group all `@polymer` packages together.',\n packageRules: [\n {\n groupName: 'polymer packages',\n matchPackageNames: ['@polymer/**'],\n },\n ],\n },\n postcss: {\n description: 'Group PostCSS packages together.',\n packageRules: [\n {\n extends: ['packages:postcss'],\n groupName: 'postcss packages',\n },\n ],\n },\n pulumi: {\n description: 'Group Pulumi packages together.',\n packageRules: [\n {\n description: 'Group Pulumi Node.JS packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-node',\n matchDatasources: ['npm'],\n matchPackageNames: ['@pulumi/**'],\n },\n {\n description: 'Group Pulumi Python packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-python',\n matchDatasources: ['pypi'],\n matchPackageNames: ['pulumi-**'],\n },\n {\n description: 'Group Pulumi Go packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-go',\n matchDatasources: ['go'],\n matchPackageNames: ['github.com/pulumi/**'],\n },\n {\n description: 'Group Pulumi Java packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-java',\n matchDatasources: ['maven'],\n matchPackageNames: ['com.pulumi**'],\n },\n {\n description: 'Group Pulumi .NET packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-dotnet',\n matchDatasources: ['nuget'],\n matchPackageNames: ['Pulumi**'],\n },\n ],\n },\n react: {\n description: 'Group React and corresponding `@types` packages together.',\n packageRules: [\n {\n groupName: 'react monorepo',\n matchPackageNames: ['@types/react', '@types/react-dom'],\n },\n ],\n },\n recommended: {\n description:\n 'Use curated list of recommended non-monorepo package groupings.',\n extends: [\n 'group:nodeJs',\n 'group:allApollographql',\n 'group:codemirror',\n 'group:flyway',\n 'group:fortawesome',\n 'group:fusionjs',\n 'group:githubArtifactActions',\n 'group:glimmer',\n 'group:goOpenapi',\n 'group:hibernateCore',\n 'group:hibernateValidator',\n 'group:hibernateOgm',\n 'group:hibernateCommons',\n 'group:illuminate',\n 'group:jekyllEcosystem',\n 'group:jestPlusTSJest',\n 'group:jestPlusTypes',\n 'group:jwtFramework',\n 'group:kubernetes',\n 'group:micrometer',\n 'group:phpstan',\n 'group:polymer',\n 'group:react',\n 'group:remark',\n 'group:resilience4j',\n 'group:rubyOnRails',\n 'group:rubyOmniauth',\n 'group:socketio',\n 'group:springAmqp',\n 'group:springAndroid',\n 'group:springBatch',\n 'group:springBoot',\n 'group:springCloud',\n 'group:springCore',\n 'group:springData',\n 'group:springHateoas',\n 'group:springIntegration',\n 'group:springKafka',\n 'group:springLdap',\n 'group:springMobile',\n 'group:springOsgi',\n 'group:springRestDocs',\n 'group:springRoo',\n 'group:springScala',\n 'group:springSecurity',\n 'group:springSession',\n 'group:springShell',\n 'group:springSocial',\n 'group:springStatemachine',\n 'group:springWebflow',\n 'group:springWs',\n 'group:symfony',\n ],\n ignoreDeps: [], // Hack to improve onboarding PR description\n },\n remark: {\n description: 'Group remark packages together.',\n packageRules: [\n {\n groupName: 'remark',\n matchDatasources: ['npm'],\n matchSourceUrls: ['https://github.com/remarkjs/**'],\n },\n ],\n },\n resilience4j: {\n description: 'Group Java Resilience4j packages.',\n packageRules: [\n {\n groupName: 'resilience4j',\n matchPackageNames: ['io.github.resilience4j:**'],\n },\n ],\n },\n rubyOmniauth: {\n description: 'Group OmniAuth packages together.',\n packageRules: [\n {\n groupName: 'omniauth packages',\n matchDatasources: ['rubygems'],\n matchPackageNames: ['omniauth**'],\n },\n ],\n },\n rubyOnRails: {\n description: 'Group Ruby on Rails packages together.',\n packageRules: [\n {\n groupName: 'Ruby on Rails packages',\n matchDatasources: ['rubygems'],\n matchPackageNames: [\n 'actioncable',\n 'actionmailbox',\n 'actionmailer',\n 'actionpack',\n 'actiontext',\n 'actionview',\n 'activejob',\n 'activemodel',\n 'activerecord',\n 'activestorage',\n 'activesupport',\n 'railties',\n 'rails',\n ],\n },\n ],\n },\n socketio: {\n description: 'Group socket.io packages.',\n packageRules: [\n {\n groupName: 'socket.io packages',\n matchPackageNames: ['socket.io**'],\n },\n ],\n },\n springAmqp: {\n description: 'Group Java Spring AMQP packages.',\n packageRules: [\n {\n groupName: 'spring amqp',\n matchPackageNames: ['org.springframework.amqp:**'],\n },\n ],\n },\n springAndroid: {\n description: 'Group Java Spring Android packages.',\n packageRules: [\n {\n groupName: 'spring android',\n matchPackageNames: ['org.springframework.android:**'],\n },\n ],\n },\n springBatch: {\n description: 'Group Java Spring Batch packages.',\n packageRules: [\n {\n groupName: 'spring batch',\n matchPackageNames: ['org.springframework.batch:**'],\n },\n ],\n },\n springBoot: {\n description: 'Group Java Spring Boot packages.',\n packageRules: [\n {\n groupName: 'spring boot',\n matchDepNames: ['org.springframework.boot'],\n },\n {\n groupName: 'spring boot',\n matchPackageNames: ['org.springframework.boot:**'],\n },\n ],\n },\n springCloud: {\n description: 'Group Java Spring Cloud packages.',\n packageRules: [\n {\n groupName: 'spring cloud',\n matchPackageNames: ['org.springframework.cloud:**'],\n },\n ],\n },\n springCore: {\n description: 'Group Java Spring Core packages.',\n packageRules: [\n {\n groupName: 'spring core',\n matchPackageNames: ['org.springframework:**'],\n },\n ],\n },\n springData: {\n description: 'Group Java Spring Data packages.',\n packageRules: [\n {\n groupName: 'spring data',\n matchPackageNames: ['org.springframework.data:**'],\n },\n ],\n },\n springHateoas: {\n description: 'Group Java Spring HATEOAS packages.',\n packageRules: [\n {\n groupName: 'spring hateoas',\n matchPackageNames: ['org.springframework.hateoas:**'],\n },\n ],\n },\n springIntegration: {\n description: 'Group Java Spring Integration packages.',\n packageRules: [\n {\n groupName: 'spring integration',\n matchPackageNames: ['org.springframework.integration:**'],\n },\n ],\n },\n springKafka: {\n description: 'Group Java Spring Kafka packages.',\n packageRules: [\n {\n groupName: 'spring kafka',\n matchPackageNames: ['org.springframework.kafka:**'],\n },\n ],\n },\n springLdap: {\n description: 'Group Java Spring LDAP packages.',\n packageRules: [\n {\n groupName: 'spring ldap',\n matchPackageNames: ['org.springframework.ldap:**'],\n },\n ],\n },\n springMobile: {\n description: 'Group Java Spring Mobile packages.',\n packageRules: [\n {\n groupName: 'spring mobile',\n matchPackageNames: ['org.springframework.mobile:**'],\n },\n ],\n },\n springOsgi: {\n description: 'Group Java Spring OSGi packages.',\n packageRules: [\n {\n groupName: 'spring osgi',\n matchPackageNames: ['org.springframework.osgi:**'],\n },\n ],\n },\n springRestDocs: {\n description: 'Group Java Spring REST Docs packages.',\n packageRules: [\n {\n groupName: 'spring restdocs',\n matchPackageNames: ['org.springframework.restdocs:**'],\n },\n ],\n },\n springRoo: {\n description: 'Group Java Spring Roo packages.',\n packageRules: [\n {\n groupName: 'spring roo',\n matchPackageNames: ['org.springframework.roo:**'],\n },\n ],\n },\n springScala: {\n description: 'Group Java Spring Scala packages.',\n packageRules: [\n {\n groupName: 'spring scala',\n matchPackageNames: ['org.springframework.scala:**'],\n },\n ],\n },\n springSecurity: {\n description: 'Group Java Spring Security packages.',\n packageRules: [\n {\n groupName: 'spring security',\n matchPackageNames: ['org.springframework.security:**'],\n },\n ],\n },\n springSession: {\n description: 'Group Java Spring Session packages.',\n packageRules: [\n {\n groupName: 'spring session',\n matchPackageNames: ['org.springframework.session:**'],\n },\n ],\n },\n springShell: {\n description: 'Group Java Spring Shell packages.',\n packageRules: [\n {\n groupName: 'spring shell',\n matchPackageNames: ['org.springframework.shell:**'],\n },\n ],\n },\n springSocial: {\n description: 'Group Java Spring Social packages.',\n packageRules: [\n {\n groupName: 'spring social',\n matchPackageNames: ['org.springframework.social:**'],\n },\n ],\n },\n springStatemachine: {\n description: 'Group Java Spring Statemachine packages.',\n packageRules: [\n {\n groupName: 'spring statemachine',\n matchPackageNames: ['org.springframework.statemachine:**'],\n },\n ],\n },\n springWebflow: {\n description: 'Group Java Spring WebFlow packages.',\n packageRules: [\n {\n groupName: 'spring webflow',\n matchPackageNames: ['org.springframework.webflow:**'],\n },\n ],\n },\n springWs: {\n description: 'Group Java Spring WS packages.',\n packageRules: [\n {\n groupName: 'spring ws',\n matchPackageNames: ['org.springframework.ws:**'],\n },\n ],\n },\n symfony: {\n description: 'Group PHP Symfony packages together.',\n packageRules: [\n {\n groupName: 'symfony packages',\n groupSlug: 'symfony',\n matchPackageNames: ['symfony/**'],\n },\n ],\n },\n test: {\n description: 'Group all test packages together.',\n packageRules: [\n {\n extends: ['packages:test'],\n groupName: 'test packages',\n },\n ],\n },\n testNonMajor: {\n description: 'Group all non-major test package updates together.',\n packageRules: [\n {\n extends: ['packages:test'],\n groupName: 'test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n unitTest: {\n description: 'Group all unit test packages together.',\n packageRules: [\n {\n extends: ['packages:unitTest'],\n groupName: 'unit test packages',\n },\n ],\n },\n unitTestNonMajor: {\n description: 'Group all unit test packages together for non-major updates.',\n packageRules: [\n {\n extends: ['packages:unitTest'],\n groupName: 'unit test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n vite: {\n description: 'Group all Vite related packages together.',\n packageRules: [\n {\n extends: ['packages:vite'],\n groupName: 'Vite packages',\n },\n ],\n },\n};\n\nconst config: any = { ...staticGroups };\n\nconst monorepoNames = [];\nfor (const monorepo of Object.keys(monorepos.presets)) {\n const name = `${monorepo}Monorepo`;\n monorepoNames.push(`group:${name}`);\n config[name] = {\n packageRules: [\n {\n description: `Group packages from ${monorepo} monorepo together.`,\n extends: [`monorepo:${monorepo}`],\n groupName: `${monorepo} monorepo`,\n matchUpdateTypes: nonPinUpdateTypes,\n },\n ],\n };\n}\nconfig.monorepos = {\n description: 'Group known monorepo packages together.',\n extends: monorepoNames,\n ignoreDeps: [], // Hack to improve onboarding PR description\n};\n\nexport const presets: Record<string, Preset> = config;\n"]}
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../../lib/config/presets/internal/group.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Preset } from '../types';\nimport * as monorepos from './monorepos';\n\nconst nonPinUpdateTypes = ['digest', 'patch', 'minor', 'major'];\n\n/* eslint sort-keys: [\"error\", \"asc\", {caseSensitive: false, natural: true}] */\n\nconst staticGroups = {\n all: {\n description: 'Group all updates together.',\n groupName: 'all dependencies',\n groupSlug: 'all',\n lockFileMaintenance: {\n enabled: false,\n },\n packageRules: [\n {\n groupName: 'all dependencies',\n groupSlug: 'all',\n matchPackageNames: ['*'],\n },\n ],\n\n separateMajorMinor: false,\n },\n allApollographql: {\n description: 'Group all packages published by Apollo GraphQL together.',\n packageRules: [\n {\n extends: ['packages:apollographql'],\n groupName: 'Apollo GraphQL packages',\n },\n ],\n },\n allDigest: {\n description: 'Group all `digest` updates together.',\n packageRules: [\n {\n groupName: 'all digest updates',\n groupSlug: 'all-digest',\n matchPackageNames: ['*'],\n matchUpdateTypes: ['digest'],\n },\n ],\n },\n allNonMajor: {\n description: 'Group all `minor` and `patch` updates together.',\n packageRules: [\n {\n groupName: 'all non-major dependencies',\n groupSlug: 'all-minor-patch',\n matchPackageNames: ['*'],\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n atlaskit: {\n description: 'Group all Atlassian `@atlaskit` packages together.',\n packageRules: [\n {\n extends: ['packages:atlaskit'],\n groupName: 'Atlassian Atlaskit packages',\n },\n ],\n },\n codemirror: {\n description: 'Group CodeMirror packages together.',\n packageRules: [\n {\n groupName: 'CodeMirror',\n matchPackageNames: ['@codemirror/**'],\n },\n ],\n },\n definitelyTyped: {\n description: 'Group all `@types` packages together.',\n packageRules: [\n {\n groupName: 'definitelyTyped',\n matchPackageNames: ['@types/**'],\n },\n ],\n },\n dotNetCore: {\n description: '.NET Core Docker containers.',\n packageRules: [\n {\n groupName: '.NET Core Docker containers',\n matchDatasources: ['docker'],\n matchPackageNames: ['mcr.microsoft.com/dotnet/**'],\n },\n ],\n },\n flyway: {\n description: 'Group Java Flyway packages.',\n packageRules: [\n {\n groupName: 'flyway',\n matchPackageNames: ['org.flywaydb:*', 'org.flywaydb.flyway:*'],\n },\n ],\n },\n fortawesome: {\n description: 'Group all packages by Font Awesome together.',\n packageRules: [\n {\n groupName: 'Font Awesome',\n matchPackageNames: ['@fortawesome/**'],\n },\n ],\n },\n fusionjs: {\n description: 'Group Fusion.js packages together.',\n packageRules: [\n {\n groupName: 'Fusion.js packages',\n matchPackageNames: [\n 'fusion-cli',\n 'fusion-core',\n 'fusion-test-utils',\n 'fusion-tokens',\n 'fusion-plugin-**',\n 'fusion-react**',\n 'fusion-apollo**',\n ],\n },\n ],\n },\n githubArtifactActions: {\n description:\n 'Group `download-artifact` and `upload-artifact` major updates together.',\n packageRules: [\n {\n groupName: 'GitHub Artifact Actions',\n matchManagers: ['github-actions'],\n matchPackageNames: [\n 'actions/download-artifact',\n 'actions/upload-artifact',\n ],\n matchUpdateTypes: ['major'],\n },\n ],\n },\n glimmer: {\n description: 'Group Glimmer.js packages together.',\n packageRules: [\n {\n groupName: 'Glimmer.js packages',\n groupSlug: 'glimmer',\n matchPackageNames: ['@glimmer/component', '@glimmer/tracking'],\n },\n ],\n },\n googleapis: {\n description: 'Group `googleapis` packages together.',\n packageRules: [\n {\n extends: ['packages:googleapis'],\n groupName: 'googleapis packages',\n },\n ],\n },\n goOpenapi: {\n description: 'Group `go-openapi` packages together.',\n packageRules: [\n {\n groupName: 'go-openapi packages',\n groupSlug: 'go-openapi',\n matchDatasources: ['go'],\n matchPackageNames: ['github.com/go-openapi/**'],\n },\n ],\n },\n hibernateCommons: {\n description: 'Group Java Hibernate Commons packages.',\n packageRules: [\n {\n groupName: 'hibernate commons',\n matchPackageNames: ['org.hibernate.common:**'],\n },\n ],\n },\n hibernateCore: {\n description: 'Group Java Hibernate Core packages.',\n packageRules: [\n {\n groupName: 'hibernate core',\n matchPackageNames: ['org.hibernate:**'],\n },\n ],\n },\n hibernateOgm: {\n description: 'Group Java Hibernate OGM packages.',\n packageRules: [\n {\n groupName: 'hibernate ogm',\n matchPackageNames: ['org.hibernate.ogm:**'],\n },\n ],\n },\n hibernateValidator: {\n description: 'Group Java Hibernate Validator packages.',\n packageRules: [\n {\n groupName: 'hibernate validator',\n matchPackageNames: ['org.hibernate.validator:**'],\n },\n ],\n },\n illuminate: {\n description: 'Group PHP Illuminate packages together.',\n packageRules: [\n {\n groupName: 'illuminate packages',\n groupSlug: 'illuminate',\n matchPackageNames: ['illuminate/**'],\n },\n ],\n },\n jekyllEcosystem: {\n description: 'Group Jekyll and related Ruby packages together.',\n packageRules: [\n {\n groupName: 'jekyll ecosystem packages',\n matchSourceUrls: [\n 'https://github.com/jekyll/**',\n 'https://github.com/github/pages-gem**',\n ],\n },\n ],\n },\n jestPlusTSJest: {\n description: 'Add `ts-jest` `major` update to Jest monorepo.',\n packageRules: [\n {\n groupName: 'jest monorepo',\n matchSourceUrls: ['https://github.com/kulshekhar/ts-jest'],\n matchUpdateTypes: ['major'],\n },\n ],\n },\n jestPlusTypes: {\n description: 'Add `@types/jest` update to Jest monorepo.',\n packageRules: [\n {\n groupName: 'jest monorepo',\n matchPackageNames: ['@types/jest'],\n matchUpdateTypes: nonPinUpdateTypes,\n },\n ],\n },\n jsTest: {\n description: 'Group JS test packages together.',\n packageRules: [\n {\n extends: ['packages:jsTest'],\n groupName: 'JS test packages',\n },\n ],\n },\n jsTestNonMajor: {\n description: 'Group non-major JS test package updates together.',\n packageRules: [\n {\n extends: ['packages:jsTest'],\n groupName: 'JS test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n jsUnitTest: {\n description: 'Group JavaScript unit test packages together.',\n packageRules: [\n {\n extends: ['packages:jsUnitTest'],\n groupName: 'JS unit test packages',\n },\n ],\n },\n jsUnitTestNonMajor: {\n description:\n 'Group JavaScipt unit test packages together for non-major updates.',\n packageRules: [\n {\n extends: ['packages:jsUnitTest'],\n groupName: 'JS unit test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n jwtFramework: {\n description: 'Group JWT Framework packages together.',\n packageRules: [\n {\n groupName: 'JWT Framework packages',\n matchDatasources: ['packagist'],\n matchPackageNames: ['web-token/**'],\n },\n ],\n },\n kubernetes: {\n description: 'Group Kubernetes packages together.',\n packageRules: [\n {\n groupName: 'kubernetes packages',\n groupSlug: 'kubernetes-go',\n matchDatasources: ['go'],\n matchPackageNames: [\n 'k8s.io/api**',\n 'k8s.io/apiextensions-apiserver**',\n 'k8s.io/apimachinery**',\n 'k8s.io/apiserver**',\n 'k8s.io/cli-runtime**',\n 'k8s.io/client-go**',\n 'k8s.io/cloud-provider**',\n 'k8s.io/cluster-bootstrap**',\n 'k8s.io/code-generator**',\n 'k8s.io/component-base**',\n 'k8s.io/component-helpers**',\n 'k8s.io/controller-manager**',\n 'k8s.io/cri-api**',\n // 'k8s.io/csi-api', has no go.mod set up and does not follow the versioning of other repos\n 'k8s.io/csi-translation-lib**',\n 'k8s.io/kube-aggregator**',\n 'k8s.io/kube-controller-manager**',\n 'k8s.io/kube-proxy**',\n 'k8s.io/kube-scheduler**',\n 'k8s.io/kubectl**',\n 'k8s.io/kubelet**',\n 'k8s.io/legacy-cloud-providers**',\n 'k8s.io/metrics**',\n 'k8s.io/mount-utils**',\n 'k8s.io/pod-security-admission**',\n 'k8s.io/sample-apiserver**',\n 'k8s.io/sample-cli-plugin**',\n 'k8s.io/sample-controller**',\n ],\n },\n ],\n },\n linters: {\n description: 'Group various lint packages together.',\n packageRules: [\n {\n extends: ['packages:linters'],\n groupName: 'linters',\n },\n ],\n },\n micrometer: {\n description:\n \"Group Micrometer packages together, e.g. 'io.micrometer:micrometer-core'.\",\n packageRules: [\n {\n groupName: 'micrometer',\n matchPackageNames: ['io.micrometer:micrometer-**'],\n },\n ],\n },\n nodeJs: {\n description:\n \"Group anything that looks like Node.js together so that it's updated together.\",\n packageRules: [\n {\n commitMessageTopic: 'Node.js',\n matchDatasources: ['docker', 'node-version'],\n matchPackageNames: [\n '/(?:^|/)node$/', // node or ends with \"/node, except those below\"\n '!calico/node',\n '!docker.io/calico/node',\n '!kindest/node',\n ],\n },\n ],\n },\n phpstan: {\n description: 'Group PHPStan packages together.',\n packageRules: [\n {\n groupName: 'PHPStan packages',\n matchDatasources: ['packagist'],\n matchPackageNames: [\n 'phpstan/phpstan',\n '//phpstan-/',\n '//larastan/',\n 'phpstan/extension-installer',\n ],\n },\n ],\n },\n polymer: {\n description: 'Group all `@polymer` packages together.',\n packageRules: [\n {\n groupName: 'polymer packages',\n matchPackageNames: ['@polymer/**'],\n },\n ],\n },\n postcss: {\n description: 'Group PostCSS packages together.',\n packageRules: [\n {\n extends: ['packages:postcss'],\n groupName: 'postcss packages',\n },\n ],\n },\n pulumi: {\n description: 'Group Pulumi packages together.',\n packageRules: [\n {\n description: 'Group Pulumi Node.JS packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-node',\n matchDatasources: ['npm'],\n matchPackageNames: ['@pulumi/**'],\n },\n {\n description: 'Group Pulumi Python packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-python',\n matchDatasources: ['pypi'],\n matchPackageNames: ['pulumi-**'],\n },\n {\n description: 'Group Pulumi Go packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-go',\n matchDatasources: ['go'],\n matchPackageNames: ['github.com/pulumi/**'],\n },\n {\n description: 'Group Pulumi Java packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-java',\n matchDatasources: ['maven'],\n matchPackageNames: ['com.pulumi**'],\n },\n {\n description: 'Group Pulumi .NET packages together.',\n groupName: 'Pulumi',\n groupSlug: 'pulumi-dotnet',\n matchDatasources: ['nuget'],\n matchPackageNames: ['Pulumi**'],\n },\n ],\n },\n react: {\n description: 'Group React and corresponding `@types` packages together.',\n packageRules: [\n {\n groupName: 'react monorepo',\n matchPackageNames: ['@types/react', '@types/react-dom'],\n },\n ],\n },\n recommended: {\n description:\n 'Use curated list of recommended non-monorepo package groupings.',\n extends: [\n 'group:nodeJs',\n 'group:allApollographql',\n 'group:codemirror',\n 'group:flyway',\n 'group:fortawesome',\n 'group:fusionjs',\n 'group:githubArtifactActions',\n 'group:glimmer',\n 'group:goOpenapi',\n 'group:hibernateCore',\n 'group:hibernateValidator',\n 'group:hibernateOgm',\n 'group:hibernateCommons',\n 'group:illuminate',\n 'group:jekyllEcosystem',\n 'group:jestPlusTSJest',\n 'group:jestPlusTypes',\n 'group:jwtFramework',\n 'group:kubernetes',\n 'group:micrometer',\n 'group:phpstan',\n 'group:polymer',\n 'group:react',\n 'group:remark',\n 'group:resilience4j',\n 'group:rubyOnRails',\n 'group:rubyOmniauth',\n 'group:socketio',\n 'group:springAmqp',\n 'group:springAndroid',\n 'group:springBatch',\n 'group:springBoot',\n 'group:springCloud',\n 'group:springCore',\n 'group:springData',\n 'group:springHateoas',\n 'group:springIntegration',\n 'group:springKafka',\n 'group:springLdap',\n 'group:springMobile',\n 'group:springOsgi',\n 'group:springRestDocs',\n 'group:springRoo',\n 'group:springScala',\n 'group:springSecurity',\n 'group:springSession',\n 'group:springShell',\n 'group:springSocial',\n 'group:springStatemachine',\n 'group:springWebflow',\n 'group:springWs',\n 'group:symfony',\n ],\n ignoreDeps: [], // Hack to improve onboarding PR description\n },\n remark: {\n description: 'Group remark packages together.',\n packageRules: [\n {\n groupName: 'remark',\n matchDatasources: ['npm'],\n matchSourceUrls: ['https://github.com/remarkjs/**'],\n },\n ],\n },\n resilience4j: {\n description: 'Group Java Resilience4j packages.',\n packageRules: [\n {\n groupName: 'resilience4j',\n matchPackageNames: ['io.github.resilience4j:**'],\n },\n ],\n },\n rubyOmniauth: {\n description: 'Group OmniAuth packages together.',\n packageRules: [\n {\n groupName: 'omniauth packages',\n matchDatasources: ['rubygems'],\n matchPackageNames: ['omniauth**'],\n },\n ],\n },\n rubyOnRails: {\n description: 'Group Ruby on Rails packages together.',\n packageRules: [\n {\n groupName: 'Ruby on Rails packages',\n matchDatasources: ['rubygems'],\n matchPackageNames: [\n 'actioncable',\n 'actionmailbox',\n 'actionmailer',\n 'actionpack',\n 'actiontext',\n 'actionview',\n 'activejob',\n 'activemodel',\n 'activerecord',\n 'activestorage',\n 'activesupport',\n 'railties',\n 'rails',\n ],\n },\n ],\n },\n socketio: {\n description: 'Group socket.io packages.',\n packageRules: [\n {\n groupName: 'socket.io packages',\n matchPackageNames: ['socket.io**'],\n },\n ],\n },\n springAmqp: {\n description: 'Group Java Spring AMQP packages.',\n packageRules: [\n {\n groupName: 'spring amqp',\n matchPackageNames: ['org.springframework.amqp:**'],\n },\n ],\n },\n springAndroid: {\n description: 'Group Java Spring Android packages.',\n packageRules: [\n {\n groupName: 'spring android',\n matchPackageNames: ['org.springframework.android:**'],\n },\n ],\n },\n springBatch: {\n description: 'Group Java Spring Batch packages.',\n packageRules: [\n {\n groupName: 'spring batch',\n matchPackageNames: ['org.springframework.batch:**'],\n },\n ],\n },\n springBoot: {\n description: 'Group Java Spring Boot packages.',\n packageRules: [\n {\n groupName: 'spring boot',\n matchDepNames: ['org.springframework.boot'],\n },\n {\n groupName: 'spring boot',\n matchPackageNames: ['org.springframework.boot:**'],\n },\n ],\n },\n springCloud: {\n description: 'Group Java Spring Cloud packages.',\n packageRules: [\n {\n groupName: 'spring cloud',\n matchPackageNames: ['org.springframework.cloud:**'],\n },\n ],\n },\n springCore: {\n description: 'Group Java Spring Core packages.',\n packageRules: [\n {\n groupName: 'spring core',\n matchPackageNames: ['org.springframework:**'],\n },\n ],\n },\n springData: {\n description: 'Group Java Spring Data packages.',\n packageRules: [\n {\n groupName: 'spring data',\n matchPackageNames: ['org.springframework.data:**'],\n },\n ],\n },\n springHateoas: {\n description: 'Group Java Spring HATEOAS packages.',\n packageRules: [\n {\n groupName: 'spring hateoas',\n matchPackageNames: ['org.springframework.hateoas:**'],\n },\n ],\n },\n springIntegration: {\n description: 'Group Java Spring Integration packages.',\n packageRules: [\n {\n groupName: 'spring integration',\n matchPackageNames: ['org.springframework.integration:**'],\n },\n ],\n },\n springKafka: {\n description: 'Group Java Spring Kafka packages.',\n packageRules: [\n {\n groupName: 'spring kafka',\n matchPackageNames: ['org.springframework.kafka:**'],\n },\n ],\n },\n springLdap: {\n description: 'Group Java Spring LDAP packages.',\n packageRules: [\n {\n groupName: 'spring ldap',\n matchPackageNames: ['org.springframework.ldap:**'],\n },\n ],\n },\n springMobile: {\n description: 'Group Java Spring Mobile packages.',\n packageRules: [\n {\n groupName: 'spring mobile',\n matchPackageNames: ['org.springframework.mobile:**'],\n },\n ],\n },\n springOsgi: {\n description: 'Group Java Spring OSGi packages.',\n packageRules: [\n {\n groupName: 'spring osgi',\n matchPackageNames: ['org.springframework.osgi:**'],\n },\n ],\n },\n springRestDocs: {\n description: 'Group Java Spring REST Docs packages.',\n packageRules: [\n {\n groupName: 'spring restdocs',\n matchPackageNames: ['org.springframework.restdocs:**'],\n },\n ],\n },\n springRoo: {\n description: 'Group Java Spring Roo packages.',\n packageRules: [\n {\n groupName: 'spring roo',\n matchPackageNames: ['org.springframework.roo:**'],\n },\n ],\n },\n springScala: {\n description: 'Group Java Spring Scala packages.',\n packageRules: [\n {\n groupName: 'spring scala',\n matchPackageNames: ['org.springframework.scala:**'],\n },\n ],\n },\n springSecurity: {\n description: 'Group Java Spring Security packages.',\n packageRules: [\n {\n groupName: 'spring security',\n matchPackageNames: ['org.springframework.security:**'],\n },\n ],\n },\n springSession: {\n description: 'Group Java Spring Session packages.',\n packageRules: [\n {\n groupName: 'spring session',\n matchPackageNames: ['org.springframework.session:**'],\n },\n ],\n },\n springShell: {\n description: 'Group Java Spring Shell packages.',\n packageRules: [\n {\n groupName: 'spring shell',\n matchPackageNames: ['org.springframework.shell:**'],\n },\n ],\n },\n springSocial: {\n description: 'Group Java Spring Social packages.',\n packageRules: [\n {\n groupName: 'spring social',\n matchPackageNames: ['org.springframework.social:**'],\n },\n ],\n },\n springStatemachine: {\n description: 'Group Java Spring Statemachine packages.',\n packageRules: [\n {\n groupName: 'spring statemachine',\n matchPackageNames: ['org.springframework.statemachine:**'],\n },\n ],\n },\n springWebflow: {\n description: 'Group Java Spring WebFlow packages.',\n packageRules: [\n {\n groupName: 'spring webflow',\n matchPackageNames: ['org.springframework.webflow:**'],\n },\n ],\n },\n springWs: {\n description: 'Group Java Spring WS packages.',\n packageRules: [\n {\n groupName: 'spring ws',\n matchPackageNames: ['org.springframework.ws:**'],\n },\n ],\n },\n symfony: {\n description: 'Group PHP Symfony packages together.',\n packageRules: [\n {\n groupName: 'symfony packages',\n groupSlug: 'symfony',\n matchPackageNames: ['symfony/**'],\n },\n ],\n },\n test: {\n description: 'Group all test packages together.',\n packageRules: [\n {\n extends: ['packages:test'],\n groupName: 'test packages',\n },\n ],\n },\n testNonMajor: {\n description: 'Group all non-major test package updates together.',\n packageRules: [\n {\n extends: ['packages:test'],\n groupName: 'test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n unitTest: {\n description: 'Group all unit test packages together.',\n packageRules: [\n {\n extends: ['packages:unitTest'],\n groupName: 'unit test packages',\n },\n ],\n },\n unitTestNonMajor: {\n description: 'Group all unit test packages together for non-major updates.',\n packageRules: [\n {\n extends: ['packages:unitTest'],\n groupName: 'unit test packages',\n matchUpdateTypes: ['minor', 'patch'],\n },\n ],\n },\n vite: {\n description: 'Group all Vite related packages together.',\n packageRules: [\n {\n extends: ['packages:vite'],\n groupName: 'Vite packages',\n },\n ],\n },\n};\n\nconst config: any = { ...staticGroups };\n\nconst monorepoNames = [];\nfor (const monorepo of Object.keys(monorepos.presets)) {\n const name = `${monorepo}Monorepo`;\n monorepoNames.push(`group:${name}`);\n config[name] = {\n packageRules: [\n {\n description: `Group packages from ${monorepo} monorepo together.`,\n extends: [`monorepo:${monorepo}`],\n groupName: `${monorepo} monorepo`,\n matchUpdateTypes: nonPinUpdateTypes,\n },\n ],\n };\n}\nconfig.monorepos = {\n description: 'Group known monorepo packages together.',\n extends: monorepoNames,\n ignoreDeps: [], // Hack to improve onboarding PR description\n};\n\nexport const presets: Record<string, Preset> = config;\n"]}
@@ -247,6 +247,8 @@ export interface RenovateConfig extends LegacyAdminConfig, RenovateSharedConfig,
247
247
  statusCheckNames?: Record<StatusCheckKey, string | null>;
248
248
  env?: UserEnv;
249
249
  logLevelRemap?: LogLevelRemap[];
250
+ branchTopic?: string;
251
+ additionalBranchPrefix?: string;
250
252
  }
251
253
  declare const CustomDatasourceFormats: readonly ["json", "plain", "yaml", "html"];
252
254
  export type CustomDatasourceFormats = (typeof CustomDatasourceFormats)[number];
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../lib/config/types.ts"],"names":[],"mappings":";;;AAqNa,QAAA,yBAAyB,GAAG;IACvC,mBAAmB;IACnB,iBAAiB;IACjB,kBAAkB;IAClB,eAAe;CACP,CAAC;AA4FX,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC","sourcesContent":["import type { PlatformId } from '../constants';\nimport type { LogLevelRemap } from '../logger/types';\nimport type { CustomManager } from '../modules/manager/custom/types';\nimport type { RepoSortMethod, SortMethod } from '../modules/platform/types';\nimport type { HostRule, SkipReason } from '../types';\nimport type { StageName } from '../types/skip-reason';\nimport type { GitNoVerifyOption } from '../util/git/types';\nimport type { MergeConfidence } from '../util/merge-confidence/types';\n\nexport type RenovateConfigStage =\n | 'global'\n | 'inherit'\n | 'repository'\n | 'package'\n | 'branch'\n | 'pr';\n\nexport type RepositoryCacheConfig = 'disabled' | 'enabled' | 'reset';\n// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\nexport type RepositoryCacheType = 'local' | string;\nexport type DryRunConfig = 'extract' | 'lookup' | 'full';\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 type PlatformCommitOptions = 'auto' | 'disabled' | 'enabled';\n// TODO: Proper typings\nexport interface RenovateSharedConfig {\n $schema?: string;\n addLabels?: string[];\n autoReplaceGlobalMatch?: boolean;\n automerge?: boolean;\n automergeSchedule?: string[];\n automergeStrategy?: MergeStrategy;\n branchName?: string;\n branchNameStrict?: boolean;\n branchPrefix?: string;\n branchPrefixOld?: string;\n commitMessage?: string;\n commitMessageAction?: string;\n commitMessageExtra?: string;\n commitMessageLowerCase?: 'auto' | 'never';\n commitMessagePrefix?: string;\n commitMessageTopic?: string;\n confidential?: boolean;\n changelogUrl?: string;\n dependencyDashboardApproval?: boolean;\n draftPR?: boolean;\n enabled?: boolean;\n enabledManagers?: string[];\n extends?: string[];\n fileMatch?: string[];\n force?: RenovateConfig;\n gitIgnoredAuthors?: string[];\n group?: GroupConfig;\n groupName?: string;\n groupSlug?: string;\n hashedBranchLength?: number;\n ignoreDeps?: string[];\n ignorePaths?: string[];\n ignoreTests?: boolean;\n includePaths?: string[];\n internalChecksAsSuccess?: boolean;\n keepUpdatedLabel?: string;\n labels?: string[];\n manager?: string;\n milestone?: number;\n npmrc?: string;\n npmrcMerge?: boolean;\n platformCommit?: PlatformCommitOptions;\n postUpgradeTasks?: PostUpgradeTasks;\n prBodyColumns?: string[];\n prBodyDefinitions?: Record<string, string>;\n prCreation?: 'immediate' | 'not-pending' | 'status-success' | 'approval';\n prPriority?: number;\n productLinks?: Record<string, string>;\n pruneBranchAfterAutomerge?: boolean;\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 schedule?: string[];\n semanticCommitScope?: string | null;\n semanticCommitType?: string;\n semanticCommits?: 'auto' | 'enabled' | 'disabled';\n stopUpdatingLabel?: string;\n suppressNotifications?: string[];\n timezone?: string;\n unicodeEmoji?: boolean;\n}\n\n// Config options used only within the global worker\n// The below should contain config options where stage=global\nexport interface GlobalOnlyConfig {\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 forceCli?: boolean;\n gitNoVerify?: GitNoVerifyOption[];\n gitPrivateKey?: string;\n globalExtends?: string[];\n mergeConfidenceDatasources?: string[];\n mergeConfidenceEndpoint?: string;\n platform?: PlatformId;\n prCommitsPerRunLimit?: number;\n privateKeyPath?: string;\n privateKeyPathOld?: string;\n redisPrefix?: string;\n redisUrl?: string;\n repositories?: RenovateRepository[];\n useCloudMetadataServices?: boolean;\n deleteConfigFile?: boolean;\n}\n\n// Config options used within the repository worker, but not user configurable\n// The below should contain config options where globalOnly=true\nexport interface RepoGlobalConfig {\n allowCustomCrateRegistries?: boolean;\n allowPlugins?: boolean;\n allowPostUpgradeCommandTemplating?: boolean;\n allowScripts?: boolean;\n allowedEnv?: string[];\n allowedHeaders?: string[];\n allowedPostUpgradeCommands?: string[];\n binarySource?: 'docker' | 'global' | 'install' | 'hermit';\n cacheDir?: string;\n cacheHardTtlMinutes?: number;\n cacheTtlOverride?: Record<string, number>;\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 localDir?: string;\n migratePresets?: Record<string, string>;\n platform?: PlatformId;\n presetCachePersistence?: boolean;\n privateKey?: string;\n privateKeyOld?: string;\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}\n\nexport interface LegacyAdminConfig {\n localDir?: string;\n\n logContext?: string;\n\n onboarding?: boolean;\n onboardingBranch?: string;\n onboardingCommitMessage?: string;\n onboardingNoDeps?: 'auto' | 'enabled' | 'disabled';\n onboardingRebaseCheckbox?: boolean;\n onboardingPrTitle?: string;\n onboardingConfig?: RenovateSharedConfig;\n onboardingConfigFileName?: string;\n\n requireConfig?: RequiredConfig;\n}\n\nexport type ExecutionMode = 'branch' | 'update';\n\nexport interface PostUpgradeTasks {\n commands?: string[];\n fileFilters?: string[];\n executionMode: ExecutionMode;\n}\n\nexport type UpdateConfig<\n T extends RenovateSharedConfig = RenovateSharedConfig,\n> = Partial<Record<UpdateType, T | null>>;\n\nexport type RenovateRepository =\n | string\n | {\n repository: string;\n secrets?: Record<string, string>;\n };\n\nexport type UseBaseBranchConfigType = 'merge' | 'none';\nexport type ConstraintsFilter = 'strict' | 'none';\n\nexport const allowedStatusCheckStrings = [\n 'minimumReleaseAge',\n 'mergeConfidence',\n 'configValidation',\n 'artifactError',\n] as const;\nexport type StatusCheckKey = (typeof allowedStatusCheckStrings)[number];\nexport type UserEnv = Record<string, string>;\n\n// TODO: Proper typings\nexport interface RenovateConfig\n extends LegacyAdminConfig,\n RenovateSharedConfig,\n UpdateConfig<PackageRule>,\n AssigneesAndReviewersConfig,\n ConfigMigration,\n Record<string, unknown> {\n s3Endpoint?: string;\n s3PathStyle?: boolean;\n reportPath?: string;\n reportType?: 'logging' | 'file' | 's3' | null;\n depName?: string;\n baseBranches?: string[];\n commitBody?: string;\n useBaseBranchConfig?: UseBaseBranchConfigType;\n baseBranch?: string;\n defaultBranch?: string;\n branchList?: string[];\n cloneSubmodulesFilter?: string[];\n description?: string | string[];\n force?: RenovateConfig;\n errors?: ValidationMessage[];\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 forkProcessing?: 'auto' | 'enabled' | 'disabled';\n isFork?: boolean;\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 packageFile?: string;\n packageRules?: PackageRule[];\n postUpdateOptions?: string[];\n prConcurrentLimit?: number;\n prHourlyLimit?: number;\n forkModeDisallowMaintainerEdits?: boolean;\n\n defaultRegistryUrls?: string[];\n registryUrls?: string[] | null;\n registryAliases?: Record<string, string>;\n\n repoIsOnboarded?: boolean;\n repoIsActivated?: boolean;\n\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\n constraints?: Record<string, string>;\n skipInstalls?: boolean | null;\n\n constraintsFiltering?: ConstraintsFilter;\n\n checkedBranches?: string[];\n customizeDashboard?: Record<string, string>;\n\n statusCheckNames?: Record<StatusCheckKey, string | null>;\n env?: UserEnv;\n logLevelRemap?: LogLevelRemap[];\n}\n\nconst CustomDatasourceFormats = ['json', 'plain', 'yaml', 'html'] as const;\nexport type CustomDatasourceFormats = (typeof CustomDatasourceFormats)[number];\n\nexport interface CustomDatasourceConfig {\n defaultRegistryUrlTemplate?: string;\n format?: CustomDatasourceFormats;\n transformTemplates?: string[];\n}\n\nexport interface AllConfig\n extends RenovateConfig,\n GlobalOnlyConfig,\n RepoGlobalConfig {}\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\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 | 'squash';\n\n// TODO: Proper typings\nexport interface PackageRule\n extends RenovateSharedConfig,\n UpdateConfig,\n Record<string, unknown> {\n description?: string | string[];\n isVulnerabilityAlert?: boolean;\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 matchManagers?: string[];\n matchNewValue?: string;\n matchPackageNames?: string[];\n matchRepositories?: string[];\n matchSourceUrls?: string[];\n matchUpdateTypes?: UpdateType[];\n matchJsonata?: string[];\n registryUrls?: string[] | null;\n vulnerabilitySeverity?: string;\n vulnerabilityFixVersion?: string;\n}\n\nexport interface ValidationMessage {\n topic: string;\n message: string;\n}\n\nexport type AllowedParents =\n | 'customDatasources'\n | 'customManagers'\n | 'hostRules'\n | 'logLevelRemap'\n | 'packageRules'\n | 'postUpgradeTasks'\n | 'vulnerabilityAlerts';\nexport interface RenovateOptionBase {\n /**\n * If true, the option can only be configured by people with access to the Renovate instance.\n * Furthermore, the option should be documented in docs/usage/self-hosted-configuration.md.\n */\n globalOnly?: boolean;\n\n inheritConfigSupport?: boolean;\n\n allowedValues?: 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 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 depreciation 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\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 supportedManagers?: string[] | 'all';\n supportedPlatforms?: string[] | 'all';\n}\n\nexport interface RenovateStringArrayOption extends RenovateArrayOption<string> {\n format?: 'regex';\n subType: 'string';\n supportedManagers?: string[] | 'all';\n supportedPlatforms?: string[] | 'all';\n}\n\nexport interface RenovateNumberArrayOption extends RenovateArrayOption<number> {\n subType: 'number';\n supportedManagers?: string[] | 'all';\n supportedPlatforms?: string[] | 'all';\n}\n\nexport interface RenovateBooleanOption extends RenovateOptionBase {\n default?: boolean | null;\n type: 'boolean';\n supportedManagers?: string[] | 'all';\n supportedPlatforms?: string[] | 'all';\n}\n\nexport interface RenovateIntegerOption extends RenovateOptionBase {\n default?: number | null;\n type: 'integer';\n supportedManagers?: string[] | 'all';\n supportedPlatforms?: string[] | 'all';\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 supportedManagers?: string[] | 'all';\n supportedPlatforms?: string[] | 'all';\n}\n\nexport interface RenovateObjectOption extends RenovateOptionBase {\n default?: any;\n additionalProperties?: Record<string, unknown> | boolean;\n mergeable?: boolean;\n type: 'object';\n supportedManagers?: string[] | 'all';\n supportedPlatforms?: string[] | 'all';\n}\n\nexport type RenovateOptions =\n | RenovateStringOption\n | RenovateNumberArrayOption\n | RenovateStringArrayOption\n | RenovateIntegerOption\n | RenovateBooleanOption\n | RenovateArrayOption\n | RenovateObjectOption;\n\nexport interface PackageRuleInputConfig extends Record<string, unknown> {\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 sourceUrl?: string | null;\n categories?: string[];\n baseBranch?: string;\n manager?: string;\n datasource?: string;\n packageRules?: (PackageRule & PackageRuleInputConfig)[];\n releaseTimestamp?: string | 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 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}\n\nexport interface ValidationResult {\n errors: ValidationMessage[];\n warnings: ValidationMessage[];\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../lib/config/types.ts"],"names":[],"mappings":";;;AAqNa,QAAA,yBAAyB,GAAG;IACvC,mBAAmB;IACnB,iBAAiB;IACjB,kBAAkB;IAClB,eAAe;CACP,CAAC;AA+FX,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC","sourcesContent":["import type { PlatformId } from '../constants';\nimport type { LogLevelRemap } from '../logger/types';\nimport type { CustomManager } from '../modules/manager/custom/types';\nimport type { RepoSortMethod, SortMethod } from '../modules/platform/types';\nimport type { HostRule, SkipReason } from '../types';\nimport type { StageName } from '../types/skip-reason';\nimport type { GitNoVerifyOption } from '../util/git/types';\nimport type { MergeConfidence } from '../util/merge-confidence/types';\n\nexport type RenovateConfigStage =\n | 'global'\n | 'inherit'\n | 'repository'\n | 'package'\n | 'branch'\n | 'pr';\n\nexport type RepositoryCacheConfig = 'disabled' | 'enabled' | 'reset';\n// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\nexport type RepositoryCacheType = 'local' | string;\nexport type DryRunConfig = 'extract' | 'lookup' | 'full';\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 type PlatformCommitOptions = 'auto' | 'disabled' | 'enabled';\n// TODO: Proper typings\nexport interface RenovateSharedConfig {\n $schema?: string;\n addLabels?: string[];\n autoReplaceGlobalMatch?: boolean;\n automerge?: boolean;\n automergeSchedule?: string[];\n automergeStrategy?: MergeStrategy;\n branchName?: string;\n branchNameStrict?: boolean;\n branchPrefix?: string;\n branchPrefixOld?: string;\n commitMessage?: string;\n commitMessageAction?: string;\n commitMessageExtra?: string;\n commitMessageLowerCase?: 'auto' | 'never';\n commitMessagePrefix?: string;\n commitMessageTopic?: string;\n confidential?: boolean;\n changelogUrl?: string;\n dependencyDashboardApproval?: boolean;\n draftPR?: boolean;\n enabled?: boolean;\n enabledManagers?: string[];\n extends?: string[];\n fileMatch?: string[];\n force?: RenovateConfig;\n gitIgnoredAuthors?: string[];\n group?: GroupConfig;\n groupName?: string;\n groupSlug?: string;\n hashedBranchLength?: number;\n ignoreDeps?: string[];\n ignorePaths?: string[];\n ignoreTests?: boolean;\n includePaths?: string[];\n internalChecksAsSuccess?: boolean;\n keepUpdatedLabel?: string;\n labels?: string[];\n manager?: string;\n milestone?: number;\n npmrc?: string;\n npmrcMerge?: boolean;\n platformCommit?: PlatformCommitOptions;\n postUpgradeTasks?: PostUpgradeTasks;\n prBodyColumns?: string[];\n prBodyDefinitions?: Record<string, string>;\n prCreation?: 'immediate' | 'not-pending' | 'status-success' | 'approval';\n prPriority?: number;\n productLinks?: Record<string, string>;\n pruneBranchAfterAutomerge?: boolean;\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 schedule?: string[];\n semanticCommitScope?: string | null;\n semanticCommitType?: string;\n semanticCommits?: 'auto' | 'enabled' | 'disabled';\n stopUpdatingLabel?: string;\n suppressNotifications?: string[];\n timezone?: string;\n unicodeEmoji?: boolean;\n}\n\n// Config options used only within the global worker\n// The below should contain config options where stage=global\nexport interface GlobalOnlyConfig {\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 forceCli?: boolean;\n gitNoVerify?: GitNoVerifyOption[];\n gitPrivateKey?: string;\n globalExtends?: string[];\n mergeConfidenceDatasources?: string[];\n mergeConfidenceEndpoint?: string;\n platform?: PlatformId;\n prCommitsPerRunLimit?: number;\n privateKeyPath?: string;\n privateKeyPathOld?: string;\n redisPrefix?: string;\n redisUrl?: string;\n repositories?: RenovateRepository[];\n useCloudMetadataServices?: boolean;\n deleteConfigFile?: boolean;\n}\n\n// Config options used within the repository worker, but not user configurable\n// The below should contain config options where globalOnly=true\nexport interface RepoGlobalConfig {\n allowCustomCrateRegistries?: boolean;\n allowPlugins?: boolean;\n allowPostUpgradeCommandTemplating?: boolean;\n allowScripts?: boolean;\n allowedEnv?: string[];\n allowedHeaders?: string[];\n allowedPostUpgradeCommands?: string[];\n binarySource?: 'docker' | 'global' | 'install' | 'hermit';\n cacheDir?: string;\n cacheHardTtlMinutes?: number;\n cacheTtlOverride?: Record<string, number>;\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 localDir?: string;\n migratePresets?: Record<string, string>;\n platform?: PlatformId;\n presetCachePersistence?: boolean;\n privateKey?: string;\n privateKeyOld?: string;\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}\n\nexport interface LegacyAdminConfig {\n localDir?: string;\n\n logContext?: string;\n\n onboarding?: boolean;\n onboardingBranch?: string;\n onboardingCommitMessage?: string;\n onboardingNoDeps?: 'auto' | 'enabled' | 'disabled';\n onboardingRebaseCheckbox?: boolean;\n onboardingPrTitle?: string;\n onboardingConfig?: RenovateSharedConfig;\n onboardingConfigFileName?: string;\n\n requireConfig?: RequiredConfig;\n}\n\nexport type ExecutionMode = 'branch' | 'update';\n\nexport interface PostUpgradeTasks {\n commands?: string[];\n fileFilters?: string[];\n executionMode: ExecutionMode;\n}\n\nexport type UpdateConfig<\n T extends RenovateSharedConfig = RenovateSharedConfig,\n> = Partial<Record<UpdateType, T | null>>;\n\nexport type RenovateRepository =\n | string\n | {\n repository: string;\n secrets?: Record<string, string>;\n };\n\nexport type UseBaseBranchConfigType = 'merge' | 'none';\nexport type ConstraintsFilter = 'strict' | 'none';\n\nexport const allowedStatusCheckStrings = [\n 'minimumReleaseAge',\n 'mergeConfidence',\n 'configValidation',\n 'artifactError',\n] as const;\nexport type StatusCheckKey = (typeof allowedStatusCheckStrings)[number];\nexport type UserEnv = Record<string, string>;\n\n// TODO: Proper typings\nexport interface RenovateConfig\n extends LegacyAdminConfig,\n RenovateSharedConfig,\n UpdateConfig<PackageRule>,\n AssigneesAndReviewersConfig,\n ConfigMigration,\n Record<string, unknown> {\n s3Endpoint?: string;\n s3PathStyle?: boolean;\n reportPath?: string;\n reportType?: 'logging' | 'file' | 's3' | null;\n depName?: string;\n baseBranches?: string[];\n commitBody?: string;\n useBaseBranchConfig?: UseBaseBranchConfigType;\n baseBranch?: string;\n defaultBranch?: string;\n branchList?: string[];\n cloneSubmodulesFilter?: string[];\n description?: string | string[];\n force?: RenovateConfig;\n errors?: ValidationMessage[];\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 forkProcessing?: 'auto' | 'enabled' | 'disabled';\n isFork?: boolean;\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 packageFile?: string;\n packageRules?: PackageRule[];\n postUpdateOptions?: string[];\n prConcurrentLimit?: number;\n prHourlyLimit?: number;\n forkModeDisallowMaintainerEdits?: boolean;\n\n defaultRegistryUrls?: string[];\n registryUrls?: string[] | null;\n registryAliases?: Record<string, string>;\n\n repoIsOnboarded?: boolean;\n repoIsActivated?: boolean;\n\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\n constraints?: Record<string, string>;\n skipInstalls?: boolean | null;\n\n constraintsFiltering?: ConstraintsFilter;\n\n checkedBranches?: string[];\n customizeDashboard?: Record<string, string>;\n\n statusCheckNames?: Record<StatusCheckKey, string | null>;\n env?: UserEnv;\n logLevelRemap?: LogLevelRemap[];\n\n branchTopic?: string;\n additionalBranchPrefix?: string;\n}\n\nconst CustomDatasourceFormats = ['json', 'plain', 'yaml', 'html'] as const;\nexport type CustomDatasourceFormats = (typeof CustomDatasourceFormats)[number];\n\nexport interface CustomDatasourceConfig {\n defaultRegistryUrlTemplate?: string;\n format?: CustomDatasourceFormats;\n transformTemplates?: string[];\n}\n\nexport interface AllConfig\n extends RenovateConfig,\n GlobalOnlyConfig,\n RepoGlobalConfig {}\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\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 | 'squash';\n\n// TODO: Proper typings\nexport interface PackageRule\n extends RenovateSharedConfig,\n UpdateConfig,\n Record<string, unknown> {\n description?: string | string[];\n isVulnerabilityAlert?: boolean;\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 matchManagers?: string[];\n matchNewValue?: string;\n matchPackageNames?: string[];\n matchRepositories?: string[];\n matchSourceUrls?: string[];\n matchUpdateTypes?: UpdateType[];\n matchJsonata?: string[];\n registryUrls?: string[] | null;\n vulnerabilitySeverity?: string;\n vulnerabilityFixVersion?: string;\n}\n\nexport interface ValidationMessage {\n topic: string;\n message: string;\n}\n\nexport type AllowedParents =\n | 'customDatasources'\n | 'customManagers'\n | 'hostRules'\n | 'logLevelRemap'\n | 'packageRules'\n | 'postUpgradeTasks'\n | 'vulnerabilityAlerts';\nexport interface RenovateOptionBase {\n /**\n * If true, the option can only be configured by people with access to the Renovate instance.\n * Furthermore, the option should be documented in docs/usage/self-hosted-configuration.md.\n */\n globalOnly?: boolean;\n\n inheritConfigSupport?: boolean;\n\n allowedValues?: 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 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 depreciation 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\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 supportedManagers?: string[] | 'all';\n supportedPlatforms?: string[] | 'all';\n}\n\nexport interface RenovateStringArrayOption extends RenovateArrayOption<string> {\n format?: 'regex';\n subType: 'string';\n supportedManagers?: string[] | 'all';\n supportedPlatforms?: string[] | 'all';\n}\n\nexport interface RenovateNumberArrayOption extends RenovateArrayOption<number> {\n subType: 'number';\n supportedManagers?: string[] | 'all';\n supportedPlatforms?: string[] | 'all';\n}\n\nexport interface RenovateBooleanOption extends RenovateOptionBase {\n default?: boolean | null;\n type: 'boolean';\n supportedManagers?: string[] | 'all';\n supportedPlatforms?: string[] | 'all';\n}\n\nexport interface RenovateIntegerOption extends RenovateOptionBase {\n default?: number | null;\n type: 'integer';\n supportedManagers?: string[] | 'all';\n supportedPlatforms?: string[] | 'all';\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 supportedManagers?: string[] | 'all';\n supportedPlatforms?: string[] | 'all';\n}\n\nexport interface RenovateObjectOption extends RenovateOptionBase {\n default?: any;\n additionalProperties?: Record<string, unknown> | boolean;\n mergeable?: boolean;\n type: 'object';\n supportedManagers?: string[] | 'all';\n supportedPlatforms?: string[] | 'all';\n}\n\nexport type RenovateOptions =\n | RenovateStringOption\n | RenovateNumberArrayOption\n | RenovateStringArrayOption\n | RenovateIntegerOption\n | RenovateBooleanOption\n | RenovateArrayOption\n | RenovateObjectOption;\n\nexport interface PackageRuleInputConfig extends Record<string, unknown> {\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 sourceUrl?: string | null;\n categories?: string[];\n baseBranch?: string;\n manager?: string;\n datasource?: string;\n packageRules?: (PackageRule & PackageRuleInputConfig)[];\n releaseTimestamp?: string | 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 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}\n\nexport interface ValidationResult {\n errors: ValidationMessage[];\n warnings: ValidationMessage[];\n}\n"]}
@@ -163,7 +163,15 @@ class GoProxyDatasource extends datasource_1.Datasource {
163
163
  let releases = [];
164
164
  try {
165
165
  const res = await this.listVersions(baseUrl, pkg);
166
- releases = await p.map(res, async (versionInfo) => {
166
+ // Artifactory returns all versions in any major (past and future),
167
+ // so starting from v2, we filter them in order to avoid the infinite loop
168
+ const filteredReleases = res.filter(({ version }) => {
169
+ if (major < 2) {
170
+ return true;
171
+ }
172
+ return (version.split((0, regex_1.regEx)(/[^\d]+/)).find(is_1.default.truthy) === major.toString());
173
+ });
174
+ releases = await p.map(filteredReleases, async (versionInfo) => {
167
175
  const { version, newDigest, releaseTimestamp } = versionInfo;
168
176
  if (releaseTimestamp) {
169
177
  return { version, newDigest, releaseTimestamp };
@@ -1 +1 @@
1
- {"version":3,"file":"releases-goproxy.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/go/releases-goproxy.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { DateTime } from 'luxon';\nimport { logger } from '../../../logger';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { filterMap } from '../../../util/filter-map';\nimport { HttpError } from '../../../util/http';\nimport * as p from '../../../util/promises';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport { joinUrlParts } from '../../../util/url';\nimport goVersioning from '../../versioning/go-mod-directive';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, Release, ReleaseResult } from '../types';\nimport { BaseGoDatasource } from './base';\nimport { getSourceUrl } from './common';\nimport { parseGoproxy, parseNoproxy } from './goproxy-parser';\nimport { GoDirectDatasource } from './releases-direct';\nimport type { VersionInfo } from './types';\n\nconst modRegex = regEx(/^(?<baseMod>.*?)(?:[./]v(?<majorVersion>\\d+))?$/);\n\n/**\n * @see https://go.dev/ref/mod#pseudo-versions\n */\nconst pseudoVersionRegex = regEx(\n /v\\d+\\.\\d+\\.\\d+-(?:\\w+\\.)?(?:0\\.)?(?<timestamp>\\d{14})-(?<digest>[a-f0-9]{12})/i,\n);\n\nexport function pseudoVersionToRelease(pseudoVersion: string): Release | null {\n const match = pseudoVersion.match(pseudoVersionRegex)?.groups;\n if (!match) {\n return null;\n }\n\n const { digest: newDigest, timestamp } = match;\n const releaseTimestamp = DateTime.fromFormat(timestamp, 'yyyyMMddHHmmss', {\n zone: 'UTC',\n }).toISO({ suppressMilliseconds: true });\n\n return {\n version: pseudoVersion,\n newDigest,\n releaseTimestamp,\n };\n}\n\nexport class GoProxyDatasource extends Datasource {\n static readonly id = 'go-proxy';\n\n constructor() {\n super(GoProxyDatasource.id);\n }\n\n readonly direct = new GoDirectDatasource();\n\n @cache({\n namespace: `datasource-${GoProxyDatasource.id}`,\n key: (config: GetReleasesConfig) => GoProxyDatasource.getCacheKey(config),\n })\n async getReleases(config: GetReleasesConfig): Promise<ReleaseResult | null> {\n const { packageName } = config;\n logger.trace(`goproxy.getReleases(${packageName})`);\n const goproxy = process.env.GOPROXY ?? 'https://proxy.golang.org,direct';\n if (goproxy === 'direct') {\n return this.direct.getReleases(config);\n }\n const proxyList = parseGoproxy(goproxy);\n const noproxy = parseNoproxy();\n\n let result: ReleaseResult | null = null;\n\n if (noproxy?.test(packageName)) {\n logger.debug(`Fetching ${packageName} via GONOPROXY match`);\n result = await this.direct.getReleases(config);\n return result;\n }\n\n for (const { url, fallback } of proxyList) {\n try {\n if (url === 'off') {\n break;\n } else if (url === 'direct') {\n result = await this.direct.getReleases(config);\n break;\n }\n\n const res = await this.getVersionsWithInfo(url, packageName);\n if (res.releases.length) {\n result = res;\n break;\n }\n } catch (err) {\n const potentialHttpError =\n err instanceof ExternalHostError ? err.err : err;\n const statusCode = potentialHttpError?.response?.statusCode;\n const canFallback =\n fallback === '|' ? true : statusCode === 404 || statusCode === 410;\n const msg = canFallback\n ? 'Goproxy error: trying next URL provided with GOPROXY'\n : 'Goproxy error: skipping other URLs provided with GOPROXY';\n logger.debug({ err }, msg);\n if (!canFallback) {\n break;\n }\n }\n }\n\n if (result && !result.sourceUrl) {\n try {\n const datasource = await BaseGoDatasource.getDatasource(packageName);\n const sourceUrl = getSourceUrl(datasource);\n if (sourceUrl) {\n result.sourceUrl = sourceUrl;\n }\n } catch (err) {\n logger.trace({ err }, `Can't get datasource for ${packageName}`);\n }\n }\n\n return result;\n }\n\n /**\n * Avoid ambiguity when serving from case-insensitive file systems.\n *\n * @see https://golang.org/ref/mod#goproxy-protocol\n */\n encodeCase(input: string): string {\n return input.replace(regEx(/([A-Z])/g), (x) => `!${x.toLowerCase()}`);\n }\n\n async listVersions(baseUrl: string, packageName: string): Promise<Release[]> {\n const url = joinUrlParts(\n baseUrl,\n this.encodeCase(packageName),\n '@v',\n 'list',\n );\n const { body } = await this.http.get(url);\n return filterMap(body.split(newlineRegex), (str) => {\n if (!is.nonEmptyStringAndNotWhitespace(str)) {\n return null;\n }\n\n const [version, releaseTimestamp] = str.trim().split(regEx(/\\s+/));\n const release: Release = pseudoVersionToRelease(version) ?? { version };\n\n if (releaseTimestamp) {\n release.releaseTimestamp = releaseTimestamp;\n }\n\n return release;\n });\n }\n\n async versionInfo(\n baseUrl: string,\n packageName: string,\n version: string,\n ): Promise<Release> {\n const url = joinUrlParts(\n baseUrl,\n this.encodeCase(packageName),\n '@v',\n `${version}.info`,\n );\n const res = await this.http.getJson<VersionInfo>(url);\n\n const result: Release = {\n version: res.body.Version,\n };\n\n if (res.body.Time) {\n result.releaseTimestamp = res.body.Time;\n }\n\n return result;\n }\n\n async getLatestVersion(\n baseUrl: string,\n packageName: string,\n ): Promise<string | null> {\n try {\n const url = joinUrlParts(\n baseUrl,\n this.encodeCase(packageName),\n '@latest',\n );\n const res = await this.http.getJson<VersionInfo>(url);\n return res.body.Version;\n } catch (err) {\n logger.trace({ err }, 'Failed to get latest version');\n return null;\n }\n }\n\n async getVersionsWithInfo(\n baseUrl: string,\n packageName: string,\n ): Promise<ReleaseResult> {\n const isGopkgin = packageName.startsWith('gopkg.in/');\n const majorSuffixSeparator = isGopkgin ? '.' : '/';\n const modParts = packageName.match(modRegex)?.groups;\n const baseMod = modParts?.baseMod ?? /* istanbul ignore next */ packageName;\n const packageMajor = parseInt(modParts?.majorVersion ?? '0');\n\n const result: ReleaseResult = { releases: [] };\n for (let major = packageMajor; ; major += 1) {\n let pkg = `${baseMod}${majorSuffixSeparator}v${major}`;\n if (!isGopkgin && major < 2) {\n pkg = baseMod;\n major += 1; // v0 and v1 are the same module\n }\n\n let releases: Release[] = [];\n\n try {\n const res = await this.listVersions(baseUrl, pkg);\n releases = await p.map(res, async (versionInfo) => {\n const { version, newDigest, releaseTimestamp } = versionInfo;\n\n if (releaseTimestamp) {\n return { version, newDigest, releaseTimestamp };\n }\n\n try {\n return await this.versionInfo(baseUrl, pkg, version);\n } catch (err) {\n logger.trace({ err }, `Can't obtain data from ${baseUrl}`);\n return { version };\n }\n });\n result.releases.push(...releases);\n } catch (err) {\n const potentialHttpError =\n err instanceof ExternalHostError ? err.err : err;\n if (\n potentialHttpError instanceof HttpError &&\n potentialHttpError.response?.statusCode === 404 &&\n major !== packageMajor\n ) {\n break;\n }\n\n throw err;\n }\n\n const latestVersion = await this.getLatestVersion(baseUrl, pkg);\n if (latestVersion) {\n result.tags ??= {};\n result.tags.latest ??= latestVersion;\n if (goVersioning.isGreaterThan(latestVersion, result.tags.latest)) {\n result.tags.latest = latestVersion;\n }\n if (!result.releases.length) {\n const releaseFromLatest = pseudoVersionToRelease(latestVersion);\n if (releaseFromLatest) {\n result.releases.push(releaseFromLatest);\n }\n }\n }\n\n if (!releases.length) {\n break;\n }\n }\n\n return result;\n }\n\n static getCacheKey({ packageName }: GetReleasesConfig): string {\n const goproxy = process.env.GOPROXY;\n const noproxy = parseNoproxy();\n // TODO: types (#22198)\n return `${packageName}@@${goproxy}@@${noproxy?.toString()}`;\n }\n}\n"]}
1
+ {"version":3,"file":"releases-goproxy.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/go/releases-goproxy.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { DateTime } from 'luxon';\nimport { logger } from '../../../logger';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { filterMap } from '../../../util/filter-map';\nimport { HttpError } from '../../../util/http';\nimport * as p from '../../../util/promises';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport { joinUrlParts } from '../../../util/url';\nimport goVersioning from '../../versioning/go-mod-directive';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, Release, ReleaseResult } from '../types';\nimport { BaseGoDatasource } from './base';\nimport { getSourceUrl } from './common';\nimport { parseGoproxy, parseNoproxy } from './goproxy-parser';\nimport { GoDirectDatasource } from './releases-direct';\nimport type { VersionInfo } from './types';\n\nconst modRegex = regEx(/^(?<baseMod>.*?)(?:[./]v(?<majorVersion>\\d+))?$/);\n\n/**\n * @see https://go.dev/ref/mod#pseudo-versions\n */\nconst pseudoVersionRegex = regEx(\n /v\\d+\\.\\d+\\.\\d+-(?:\\w+\\.)?(?:0\\.)?(?<timestamp>\\d{14})-(?<digest>[a-f0-9]{12})/i,\n);\n\nexport function pseudoVersionToRelease(pseudoVersion: string): Release | null {\n const match = pseudoVersion.match(pseudoVersionRegex)?.groups;\n if (!match) {\n return null;\n }\n\n const { digest: newDigest, timestamp } = match;\n const releaseTimestamp = DateTime.fromFormat(timestamp, 'yyyyMMddHHmmss', {\n zone: 'UTC',\n }).toISO({ suppressMilliseconds: true });\n\n return {\n version: pseudoVersion,\n newDigest,\n releaseTimestamp,\n };\n}\n\nexport class GoProxyDatasource extends Datasource {\n static readonly id = 'go-proxy';\n\n constructor() {\n super(GoProxyDatasource.id);\n }\n\n readonly direct = new GoDirectDatasource();\n\n @cache({\n namespace: `datasource-${GoProxyDatasource.id}`,\n key: (config: GetReleasesConfig) => GoProxyDatasource.getCacheKey(config),\n })\n async getReleases(config: GetReleasesConfig): Promise<ReleaseResult | null> {\n const { packageName } = config;\n logger.trace(`goproxy.getReleases(${packageName})`);\n const goproxy = process.env.GOPROXY ?? 'https://proxy.golang.org,direct';\n if (goproxy === 'direct') {\n return this.direct.getReleases(config);\n }\n const proxyList = parseGoproxy(goproxy);\n const noproxy = parseNoproxy();\n\n let result: ReleaseResult | null = null;\n\n if (noproxy?.test(packageName)) {\n logger.debug(`Fetching ${packageName} via GONOPROXY match`);\n result = await this.direct.getReleases(config);\n return result;\n }\n\n for (const { url, fallback } of proxyList) {\n try {\n if (url === 'off') {\n break;\n } else if (url === 'direct') {\n result = await this.direct.getReleases(config);\n break;\n }\n\n const res = await this.getVersionsWithInfo(url, packageName);\n if (res.releases.length) {\n result = res;\n break;\n }\n } catch (err) {\n const potentialHttpError =\n err instanceof ExternalHostError ? err.err : err;\n const statusCode = potentialHttpError?.response?.statusCode;\n const canFallback =\n fallback === '|' ? true : statusCode === 404 || statusCode === 410;\n const msg = canFallback\n ? 'Goproxy error: trying next URL provided with GOPROXY'\n : 'Goproxy error: skipping other URLs provided with GOPROXY';\n logger.debug({ err }, msg);\n if (!canFallback) {\n break;\n }\n }\n }\n\n if (result && !result.sourceUrl) {\n try {\n const datasource = await BaseGoDatasource.getDatasource(packageName);\n const sourceUrl = getSourceUrl(datasource);\n if (sourceUrl) {\n result.sourceUrl = sourceUrl;\n }\n } catch (err) {\n logger.trace({ err }, `Can't get datasource for ${packageName}`);\n }\n }\n\n return result;\n }\n\n /**\n * Avoid ambiguity when serving from case-insensitive file systems.\n *\n * @see https://golang.org/ref/mod#goproxy-protocol\n */\n encodeCase(input: string): string {\n return input.replace(regEx(/([A-Z])/g), (x) => `!${x.toLowerCase()}`);\n }\n\n async listVersions(baseUrl: string, packageName: string): Promise<Release[]> {\n const url = joinUrlParts(\n baseUrl,\n this.encodeCase(packageName),\n '@v',\n 'list',\n );\n const { body } = await this.http.get(url);\n return filterMap(body.split(newlineRegex), (str) => {\n if (!is.nonEmptyStringAndNotWhitespace(str)) {\n return null;\n }\n\n const [version, releaseTimestamp] = str.trim().split(regEx(/\\s+/));\n const release: Release = pseudoVersionToRelease(version) ?? { version };\n\n if (releaseTimestamp) {\n release.releaseTimestamp = releaseTimestamp;\n }\n\n return release;\n });\n }\n\n async versionInfo(\n baseUrl: string,\n packageName: string,\n version: string,\n ): Promise<Release> {\n const url = joinUrlParts(\n baseUrl,\n this.encodeCase(packageName),\n '@v',\n `${version}.info`,\n );\n const res = await this.http.getJson<VersionInfo>(url);\n\n const result: Release = {\n version: res.body.Version,\n };\n\n if (res.body.Time) {\n result.releaseTimestamp = res.body.Time;\n }\n\n return result;\n }\n\n async getLatestVersion(\n baseUrl: string,\n packageName: string,\n ): Promise<string | null> {\n try {\n const url = joinUrlParts(\n baseUrl,\n this.encodeCase(packageName),\n '@latest',\n );\n const res = await this.http.getJson<VersionInfo>(url);\n return res.body.Version;\n } catch (err) {\n logger.trace({ err }, 'Failed to get latest version');\n return null;\n }\n }\n\n async getVersionsWithInfo(\n baseUrl: string,\n packageName: string,\n ): Promise<ReleaseResult> {\n const isGopkgin = packageName.startsWith('gopkg.in/');\n const majorSuffixSeparator = isGopkgin ? '.' : '/';\n const modParts = packageName.match(modRegex)?.groups;\n const baseMod = modParts?.baseMod ?? /* istanbul ignore next */ packageName;\n const packageMajor = parseInt(modParts?.majorVersion ?? '0');\n\n const result: ReleaseResult = { releases: [] };\n for (let major = packageMajor; ; major += 1) {\n let pkg = `${baseMod}${majorSuffixSeparator}v${major}`;\n if (!isGopkgin && major < 2) {\n pkg = baseMod;\n major += 1; // v0 and v1 are the same module\n }\n\n let releases: Release[] = [];\n\n try {\n const res = await this.listVersions(baseUrl, pkg);\n\n // Artifactory returns all versions in any major (past and future),\n // so starting from v2, we filter them in order to avoid the infinite loop\n const filteredReleases = res.filter(({ version }) => {\n if (major < 2) {\n return true;\n }\n\n return (\n version.split(regEx(/[^\\d]+/)).find(is.truthy) === major.toString()\n );\n });\n\n releases = await p.map(filteredReleases, async (versionInfo) => {\n const { version, newDigest, releaseTimestamp } = versionInfo;\n\n if (releaseTimestamp) {\n return { version, newDigest, releaseTimestamp };\n }\n\n try {\n return await this.versionInfo(baseUrl, pkg, version);\n } catch (err) {\n logger.trace({ err }, `Can't obtain data from ${baseUrl}`);\n return { version };\n }\n });\n result.releases.push(...releases);\n } catch (err) {\n const potentialHttpError =\n err instanceof ExternalHostError ? err.err : err;\n if (\n potentialHttpError instanceof HttpError &&\n potentialHttpError.response?.statusCode === 404 &&\n major !== packageMajor\n ) {\n break;\n }\n\n throw err;\n }\n\n const latestVersion = await this.getLatestVersion(baseUrl, pkg);\n if (latestVersion) {\n result.tags ??= {};\n result.tags.latest ??= latestVersion;\n if (goVersioning.isGreaterThan(latestVersion, result.tags.latest)) {\n result.tags.latest = latestVersion;\n }\n if (!result.releases.length) {\n const releaseFromLatest = pseudoVersionToRelease(latestVersion);\n if (releaseFromLatest) {\n result.releases.push(releaseFromLatest);\n }\n }\n }\n\n if (!releases.length) {\n break;\n }\n }\n\n return result;\n }\n\n static getCacheKey({ packageName }: GetReleasesConfig): string {\n const goproxy = process.env.GOPROXY;\n const noproxy = parseNoproxy();\n // TODO: types (#22198)\n return `${packageName}@@${goproxy}@@${noproxy?.toString()}`;\n }\n}\n"]}
@@ -3,8 +3,9 @@ import type { GetReleasesConfig, ReleaseResult } from '../types';
3
3
  export declare class OrbDatasource extends Datasource {
4
4
  static readonly id = "orb";
5
5
  constructor();
6
- readonly customRegistrySupport = false;
6
+ readonly customRegistrySupport = true;
7
7
  readonly defaultRegistryUrls: string[];
8
+ readonly registryStrategy = "hunt";
8
9
  readonly releaseTimestampSupport = true;
9
10
  readonly releaseTimestampNote = "The release timestamp is determined from the `createdAt` field in the results.";
10
11
  getReleases({ packageName, registryUrl, }: GetReleasesConfig): Promise<ReleaseResult | null>;
@@ -4,6 +4,7 @@ exports.OrbDatasource = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const logger_1 = require("../../../logger");
6
6
  const decorator_1 = require("../../../util/cache/package/decorator");
7
+ const url_1 = require("../../../util/url");
7
8
  const datasource_1 = require("../datasource");
8
9
  const MAX_VERSIONS = 100;
9
10
  const query = `
@@ -24,8 +25,9 @@ class OrbDatasource extends datasource_1.Datasource {
24
25
  constructor() {
25
26
  super(OrbDatasource.id);
26
27
  }
27
- customRegistrySupport = false;
28
+ customRegistrySupport = true;
28
29
  defaultRegistryUrls = ['https://circleci.com/'];
30
+ registryStrategy = 'hunt';
29
31
  releaseTimestampSupport = true;
30
32
  releaseTimestampNote = 'The release timestamp is determined from the `createdAt` field in the results.';
31
33
  async getReleases({ packageName, registryUrl, }) {
@@ -33,7 +35,7 @@ class OrbDatasource extends datasource_1.Datasource {
33
35
  if (!registryUrl) {
34
36
  return null;
35
37
  }
36
- const url = `${registryUrl}graphql-unstable`;
38
+ const url = (0, url_1.joinUrlParts)(registryUrl, 'graphql-unstable');
37
39
  const body = {
38
40
  query,
39
41
  variables: { packageName, maxVersions: MAX_VERSIONS },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/orb/index.ts"],"names":[],"mappings":";;;;AAAA,4CAAyC;AACzC,qEAA8D;AAC9D,8CAA2C;AAI3C,MAAM,YAAY,GAAG,GAAG,CAAC;AAEzB,MAAM,KAAK,GAAG;;;;;;;;;;;;CAYb,CAAC;AAEF,MAAa,aAAc,SAAQ,uBAAU;IAC3C,MAAM,CAAU,EAAE,GAAG,KAAK,CAAC;IAE3B;QACE,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAEiB,qBAAqB,GAAG,KAAK,CAAC;IAE9B,mBAAmB,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAEhD,uBAAuB,GAAG,IAAI,CAAC;IAC/B,oBAAoB,GACpC,gFAAgF,CAAC;IAM7E,AAAN,KAAK,CAAC,WAAW,CAAC,EAChB,WAAW,EACX,WAAW,GACO;QAClB,qBAAqB;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,WAAW,kBAAkB,CAAC;QAC7C,MAAM,IAAI,GAAG;YACX,KAAK;YACL,SAAS,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE;SACtD,CAAC;QACF,MAAM,GAAG,GAAG,CACV,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAc,GAAG,EAAE;YACzC,IAAI;SACL,CAAC,CACH,CAAC,IAAI,CAAC;QACP,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;YACpB,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,yBAAyB,WAAW,EAAE,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QACzB,iDAAiD;QACjD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,MAAM;YAClC,CAAC,CAAC,GAAG,CAAC,OAAO;YACb,CAAC,CAAC,2CAA2C,WAAW,EAAE,CAAC;QAC7D,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAC7D,OAAO;YACP,gBAAgB,EAAE,SAAS,IAAI,IAAI;SACpC,CAAC,CAAC,CAAC;QAEJ,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;QAC/D,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7B,OAAO,GAAG,CAAC;IACb,CAAC;;AAvDH,sCAwDC;AArCO;IAJL,IAAA,iBAAK,EAAC;QACL,SAAS,EAAE,cAAc,aAAa,CAAC,EAAE,EAAE;QAC3C,GAAG,EAAE,CAAC,EAAE,WAAW,EAAqB,EAAE,EAAE,CAAC,WAAW;KACzD,CAAC;gDAqCD","sourcesContent":["import { logger } from '../../../logger';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, ReleaseResult } from '../types';\nimport type { OrbResponse } from './types';\n\nconst MAX_VERSIONS = 100;\n\nconst query = `\nquery($packageName: String!, $maxVersions: Int!) {\n orb(name: $packageName) {\n name,\n homeUrl,\n isPrivate,\n versions(count: $maxVersions) {\n version,\n createdAt\n }\n }\n}\n`;\n\nexport class OrbDatasource extends Datasource {\n static readonly id = 'orb';\n\n constructor() {\n super(OrbDatasource.id);\n }\n\n override readonly customRegistrySupport = false;\n\n override readonly defaultRegistryUrls = ['https://circleci.com/'];\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'The release timestamp is determined from the `createdAt` field in the results.';\n\n @cache({\n namespace: `datasource-${OrbDatasource.id}`,\n key: ({ packageName }: GetReleasesConfig) => packageName,\n })\n async getReleases({\n packageName,\n registryUrl,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n // istanbul ignore if\n if (!registryUrl) {\n return null;\n }\n const url = `${registryUrl}graphql-unstable`;\n const body = {\n query,\n variables: { packageName, maxVersions: MAX_VERSIONS },\n };\n const res = (\n await this.http.postJson<OrbResponse>(url, {\n body,\n })\n ).body;\n if (!res?.data?.orb) {\n logger.debug({ res }, `Failed to look up orb ${packageName}`);\n return null;\n }\n\n const { orb } = res.data;\n // Simplify response before caching and returning\n const homepage = orb.homeUrl?.length\n ? orb.homeUrl\n : `https://circleci.com/developer/orbs/orb/${packageName}`;\n const releases = orb.versions.map(({ version, createdAt }) => ({\n version,\n releaseTimestamp: createdAt ?? null,\n }));\n\n const dep = { homepage, isPrivate: !!orb.isPrivate, releases };\n logger.trace({ dep }, 'dep');\n return dep;\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/orb/index.ts"],"names":[],"mappings":";;;;AAAA,4CAAyC;AACzC,qEAA8D;AAC9D,2CAAiD;AACjD,8CAA2C;AAI3C,MAAM,YAAY,GAAG,GAAG,CAAC;AAEzB,MAAM,KAAK,GAAG;;;;;;;;;;;;CAYb,CAAC;AAEF,MAAa,aAAc,SAAQ,uBAAU;IAC3C,MAAM,CAAU,EAAE,GAAG,KAAK,CAAC;IAE3B;QACE,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAEiB,qBAAqB,GAAG,IAAI,CAAC;IAE7B,mBAAmB,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAChD,gBAAgB,GAAG,MAAM,CAAC;IAE1B,uBAAuB,GAAG,IAAI,CAAC;IAC/B,oBAAoB,GACpC,gFAAgF,CAAC;IAM7E,AAAN,KAAK,CAAC,WAAW,CAAC,EAChB,WAAW,EACX,WAAW,GACO;QAClB,qBAAqB;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,GAAG,IAAA,kBAAY,EAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG;YACX,KAAK;YACL,SAAS,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE;SACtD,CAAC;QACF,MAAM,GAAG,GAAG,CACV,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAc,GAAG,EAAE;YACzC,IAAI;SACL,CAAC,CACH,CAAC,IAAI,CAAC;QACP,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;YACpB,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,yBAAyB,WAAW,EAAE,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QACzB,iDAAiD;QACjD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,MAAM;YAClC,CAAC,CAAC,GAAG,CAAC,OAAO;YACb,CAAC,CAAC,2CAA2C,WAAW,EAAE,CAAC;QAC7D,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAC7D,OAAO;YACP,gBAAgB,EAAE,SAAS,IAAI,IAAI;SACpC,CAAC,CAAC,CAAC;QAEJ,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;QAC/D,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7B,OAAO,GAAG,CAAC;IACb,CAAC;;AAxDH,sCAyDC;AArCO;IAJL,IAAA,iBAAK,EAAC;QACL,SAAS,EAAE,cAAc,aAAa,CAAC,EAAE,EAAE;QAC3C,GAAG,EAAE,CAAC,EAAE,WAAW,EAAqB,EAAE,EAAE,CAAC,WAAW;KACzD,CAAC;gDAqCD","sourcesContent":["import { logger } from '../../../logger';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { joinUrlParts } from '../../../util/url';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, ReleaseResult } from '../types';\nimport type { OrbResponse } from './types';\n\nconst MAX_VERSIONS = 100;\n\nconst query = `\nquery($packageName: String!, $maxVersions: Int!) {\n orb(name: $packageName) {\n name,\n homeUrl,\n isPrivate,\n versions(count: $maxVersions) {\n version,\n createdAt\n }\n }\n}\n`;\n\nexport class OrbDatasource extends Datasource {\n static readonly id = 'orb';\n\n constructor() {\n super(OrbDatasource.id);\n }\n\n override readonly customRegistrySupport = true;\n\n override readonly defaultRegistryUrls = ['https://circleci.com/'];\n override readonly registryStrategy = 'hunt';\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'The release timestamp is determined from the `createdAt` field in the results.';\n\n @cache({\n namespace: `datasource-${OrbDatasource.id}`,\n key: ({ packageName }: GetReleasesConfig) => packageName,\n })\n async getReleases({\n packageName,\n registryUrl,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n // istanbul ignore if\n if (!registryUrl) {\n return null;\n }\n const url = joinUrlParts(registryUrl, 'graphql-unstable');\n const body = {\n query,\n variables: { packageName, maxVersions: MAX_VERSIONS },\n };\n const res = (\n await this.http.postJson<OrbResponse>(url, {\n body,\n })\n ).body;\n if (!res?.data?.orb) {\n logger.debug({ res }, `Failed to look up orb ${packageName}`);\n return null;\n }\n\n const { orb } = res.data;\n // Simplify response before caching and returning\n const homepage = orb.homeUrl?.length\n ? orb.homeUrl\n : `https://circleci.com/developer/orbs/orb/${packageName}`;\n const releases = orb.versions.map(({ version, createdAt }) => ({\n version,\n releaseTimestamp: createdAt ?? null,\n }));\n\n const dep = { homepage, isPrivate: !!orb.isPrivate, releases };\n logger.trace({ dep }, 'dep');\n return dep;\n }\n}\n"]}
@@ -246,7 +246,7 @@ async function updateYarnBinary(lockFileDir, updatedArtifacts, existingYarnrcYml
246
246
  let yarnrcYml = existingYarnrcYmlContent;
247
247
  try {
248
248
  const yarnrcYmlFilename = upath_1.default.join(lockFileDir, '.yarnrc.yml');
249
- yarnrcYml ||= (await (0, git_1.getFile)(yarnrcYmlFilename)) ?? undefined;
249
+ yarnrcYml ??= (await (0, git_1.getFile)(yarnrcYmlFilename)) ?? undefined;
250
250
  const newYarnrcYml = await (0, fs_1.readLocalFile)(yarnrcYmlFilename, 'utf8');
251
251
  if (!is_1.default.string(yarnrcYml) || !is_1.default.string(newYarnrcYml)) {
252
252
  return existingYarnrcYmlContent;