renovate 44.204.0 → 44.205.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/presets/internal/group.preset.js +8 -0
- package/dist/config/presets/internal/group.preset.js.map +1 -1
- package/dist/modules/manager/fingerprint.generated.js +1 -1
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/github-actions/known-actions/github-releases.js +5 -0
- package/dist/modules/manager/github-actions/known-actions/github-releases.js.map +1 -1
- package/dist/workers/global/initialize.js +2 -0
- package/dist/workers/global/initialize.js.map +1 -1
- package/dist/workers/repository/process/vulnerabilities.js +8 -0
- package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
- package/package.json +1 -1
- package/renovate-schema.json +2 -2
|
@@ -367,6 +367,14 @@ const config = {
|
|
|
367
367
|
groupName: "postcss packages"
|
|
368
368
|
}]
|
|
369
369
|
},
|
|
370
|
+
primer: {
|
|
371
|
+
description: "Group all `@primer` packages together.",
|
|
372
|
+
packageRules: [{
|
|
373
|
+
groupName: "Primer packages",
|
|
374
|
+
groupSlug: "primer",
|
|
375
|
+
matchPackageNames: ["@primer/**"]
|
|
376
|
+
}]
|
|
377
|
+
},
|
|
370
378
|
pulumi: {
|
|
371
379
|
description: "Group Pulumi packages together.",
|
|
372
380
|
packageRules: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.preset.js","names":["monorepos.presets"],"sources":["../../../../lib/config/presets/internal/group.preset.ts"],"sourcesContent":["import type { Preset } from '../types.ts';\nimport * as monorepos from './monorepos.preset.ts';\n\nconst nonPinUpdateTypes = ['digest', 'patch', 'minor', 'major'];\n\nconst nodeJsMatchers = {\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 '!ghcr.io/devcontainers/features/node',\n '!kindest/node',\n '!docker.io/kindest/node',\n ],\n};\n\nconst staticGroups = {\n all: {\n description: 'Group all updates together.',\n groupName: 'all dependencies',\n groupSlug: 'all',\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 apiPlatform: {\n description: 'Group PHP API Platform packages together.',\n packageRules: [\n {\n groupName: 'api-platform packages',\n groupSlug: 'api-platform',\n matchDatasources: ['packagist'],\n matchPackageNames: [\n 'api-platform/*',\n '!api-platform/admin-meta',\n '!api-platform/admin-pack',\n '!api-platform/api-pack',\n '!api-platform/api-platform',\n '!api-platform/parameter-validator',\n '!api-platform/postman-collection-generator',\n '!api-platform/schema-generator',\n ],\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 boto: {\n description: 'Group all Boto packages together.',\n packageRules: [\n {\n groupName: 'boto',\n matchDatasources: ['pypi'],\n matchPackageNames: ['boto3', 'botocore', 's3transfer'],\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 'drupal-core': {\n description: 'Group Drupal core updates.',\n packageRules: [\n {\n groupName: 'Drupal core',\n matchPackageNames: ['drupal/core', 'drupal/core-*'],\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 gradle: {\n description:\n \"Group anything that looks like Gradle together so that it's updated together.\",\n packageRules: [\n {\n commitMessageTopic: 'Gradle',\n matchDatasources: ['docker', 'gradle-version'],\n matchPackageNames: [\n '/(?:^|/)gradle$/', // gradle or ends with \"/gradle\"\n ],\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 java: {\n description: 'Group Java runtime versions together.',\n packageRules: [\n {\n groupName: 'Java',\n matchDatasources: ['java-version'],\n matchPackageNames: ['java', 'java-jdk', 'java-jre'],\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 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 ...nodeJsMatchers,\n },\n ],\n },\n nodeJsWithTypes: {\n description: 'Group Node.js runtime updates together with `@types/node`.',\n extends: ['group:nodeJs'],\n packageRules: [\n {\n groupName: 'Node.js',\n ...nodeJsMatchers,\n },\n {\n groupName: 'Node.js',\n matchDatasources: ['npm'],\n matchPackageNames: ['@types/node'],\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 pnpm: {\n description: 'Group pnpm packages together.',\n packageRules: [\n {\n groupName: 'pnpm packages',\n matchDatasources: ['docker', 'npm'],\n matchPackageNames: ['pnpm', 'ghcr.io/pnpm/pnpm'],\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 puppeteer: {\n description: 'Group Puppeteer packages together.',\n packageRules: [\n {\n groupName: 'Puppeteer',\n matchDatasources: ['npm'],\n matchPackageNames: ['puppeteer', 'puppeteer-core'],\n },\n ],\n },\n react: {\n description: 'Group React and corresponding `@types` packages together.',\n packageRules: [\n {\n groupName: 'react monorepo',\n matchPackageNames: [\n '@types/react',\n '@types/react-dom',\n '@types/react-is',\n ],\n },\n ],\n },\n recommended: {\n extends: [\n 'group:nodeJs',\n 'group:allApollographql',\n 'group:apiPlatform',\n 'group:boto',\n 'group:codemirror',\n 'group:flyway',\n 'group:fortawesome',\n 'group:fusionjs',\n 'group:githubArtifactActions',\n 'group:glimmer',\n 'group:goOpenapi',\n 'group:gradle',\n 'group:hibernateCore',\n 'group:hibernateValidator',\n 'group:hibernateOgm',\n 'group:hibernateCommons',\n 'group:illuminate',\n 'group:java',\n 'group:jekyllEcosystem',\n 'group:jestPlusTSJest',\n 'group:jestPlusTypes',\n 'group:jwtFramework',\n 'group:micrometer',\n 'group:phpstan',\n 'group:polymer',\n 'group:puppeteer',\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 overrideDescription:\n 'Use curated list of recommended non-monorepo package groupings.',\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 stylelint: {\n description: 'Group stylelint packages together.',\n packageRules: [\n {\n extends: ['packages:stylelint'],\n groupName: 'stylelint packages',\n groupSlug: 'stylelint',\n separateMajorMinor: false,\n },\n ],\n },\n symfony: {\n description: 'Group PHP Symfony packages together.',\n packageRules: [\n {\n groupName: 'symfony packages',\n groupSlug: 'symfony',\n matchDatasources: ['packagist'],\n matchPackageNames: [\n 'symfony/*',\n '!symfony/*contracts',\n '!symfony/*pack',\n '!symfony/flex',\n '!symfony/maker-bundle',\n '!symfony/monolog-bundle',\n '!symfony/panther',\n '!symfony/polyfill*',\n '!symfony/proxy-manager-bridge',\n '!symfony/security-guard',\n '!symfony/stimulus-bundle',\n '!symfony/templating',\n '!symfony/thanks',\n '!symfony/ux*',\n '!symfony/webpack-encore-bundle',\n ],\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 vitePlus: {\n description: 'Group all Vite+ related packages together.',\n packageRules: [\n {\n extends: ['packages:vitePlus'],\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 extends: monorepoNames,\n overrideDescription: 'Group known monorepo packages together.',\n};\n\nexport const presets: Record<string, Preset> = config;\n"],"mappings":"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;CACF;CACA,WAAW;EACT,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,KAAK;GACxB,mBAAmB,CAAC,aAAa,gBAAgB;EACnD,CACF;CACF;CACA,OAAO;EACL,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB;IACjB;IACA;IACA;GACF;EACF,CACF;CACF;CACA,aAAa;EACX,SAAS;GACP;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;EACA,qBACE;CACJ;CACA,QAAQ;EACN,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,KAAK;GACxB,iBAAiB,CAAC,gCAAgC;EACpD,CACF;CACF;CACA,cAAc;EACZ,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,2BAA2B;EACjD,CACF;CACF;CACA,cAAc;EACZ,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,UAAU;GAC7B,mBAAmB,CAAC,YAAY;EAClC,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,UAAU;GAC7B,mBAAmB;IACjB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;EACF,CACF;CACF;CACA,UAAU;EACR,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,aAAa;EACnC,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,6BAA6B;EACnD,CACF;CACF;CACA,eAAe;EACb,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,gCAAgC;EACtD,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,8BAA8B;EACpD,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,eAAe,CAAC,0BAA0B;EAC5C,GACA;GACE,WAAW;GACX,mBAAmB,CAAC,6BAA6B;EACnD,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,8BAA8B;EACpD,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,wBAAwB;EAC9C,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,6BAA6B;EACnD,CACF;CACF;CACA,eAAe;EACb,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,gCAAgC;EACtD,CACF;CACF;CACA,mBAAmB;EACjB,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,oCAAoC;EAC1D,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,8BAA8B;EACpD,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,6BAA6B;EACnD,CACF;CACF;CACA,cAAc;EACZ,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,+BAA+B;EACrD,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,6BAA6B;EACnD,CACF;CACF;CACA,gBAAgB;EACd,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,iCAAiC;EACvD,CACF;CACF;CACA,WAAW;EACT,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,4BAA4B;EAClD,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,8BAA8B;EACpD,CACF;CACF;CACA,gBAAgB;EACd,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,iCAAiC;EACvD,CACF;CACF;CACA,eAAe;EACb,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,gCAAgC;EACtD,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,8BAA8B;EACpD,CACF;CACF;CACA,cAAc;EACZ,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,+BAA+B;EACrD,CACF;CACF;CACA,oBAAoB;EAClB,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,qCAAqC;EAC3D,CACF;CACF;CACA,eAAe;EACb,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,gCAAgC;EACtD,CACF;CACF;CACA,UAAU;EACR,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,2BAA2B;EACjD,CACF;CACF;CACA,WAAW;EACT,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,oBAAoB;GAC9B,WAAW;GACX,WAAW;GACX,oBAAoB;EACtB,CACF;CACF;CACA,SAAS;EACP,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,WAAW;GACX,kBAAkB,CAAC,WAAW;GAC9B,mBAAmB;IACjB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;EACF,CACF;CACF;CACA,MAAM;EACJ,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,eAAe;GACzB,WAAW;EACb,CACF;CACF;CACA,cAAc;EACZ,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,eAAe;GACzB,WAAW;GACX,kBAAkB,CAAC,SAAS,OAAO;EACrC,CACF;CACF;CACA,UAAU;EACR,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,mBAAmB;GAC7B,WAAW;EACb,CACF;CACF;CACA,kBAAkB;EAChB,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,mBAAmB;GAC7B,WAAW;GACX,kBAAkB,CAAC,SAAS,OAAO;EACrC,CACF;CACF;CACA,MAAM;EACJ,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,eAAe;GACzB,WAAW;EACb,CACF;CACF;CACA,UAAU;EACR,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,mBAAmB;GAC7B,WAAW;EACb,CACF;CACF;AAGoC;AAEtC,MAAM,gBAAgB,CAAC;AACvB,KAAK,MAAM,YAAY,OAAO,KAAKA,SAAiB,GAAG;CACrD,MAAM,OAAO,GAAG,SAAS;CACzB,cAAc,KAAK,SAAS,MAAM;CAClC,OAAO,QAAQ,EACb,cAAc,CACZ;EACE,aAAa,uBAAuB,SAAS;EAC7C,SAAS,CAAC,YAAY,UAAU;EAChC,WAAW,GAAG,SAAS;EACvB,kBAAkB;CACpB,CACF,EACF;AACF;AACA,OAAO,YAAY;CACjB,SAAS;CACT,qBAAqB;AACvB;AAEA,MAAa,UAAkC"}
|
|
1
|
+
{"version":3,"file":"group.preset.js","names":["monorepos.presets"],"sources":["../../../../lib/config/presets/internal/group.preset.ts"],"sourcesContent":["import type { Preset } from '../types.ts';\nimport * as monorepos from './monorepos.preset.ts';\n\nconst nonPinUpdateTypes = ['digest', 'patch', 'minor', 'major'];\n\nconst nodeJsMatchers = {\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 '!ghcr.io/devcontainers/features/node',\n '!kindest/node',\n '!docker.io/kindest/node',\n ],\n};\n\nconst staticGroups = {\n all: {\n description: 'Group all updates together.',\n groupName: 'all dependencies',\n groupSlug: 'all',\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 apiPlatform: {\n description: 'Group PHP API Platform packages together.',\n packageRules: [\n {\n groupName: 'api-platform packages',\n groupSlug: 'api-platform',\n matchDatasources: ['packagist'],\n matchPackageNames: [\n 'api-platform/*',\n '!api-platform/admin-meta',\n '!api-platform/admin-pack',\n '!api-platform/api-pack',\n '!api-platform/api-platform',\n '!api-platform/parameter-validator',\n '!api-platform/postman-collection-generator',\n '!api-platform/schema-generator',\n ],\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 boto: {\n description: 'Group all Boto packages together.',\n packageRules: [\n {\n groupName: 'boto',\n matchDatasources: ['pypi'],\n matchPackageNames: ['boto3', 'botocore', 's3transfer'],\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 'drupal-core': {\n description: 'Group Drupal core updates.',\n packageRules: [\n {\n groupName: 'Drupal core',\n matchPackageNames: ['drupal/core', 'drupal/core-*'],\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 gradle: {\n description:\n \"Group anything that looks like Gradle together so that it's updated together.\",\n packageRules: [\n {\n commitMessageTopic: 'Gradle',\n matchDatasources: ['docker', 'gradle-version'],\n matchPackageNames: [\n '/(?:^|/)gradle$/', // gradle or ends with \"/gradle\"\n ],\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 java: {\n description: 'Group Java runtime versions together.',\n packageRules: [\n {\n groupName: 'Java',\n matchDatasources: ['java-version'],\n matchPackageNames: ['java', 'java-jdk', 'java-jre'],\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 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 ...nodeJsMatchers,\n },\n ],\n },\n nodeJsWithTypes: {\n description: 'Group Node.js runtime updates together with `@types/node`.',\n extends: ['group:nodeJs'],\n packageRules: [\n {\n groupName: 'Node.js',\n ...nodeJsMatchers,\n },\n {\n groupName: 'Node.js',\n matchDatasources: ['npm'],\n matchPackageNames: ['@types/node'],\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 pnpm: {\n description: 'Group pnpm packages together.',\n packageRules: [\n {\n groupName: 'pnpm packages',\n matchDatasources: ['docker', 'npm'],\n matchPackageNames: ['pnpm', 'ghcr.io/pnpm/pnpm'],\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 primer: {\n description: 'Group all `@primer` packages together.',\n packageRules: [\n {\n groupName: 'Primer packages',\n groupSlug: 'primer',\n matchPackageNames: ['@primer/**'],\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 puppeteer: {\n description: 'Group Puppeteer packages together.',\n packageRules: [\n {\n groupName: 'Puppeteer',\n matchDatasources: ['npm'],\n matchPackageNames: ['puppeteer', 'puppeteer-core'],\n },\n ],\n },\n react: {\n description: 'Group React and corresponding `@types` packages together.',\n packageRules: [\n {\n groupName: 'react monorepo',\n matchPackageNames: [\n '@types/react',\n '@types/react-dom',\n '@types/react-is',\n ],\n },\n ],\n },\n recommended: {\n extends: [\n 'group:nodeJs',\n 'group:allApollographql',\n 'group:apiPlatform',\n 'group:boto',\n 'group:codemirror',\n 'group:flyway',\n 'group:fortawesome',\n 'group:fusionjs',\n 'group:githubArtifactActions',\n 'group:glimmer',\n 'group:goOpenapi',\n 'group:gradle',\n 'group:hibernateCore',\n 'group:hibernateValidator',\n 'group:hibernateOgm',\n 'group:hibernateCommons',\n 'group:illuminate',\n 'group:java',\n 'group:jekyllEcosystem',\n 'group:jestPlusTSJest',\n 'group:jestPlusTypes',\n 'group:jwtFramework',\n 'group:micrometer',\n 'group:phpstan',\n 'group:polymer',\n 'group:puppeteer',\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 overrideDescription:\n 'Use curated list of recommended non-monorepo package groupings.',\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 stylelint: {\n description: 'Group stylelint packages together.',\n packageRules: [\n {\n extends: ['packages:stylelint'],\n groupName: 'stylelint packages',\n groupSlug: 'stylelint',\n separateMajorMinor: false,\n },\n ],\n },\n symfony: {\n description: 'Group PHP Symfony packages together.',\n packageRules: [\n {\n groupName: 'symfony packages',\n groupSlug: 'symfony',\n matchDatasources: ['packagist'],\n matchPackageNames: [\n 'symfony/*',\n '!symfony/*contracts',\n '!symfony/*pack',\n '!symfony/flex',\n '!symfony/maker-bundle',\n '!symfony/monolog-bundle',\n '!symfony/panther',\n '!symfony/polyfill*',\n '!symfony/proxy-manager-bridge',\n '!symfony/security-guard',\n '!symfony/stimulus-bundle',\n '!symfony/templating',\n '!symfony/thanks',\n '!symfony/ux*',\n '!symfony/webpack-encore-bundle',\n ],\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 vitePlus: {\n description: 'Group all Vite+ related packages together.',\n packageRules: [\n {\n extends: ['packages:vitePlus'],\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 extends: monorepoNames,\n overrideDescription: 'Group known monorepo packages together.',\n};\n\nexport const presets: Record<string, Preset> = config;\n"],"mappings":"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pC;GACA;IACE,aAAa;IACb,WAAW;IACX,WAAW;IACX,kBAAkB,CAAC,OAAO;IAC1B,mBAAmB,CAAC,UAAU;GAChC;EACF;CACF;CACA,WAAW;EACT,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,KAAK;GACxB,mBAAmB,CAAC,aAAa,gBAAgB;EACnD,CACF;CACF;CACA,OAAO;EACL,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB;IACjB;IACA;IACA;GACF;EACF,CACF;CACF;CACA,aAAa;EACX,SAAS;GACP;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;EACA,qBACE;CACJ;CACA,QAAQ;EACN,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,KAAK;GACxB,iBAAiB,CAAC,gCAAgC;EACpD,CACF;CACF;CACA,cAAc;EACZ,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,2BAA2B;EACjD,CACF;CACF;CACA,cAAc;EACZ,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,UAAU;GAC7B,mBAAmB,CAAC,YAAY;EAClC,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,kBAAkB,CAAC,UAAU;GAC7B,mBAAmB;IACjB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;EACF,CACF;CACF;CACA,UAAU;EACR,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,aAAa;EACnC,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,6BAA6B;EACnD,CACF;CACF;CACA,eAAe;EACb,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,gCAAgC;EACtD,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,8BAA8B;EACpD,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,eAAe,CAAC,0BAA0B;EAC5C,GACA;GACE,WAAW;GACX,mBAAmB,CAAC,6BAA6B;EACnD,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,8BAA8B;EACpD,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,wBAAwB;EAC9C,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,6BAA6B;EACnD,CACF;CACF;CACA,eAAe;EACb,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,gCAAgC;EACtD,CACF;CACF;CACA,mBAAmB;EACjB,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,oCAAoC;EAC1D,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,8BAA8B;EACpD,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,6BAA6B;EACnD,CACF;CACF;CACA,cAAc;EACZ,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,+BAA+B;EACrD,CACF;CACF;CACA,YAAY;EACV,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,6BAA6B;EACnD,CACF;CACF;CACA,gBAAgB;EACd,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,iCAAiC;EACvD,CACF;CACF;CACA,WAAW;EACT,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,4BAA4B;EAClD,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,8BAA8B;EACpD,CACF;CACF;CACA,gBAAgB;EACd,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,iCAAiC;EACvD,CACF;CACF;CACA,eAAe;EACb,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,gCAAgC;EACtD,CACF;CACF;CACA,aAAa;EACX,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,8BAA8B;EACpD,CACF;CACF;CACA,cAAc;EACZ,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,+BAA+B;EACrD,CACF;CACF;CACA,oBAAoB;EAClB,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,qCAAqC;EAC3D,CACF;CACF;CACA,eAAe;EACb,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,gCAAgC;EACtD,CACF;CACF;CACA,UAAU;EACR,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,mBAAmB,CAAC,2BAA2B;EACjD,CACF;CACF;CACA,WAAW;EACT,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,oBAAoB;GAC9B,WAAW;GACX,WAAW;GACX,oBAAoB;EACtB,CACF;CACF;CACA,SAAS;EACP,aAAa;EACb,cAAc,CACZ;GACE,WAAW;GACX,WAAW;GACX,kBAAkB,CAAC,WAAW;GAC9B,mBAAmB;IACjB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;EACF,CACF;CACF;CACA,MAAM;EACJ,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,eAAe;GACzB,WAAW;EACb,CACF;CACF;CACA,cAAc;EACZ,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,eAAe;GACzB,WAAW;GACX,kBAAkB,CAAC,SAAS,OAAO;EACrC,CACF;CACF;CACA,UAAU;EACR,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,mBAAmB;GAC7B,WAAW;EACb,CACF;CACF;CACA,kBAAkB;EAChB,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,mBAAmB;GAC7B,WAAW;GACX,kBAAkB,CAAC,SAAS,OAAO;EACrC,CACF;CACF;CACA,MAAM;EACJ,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,eAAe;GACzB,WAAW;EACb,CACF;CACF;CACA,UAAU;EACR,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,mBAAmB;GAC7B,WAAW;EACb,CACF;CACF;AAGoC;AAEtC,MAAM,gBAAgB,CAAC;AACvB,KAAK,MAAM,YAAY,OAAO,KAAKA,SAAiB,GAAG;CACrD,MAAM,OAAO,GAAG,SAAS;CACzB,cAAc,KAAK,SAAS,MAAM;CAClC,OAAO,QAAQ,EACb,cAAc,CACZ;EACE,aAAa,uBAAuB,SAAS;EAC7C,SAAS,CAAC,YAAY,UAAU;EAChC,WAAW,GAAG,SAAS;EACvB,kBAAkB;CACpB,CACF,EACF;AACF;AACA,OAAO,YAAY;CACjB,SAAS;CACT,qBAAqB;AACvB;AAEA,MAAa,UAAkC"}
|
|
@@ -43,7 +43,7 @@ hashMap.set("fleet", "ffa222820f72c4eb4cdc4c229ae8c50433bee96f3b974f0633d5a7d1f6
|
|
|
43
43
|
hashMap.set("flux", "f881de9cb1b09788f78a3de7c7bbfd8407f88a4af49a39b99f4f91634584249f");
|
|
44
44
|
hashMap.set("fvm", "9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90");
|
|
45
45
|
hashMap.set("git-submodules", "9dbdecb1a40443b6e9594416492086c1c4e15ff6afaad1b06eb955addd71122a");
|
|
46
|
-
hashMap.set("github-actions", "
|
|
46
|
+
hashMap.set("github-actions", "9c702ebbc6bd53903a4ddcd74d5ade8d801f77b0b2c1d60b326740e32830b00f");
|
|
47
47
|
hashMap.set("gitlabci", "a5e1e66ef461e1c1e71062f85f35a212417e23627f4b002810f9a98295d6e672");
|
|
48
48
|
hashMap.set("gitlabci-include", "8860a15ab516fde00694f9bd9bf56fce4addafe5a55b5ddb9a4ec477d301d351");
|
|
49
49
|
hashMap.set("glasskube", "93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','a52394a36ac5517f7330473c31d93aa05b2ce607c5e951b48f25a4693cd20a81');\nhashMap.set('ansible-galaxy','8e11293c8f61b4cbae77a3b1634a47213031c59df2c9833d89db65bf4e6edc64');\nhashMap.set('ant','2df5943cf0ed19a21b94df13729dbb925655548130caf37e3e22bebaed518e17');\nhashMap.set('apm','66c207983960b1a1f49b972f77efe3bfd3097e19b0ee4034ccf9ac6c0d13e05b');\nhashMap.set('argocd','cff9cd22257bc460ae4b9936570bf0ed5585f280a55d26629deaeeb0bfee8eb5');\nhashMap.set('asdf','430eb99b58171700c8a59c78b9e648575e9b176b781d90dd10a710f7b69015bb');\nhashMap.set('azure-pipelines','04a13dec4e08ba21004961c718072fde976226d65809fa3c838bf66ba93e5d5a');\nhashMap.set('batect','375d39b432013bedb1330cf40a2199dd822751b28578214f219e7bab98594b8d');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','4d4f1d9a6519ba552b316b396db13ff0654a2663d8ed976188899a2d57d306a2');\nhashMap.set('bazel-module','9fbba0339f9f7785d52ab85c5f0f6385003093c063483c13feccba13ae438bef');\nhashMap.set('bazelisk','770f75a746dc6ba90c518788d5987d7df4243ef9eee122d1bb0556a93d6e1b11');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','b8b404f53cd5d61c39153fddf93945e621471c4ac6aa9960c881cd868922bb4c');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','77a06471b8aec434457bcbde14a7473bc1c20a5fbe203ecc188bcc7a4fec1718');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','6e4784dd98c1f86ef64cc8cbf3128df48aebf920032d7792b54fdedd3dd9d4d5');\nhashMap.set('cake','9ebd8b481220b30a8860121d26184540a1a2fcc05ef780df9295dea39b386fad');\nhashMap.set('cargo','3253c4b828f3871c58f8bc68973704cb06f3043abf6f97775ab220a79da5fbfe');\nhashMap.set('cdnurl','9a81c8e3c6ad6c788498c99fc1067ffdfcd92a427c3afaf8c0130975d83131f2');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','f4e40388944652c8a19f8518771ac8d3f3c4ccf81ddef0e68b463aca833cb73c');\nhashMap.set('cocoapods','f832e2beef885bb3fd697ed9bb3e8cd742926bfec37ff41212edd2dbb4edb3ba');\nhashMap.set('composer','bbca094a652544845c147bd801b04ce4aae3719cb27acfb68b2ebac616940538');\nhashMap.set('conan','03cdeeffe4e688fb403766100cc1fc617dd388629f1c769ba54a966db3b23414');\nhashMap.set('copier','a0678cc1eec36301328780966eec215c6e18748ea80c98873c8e13291a684cfa');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','41e6a8b7b8bae08f07b3e4b69c8c095db5da984bb23c004cd1ebf755a6317794');\nhashMap.set('deps-edn','06783dbc8b9c7bb84e162d1f75b7db56dfa021cc6f809dfd2314cee8b64af08d');\nhashMap.set('devbox','a40050cc61bd9b5d500ec111abb17bb15d5f82ab5b7699f66f628307ba8382c9');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','fba87b82cb0f2bfd66526631fbe928b8153e7ca701a5790d02b944df17417bb9');\nhashMap.set('dockerfile','b5faeb8f31d238e0d05a4aeebf9a837273687908ab8078b34e738bb0e369c80c');\nhashMap.set('droneci','661d2a2d7295af8dd7a1234c7090c42a89306bd574c3adf1fc67782efaad3998');\nhashMap.set('fleet','ffa222820f72c4eb4cdc4c229ae8c50433bee96f3b974f0633d5a7d1f6427c97');\nhashMap.set('flux','f881de9cb1b09788f78a3de7c7bbfd8407f88a4af49a39b99f4f91634584249f');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','9dbdecb1a40443b6e9594416492086c1c4e15ff6afaad1b06eb955addd71122a');\nhashMap.set('github-actions','070b49e15d295acd9a87ad0206795e101e64295bd809765ef1ea69663b62d741');\nhashMap.set('gitlabci','a5e1e66ef461e1c1e71062f85f35a212417e23627f4b002810f9a98295d6e672');\nhashMap.set('gitlabci-include','8860a15ab516fde00694f9bd9bf56fce4addafe5a55b5ddb9a4ec477d301d351');\nhashMap.set('glasskube','93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30');\nhashMap.set('gleam','5e9b9f5f914afe5ed7b526c06c65111e3716d2dea9b0cbe7907bbc96db1064a3');\nhashMap.set('gomod','80d7fb1da9b45957a11bea7dbe359ef2c13131e5325cf977cab32e4224f3cd5f');\nhashMap.set('gradle','14ffeecba62452d47d3796e68753da745de2614b6e5ecc346da4f0067ed4bc6e');\nhashMap.set('gradle-wrapper','73ba30c34955fab7737454b5cff9aca6d1b5607d53c17c9e13d8ad96f6eaae87');\nhashMap.set('haskell-cabal','f158b7725e3143dfd2950e3de0bbccc2a61cd7eba87f7a54c5057e01252348e2');\nhashMap.set('helm-requirements','22f61344565f87ca3512c0ba8fac32627fde8ee919b7badae07b2116e285f049');\nhashMap.set('helm-values','0aa79bb0257d0d72e54dfd2653e59bfef63b97e46c035b7443593bdf6e6382aa');\nhashMap.set('helmfile','ab63e5bc2bb381939a6b75911947e3fc79d31827423ded07f61ea1c98d95a542');\nhashMap.set('helmsman','951deeb3355da751ef39c9e932b26ea749450e32e75759e4b5fc29359e100b37');\nhashMap.set('helmv3','927798e082caf46a0da703389ba07e9e61fa73ef571ab551301b8fc6b06957d1');\nhashMap.set('hermit','abf066a64be5e5112e4da68896cf14583691e817d8bf2fc5ec65aebcc0fde53b');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','dffe954a4e18c2dc4bfdaa12222fe8ddc3395869afd5afa603fc2b6264747984');\nhashMap.set('html','81fa6c2bf2b868596584a48b949645207a2aa3081951ed99183ee50b70b77d5f');\nhashMap.set('jenkins','7fda0e7e0f3d5e18088ccb3594f727f4cfc48b064706bdaaf1a0a075b6a2cff5');\nhashMap.set('jsonnet-bundler','4cedeb0394e5c38361d1868ff45b4f34747ab8c492378b6e63dcaf1f4f3c024d');\nhashMap.set('kotlin-script','95ebc844c040ca047321b207d525220e29774a2a1fe06f9639e8353c66908564');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','11b17044d29321b3b0ad8cee40ba00cd3297b9e94648556211043f1e8635c8e7');\nhashMap.set('leiningen','c8397e376f1717c2f771ae9ea3ba6b720d2422b133cf937e762c44e42be146a2');\nhashMap.set('maven','c110b99291c2a5bc82cf7a69330275e9bbd7dc8ba3e9e987611dfcffbe002d8d');\nhashMap.set('maven-wrapper','f9df7bfca0f8ffc2eff230aec09a53c8ae3e4012ac499a38622b31df203f047a');\nhashMap.set('meteor','4636a47ba4dcfff19fe662572ef7a40d17146be3c966e00ef437e1fc8de92776');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','49077fd316618114cea787f4d165dee2abd9afb7c3b52e5213a70645c35dfb70');\nhashMap.set('mix','0f79163dc2a1c896599d152be635c23beaf16812ae3d8fbfffec98c7bd0de872');\nhashMap.set('nix','9cbd96a29fe96e3df7418e422256380202f07970cf7f00b08388c181224a2b85');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','cd2b909d892ef3e41e51b5df5b1b0b7e34e795845b0640225e41621416c1ee7d');\nhashMap.set('nuget','fb02247c67a198ffe414a44d23c7894bd114dcc53803334f82e39479e7b27f6f');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','d6567a733ef3983112b46fdccd7ceebfcd48411104e0c6b6e714d4310db48024');\nhashMap.set('paket','0cf8ff9b040ecf28f29b23bbe2ab2544ab3c94822bc1fb53ee4df7b74f000dea');\nhashMap.set('pep621','02ba97d9d2bbd696417ea0ea26c0ed27f4e8cf296f1afdbb27ec07bcc3bd987c');\nhashMap.set('pep723','77022a0eae6a3cbb74a1e6d596db1276e379768e40448192b3fa81edd14ca73f');\nhashMap.set('pip-compile','a98dc76a002e1dc21662237f009ff8fea36236bb4e24cb82ee30c6a78f57271f');\nhashMap.set('pip_requirements','bf3a407f72abf711230247bef94ba5dc84c08a35107b0f017912fad66afa716a');\nhashMap.set('pip_setup','df18fba2bdcf48f3ca12a8f7e5cd28df31e2368d5528127277038ef4206eca79');\nhashMap.set('pipenv','9b8ac4f9432f2789f60847c80582966d5ed4f735d2f678c82416d0eb9548b4fa');\nhashMap.set('pixi','e31c397982ffa34222b061f23f3b3683f42523dd5dca45ecce2448b0ebc55ea2');\nhashMap.set('poetry','2c74e8e94c484c8bfc93ba1272078d531a52e4faaa978fc90ddb654064bb85bc');\nhashMap.set('pre-commit','760f2c291ae084db889f722390798a0e2d431ccdc3bc676e73b14901ebea19ac');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','8e7c65dfd1999de4f7c44392e949a4d8f4701eb86df59d550e4657feb06b1872');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','40927b98dd2bac45dba60e66b5fd0e6b84b61d02db8be536fda7b14546a4feb7');\nhashMap.set('renovate-config','890cabf707d01b58394e0bec05e3a29b73de8f0b43fcbe8a42cd26e328608d70');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','6ace53db02874d73620d2d872291839820a512a9529c42d174358c692e5db720');\nhashMap.set('sbt','e1eb5c7f0171a9bb1b6bd4a36a91039a31b6c84e0983d91d930be31a69506d9e');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','4a3a7c812d34739c07685691e7e64c7d3127f9d7d4aff99dc45a25df97ed9745');\nhashMap.set('smithy','9641b91d065ffb63be0dd888139a0402dba41e550f8b44c592db9daf52109100');\nhashMap.set('sveltos','60dd75bb53ace31217211100d622fdb65068c6162758b6ae7103a6ce8bdc9f90');\nhashMap.set('swift','cdf063debdbf36888523ff8cec6d2d1b0ec6f49b37b2fbcd80b0d4f6a31114e1');\nhashMap.set('tekton','33948f5bdf7553909fa63744adb26da97ddf366e9499bccab1250879570267c9');\nhashMap.set('terraform','6788a8569ba9c50c763ffa2bed952a4314ae8e696c29f93d3eb7c4a12d99ce20');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','300f8fb3c09667654412d2f5dd8ab4882e0f5d1d7a8bc39794993d2e7e58d1b7');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','f423bfa2b42a2bfc0e38a33ebd4f9d452473e7ed4e7ad6384a99eb9a35d97479');\nhashMap.set('travis','f3e2f38e699c390b00ff481be5e91dceaa81609e93caf9a4214933de759c84fc');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','30774cd456c443be2cd236fd5b8cd1cb821f1437c6309842e34960832df3557f');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','416bcf61144b276b3112814c6e6d261aa29608f46fbb0516c471d35c16f8f0d7');\nhashMap.set('regex','20be5247fdc164173871a051acb0527da017d0c155c653d7563601f55e7b3ff5');"],"mappings":";AAAA,MAAa,0BAAU,IAAI,IAAoB;AAE/C,QAAQ,IAAI,WAAU,kEAAkE;AACxF,QAAQ,IAAI,kBAAiB,kEAAkE;AAC/F,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,QAAO,kEAAkE;AACrF,QAAQ,IAAI,mBAAkB,kEAAkE;AAChG,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,kBAAiB,kEAAkE;AAC/F,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,gBAAe,kEAAkE;AAC7F,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,uBAAsB,kEAAkE;AACpG,QAAQ,IAAI,WAAU,kEAAkE;AACxF,QAAQ,IAAI,aAAY,kEAAkE;AAC1F,QAAQ,IAAI,cAAa,kEAAkE;AAC3F,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,eAAc,kEAAkE;AAC5F,QAAQ,IAAI,WAAU,kEAAkE;AACxF,QAAQ,IAAI,QAAO,kEAAkE;AACrF,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,cAAa,kEAAkE;AAC3F,QAAQ,IAAI,aAAY,kEAAkE;AAC1F,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,cAAa,kEAAkE;AAC3F,QAAQ,IAAI,QAAO,kEAAkE;AACrF,QAAQ,IAAI,QAAO,kEAAkE;AACrF,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,gBAAe,kEAAkE;AAC7F,QAAQ,IAAI,kBAAiB,kEAAkE;AAC/F,QAAQ,IAAI,cAAa,kEAAkE;AAC3F,QAAQ,IAAI,WAAU,kEAAkE;AACxF,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,QAAO,kEAAkE;AACrF,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,kBAAiB,kEAAkE;AAC/F,QAAQ,IAAI,kBAAiB,kEAAkE;AAC/F,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,oBAAmB,kEAAkE;AACjG,QAAQ,IAAI,aAAY,kEAAkE;AAC1F,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,kBAAiB,kEAAkE;AAC/F,QAAQ,IAAI,iBAAgB,kEAAkE;AAC9F,QAAQ,IAAI,qBAAoB,kEAAkE;AAClG,QAAQ,IAAI,eAAc,kEAAkE;AAC5F,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,0BAAyB,kEAAkE;AACvG,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,QAAO,kEAAkE;AACrF,QAAQ,IAAI,WAAU,kEAAkE;AACxF,QAAQ,IAAI,mBAAkB,kEAAkE;AAChG,QAAQ,IAAI,iBAAgB,kEAAkE;AAC9F,QAAQ,IAAI,cAAa,kEAAkE;AAC3F,QAAQ,IAAI,aAAY,kEAAkE;AAC1F,QAAQ,IAAI,aAAY,kEAAkE;AAC1F,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,iBAAgB,kEAAkE;AAC9F,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,QAAO,kEAAkE;AACrF,QAAQ,IAAI,QAAO,kEAAkE;AACrF,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,QAAO,kEAAkE;AACrF,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,eAAc,kEAAkE;AAC5F,QAAQ,IAAI,oBAAmB,kEAAkE;AACjG,QAAQ,IAAI,aAAY,kEAAkE;AAC1F,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,QAAO,kEAAkE;AACrF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,cAAa,kEAAkE;AAC3F,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,WAAU,kEAAkE;AACxF,QAAQ,IAAI,mBAAkB,kEAAkE;AAChG,QAAQ,IAAI,gBAAe,kEAAkE;AAC7F,QAAQ,IAAI,mBAAkB,kEAAkE;AAChG,QAAQ,IAAI,kBAAiB,kEAAkE;AAC/F,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,aAAY,kEAAkE;AAC1F,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,WAAU,kEAAkE;AACxF,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,aAAY,kEAAkE;AAC1F,QAAQ,IAAI,qBAAoB,kEAAkE;AAClG,QAAQ,IAAI,cAAa,kEAAkE;AAC3F,QAAQ,IAAI,sBAAqB,kEAAkE;AACnG,QAAQ,IAAI,iBAAgB,kEAAkE;AAC9F,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,WAAU,kEAAkE;AACxF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,cAAa,kEAAkE;AAC3F,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,WAAU,kEAAkE;AACxF,QAAQ,IAAI,SAAQ,kEAAkE"}
|
|
1
|
+
{"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','a52394a36ac5517f7330473c31d93aa05b2ce607c5e951b48f25a4693cd20a81');\nhashMap.set('ansible-galaxy','8e11293c8f61b4cbae77a3b1634a47213031c59df2c9833d89db65bf4e6edc64');\nhashMap.set('ant','2df5943cf0ed19a21b94df13729dbb925655548130caf37e3e22bebaed518e17');\nhashMap.set('apm','66c207983960b1a1f49b972f77efe3bfd3097e19b0ee4034ccf9ac6c0d13e05b');\nhashMap.set('argocd','cff9cd22257bc460ae4b9936570bf0ed5585f280a55d26629deaeeb0bfee8eb5');\nhashMap.set('asdf','430eb99b58171700c8a59c78b9e648575e9b176b781d90dd10a710f7b69015bb');\nhashMap.set('azure-pipelines','04a13dec4e08ba21004961c718072fde976226d65809fa3c838bf66ba93e5d5a');\nhashMap.set('batect','375d39b432013bedb1330cf40a2199dd822751b28578214f219e7bab98594b8d');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','4d4f1d9a6519ba552b316b396db13ff0654a2663d8ed976188899a2d57d306a2');\nhashMap.set('bazel-module','9fbba0339f9f7785d52ab85c5f0f6385003093c063483c13feccba13ae438bef');\nhashMap.set('bazelisk','770f75a746dc6ba90c518788d5987d7df4243ef9eee122d1bb0556a93d6e1b11');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','b8b404f53cd5d61c39153fddf93945e621471c4ac6aa9960c881cd868922bb4c');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','77a06471b8aec434457bcbde14a7473bc1c20a5fbe203ecc188bcc7a4fec1718');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','6e4784dd98c1f86ef64cc8cbf3128df48aebf920032d7792b54fdedd3dd9d4d5');\nhashMap.set('cake','9ebd8b481220b30a8860121d26184540a1a2fcc05ef780df9295dea39b386fad');\nhashMap.set('cargo','3253c4b828f3871c58f8bc68973704cb06f3043abf6f97775ab220a79da5fbfe');\nhashMap.set('cdnurl','9a81c8e3c6ad6c788498c99fc1067ffdfcd92a427c3afaf8c0130975d83131f2');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','f4e40388944652c8a19f8518771ac8d3f3c4ccf81ddef0e68b463aca833cb73c');\nhashMap.set('cocoapods','f832e2beef885bb3fd697ed9bb3e8cd742926bfec37ff41212edd2dbb4edb3ba');\nhashMap.set('composer','bbca094a652544845c147bd801b04ce4aae3719cb27acfb68b2ebac616940538');\nhashMap.set('conan','03cdeeffe4e688fb403766100cc1fc617dd388629f1c769ba54a966db3b23414');\nhashMap.set('copier','a0678cc1eec36301328780966eec215c6e18748ea80c98873c8e13291a684cfa');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','41e6a8b7b8bae08f07b3e4b69c8c095db5da984bb23c004cd1ebf755a6317794');\nhashMap.set('deps-edn','06783dbc8b9c7bb84e162d1f75b7db56dfa021cc6f809dfd2314cee8b64af08d');\nhashMap.set('devbox','a40050cc61bd9b5d500ec111abb17bb15d5f82ab5b7699f66f628307ba8382c9');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','fba87b82cb0f2bfd66526631fbe928b8153e7ca701a5790d02b944df17417bb9');\nhashMap.set('dockerfile','b5faeb8f31d238e0d05a4aeebf9a837273687908ab8078b34e738bb0e369c80c');\nhashMap.set('droneci','661d2a2d7295af8dd7a1234c7090c42a89306bd574c3adf1fc67782efaad3998');\nhashMap.set('fleet','ffa222820f72c4eb4cdc4c229ae8c50433bee96f3b974f0633d5a7d1f6427c97');\nhashMap.set('flux','f881de9cb1b09788f78a3de7c7bbfd8407f88a4af49a39b99f4f91634584249f');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','9dbdecb1a40443b6e9594416492086c1c4e15ff6afaad1b06eb955addd71122a');\nhashMap.set('github-actions','9c702ebbc6bd53903a4ddcd74d5ade8d801f77b0b2c1d60b326740e32830b00f');\nhashMap.set('gitlabci','a5e1e66ef461e1c1e71062f85f35a212417e23627f4b002810f9a98295d6e672');\nhashMap.set('gitlabci-include','8860a15ab516fde00694f9bd9bf56fce4addafe5a55b5ddb9a4ec477d301d351');\nhashMap.set('glasskube','93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30');\nhashMap.set('gleam','5e9b9f5f914afe5ed7b526c06c65111e3716d2dea9b0cbe7907bbc96db1064a3');\nhashMap.set('gomod','80d7fb1da9b45957a11bea7dbe359ef2c13131e5325cf977cab32e4224f3cd5f');\nhashMap.set('gradle','14ffeecba62452d47d3796e68753da745de2614b6e5ecc346da4f0067ed4bc6e');\nhashMap.set('gradle-wrapper','73ba30c34955fab7737454b5cff9aca6d1b5607d53c17c9e13d8ad96f6eaae87');\nhashMap.set('haskell-cabal','f158b7725e3143dfd2950e3de0bbccc2a61cd7eba87f7a54c5057e01252348e2');\nhashMap.set('helm-requirements','22f61344565f87ca3512c0ba8fac32627fde8ee919b7badae07b2116e285f049');\nhashMap.set('helm-values','0aa79bb0257d0d72e54dfd2653e59bfef63b97e46c035b7443593bdf6e6382aa');\nhashMap.set('helmfile','ab63e5bc2bb381939a6b75911947e3fc79d31827423ded07f61ea1c98d95a542');\nhashMap.set('helmsman','951deeb3355da751ef39c9e932b26ea749450e32e75759e4b5fc29359e100b37');\nhashMap.set('helmv3','927798e082caf46a0da703389ba07e9e61fa73ef571ab551301b8fc6b06957d1');\nhashMap.set('hermit','abf066a64be5e5112e4da68896cf14583691e817d8bf2fc5ec65aebcc0fde53b');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','dffe954a4e18c2dc4bfdaa12222fe8ddc3395869afd5afa603fc2b6264747984');\nhashMap.set('html','81fa6c2bf2b868596584a48b949645207a2aa3081951ed99183ee50b70b77d5f');\nhashMap.set('jenkins','7fda0e7e0f3d5e18088ccb3594f727f4cfc48b064706bdaaf1a0a075b6a2cff5');\nhashMap.set('jsonnet-bundler','4cedeb0394e5c38361d1868ff45b4f34747ab8c492378b6e63dcaf1f4f3c024d');\nhashMap.set('kotlin-script','95ebc844c040ca047321b207d525220e29774a2a1fe06f9639e8353c66908564');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','11b17044d29321b3b0ad8cee40ba00cd3297b9e94648556211043f1e8635c8e7');\nhashMap.set('leiningen','c8397e376f1717c2f771ae9ea3ba6b720d2422b133cf937e762c44e42be146a2');\nhashMap.set('maven','c110b99291c2a5bc82cf7a69330275e9bbd7dc8ba3e9e987611dfcffbe002d8d');\nhashMap.set('maven-wrapper','f9df7bfca0f8ffc2eff230aec09a53c8ae3e4012ac499a38622b31df203f047a');\nhashMap.set('meteor','4636a47ba4dcfff19fe662572ef7a40d17146be3c966e00ef437e1fc8de92776');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','49077fd316618114cea787f4d165dee2abd9afb7c3b52e5213a70645c35dfb70');\nhashMap.set('mix','0f79163dc2a1c896599d152be635c23beaf16812ae3d8fbfffec98c7bd0de872');\nhashMap.set('nix','9cbd96a29fe96e3df7418e422256380202f07970cf7f00b08388c181224a2b85');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','cd2b909d892ef3e41e51b5df5b1b0b7e34e795845b0640225e41621416c1ee7d');\nhashMap.set('nuget','fb02247c67a198ffe414a44d23c7894bd114dcc53803334f82e39479e7b27f6f');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','d6567a733ef3983112b46fdccd7ceebfcd48411104e0c6b6e714d4310db48024');\nhashMap.set('paket','0cf8ff9b040ecf28f29b23bbe2ab2544ab3c94822bc1fb53ee4df7b74f000dea');\nhashMap.set('pep621','02ba97d9d2bbd696417ea0ea26c0ed27f4e8cf296f1afdbb27ec07bcc3bd987c');\nhashMap.set('pep723','77022a0eae6a3cbb74a1e6d596db1276e379768e40448192b3fa81edd14ca73f');\nhashMap.set('pip-compile','a98dc76a002e1dc21662237f009ff8fea36236bb4e24cb82ee30c6a78f57271f');\nhashMap.set('pip_requirements','bf3a407f72abf711230247bef94ba5dc84c08a35107b0f017912fad66afa716a');\nhashMap.set('pip_setup','df18fba2bdcf48f3ca12a8f7e5cd28df31e2368d5528127277038ef4206eca79');\nhashMap.set('pipenv','9b8ac4f9432f2789f60847c80582966d5ed4f735d2f678c82416d0eb9548b4fa');\nhashMap.set('pixi','e31c397982ffa34222b061f23f3b3683f42523dd5dca45ecce2448b0ebc55ea2');\nhashMap.set('poetry','2c74e8e94c484c8bfc93ba1272078d531a52e4faaa978fc90ddb654064bb85bc');\nhashMap.set('pre-commit','760f2c291ae084db889f722390798a0e2d431ccdc3bc676e73b14901ebea19ac');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','8e7c65dfd1999de4f7c44392e949a4d8f4701eb86df59d550e4657feb06b1872');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','40927b98dd2bac45dba60e66b5fd0e6b84b61d02db8be536fda7b14546a4feb7');\nhashMap.set('renovate-config','890cabf707d01b58394e0bec05e3a29b73de8f0b43fcbe8a42cd26e328608d70');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','6ace53db02874d73620d2d872291839820a512a9529c42d174358c692e5db720');\nhashMap.set('sbt','e1eb5c7f0171a9bb1b6bd4a36a91039a31b6c84e0983d91d930be31a69506d9e');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','4a3a7c812d34739c07685691e7e64c7d3127f9d7d4aff99dc45a25df97ed9745');\nhashMap.set('smithy','9641b91d065ffb63be0dd888139a0402dba41e550f8b44c592db9daf52109100');\nhashMap.set('sveltos','60dd75bb53ace31217211100d622fdb65068c6162758b6ae7103a6ce8bdc9f90');\nhashMap.set('swift','cdf063debdbf36888523ff8cec6d2d1b0ec6f49b37b2fbcd80b0d4f6a31114e1');\nhashMap.set('tekton','33948f5bdf7553909fa63744adb26da97ddf366e9499bccab1250879570267c9');\nhashMap.set('terraform','6788a8569ba9c50c763ffa2bed952a4314ae8e696c29f93d3eb7c4a12d99ce20');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','300f8fb3c09667654412d2f5dd8ab4882e0f5d1d7a8bc39794993d2e7e58d1b7');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','f423bfa2b42a2bfc0e38a33ebd4f9d452473e7ed4e7ad6384a99eb9a35d97479');\nhashMap.set('travis','f3e2f38e699c390b00ff481be5e91dceaa81609e93caf9a4214933de759c84fc');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','30774cd456c443be2cd236fd5b8cd1cb821f1437c6309842e34960832df3557f');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','416bcf61144b276b3112814c6e6d261aa29608f46fbb0516c471d35c16f8f0d7');\nhashMap.set('regex','20be5247fdc164173871a051acb0527da017d0c155c653d7563601f55e7b3ff5');"],"mappings":"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"}
|
|
@@ -112,6 +112,11 @@ const githubReleasesActions = {
|
|
|
112
112
|
packageName: "casey/just",
|
|
113
113
|
withSchema: valSchema("just-version")
|
|
114
114
|
},
|
|
115
|
+
"fluxcd/flux-mirror/actions/setup": {
|
|
116
|
+
datasource: GithubReleasesDatasource.id,
|
|
117
|
+
depName: "flux-mirror",
|
|
118
|
+
packageName: "fluxcd/flux-mirror"
|
|
119
|
+
},
|
|
115
120
|
"foundry-rs/foundry-toolchain": {
|
|
116
121
|
datasource: GithubReleasesDatasource.id,
|
|
117
122
|
depName: "foundry",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-releases.js","names":["nodeVersioning.id","semverVersioning.id"],"sources":["../../../../../lib/modules/manager/github-actions/known-actions/github-releases.ts"],"sourcesContent":["import { GithubReleasesDatasource } from '../../../datasource/github-releases/index.ts';\nimport * as nodeVersioning from '../../../versioning/node/index.ts';\nimport * as npmVersioning from '../../../versioning/npm/index.ts';\nimport * as semverVersioning from '../../../versioning/semver/index.ts';\nimport type { KnownActionConfig } from '../types.ts';\nimport {\n actionsVersionsExtractVersion,\n partialValSchema,\n valSchema,\n} from './utils.ts';\n\nexport const githubReleasesActions: Record<string, KnownActionConfig> = {\n // https://github.com/actions/setup-go\n 'actions/setup-go': {\n datasource: GithubReleasesDatasource.id,\n depName: 'go',\n packageName: 'actions/go-versions',\n versioning: npmVersioning.id,\n extractVersion: actionsVersionsExtractVersion,\n withSchema: valSchema('go-version'),\n },\n // https://github.com/actions/setup-node\n 'actions/setup-node': {\n datasource: GithubReleasesDatasource.id,\n depName: 'node',\n packageName: 'actions/node-versions',\n versioning: nodeVersioning.id,\n extractVersion: actionsVersionsExtractVersion,\n withSchema: valSchema('node-version'),\n },\n // https://github.com/actions/setup-python\n 'actions/setup-python': {\n datasource: GithubReleasesDatasource.id,\n depName: 'python',\n packageName: 'actions/python-versions',\n versioning: npmVersioning.id,\n extractVersion: actionsVersionsExtractVersion,\n withSchema: valSchema('python-version'),\n },\n // https://github.com/aquaproj/aqua-installer\n 'aquaproj/aqua-installer': {\n datasource: GithubReleasesDatasource.id,\n depName: 'aqua',\n packageName: 'aquaproj/aqua',\n withSchema: valSchema('aqua_version'),\n },\n // https://github.com/aquasecurity/setup-trivy\n 'aquasecurity/setup-trivy': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'aquasecurity/trivy',\n },\n // https://github.com/aquasecurity/trivy-action\n 'aquasecurity/trivy-action': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'aquasecurity/trivy',\n },\n // https://github.com/astral-sh/ruff-action\n 'astral-sh/ruff-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'ruff',\n packageName: 'astral-sh/ruff',\n },\n // https://github.com/astral-sh/setup-uv\n 'astral-sh/setup-uv': {\n datasource: GithubReleasesDatasource.id,\n versioning: npmVersioning.id,\n packageName: 'astral-sh/uv',\n },\n 'azure/setup-helm': {\n datasource: GithubReleasesDatasource.id,\n depName: 'helm',\n packageName: 'helm/helm',\n },\n // https://github.com/azure/setup-kubectl\n 'azure/setup-kubectl': {\n datasource: GithubReleasesDatasource.id,\n depName: 'kubectl',\n packageName: 'kubernetes/kubernetes',\n },\n // https://github.com/bufbuild/buf-setup-action\n 'bufbuild/buf-setup-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'buf',\n packageName: 'bufbuild/buf',\n },\n // https://github.com/cargo-bins/cargo-binstall\n 'cargo-bins/cargo-binstall': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'cargo-bins/cargo-binstall',\n // the repo also publishes releases for its internal sub-crates (e.g.\n // `detect-targets-v0.1.91`, `binstalk-v0.28.81`) — only match the bare\n // main-tool release tag\n extractVersion: '^v(?<version>\\\\d+\\\\.\\\\d+\\\\.\\\\d+)$',\n },\n // https://github.com/cue-lang/setup-cue\n 'cue-lang/setup-cue': {\n datasource: GithubReleasesDatasource.id,\n depName: 'cue',\n packageName: 'cue-lang/cue',\n },\n // https://github.com/dagger/dagger-for-github\n 'dagger/dagger-for-github': {\n datasource: GithubReleasesDatasource.id,\n depName: 'dagger',\n packageName: 'dagger/dagger',\n // the repo also publishes per-SDK/component tags sharing the same\n // version (e.g. `sdk/typescript/v0.21.9`, `helm/chart/v0.21.9`) — only\n // match the bare release tag\n extractVersion: '^v(?<version>\\\\d+\\\\..*)$',\n },\n // https://github.com/denoland/setup-deno\n 'denoland/setup-deno': {\n datasource: GithubReleasesDatasource.id,\n depName: 'deno',\n packageName: 'denoland/deno',\n versioning: npmVersioning.id,\n withSchema: valSchema('deno-version'),\n },\n // https://github.com/docker/setup-buildx-action\n 'docker/setup-buildx-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'buildx',\n packageName: 'docker/buildx',\n },\n // https://github.com/docker/setup-compose-action\n 'docker/setup-compose-action': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'docker/compose',\n },\n // https://github.com/docker/setup-docker-action\n 'docker/setup-docker-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'docker',\n packageName: 'moby/moby',\n extractVersion: '^docker-(?<version>.+)$',\n },\n // https://github.com/extractions/setup-just\n 'extractions/setup-just': {\n datasource: GithubReleasesDatasource.id,\n depName: 'just',\n packageName: 'casey/just',\n withSchema: valSchema('just-version'),\n },\n // https://github.com/foundry-rs/foundry-toolchain\n 'foundry-rs/foundry-toolchain': {\n datasource: GithubReleasesDatasource.id,\n depName: 'foundry',\n packageName: 'foundry-rs/foundry',\n },\n // https://github.com/github/gh-aw-actions/tree/main/setup-cli\n 'github/gh-aw-actions/setup-cli': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'github/gh-aw',\n // A major-version channel such as `v1` installs the latest stable\n // release of that major, so preserve its precision.\n withSchema: partialValSchema('version'),\n },\n // https://github.com/GitTools/actions (there is no root-level Action, only\n // subpaths are usable; the sibling `GitTools/actions/gitreleasemanager/setup`\n // is a separate, unrelated Action)\n 'GitTools/actions/gitversion/setup': {\n datasource: GithubReleasesDatasource.id,\n depName: 'gitversion',\n packageName: 'GitTools/GitVersion',\n // `versionSpec` is documented as \"the form of 6.8.x or exact version\n // like 6.0.0\", so it may be a range\n versioning: npmVersioning.id,\n withSchema: valSchema('versionSpec'),\n },\n // https://github.com/golangci/golangci-lint-action\n 'golangci/golangci-lint-action': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'golangci/golangci-lint',\n // in the default `binary` install mode, `version` may be a partial\n // version such as `v2.3` rather than a pinned version\n withSchema: partialValSchema('version'),\n },\n // https://github.com/goreleaser/goreleaser-action\n 'goreleaser/goreleaser-action': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'goreleaser/goreleaser',\n // the default value (`~> v2`) is itself a range, not a pinned version\n versioning: npmVersioning.id,\n },\n // https://github.com/hashicorp/setup-packer\n 'hashicorp/setup-packer': {\n datasource: GithubReleasesDatasource.id,\n depName: 'packer',\n packageName: 'hashicorp/packer',\n },\n // https://github.com/hashicorp/setup-terraform\n 'hashicorp/setup-terraform': {\n datasource: GithubReleasesDatasource.id,\n depName: 'terraform',\n packageName: 'hashicorp/terraform',\n // `terraform_version` may be a constraint string (e.g. `<1.2.0`,\n // `~1.1.0`) rather than a full version\n versioning: npmVersioning.id,\n withSchema: valSchema('terraform_version'),\n },\n // https://github.com/helm/chart-releaser-action\n 'helm/chart-releaser-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'chart-releaser',\n packageName: 'helm/chart-releaser',\n },\n // https://github.com/helm/chart-testing-action\n 'helm/chart-testing-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'chart-testing',\n packageName: 'helm/chart-testing',\n },\n // https://github.com/j178/prek-action\n 'j178/prek-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'prek',\n packageName: 'j178/prek',\n // the value may be a semver range (e.g. `0.3.x`, `<=1.0.0`), not just a\n // pinned version\n versioning: npmVersioning.id,\n withSchema: valSchema('prek-version'),\n },\n // https://github.com/jfrog/setup-jfrog-cli\n 'jfrog/setup-jfrog-cli': {\n datasource: GithubReleasesDatasource.id,\n depName: 'jfrog-cli',\n packageName: 'jfrog/jfrog-cli',\n },\n // https://github.com/julia-actions/setup-julia\n 'julia-actions/setup-julia': {\n datasource: GithubReleasesDatasource.id,\n depName: 'julia',\n packageName: 'JuliaLang/julia',\n // the action resolves `version` with node's semver package, so the value\n // may be a partial version (e.g. `1.10`) or a range (e.g. `^1.6`) rather\n // than a pinned version\n versioning: npmVersioning.id,\n },\n // https://github.com/jwlawson/actions-setup-cmake\n 'jwlawson/actions-setup-cmake': {\n datasource: GithubReleasesDatasource.id,\n depName: 'cmake',\n packageName: 'Kitware/CMake',\n // `cmake-version` may be partly specified (e.g. `3.2`) or a wildcard\n // (e.g. `3.2.x`) rather than a full version\n versioning: npmVersioning.id,\n withSchema: valSchema('cmake-version'),\n },\n // https://github.com/mozilla-actions/sccache-action\n 'mozilla-actions/sccache-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'sccache',\n packageName: 'mozilla/sccache',\n },\n // https://github.com/opentofu/setup-opentofu\n 'opentofu/setup-opentofu': {\n datasource: GithubReleasesDatasource.id,\n depName: 'opentofu',\n packageName: 'opentofu/opentofu',\n // as with `hashicorp/setup-terraform` above, `tofu_version` may be a\n // constraint string rather than a full version\n versioning: npmVersioning.id,\n withSchema: valSchema('tofu_version'),\n },\n // https://github.com/peaceiris/actions-hugo\n 'peaceiris/actions-hugo': {\n datasource: GithubReleasesDatasource.id,\n depName: 'hugo',\n packageName: 'gohugoio/hugo',\n withSchema: valSchema('hugo-version'),\n },\n // https://github.com/prefix-dev/setup-pixi\n // pixi tags are v-prefixed, which conda versioning cannot bucket\n 'prefix-dev/setup-pixi': {\n datasource: GithubReleasesDatasource.id,\n versioning: semverVersioning.id,\n packageName: 'prefix-dev/pixi',\n withSchema: valSchema('pixi-version'),\n },\n // https://github.com/pulumi/actions\n 'pulumi/actions': {\n datasource: GithubReleasesDatasource.id,\n depName: 'pulumi',\n packageName: 'pulumi/pulumi',\n withSchema: valSchema('pulumi-version'),\n },\n // https://github.com/pypa/hatch/tree/install\n 'pypa/hatch': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'pypa/hatch',\n // Strip hatch- prefix from release tags\n extractVersion: '^hatch-(?<version>.+)$',\n },\n // https://github.com/raven-actions/actionlint\n 'raven-actions/actionlint': {\n datasource: GithubReleasesDatasource.id,\n depName: 'actionlint',\n packageName: 'rhysd/actionlint',\n },\n // https://github.com/reviewdog/action-setup\n 'reviewdog/action-setup': {\n datasource: GithubReleasesDatasource.id,\n depName: 'reviewdog',\n packageName: 'reviewdog/reviewdog',\n withSchema: valSchema('reviewdog_version'),\n },\n 'sigstore/cosign-installer': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'sigstore/cosign',\n withSchema: valSchema('cosign-release'),\n },\n // https://github.com/slsa-framework/actions/tree/main/attest/actions\n 'slsa-framework/actions/attest/actions': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'slsa-framework/attester',\n withSchema: valSchema('version'),\n },\n // https://github.com/slsa-framework/actions/tree/main/slsa_with_provenance\n 'slsa-framework/actions/slsa_with_provenance': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'slsa-framework/source-tool',\n withSchema: valSchema('version'),\n },\n // https://github.com/stCarolas/setup-maven\n 'stCarolas/setup-maven': {\n datasource: GithubReleasesDatasource.id,\n depName: 'maven',\n packageName: 'apache/maven',\n // apache/maven tags its releases as `maven-X.Y.Z`\n extractVersion: '^maven-(?<version>.+)$',\n // the input also documents range/glob specs (e.g. `10.x`, `>=10.15.0`),\n // not just pinned versions\n versioning: npmVersioning.id,\n withSchema: valSchema('maven-version'),\n },\n // https://github.com/subosito/flutter-action\n 'subosito/flutter-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'flutter',\n packageName: 'flutter/flutter',\n // `flutter-version` may be an x-range (e.g. `3.x`, `1.22.x`) used to\n // pick the latest release of that line, rather than a full version\n versioning: npmVersioning.id,\n withSchema: valSchema('flutter-version'),\n },\n // https://github.com/superfly/flyctl-actions (there is no root-level\n // Action for this purpose — the repo root has an unrelated action.yml, and\n // the real usable Action lives at the `setup-flyctl` subpath)\n 'superfly/flyctl-actions/setup-flyctl': {\n datasource: GithubReleasesDatasource.id,\n depName: 'flyctl',\n packageName: 'superfly/flyctl',\n },\n // https://github.com/swift-actions/setup-swift\n 'swift-actions/setup-swift': {\n datasource: GithubReleasesDatasource.id,\n depName: 'swift',\n packageName: 'swiftlang/swift',\n // swiftlang/swift tags releases like `swift-6.3.3-RELEASE`\n extractVersion: '^swift-(?<version>.+)-RELEASE$',\n // a partial `swift-version` such as `5.0` resolves to the latest\n // matching release, rather than a pinned version\n withSchema: partialValSchema('swift-version'),\n },\n 'UpCloudLtd/upcloud-cli-action': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'UpCloudLtd/upcloud-cli',\n },\n // https://github.com/WillAbides/setup-go-faster\n 'WillAbides/setup-go-faster': {\n datasource: GithubReleasesDatasource.id,\n depName: 'go',\n packageName: 'actions/go-versions',\n versioning: npmVersioning.id,\n extractVersion: actionsVersionsExtractVersion,\n withSchema: valSchema('go-version'),\n },\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"github-releases.js","names":["nodeVersioning.id","semverVersioning.id"],"sources":["../../../../../lib/modules/manager/github-actions/known-actions/github-releases.ts"],"sourcesContent":["import { GithubReleasesDatasource } from '../../../datasource/github-releases/index.ts';\nimport * as nodeVersioning from '../../../versioning/node/index.ts';\nimport * as npmVersioning from '../../../versioning/npm/index.ts';\nimport * as semverVersioning from '../../../versioning/semver/index.ts';\nimport type { KnownActionConfig } from '../types.ts';\nimport {\n actionsVersionsExtractVersion,\n partialValSchema,\n valSchema,\n} from './utils.ts';\n\nexport const githubReleasesActions: Record<string, KnownActionConfig> = {\n // https://github.com/actions/setup-go\n 'actions/setup-go': {\n datasource: GithubReleasesDatasource.id,\n depName: 'go',\n packageName: 'actions/go-versions',\n versioning: npmVersioning.id,\n extractVersion: actionsVersionsExtractVersion,\n withSchema: valSchema('go-version'),\n },\n // https://github.com/actions/setup-node\n 'actions/setup-node': {\n datasource: GithubReleasesDatasource.id,\n depName: 'node',\n packageName: 'actions/node-versions',\n versioning: nodeVersioning.id,\n extractVersion: actionsVersionsExtractVersion,\n withSchema: valSchema('node-version'),\n },\n // https://github.com/actions/setup-python\n 'actions/setup-python': {\n datasource: GithubReleasesDatasource.id,\n depName: 'python',\n packageName: 'actions/python-versions',\n versioning: npmVersioning.id,\n extractVersion: actionsVersionsExtractVersion,\n withSchema: valSchema('python-version'),\n },\n // https://github.com/aquaproj/aqua-installer\n 'aquaproj/aqua-installer': {\n datasource: GithubReleasesDatasource.id,\n depName: 'aqua',\n packageName: 'aquaproj/aqua',\n withSchema: valSchema('aqua_version'),\n },\n // https://github.com/aquasecurity/setup-trivy\n 'aquasecurity/setup-trivy': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'aquasecurity/trivy',\n },\n // https://github.com/aquasecurity/trivy-action\n 'aquasecurity/trivy-action': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'aquasecurity/trivy',\n },\n // https://github.com/astral-sh/ruff-action\n 'astral-sh/ruff-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'ruff',\n packageName: 'astral-sh/ruff',\n },\n // https://github.com/astral-sh/setup-uv\n 'astral-sh/setup-uv': {\n datasource: GithubReleasesDatasource.id,\n versioning: npmVersioning.id,\n packageName: 'astral-sh/uv',\n },\n 'azure/setup-helm': {\n datasource: GithubReleasesDatasource.id,\n depName: 'helm',\n packageName: 'helm/helm',\n },\n // https://github.com/azure/setup-kubectl\n 'azure/setup-kubectl': {\n datasource: GithubReleasesDatasource.id,\n depName: 'kubectl',\n packageName: 'kubernetes/kubernetes',\n },\n // https://github.com/bufbuild/buf-setup-action\n 'bufbuild/buf-setup-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'buf',\n packageName: 'bufbuild/buf',\n },\n // https://github.com/cargo-bins/cargo-binstall\n 'cargo-bins/cargo-binstall': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'cargo-bins/cargo-binstall',\n // the repo also publishes releases for its internal sub-crates (e.g.\n // `detect-targets-v0.1.91`, `binstalk-v0.28.81`) — only match the bare\n // main-tool release tag\n extractVersion: '^v(?<version>\\\\d+\\\\.\\\\d+\\\\.\\\\d+)$',\n },\n // https://github.com/cue-lang/setup-cue\n 'cue-lang/setup-cue': {\n datasource: GithubReleasesDatasource.id,\n depName: 'cue',\n packageName: 'cue-lang/cue',\n },\n // https://github.com/dagger/dagger-for-github\n 'dagger/dagger-for-github': {\n datasource: GithubReleasesDatasource.id,\n depName: 'dagger',\n packageName: 'dagger/dagger',\n // the repo also publishes per-SDK/component tags sharing the same\n // version (e.g. `sdk/typescript/v0.21.9`, `helm/chart/v0.21.9`) — only\n // match the bare release tag\n extractVersion: '^v(?<version>\\\\d+\\\\..*)$',\n },\n // https://github.com/denoland/setup-deno\n 'denoland/setup-deno': {\n datasource: GithubReleasesDatasource.id,\n depName: 'deno',\n packageName: 'denoland/deno',\n versioning: npmVersioning.id,\n withSchema: valSchema('deno-version'),\n },\n // https://github.com/docker/setup-buildx-action\n 'docker/setup-buildx-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'buildx',\n packageName: 'docker/buildx',\n },\n // https://github.com/docker/setup-compose-action\n 'docker/setup-compose-action': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'docker/compose',\n },\n // https://github.com/docker/setup-docker-action\n 'docker/setup-docker-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'docker',\n packageName: 'moby/moby',\n extractVersion: '^docker-(?<version>.+)$',\n },\n // https://github.com/extractions/setup-just\n 'extractions/setup-just': {\n datasource: GithubReleasesDatasource.id,\n depName: 'just',\n packageName: 'casey/just',\n withSchema: valSchema('just-version'),\n },\n // https://github.com/fluxcd/flux-mirror/tree/main/actions/setup\n 'fluxcd/flux-mirror/actions/setup': {\n datasource: GithubReleasesDatasource.id,\n depName: 'flux-mirror',\n packageName: 'fluxcd/flux-mirror',\n },\n // https://github.com/foundry-rs/foundry-toolchain\n 'foundry-rs/foundry-toolchain': {\n datasource: GithubReleasesDatasource.id,\n depName: 'foundry',\n packageName: 'foundry-rs/foundry',\n },\n // https://github.com/github/gh-aw-actions/tree/main/setup-cli\n 'github/gh-aw-actions/setup-cli': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'github/gh-aw',\n // A major-version channel such as `v1` installs the latest stable\n // release of that major, so preserve its precision.\n withSchema: partialValSchema('version'),\n },\n // https://github.com/GitTools/actions (there is no root-level Action, only\n // subpaths are usable; the sibling `GitTools/actions/gitreleasemanager/setup`\n // is a separate, unrelated Action)\n 'GitTools/actions/gitversion/setup': {\n datasource: GithubReleasesDatasource.id,\n depName: 'gitversion',\n packageName: 'GitTools/GitVersion',\n // `versionSpec` is documented as \"the form of 6.8.x or exact version\n // like 6.0.0\", so it may be a range\n versioning: npmVersioning.id,\n withSchema: valSchema('versionSpec'),\n },\n // https://github.com/golangci/golangci-lint-action\n 'golangci/golangci-lint-action': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'golangci/golangci-lint',\n // in the default `binary` install mode, `version` may be a partial\n // version such as `v2.3` rather than a pinned version\n withSchema: partialValSchema('version'),\n },\n // https://github.com/goreleaser/goreleaser-action\n 'goreleaser/goreleaser-action': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'goreleaser/goreleaser',\n // the default value (`~> v2`) is itself a range, not a pinned version\n versioning: npmVersioning.id,\n },\n // https://github.com/hashicorp/setup-packer\n 'hashicorp/setup-packer': {\n datasource: GithubReleasesDatasource.id,\n depName: 'packer',\n packageName: 'hashicorp/packer',\n },\n // https://github.com/hashicorp/setup-terraform\n 'hashicorp/setup-terraform': {\n datasource: GithubReleasesDatasource.id,\n depName: 'terraform',\n packageName: 'hashicorp/terraform',\n // `terraform_version` may be a constraint string (e.g. `<1.2.0`,\n // `~1.1.0`) rather than a full version\n versioning: npmVersioning.id,\n withSchema: valSchema('terraform_version'),\n },\n // https://github.com/helm/chart-releaser-action\n 'helm/chart-releaser-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'chart-releaser',\n packageName: 'helm/chart-releaser',\n },\n // https://github.com/helm/chart-testing-action\n 'helm/chart-testing-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'chart-testing',\n packageName: 'helm/chart-testing',\n },\n // https://github.com/j178/prek-action\n 'j178/prek-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'prek',\n packageName: 'j178/prek',\n // the value may be a semver range (e.g. `0.3.x`, `<=1.0.0`), not just a\n // pinned version\n versioning: npmVersioning.id,\n withSchema: valSchema('prek-version'),\n },\n // https://github.com/jfrog/setup-jfrog-cli\n 'jfrog/setup-jfrog-cli': {\n datasource: GithubReleasesDatasource.id,\n depName: 'jfrog-cli',\n packageName: 'jfrog/jfrog-cli',\n },\n // https://github.com/julia-actions/setup-julia\n 'julia-actions/setup-julia': {\n datasource: GithubReleasesDatasource.id,\n depName: 'julia',\n packageName: 'JuliaLang/julia',\n // the action resolves `version` with node's semver package, so the value\n // may be a partial version (e.g. `1.10`) or a range (e.g. `^1.6`) rather\n // than a pinned version\n versioning: npmVersioning.id,\n },\n // https://github.com/jwlawson/actions-setup-cmake\n 'jwlawson/actions-setup-cmake': {\n datasource: GithubReleasesDatasource.id,\n depName: 'cmake',\n packageName: 'Kitware/CMake',\n // `cmake-version` may be partly specified (e.g. `3.2`) or a wildcard\n // (e.g. `3.2.x`) rather than a full version\n versioning: npmVersioning.id,\n withSchema: valSchema('cmake-version'),\n },\n // https://github.com/mozilla-actions/sccache-action\n 'mozilla-actions/sccache-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'sccache',\n packageName: 'mozilla/sccache',\n },\n // https://github.com/opentofu/setup-opentofu\n 'opentofu/setup-opentofu': {\n datasource: GithubReleasesDatasource.id,\n depName: 'opentofu',\n packageName: 'opentofu/opentofu',\n // as with `hashicorp/setup-terraform` above, `tofu_version` may be a\n // constraint string rather than a full version\n versioning: npmVersioning.id,\n withSchema: valSchema('tofu_version'),\n },\n // https://github.com/peaceiris/actions-hugo\n 'peaceiris/actions-hugo': {\n datasource: GithubReleasesDatasource.id,\n depName: 'hugo',\n packageName: 'gohugoio/hugo',\n withSchema: valSchema('hugo-version'),\n },\n // https://github.com/prefix-dev/setup-pixi\n // pixi tags are v-prefixed, which conda versioning cannot bucket\n 'prefix-dev/setup-pixi': {\n datasource: GithubReleasesDatasource.id,\n versioning: semverVersioning.id,\n packageName: 'prefix-dev/pixi',\n withSchema: valSchema('pixi-version'),\n },\n // https://github.com/pulumi/actions\n 'pulumi/actions': {\n datasource: GithubReleasesDatasource.id,\n depName: 'pulumi',\n packageName: 'pulumi/pulumi',\n withSchema: valSchema('pulumi-version'),\n },\n // https://github.com/pypa/hatch/tree/install\n 'pypa/hatch': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'pypa/hatch',\n // Strip hatch- prefix from release tags\n extractVersion: '^hatch-(?<version>.+)$',\n },\n // https://github.com/raven-actions/actionlint\n 'raven-actions/actionlint': {\n datasource: GithubReleasesDatasource.id,\n depName: 'actionlint',\n packageName: 'rhysd/actionlint',\n },\n // https://github.com/reviewdog/action-setup\n 'reviewdog/action-setup': {\n datasource: GithubReleasesDatasource.id,\n depName: 'reviewdog',\n packageName: 'reviewdog/reviewdog',\n withSchema: valSchema('reviewdog_version'),\n },\n 'sigstore/cosign-installer': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'sigstore/cosign',\n withSchema: valSchema('cosign-release'),\n },\n // https://github.com/slsa-framework/actions/tree/main/attest/actions\n 'slsa-framework/actions/attest/actions': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'slsa-framework/attester',\n withSchema: valSchema('version'),\n },\n // https://github.com/slsa-framework/actions/tree/main/slsa_with_provenance\n 'slsa-framework/actions/slsa_with_provenance': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'slsa-framework/source-tool',\n withSchema: valSchema('version'),\n },\n // https://github.com/stCarolas/setup-maven\n 'stCarolas/setup-maven': {\n datasource: GithubReleasesDatasource.id,\n depName: 'maven',\n packageName: 'apache/maven',\n // apache/maven tags its releases as `maven-X.Y.Z`\n extractVersion: '^maven-(?<version>.+)$',\n // the input also documents range/glob specs (e.g. `10.x`, `>=10.15.0`),\n // not just pinned versions\n versioning: npmVersioning.id,\n withSchema: valSchema('maven-version'),\n },\n // https://github.com/subosito/flutter-action\n 'subosito/flutter-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'flutter',\n packageName: 'flutter/flutter',\n // `flutter-version` may be an x-range (e.g. `3.x`, `1.22.x`) used to\n // pick the latest release of that line, rather than a full version\n versioning: npmVersioning.id,\n withSchema: valSchema('flutter-version'),\n },\n // https://github.com/superfly/flyctl-actions (there is no root-level\n // Action for this purpose — the repo root has an unrelated action.yml, and\n // the real usable Action lives at the `setup-flyctl` subpath)\n 'superfly/flyctl-actions/setup-flyctl': {\n datasource: GithubReleasesDatasource.id,\n depName: 'flyctl',\n packageName: 'superfly/flyctl',\n },\n // https://github.com/swift-actions/setup-swift\n 'swift-actions/setup-swift': {\n datasource: GithubReleasesDatasource.id,\n depName: 'swift',\n packageName: 'swiftlang/swift',\n // swiftlang/swift tags releases like `swift-6.3.3-RELEASE`\n extractVersion: '^swift-(?<version>.+)-RELEASE$',\n // a partial `swift-version` such as `5.0` resolves to the latest\n // matching release, rather than a pinned version\n withSchema: partialValSchema('swift-version'),\n },\n 'UpCloudLtd/upcloud-cli-action': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'UpCloudLtd/upcloud-cli',\n },\n // https://github.com/WillAbides/setup-go-faster\n 'WillAbides/setup-go-faster': {\n datasource: GithubReleasesDatasource.id,\n depName: 'go',\n packageName: 'actions/go-versions',\n versioning: npmVersioning.id,\n extractVersion: actionsVersionsExtractVersion,\n withSchema: valSchema('go-version'),\n },\n};\n"],"mappings":";;;;;;AAWA,MAAa,wBAA2D;CAEtE,oBAAoB;EAClB,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,YAAY,UAAU,YAAY;CACpC;CAEA,sBAAsB;EACpB,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EACb,YAAYA;EACZ,gBAAgB;EAChB,YAAY,UAAU,cAAc;CACtC;CAEA,wBAAwB;EACtB,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,YAAY,UAAU,gBAAgB;CACxC;CAEA,2BAA2B;EACzB,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EACb,YAAY,UAAU,cAAc;CACtC;CAEA,4BAA4B;EAC1B,YAAY,yBAAyB;EACrC,aAAa;CACf;CAEA,6BAA6B;EAC3B,YAAY,yBAAyB;EACrC,aAAa;CACf;CAEA,yBAAyB;EACvB,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;CACf;CAEA,sBAAsB;EACpB,YAAY,yBAAyB;EACrC,YAAY;EACZ,aAAa;CACf;CACA,oBAAoB;EAClB,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;CACf;CAEA,uBAAuB;EACrB,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;CACf;CAEA,6BAA6B;EAC3B,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;CACf;CAEA,6BAA6B;EAC3B,YAAY,yBAAyB;EACrC,aAAa;EAIb,gBAAgB;CAClB;CAEA,sBAAsB;EACpB,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;CACf;CAEA,4BAA4B;EAC1B,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EAIb,gBAAgB;CAClB;CAEA,uBAAuB;EACrB,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EACb,YAAY;EACZ,YAAY,UAAU,cAAc;CACtC;CAEA,8BAA8B;EAC5B,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;CACf;CAEA,+BAA+B;EAC7B,YAAY,yBAAyB;EACrC,aAAa;CACf;CAEA,8BAA8B;EAC5B,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EACb,gBAAgB;CAClB;CAEA,0BAA0B;EACxB,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EACb,YAAY,UAAU,cAAc;CACtC;CAEA,oCAAoC;EAClC,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;CACf;CAEA,gCAAgC;EAC9B,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;CACf;CAEA,kCAAkC;EAChC,YAAY,yBAAyB;EACrC,aAAa;EAGb,YAAY,iBAAiB,SAAS;CACxC;CAIA,qCAAqC;EACnC,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EAGb,YAAY;EACZ,YAAY,UAAU,aAAa;CACrC;CAEA,iCAAiC;EAC/B,YAAY,yBAAyB;EACrC,aAAa;EAGb,YAAY,iBAAiB,SAAS;CACxC;CAEA,gCAAgC;EAC9B,YAAY,yBAAyB;EACrC,aAAa;EAEb,YAAY;CACd;CAEA,0BAA0B;EACxB,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;CACf;CAEA,6BAA6B;EAC3B,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EAGb,YAAY;EACZ,YAAY,UAAU,mBAAmB;CAC3C;CAEA,8BAA8B;EAC5B,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;CACf;CAEA,6BAA6B;EAC3B,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;CACf;CAEA,oBAAoB;EAClB,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EAGb,YAAY;EACZ,YAAY,UAAU,cAAc;CACtC;CAEA,yBAAyB;EACvB,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;CACf;CAEA,6BAA6B;EAC3B,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EAIb,YAAY;CACd;CAEA,gCAAgC;EAC9B,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EAGb,YAAY;EACZ,YAAY,UAAU,eAAe;CACvC;CAEA,kCAAkC;EAChC,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;CACf;CAEA,2BAA2B;EACzB,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EAGb,YAAY;EACZ,YAAY,UAAU,cAAc;CACtC;CAEA,0BAA0B;EACxB,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EACb,YAAY,UAAU,cAAc;CACtC;CAGA,yBAAyB;EACvB,YAAY,yBAAyB;EACrC,YAAYC;EACZ,aAAa;EACb,YAAY,UAAU,cAAc;CACtC;CAEA,kBAAkB;EAChB,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EACb,YAAY,UAAU,gBAAgB;CACxC;CAEA,cAAc;EACZ,YAAY,yBAAyB;EACrC,aAAa;EAEb,gBAAgB;CAClB;CAEA,4BAA4B;EAC1B,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;CACf;CAEA,0BAA0B;EACxB,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EACb,YAAY,UAAU,mBAAmB;CAC3C;CACA,6BAA6B;EAC3B,YAAY,yBAAyB;EACrC,aAAa;EACb,YAAY,UAAU,gBAAgB;CACxC;CAEA,yCAAyC;EACvC,YAAY,yBAAyB;EACrC,aAAa;EACb,YAAY,UAAU,SAAS;CACjC;CAEA,+CAA+C;EAC7C,YAAY,yBAAyB;EACrC,aAAa;EACb,YAAY,UAAU,SAAS;CACjC;CAEA,yBAAyB;EACvB,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EAEb,gBAAgB;EAGhB,YAAY;EACZ,YAAY,UAAU,eAAe;CACvC;CAEA,2BAA2B;EACzB,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EAGb,YAAY;EACZ,YAAY,UAAU,iBAAiB;CACzC;CAIA,wCAAwC;EACtC,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;CACf;CAEA,6BAA6B;EAC3B,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EAEb,gBAAgB;EAGhB,YAAY,iBAAiB,eAAe;CAC9C;CACA,iCAAiC;EAC/B,YAAY,yBAAyB;EACrC,aAAa;CACf;CAEA,8BAA8B;EAC5B,YAAY,yBAAyB;EACrC,SAAS;EACT,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,YAAY,UAAU,YAAY;CACpC;AACF"}
|
|
@@ -9,6 +9,7 @@ import { validateGitVersion } from "../../util/git/index.js";
|
|
|
9
9
|
import { setEmojiConfig } from "../../util/emoji.js";
|
|
10
10
|
import { initPlatform } from "../../modules/platform/index.js";
|
|
11
11
|
import { initMergeConfidence } from "../../util/merge-confidence/index.js";
|
|
12
|
+
import { Vulnerabilities } from "../repository/process/vulnerabilities.js";
|
|
12
13
|
import fs from "fs-extra";
|
|
13
14
|
import { isContainerbase, validateContainerbaseVersion } from "@renovatebot/base-image";
|
|
14
15
|
import upath from "upath";
|
|
@@ -103,6 +104,7 @@ async function globalInitialize(config_) {
|
|
|
103
104
|
return config;
|
|
104
105
|
}
|
|
105
106
|
async function globalFinalize(config) {
|
|
107
|
+
await Vulnerabilities.cleanup();
|
|
106
108
|
await cleanup(config);
|
|
107
109
|
resetGlobalLogLevelRemaps();
|
|
108
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.js","names":["packageCache.init","packageCache.cleanup"],"sources":["../../../lib/workers/global/initialize.ts"],"sourcesContent":["import os from 'node:os';\nimport {\n isContainerbase,\n validateContainerbaseVersion,\n} from '@renovatebot/base-image';\nimport fs from 'fs-extra';\nimport upath from 'upath';\nimport { applySecretsAndVariablesToConfig } from '../../config/secrets.ts';\nimport type { AllConfig, RenovateConfig } from '../../config/types.ts';\nimport { logger } from '../../logger/index.ts';\nimport { resetGlobalLogLevelRemaps } from '../../logger/remap.ts';\nimport { initPlatform } from '../../modules/platform/index.ts';\nimport * as packageCache from '../../util/cache/package/index.ts';\nimport { setEmojiConfig } from '../../util/emoji.ts';\nimport { validateGitVersion } from '../../util/git/index.ts';\nimport * as hostRules from '../../util/host-rules.ts';\nimport { setHttpRateLimits } from '../../util/http/rate-limits.ts';\nimport { initMergeConfidence } from '../../util/merge-confidence/index.ts';\nimport { setMaxLimit } from './limits.ts';\n\nasync function setDirectories(input: AllConfig): Promise<AllConfig> {\n const config: AllConfig = { ...input };\n process.env.TMPDIR = process.env.RENOVATE_TMPDIR ?? os.tmpdir();\n if (config.baseDir) {\n logger.debug(`Using configured baseDir: ${config.baseDir}`);\n } else {\n config.baseDir = upath.join(process.env.TMPDIR, 'renovate');\n logger.debug(`Using baseDir: ${config.baseDir}`);\n }\n await fs.ensureDir(config.baseDir);\n if (config.cacheDir) {\n logger.debug(`Using configured cacheDir: ${config.cacheDir}`);\n } else {\n config.cacheDir = upath.join(config.baseDir, 'cache');\n logger.debug(`Using cacheDir: ${config.cacheDir}`);\n }\n await fs.ensureDir(config.cacheDir);\n if (config.binarySource === 'docker' || config.binarySource === 'install') {\n if (config.containerbaseDir) {\n logger.debug(\n `Using configured containerbaseDir: ${config.containerbaseDir}`,\n );\n } else {\n config.containerbaseDir = upath.join(config.cacheDir, 'containerbase');\n logger.debug(`Using containerbaseDir: ${config.containerbaseDir}`);\n }\n await fs.ensureDir(config.containerbaseDir);\n }\n return config;\n}\n\nfunction limitCommitsPerRun(config: RenovateConfig): void {\n const limit = config.prCommitsPerRunLimit;\n setMaxLimit('Commits', typeof limit === 'number' && limit > 0 ? limit : null);\n}\n\n/**\n * Checks that the Containerbase image version is compatible with Renovate.\n *\n * Can be skipped using `RENOVATE_X_IGNORE_CONTAINERBASE_VERSION`, which is\n * read from the process environment only.\n */\nasync function checkContainerbaseVersion(): Promise<void> {\n if (!isContainerbase()) {\n return;\n }\n if (process.env.RENOVATE_X_IGNORE_CONTAINERBASE_VERSION) {\n logger.info(\n 'Containerbase version check is skipped via RENOVATE_X_IGNORE_CONTAINERBASE_VERSION',\n );\n return;\n }\n try {\n const version = await validateContainerbaseVersion();\n logger.debug({ version }, 'Containerbase image version is compatible');\n } catch (err) {\n throw new Error(\n `Init: containerbase image version check failed: ${err.message}. Upgrade your version of Containerbase, or set \\`RENOVATE_X_IGNORE_CONTAINERBASE_VERSION\\` to skip the check.`,\n );\n }\n}\n\n/**\n * Checks the versions of the tools and the image Renovate depends on.\n */\nasync function checkVersions(): Promise<void> {\n const validGitVersion = await validateGitVersion();\n if (!validGitVersion) {\n throw new Error('Init: git version needs upgrading');\n }\n await checkContainerbaseVersion();\n}\n\nfunction setGlobalHostRules(config: AllConfig): void {\n if (config.hostRules) {\n logger.debug('Setting global hostRules');\n applySecretsAndVariablesToConfig({\n config,\n deleteVariables: false,\n deleteSecrets: false,\n });\n for (const rule of config.hostRules) {\n // the self-hosted admin's own rules: `trusted`, so that their `headers` are applied over any a repository or preset sets for the same host, and exempt from `allowedHeaders` altogether - `allowedHeaders` constrains what a repository or preset may set, not the administrator, mirroring how `allowedEnv` does not constrain the administrator's own `env`\n hostRules.add(rule, { trusted: true });\n }\n }\n}\n\nfunction configureThirdPartyLibraries(config: AllConfig): void {\n // Not using early return style to make clear what's the criterion to set the variables,\n // especially when there is more stuff added here in the future.\n if (!config.useCloudMetadataServices) {\n logger.debug('Disabling the use of cloud metadata services');\n process.env.AWS_EC2_METADATA_DISABLED = 'true'; // See https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html#envvars-list\n process.env.METADATA_SERVER_DETECTION = 'none'; // See https://cloud.google.com/nodejs/docs/reference/gcp-metadata/latest#environment-variables\n }\n}\n\nexport async function globalInitialize(\n config_: AllConfig,\n): Promise<RenovateConfig> {\n let config = config_;\n setHttpRateLimits();\n await checkVersions();\n setGlobalHostRules(config);\n config = await initPlatform(config);\n config = await setDirectories(config);\n await packageCache.init(config);\n limitCommitsPerRun(config);\n setEmojiConfig(config);\n // registered a second time in case initialization changed them\n setGlobalHostRules(config);\n configureThirdPartyLibraries(config);\n await initMergeConfidence(config);\n return config;\n}\n\nexport async function globalFinalize(config: RenovateConfig): Promise<void> {\n await packageCache.cleanup(config);\n resetGlobalLogLevelRemaps();\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"initialize.js","names":["packageCache.init","packageCache.cleanup"],"sources":["../../../lib/workers/global/initialize.ts"],"sourcesContent":["import os from 'node:os';\nimport {\n isContainerbase,\n validateContainerbaseVersion,\n} from '@renovatebot/base-image';\nimport fs from 'fs-extra';\nimport upath from 'upath';\nimport { applySecretsAndVariablesToConfig } from '../../config/secrets.ts';\nimport type { AllConfig, RenovateConfig } from '../../config/types.ts';\nimport { logger } from '../../logger/index.ts';\nimport { resetGlobalLogLevelRemaps } from '../../logger/remap.ts';\nimport { initPlatform } from '../../modules/platform/index.ts';\nimport * as packageCache from '../../util/cache/package/index.ts';\nimport { setEmojiConfig } from '../../util/emoji.ts';\nimport { validateGitVersion } from '../../util/git/index.ts';\nimport * as hostRules from '../../util/host-rules.ts';\nimport { setHttpRateLimits } from '../../util/http/rate-limits.ts';\nimport { initMergeConfidence } from '../../util/merge-confidence/index.ts';\nimport { Vulnerabilities } from '../repository/process/vulnerabilities.ts';\nimport { setMaxLimit } from './limits.ts';\n\nasync function setDirectories(input: AllConfig): Promise<AllConfig> {\n const config: AllConfig = { ...input };\n process.env.TMPDIR = process.env.RENOVATE_TMPDIR ?? os.tmpdir();\n if (config.baseDir) {\n logger.debug(`Using configured baseDir: ${config.baseDir}`);\n } else {\n config.baseDir = upath.join(process.env.TMPDIR, 'renovate');\n logger.debug(`Using baseDir: ${config.baseDir}`);\n }\n await fs.ensureDir(config.baseDir);\n if (config.cacheDir) {\n logger.debug(`Using configured cacheDir: ${config.cacheDir}`);\n } else {\n config.cacheDir = upath.join(config.baseDir, 'cache');\n logger.debug(`Using cacheDir: ${config.cacheDir}`);\n }\n await fs.ensureDir(config.cacheDir);\n if (config.binarySource === 'docker' || config.binarySource === 'install') {\n if (config.containerbaseDir) {\n logger.debug(\n `Using configured containerbaseDir: ${config.containerbaseDir}`,\n );\n } else {\n config.containerbaseDir = upath.join(config.cacheDir, 'containerbase');\n logger.debug(`Using containerbaseDir: ${config.containerbaseDir}`);\n }\n await fs.ensureDir(config.containerbaseDir);\n }\n return config;\n}\n\nfunction limitCommitsPerRun(config: RenovateConfig): void {\n const limit = config.prCommitsPerRunLimit;\n setMaxLimit('Commits', typeof limit === 'number' && limit > 0 ? limit : null);\n}\n\n/**\n * Checks that the Containerbase image version is compatible with Renovate.\n *\n * Can be skipped using `RENOVATE_X_IGNORE_CONTAINERBASE_VERSION`, which is\n * read from the process environment only.\n */\nasync function checkContainerbaseVersion(): Promise<void> {\n if (!isContainerbase()) {\n return;\n }\n if (process.env.RENOVATE_X_IGNORE_CONTAINERBASE_VERSION) {\n logger.info(\n 'Containerbase version check is skipped via RENOVATE_X_IGNORE_CONTAINERBASE_VERSION',\n );\n return;\n }\n try {\n const version = await validateContainerbaseVersion();\n logger.debug({ version }, 'Containerbase image version is compatible');\n } catch (err) {\n throw new Error(\n `Init: containerbase image version check failed: ${err.message}. Upgrade your version of Containerbase, or set \\`RENOVATE_X_IGNORE_CONTAINERBASE_VERSION\\` to skip the check.`,\n );\n }\n}\n\n/**\n * Checks the versions of the tools and the image Renovate depends on.\n */\nasync function checkVersions(): Promise<void> {\n const validGitVersion = await validateGitVersion();\n if (!validGitVersion) {\n throw new Error('Init: git version needs upgrading');\n }\n await checkContainerbaseVersion();\n}\n\nfunction setGlobalHostRules(config: AllConfig): void {\n if (config.hostRules) {\n logger.debug('Setting global hostRules');\n applySecretsAndVariablesToConfig({\n config,\n deleteVariables: false,\n deleteSecrets: false,\n });\n for (const rule of config.hostRules) {\n // the self-hosted admin's own rules: `trusted`, so that their `headers` are applied over any a repository or preset sets for the same host, and exempt from `allowedHeaders` altogether - `allowedHeaders` constrains what a repository or preset may set, not the administrator, mirroring how `allowedEnv` does not constrain the administrator's own `env`\n hostRules.add(rule, { trusted: true });\n }\n }\n}\n\nfunction configureThirdPartyLibraries(config: AllConfig): void {\n // Not using early return style to make clear what's the criterion to set the variables,\n // especially when there is more stuff added here in the future.\n if (!config.useCloudMetadataServices) {\n logger.debug('Disabling the use of cloud metadata services');\n process.env.AWS_EC2_METADATA_DISABLED = 'true'; // See https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html#envvars-list\n process.env.METADATA_SERVER_DETECTION = 'none'; // See https://cloud.google.com/nodejs/docs/reference/gcp-metadata/latest#environment-variables\n }\n}\n\nexport async function globalInitialize(\n config_: AllConfig,\n): Promise<RenovateConfig> {\n let config = config_;\n setHttpRateLimits();\n await checkVersions();\n setGlobalHostRules(config);\n config = await initPlatform(config);\n config = await setDirectories(config);\n await packageCache.init(config);\n limitCommitsPerRun(config);\n setEmojiConfig(config);\n // registered a second time in case initialization changed them\n setGlobalHostRules(config);\n configureThirdPartyLibraries(config);\n await initMergeConfidence(config);\n return config;\n}\n\nexport async function globalFinalize(config: RenovateConfig): Promise<void> {\n await Vulnerabilities.cleanup();\n await packageCache.cleanup(config);\n resetGlobalLogLevelRemaps();\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAqBA,eAAe,eAAe,OAAsC;CAClE,MAAM,SAAoB,EAAE,GAAG,MAAM;CACrC,QAAQ,IAAI,SAAS,QAAQ,IAAI,mBAAmB,GAAG,OAAO;CAC9D,IAAI,OAAO,SACT,OAAO,MAAM,6BAA6B,OAAO,SAAS;MACrD;EACL,OAAO,UAAU,MAAM,KAAK,QAAQ,IAAI,QAAQ,UAAU;EAC1D,OAAO,MAAM,kBAAkB,OAAO,SAAS;CACjD;CACA,MAAM,GAAG,UAAU,OAAO,OAAO;CACjC,IAAI,OAAO,UACT,OAAO,MAAM,8BAA8B,OAAO,UAAU;MACvD;EACL,OAAO,WAAW,MAAM,KAAK,OAAO,SAAS,OAAO;EACpD,OAAO,MAAM,mBAAmB,OAAO,UAAU;CACnD;CACA,MAAM,GAAG,UAAU,OAAO,QAAQ;CAClC,IAAI,OAAO,iBAAiB,YAAY,OAAO,iBAAiB,WAAW;EACzE,IAAI,OAAO,kBACT,OAAO,MACL,sCAAsC,OAAO,kBAC/C;OACK;GACL,OAAO,mBAAmB,MAAM,KAAK,OAAO,UAAU,eAAe;GACrE,OAAO,MAAM,2BAA2B,OAAO,kBAAkB;EACnE;EACA,MAAM,GAAG,UAAU,OAAO,gBAAgB;CAC5C;CACA,OAAO;AACT;AAEA,SAAS,mBAAmB,QAA8B;CACxD,MAAM,QAAQ,OAAO;CACrB,YAAY,WAAW,OAAO,UAAU,YAAY,QAAQ,IAAI,QAAQ,IAAI;AAC9E;;;;;;;AAQA,eAAe,4BAA2C;CACxD,IAAI,CAAC,gBAAgB,GACnB;CAEF,IAAI,QAAQ,IAAI,yCAAyC;EACvD,OAAO,KACL,oFACF;EACA;CACF;CACA,IAAI;EACF,MAAM,UAAU,MAAM,6BAA6B;EACnD,OAAO,MAAM,EAAE,QAAQ,GAAG,2CAA2C;CACvE,SAAS,KAAK;EACZ,MAAM,IAAI,MACR,mDAAmD,IAAI,QAAQ,+GACjE;CACF;AACF;;;;AAKA,eAAe,gBAA+B;CAE5C,IAAI,CAAC,MADyB,mBAAmB,GAE/C,MAAM,IAAI,MAAM,mCAAmC;CAErD,MAAM,0BAA0B;AAClC;AAEA,SAAS,mBAAmB,QAAyB;CACnD,IAAI,OAAO,WAAW;EACpB,OAAO,MAAM,0BAA0B;EACvC,iCAAiC;GAC/B;GACA,iBAAiB;GACjB,eAAe;EACjB,CAAC;EACD,KAAK,MAAM,QAAQ,OAAO,WAExB,IAAc,MAAM,EAAE,SAAS,KAAK,CAAC;CAEzC;AACF;AAEA,SAAS,6BAA6B,QAAyB;CAG7D,IAAI,CAAC,OAAO,0BAA0B;EACpC,OAAO,MAAM,8CAA8C;EAC3D,QAAQ,IAAI,4BAA4B;EACxC,QAAQ,IAAI,4BAA4B;CAC1C;AACF;AAEA,eAAsB,iBACpB,SACyB;CACzB,IAAI,SAAS;CACb,kBAAkB;CAClB,MAAM,cAAc;CACpB,mBAAmB,MAAM;CACzB,SAAS,MAAM,aAAa,MAAM;CAClC,SAAS,MAAM,eAAe,MAAM;CACpC,MAAMA,KAAkB,MAAM;CAC9B,mBAAmB,MAAM;CACzB,eAAe,MAAM;CAErB,mBAAmB,MAAM;CACzB,6BAA6B,MAAM;CACnC,MAAM,oBAAoB,MAAM;CAChC,OAAO;AACT;AAEA,eAAsB,eAAe,QAAuC;CAC1E,MAAM,gBAAgB,QAAQ;CAC9B,MAAMC,QAAqB,MAAM;CACjC,0BAA0B;AAC5B"}
|
|
@@ -32,6 +32,14 @@ var Vulnerabilities = class Vulnerabilities {
|
|
|
32
32
|
const osvOffline = await Vulnerabilities.initialize();
|
|
33
33
|
return new Vulnerabilities(osvOffline);
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Closes the shared OSV databases, if they were opened.
|
|
37
|
+
*/
|
|
38
|
+
static async cleanup() {
|
|
39
|
+
const osvOffline = await Vulnerabilities.osvOffline?.catch(() => void 0);
|
|
40
|
+
Vulnerabilities.osvOffline = void 0;
|
|
41
|
+
osvOffline?.[Symbol.dispose]();
|
|
42
|
+
}
|
|
35
43
|
async appendVulnerabilityPackageRules(config, packageFiles) {
|
|
36
44
|
const dependencyVulnerabilities = await this.fetchDependencyVulnerabilities(config, packageFiles);
|
|
37
45
|
config.packageRules ??= [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vulnerabilities.js","names":["p.all","getVersioning"],"sources":["../../../../lib/workers/repository/process/vulnerabilities.ts"],"sourcesContent":["// TODO #22198\nimport type { Ecosystem, Osv } from '@renovatebot/osv-offline';\nimport { OsvOffline } from '@renovatebot/osv-offline';\nimport {\n isEmptyArray,\n isNonEmptyString,\n isNullOrUndefined,\n isTruthy,\n} from '@sindresorhus/is';\nimport type { CvssVector } from 'ae-cvss-calculator';\nimport aeCvss from 'ae-cvss-calculator';\nimport { z } from 'zod/v4';\nimport { getManagerConfig, mergeChildConfig } from '../../../config/index.ts';\nimport type { PackageRule, RenovateConfig } from '../../../config/types.ts';\nimport { instrument } from '../../../instrumentation/index.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { getDefaultVersioning } from '../../../modules/datasource/common.ts';\nimport type {\n PackageDependency,\n PackageFile,\n} from '../../../modules/manager/types.ts';\nimport type { VersioningApi } from '../../../modules/versioning/index.ts';\nimport { get as getVersioning } from '../../../modules/versioning/index.ts';\nimport { coerceArray } from '../../../util/array.ts';\nimport { sanitizeMarkdown } from '../../../util/markdown.ts';\nimport * as p from '../../../util/promises.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { titleCase } from '../../../util/string.ts';\nimport { datasourceToOsvEcosystem } from '../../../util/vulnerability/ecosystem.ts';\nimport {\n getFixedVersionConstraint,\n getLastAffectedVersionConstraint,\n} from '../../../util/vulnerability/utils.ts';\nimport type {\n DependencyVulnerabilities,\n SeverityDetails,\n Vulnerability,\n} from './types.ts';\n\nconst { fromVector } = aeCvss;\n\nexport class Vulnerabilities {\n private static osvOffline: Promise<OsvOffline> | undefined;\n\n private osvOffline: OsvOffline;\n\n private static readonly datasourceEcosystemMap = datasourceToOsvEcosystem;\n\n private constructor(osvOffline: OsvOffline) {\n this.osvOffline = osvOffline;\n }\n\n private static initialize(): Promise<OsvOffline> {\n // no async here, so osv promise will only be created once\n Vulnerabilities.osvOffline ??= OsvOffline.create();\n return Vulnerabilities.osvOffline;\n }\n\n static async create(): Promise<Vulnerabilities> {\n // intialize osv only once\n const osvOffline = await Vulnerabilities.initialize();\n\n const instance = new Vulnerabilities(osvOffline);\n return instance;\n }\n\n async appendVulnerabilityPackageRules(\n config: RenovateConfig,\n packageFiles: Record<string, PackageFile[]>,\n ): Promise<void> {\n const dependencyVulnerabilities = await this.fetchDependencyVulnerabilities(\n config,\n packageFiles,\n );\n\n config.packageRules ??= [];\n for (const {\n vulnerabilities,\n versioningApi,\n } of dependencyVulnerabilities) {\n const groupPackageRules: PackageRule[] = [];\n for (const vulnerability of vulnerabilities) {\n const rule = this.vulnerabilityToPackageRules(vulnerability);\n if (isNullOrUndefined(rule)) {\n continue;\n }\n groupPackageRules.push(rule);\n }\n this.sortByFixedVersion(groupPackageRules, versioningApi);\n\n config.packageRules.push(...groupPackageRules);\n }\n }\n\n async fetchVulnerabilities(\n config: RenovateConfig,\n packageFiles: Record<string, PackageFile[]>,\n ): Promise<Vulnerability[]> {\n const groups = await this.fetchDependencyVulnerabilities(\n config,\n packageFiles,\n );\n return groups.flatMap((group) => group.vulnerabilities);\n }\n\n private async fetchDependencyVulnerabilities(\n config: RenovateConfig,\n packageFiles: Record<string, PackageFile[]>,\n ): Promise<DependencyVulnerabilities[]> {\n const managers = Object.keys(packageFiles);\n const allManagerJobs = managers.map((manager) =>\n this.fetchManagerVulnerabilities(config, packageFiles, manager),\n );\n return (await Promise.all(allManagerJobs)).flat();\n }\n\n private async fetchManagerVulnerabilities(\n config: RenovateConfig,\n packageFiles: Record<string, PackageFile[]>,\n manager: string,\n ): Promise<DependencyVulnerabilities[]> {\n const managerConfig = getManagerConfig(config, manager);\n const queue = packageFiles[manager].map(\n (pFile) => (): Promise<DependencyVulnerabilities[]> =>\n this.fetchManagerPackageFileVulnerabilities(managerConfig, pFile),\n );\n logger.trace(\n { manager, queueLength: queue.length },\n 'fetchManagerVulnerabilities starting',\n );\n const result = (await p.all(queue)).flat();\n logger.trace({ manager }, 'fetchManagerVulnerabilities finished');\n return result;\n }\n\n private async fetchManagerPackageFileVulnerabilities(\n managerConfig: RenovateConfig,\n pFile: PackageFile,\n ): Promise<DependencyVulnerabilities[]> {\n const { packageFile } = pFile;\n const packageFileConfig = mergeChildConfig(managerConfig, pFile);\n const { manager } = packageFileConfig;\n const queue = pFile.deps.map(\n (dep) => (): Promise<DependencyVulnerabilities | null> =>\n this.fetchDependencyVulnerability(packageFileConfig, dep),\n );\n logger.trace(\n { manager, packageFile, queueLength: queue.length },\n 'fetchManagerPackageFileVulnerabilities starting with concurrency',\n );\n\n const result = await p.all(queue);\n logger.trace(\n { packageFile },\n 'fetchManagerPackageFileVulnerabilities finished',\n );\n\n return result.filter(isTruthy);\n }\n\n private async fetchDependencyVulnerability(\n packageFileConfig: RenovateConfig & PackageFile,\n dep: PackageDependency,\n ): Promise<DependencyVulnerabilities | null> {\n const ecosystem = Vulnerabilities.datasourceEcosystemMap[dep.datasource!];\n if (!ecosystem) {\n logger.trace(`Cannot map datasource ${dep.datasource!} to OSV ecosystem`);\n return null;\n }\n\n const packageName = dep.packageName!;\n let osvPackageName = packageName;\n let depType: string | undefined;\n if (ecosystem === 'PyPI') {\n // https://peps.python.org/pep-0503/#normalized-names\n osvPackageName = osvPackageName\n .toLowerCase()\n .replace(regEx(/[_.-]+/g), '-');\n } else if (ecosystem === 'Go' && packageName === 'go') {\n if (dep.depType !== 'toolchain') {\n // The `go` directive is source compatibility, not the build toolchain, so we skip it\n return null;\n }\n osvPackageName = 'stdlib';\n depType = dep.depType;\n }\n\n try {\n const osvVulnerabilities = await instrument(\n 'get OSV vulnerabilities',\n () => this.osvOffline.getVulnerabilities(ecosystem, osvPackageName),\n {\n attributes: {\n osvPackageName,\n ecosystem,\n },\n },\n );\n if (\n isNullOrUndefined(osvVulnerabilities) ||\n isEmptyArray(osvVulnerabilities)\n ) {\n logger.trace(\n `No vulnerabilities found in OSV database for ${packageName}`,\n );\n return null;\n }\n\n const depVersion =\n dep.lockedVersion ?? dep.currentVersion ?? dep.currentValue!;\n\n const versioning = dep.versioning ?? getDefaultVersioning(dep.datasource);\n const versioningApi = getVersioning(versioning);\n\n if (!versioningApi.isVersion(depVersion)) {\n logger.debug(\n `Skipping vulnerability lookup for package ${packageName} due to unsupported version ${depVersion}`,\n );\n return null;\n }\n\n const vulnerabilities: Vulnerability[] = [];\n for (const osvVulnerability of osvVulnerabilities) {\n if (osvVulnerability.withdrawn) {\n logger.trace(\n `Skipping withdrawn vulnerability ${osvVulnerability.id}`,\n );\n continue;\n }\n\n this.skipMaliciousPackages(\n ecosystem,\n osvPackageName,\n depVersion,\n versioningApi,\n dep,\n packageFileConfig.manager,\n packageFileConfig.packageFile,\n osvVulnerability,\n );\n\n for (const affected of coerceArray(osvVulnerability.affected)) {\n const isVulnerable = this.isPackageVulnerable(\n ecosystem,\n osvPackageName,\n depVersion,\n affected,\n versioningApi,\n );\n if (!isVulnerable) {\n continue;\n }\n\n logger.debug(\n `Vulnerability ${osvVulnerability.id} affects ${packageName} ${depVersion}`,\n );\n const fixedVersion = this.getFixedVersion(\n ecosystem,\n depVersion,\n affected,\n versioningApi,\n );\n\n vulnerabilities.push({\n packageName,\n osvPackageName,\n vulnerability: osvVulnerability,\n affected,\n depType,\n depVersion,\n versioning: dep.versioning,\n fixedVersion,\n datasource: dep.datasource!,\n packageFileConfig,\n });\n }\n }\n\n return { vulnerabilities, versioningApi };\n } catch (err) {\n logger.warn(\n { err, packageName },\n 'Error fetching vulnerability information for package',\n );\n return null;\n }\n }\n\n private skipMaliciousPackages(\n ecosystem: Ecosystem,\n osvPackageName: string,\n depVersion: string,\n versioningApi: VersioningApi,\n dep: PackageDependency,\n manager: string | undefined,\n packageFile: string,\n osvVulnerability: Osv.Vulnerability,\n ): void {\n // the OpenSSF's Malicious Packages (https://github.com/ossf/malicious-packages) is a source of advisories through osv.dev, which takes various sources of advisories, and will re-publish them with more specific information about their malicious usage\n if (osvVulnerability.id.startsWith('MAL-')) {\n // is the current dependency vulnerable?\n for (const affected of coerceArray(osvVulnerability.affected)) {\n // is the current dependency vulnerable?\n const isVulnerable = this.isPackageVulnerable(\n ecosystem,\n osvPackageName,\n depVersion,\n affected,\n versioningApi,\n );\n\n if (isVulnerable) {\n logger.debug(\n {\n packageFile: packageFile,\n depName: dep.depName,\n packageName: dep.packageName,\n manager: manager,\n datasource: dep.datasource,\n currentVersion: depVersion,\n },\n `Marking ${dep.depName} as skipReason=malicious-version-in-use, as it is affected by ${osvVulnerability.id}`,\n );\n dep.skipReason = 'malicious-version-in-use';\n dep.skipStage = 'lookup';\n }\n\n // or are any of the updates vulnerable?\n for (const update of coerceArray(dep.updates)) {\n const newVersion = update.newVersion ?? update.newValue!;\n\n const isUpdateVulnerable = this.isPackageVulnerable(\n ecosystem,\n osvPackageName,\n newVersion,\n affected,\n versioningApi,\n );\n\n if (isUpdateVulnerable) {\n logger.debug(\n {\n packageFile: packageFile,\n depName: dep.depName,\n packageName: dep.packageName,\n manager: manager,\n datasource: dep.datasource,\n currentVersion: depVersion,\n newVersion,\n },\n `Marking ${dep.depName}'s update to ${newVersion} as skipReason=malicious-update-proposed, as it is affected by ${osvVulnerability.id}`,\n );\n dep.skipReason = 'malicious-update-proposed';\n dep.skipStage = 'lookup';\n }\n }\n }\n }\n }\n\n private sortByFixedVersion(\n packageRules: PackageRule[],\n versioningApi: VersioningApi,\n ): void {\n const versionsCleaned: Record<string, string> = {};\n for (const rule of packageRules) {\n const version = rule.allowedVersions!;\n versionsCleaned[version] = version.replace(regEx(/[(),=> ]+/g), '');\n }\n packageRules.sort((a, b) =>\n versioningApi.sortVersions(\n versionsCleaned[a.allowedVersions!],\n versionsCleaned[b.allowedVersions!],\n ),\n );\n }\n\n // https://ossf.github.io/osv-schema/#affectedrangesevents-fields\n private sortEvents(\n events: Osv.Event[],\n versioningApi: VersioningApi,\n ): Osv.Event[] {\n const sortedCopy: Osv.Event[] = [];\n let zeroEvent: Osv.Event | null = null;\n\n for (const event of events) {\n if (event.introduced === '0') {\n zeroEvent = event;\n } else if (versioningApi.isVersion(Object.values(event)[0])) {\n sortedCopy.push(event);\n } else {\n logger.debug({ event }, 'Skipping OSV event with invalid version');\n }\n }\n\n sortedCopy.sort((a, b) =>\n // no pre-processing, as there are only very few values to sort\n versioningApi.sortVersions(Object.values(a)[0], Object.values(b)[0]),\n );\n\n if (zeroEvent) {\n sortedCopy.unshift(zeroEvent);\n }\n\n return sortedCopy;\n }\n\n private isPackageAffected(\n ecosystem: Ecosystem,\n osvPackageName: string,\n affected: Osv.Affected,\n ): boolean {\n const pkg = affected.package;\n if (pkg?.name !== osvPackageName) {\n return false;\n }\n\n // Match exact ecosystems and OSV sub-ecosystems (e.g. Packagist:https://packages.drupal.org/8).\n return (\n pkg.ecosystem === ecosystem || pkg.ecosystem.startsWith(`${ecosystem}:`)\n );\n }\n\n private includedInVersions(\n depVersion: string,\n affected: Osv.Affected,\n ): boolean {\n return !!affected.versions?.includes(depVersion);\n }\n\n private includedInRanges(\n depVersion: string,\n affected: Osv.Affected,\n versioningApi: VersioningApi,\n ): boolean {\n for (const range of coerceArray(affected.ranges)) {\n if (range.type === 'GIT') {\n continue;\n }\n\n let vulnerable = false;\n for (const event of this.sortEvents(range.events, versioningApi)) {\n if (\n isNonEmptyString(event.introduced) &&\n (event.introduced === '0' ||\n this.isVersionGtOrEq(depVersion, event.introduced, versioningApi))\n ) {\n vulnerable = true;\n } else if (\n isNonEmptyString(event.fixed) &&\n this.isVersionGtOrEq(depVersion, event.fixed, versioningApi)\n ) {\n vulnerable = false;\n } else if (\n isNonEmptyString(event.last_affected) &&\n this.isVersionGt(depVersion, event.last_affected, versioningApi)\n ) {\n vulnerable = false;\n }\n }\n\n if (vulnerable) {\n return true;\n }\n }\n\n return false;\n }\n\n // https://ossf.github.io/osv-schema/#evaluation\n private isPackageVulnerable(\n ecosystem: Ecosystem,\n osvPackageName: string,\n depVersion: string,\n affected: Osv.Affected,\n versioningApi: VersioningApi,\n ): boolean {\n return (\n this.isPackageAffected(ecosystem, osvPackageName, affected) &&\n (this.includedInVersions(depVersion, affected) ||\n this.includedInRanges(depVersion, affected, versioningApi))\n );\n }\n\n private getFixedVersion(\n ecosystem: Ecosystem,\n depVersion: string,\n affected: Osv.Affected,\n versioningApi: VersioningApi,\n ): string | null {\n const fixedVersions: string[] = [];\n const lastAffectedVersions: string[] = [];\n\n for (const range of coerceArray(affected.ranges)) {\n if (range.type === 'GIT') {\n continue;\n }\n\n for (const event of range.events) {\n if (\n isNonEmptyString(event.fixed) &&\n versioningApi.isVersion(event.fixed)\n ) {\n fixedVersions.push(event.fixed);\n } else if (\n isNonEmptyString(event.last_affected) &&\n versioningApi.isVersion(event.last_affected)\n ) {\n lastAffectedVersions.push(event.last_affected);\n }\n }\n }\n\n fixedVersions.sort((a, b) => versioningApi.sortVersions(a, b));\n const fixedVersion = fixedVersions.find((version) =>\n this.isVersionGt(version, depVersion, versioningApi),\n );\n if (fixedVersion) {\n return this.getFixedVersionByEcosystem(fixedVersion, ecosystem);\n }\n\n lastAffectedVersions.sort((a, b) => versioningApi.sortVersions(a, b));\n const lastAffected = lastAffectedVersions.find((version) =>\n this.isVersionGtOrEq(version, depVersion, versioningApi),\n );\n if (lastAffected) {\n return this.getLastAffectedByEcosystem(lastAffected, ecosystem);\n }\n\n return null;\n }\n\n private getFixedVersionByEcosystem(\n fixedVersion: string,\n ecosystem: Ecosystem,\n ): string {\n return getFixedVersionConstraint(fixedVersion, ecosystem);\n }\n\n private getLastAffectedByEcosystem(\n lastAffected: string,\n ecosystem: Ecosystem,\n ): string {\n return getLastAffectedVersionConstraint(lastAffected, ecosystem);\n }\n\n private isVersionGt(\n version: string,\n other: string,\n versioningApi: VersioningApi,\n ): boolean {\n return (\n versioningApi.isVersion(version) &&\n versioningApi.isVersion(other) &&\n versioningApi.isGreaterThan(version, other)\n );\n }\n\n private isVersionGtOrEq(\n version: string,\n other: string,\n versioningApi: VersioningApi,\n ): boolean {\n return (\n versioningApi.isVersion(version) &&\n versioningApi.isVersion(other) &&\n (versioningApi.equals(version, other) ||\n versioningApi.isGreaterThan(version, other))\n );\n }\n\n private vulnerabilityToPackageRules(vul: Vulnerability): PackageRule | null {\n const {\n vulnerability,\n affected,\n packageName,\n depType,\n depVersion,\n fixedVersion,\n datasource,\n versioning: depVersioning,\n packageFileConfig,\n } = vul;\n if (isNullOrUndefined(fixedVersion)) {\n logger.debug(\n `No fixed version available for vulnerability ${vulnerability.id} in ${packageName} ${depVersion}`,\n );\n return null;\n }\n\n // Prefer the `versioning` already assigned to the dependency by its manager\n const versioning = depVersioning ?? getDefaultVersioning(datasource);\n\n logger.debug(\n {\n datasource,\n versioning,\n },\n\n `Setting allowed version ${fixedVersion} to fix vulnerability ${vulnerability.id} in ${packageName} ${depVersion}`,\n );\n\n const severityDetails = this.extractSeverityDetails(\n vulnerability,\n affected,\n );\n\n return {\n matchDatasources: [datasource],\n matchPackageNames: [packageName],\n ...(depType ? { matchDepTypes: [depType] } : {}),\n matchCurrentVersion: depVersion,\n versioning,\n allowedVersions: fixedVersion,\n isVulnerabilityAlert: true,\n vulnerabilitySeverity: severityDetails.severityLevel,\n prBodyNotes: this.generatePrBodyNotes(vulnerability, affected),\n force: {\n ...packageFileConfig.vulnerabilityAlerts,\n },\n };\n }\n\n static evaluateCvssVector(vector: string): [string, string] {\n const CvssJson = z.object({\n baseScore: z.number().default(0.0),\n baseSeverity: z.string().toUpperCase().default('UNKNOWN'),\n });\n\n try {\n const parsedCvssScore: CvssVector<any> | null = fromVector(vector);\n const res = CvssJson.parse(parsedCvssScore?.createJsonSchema());\n\n return [res.baseScore.toFixed(1), res.baseSeverity];\n } catch {\n logger.debug(`Error processing CVSS vector ${vector}`);\n }\n\n return ['', ''];\n }\n\n private generatePrBodyNotes(\n vulnerability: Osv.Vulnerability,\n affected: Osv.Affected,\n ): string[] {\n let aliases = [vulnerability.id]\n .concat(coerceArray(vulnerability.aliases))\n .sort();\n aliases = aliases.map((id) => {\n if (id.startsWith('CVE-')) {\n return `[${id}](https://nvd.nist.gov/vuln/detail/${id})`;\n }\n if (id.startsWith('GHSA-')) {\n return `[${id}](https://github.com/advisories/${id})`;\n }\n if (id.startsWith('GO-')) {\n return `[${id}](https://pkg.go.dev/vuln/${id})`;\n }\n if (id.startsWith('RUSTSEC-')) {\n return `[${id}](https://rustsec.org/advisories/${id}.html)`;\n }\n\n return id;\n });\n\n let content = '\\n\\n---\\n\\n### ';\n content += vulnerability.summary ? `${vulnerability.summary}\\n` : '';\n content += `${aliases.join(' / ')}\\n`;\n content += `\\n<details>\\n<summary>More information</summary>\\n`;\n\n const details = vulnerability.details?.replace(\n regEx(/^#{1,4} /gm),\n '##### ',\n );\n content += `#### Details\\n${details ?? 'No details.'}\\n`;\n\n content += '#### Severity\\n';\n const severityDetails = this.extractSeverityDetails(\n vulnerability,\n affected,\n );\n\n if (severityDetails.cvssVector) {\n content += `- CVSS Score: ${severityDetails.score}\\n`;\n content += `- Vector String: \\`${severityDetails.cvssVector}\\`\\n`;\n } else {\n content += `${titleCase(severityDetails.severityLevel)}\\n`;\n }\n\n content += `\\n#### References\\n${\n vulnerability.references\n ?.map((ref) => {\n return `- [${ref.url}](${ref.url})`;\n })\n .join('\\n') ?? 'No references.'\n }`;\n\n let attribution = '';\n if (vulnerability.id.startsWith('GHSA-')) {\n attribution = ` and the [GitHub Advisory Database](https://github.com/github/advisory-database) ([CC-BY 4.0](https://github.com/github/advisory-database/blob/main/LICENSE.md))`;\n } else if (vulnerability.id.startsWith('GO-')) {\n attribution = ` and the [Go Vulnerability Database](https://github.com/golang/vulndb) ([CC-BY 4.0](https://github.com/golang/vulndb#license))`;\n } else if (vulnerability.id.startsWith('PYSEC-')) {\n attribution = ` and the [PyPI Advisory Database](https://github.com/pypa/advisory-database) ([CC-BY 4.0](https://github.com/pypa/advisory-database/blob/main/LICENSE))`;\n } else if (vulnerability.id.startsWith('RUSTSEC-')) {\n attribution = ` and the [Rust Advisory Database](https://github.com/RustSec/advisory-db) ([CC0 1.0](https://github.com/rustsec/advisory-db/blob/main/LICENSE.txt))`;\n }\n content += `\\n\\nThis data is provided by [OSV](https://osv.dev/vulnerability/${vulnerability.id})${attribution}.\\n`;\n content += `</details>`;\n\n return [sanitizeMarkdown(content)];\n }\n\n private extractSeverityDetails(\n vulnerability: Osv.Vulnerability,\n affected: Osv.Affected,\n ): SeverityDetails {\n let severityLevel = 'UNKNOWN';\n let score = 'Unknown';\n\n const cvssVector =\n vulnerability.severity?.find((e) => e.type === 'CVSS_V4')?.score ??\n vulnerability.severity?.find((e) => e.type === 'CVSS_V3')?.score ??\n (affected.database_specific?.cvss as string); // RUSTSEC\n\n if (cvssVector) {\n const [baseScore, severity] =\n Vulnerabilities.evaluateCvssVector(cvssVector);\n severityLevel = severity ? severity.toUpperCase() : 'UNKNOWN';\n score = baseScore\n ? `${baseScore} / 10 (${titleCase(severityLevel)})`\n : 'Unknown';\n } else if (\n vulnerability.id.startsWith('GHSA-') &&\n vulnerability.database_specific?.severity\n ) {\n const severity = vulnerability.database_specific.severity as string;\n severityLevel = severity.toUpperCase();\n }\n\n return {\n cvssVector,\n score,\n severityLevel,\n };\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vulnerabilities.js","names":["p.all","getVersioning"],"sources":["../../../../lib/workers/repository/process/vulnerabilities.ts"],"sourcesContent":["// TODO #22198\nimport type { Ecosystem, Osv } from '@renovatebot/osv-offline';\nimport { OsvOffline } from '@renovatebot/osv-offline';\nimport {\n isEmptyArray,\n isNonEmptyString,\n isNullOrUndefined,\n isTruthy,\n} from '@sindresorhus/is';\nimport type { CvssVector } from 'ae-cvss-calculator';\nimport aeCvss from 'ae-cvss-calculator';\nimport { z } from 'zod/v4';\nimport { getManagerConfig, mergeChildConfig } from '../../../config/index.ts';\nimport type { PackageRule, RenovateConfig } from '../../../config/types.ts';\nimport { instrument } from '../../../instrumentation/index.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { getDefaultVersioning } from '../../../modules/datasource/common.ts';\nimport type {\n PackageDependency,\n PackageFile,\n} from '../../../modules/manager/types.ts';\nimport type { VersioningApi } from '../../../modules/versioning/index.ts';\nimport { get as getVersioning } from '../../../modules/versioning/index.ts';\nimport { coerceArray } from '../../../util/array.ts';\nimport { sanitizeMarkdown } from '../../../util/markdown.ts';\nimport * as p from '../../../util/promises.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { titleCase } from '../../../util/string.ts';\nimport { datasourceToOsvEcosystem } from '../../../util/vulnerability/ecosystem.ts';\nimport {\n getFixedVersionConstraint,\n getLastAffectedVersionConstraint,\n} from '../../../util/vulnerability/utils.ts';\nimport type {\n DependencyVulnerabilities,\n SeverityDetails,\n Vulnerability,\n} from './types.ts';\n\nconst { fromVector } = aeCvss;\n\nexport class Vulnerabilities {\n private static osvOffline: Promise<OsvOffline> | undefined;\n\n private osvOffline: OsvOffline;\n\n private static readonly datasourceEcosystemMap = datasourceToOsvEcosystem;\n\n private constructor(osvOffline: OsvOffline) {\n this.osvOffline = osvOffline;\n }\n\n private static initialize(): Promise<OsvOffline> {\n // no async here, so osv promise will only be created once\n Vulnerabilities.osvOffline ??= OsvOffline.create();\n return Vulnerabilities.osvOffline;\n }\n\n static async create(): Promise<Vulnerabilities> {\n // intialize osv only once\n const osvOffline = await Vulnerabilities.initialize();\n\n const instance = new Vulnerabilities(osvOffline);\n return instance;\n }\n\n /**\n * Closes the shared OSV databases, if they were opened.\n */\n static async cleanup(): Promise<void> {\n const osvOffline = await Vulnerabilities.osvOffline?.catch(() => undefined);\n Vulnerabilities.osvOffline = undefined;\n osvOffline?.[Symbol.dispose]();\n }\n\n async appendVulnerabilityPackageRules(\n config: RenovateConfig,\n packageFiles: Record<string, PackageFile[]>,\n ): Promise<void> {\n const dependencyVulnerabilities = await this.fetchDependencyVulnerabilities(\n config,\n packageFiles,\n );\n\n config.packageRules ??= [];\n for (const {\n vulnerabilities,\n versioningApi,\n } of dependencyVulnerabilities) {\n const groupPackageRules: PackageRule[] = [];\n for (const vulnerability of vulnerabilities) {\n const rule = this.vulnerabilityToPackageRules(vulnerability);\n if (isNullOrUndefined(rule)) {\n continue;\n }\n groupPackageRules.push(rule);\n }\n this.sortByFixedVersion(groupPackageRules, versioningApi);\n\n config.packageRules.push(...groupPackageRules);\n }\n }\n\n async fetchVulnerabilities(\n config: RenovateConfig,\n packageFiles: Record<string, PackageFile[]>,\n ): Promise<Vulnerability[]> {\n const groups = await this.fetchDependencyVulnerabilities(\n config,\n packageFiles,\n );\n return groups.flatMap((group) => group.vulnerabilities);\n }\n\n private async fetchDependencyVulnerabilities(\n config: RenovateConfig,\n packageFiles: Record<string, PackageFile[]>,\n ): Promise<DependencyVulnerabilities[]> {\n const managers = Object.keys(packageFiles);\n const allManagerJobs = managers.map((manager) =>\n this.fetchManagerVulnerabilities(config, packageFiles, manager),\n );\n return (await Promise.all(allManagerJobs)).flat();\n }\n\n private async fetchManagerVulnerabilities(\n config: RenovateConfig,\n packageFiles: Record<string, PackageFile[]>,\n manager: string,\n ): Promise<DependencyVulnerabilities[]> {\n const managerConfig = getManagerConfig(config, manager);\n const queue = packageFiles[manager].map(\n (pFile) => (): Promise<DependencyVulnerabilities[]> =>\n this.fetchManagerPackageFileVulnerabilities(managerConfig, pFile),\n );\n logger.trace(\n { manager, queueLength: queue.length },\n 'fetchManagerVulnerabilities starting',\n );\n const result = (await p.all(queue)).flat();\n logger.trace({ manager }, 'fetchManagerVulnerabilities finished');\n return result;\n }\n\n private async fetchManagerPackageFileVulnerabilities(\n managerConfig: RenovateConfig,\n pFile: PackageFile,\n ): Promise<DependencyVulnerabilities[]> {\n const { packageFile } = pFile;\n const packageFileConfig = mergeChildConfig(managerConfig, pFile);\n const { manager } = packageFileConfig;\n const queue = pFile.deps.map(\n (dep) => (): Promise<DependencyVulnerabilities | null> =>\n this.fetchDependencyVulnerability(packageFileConfig, dep),\n );\n logger.trace(\n { manager, packageFile, queueLength: queue.length },\n 'fetchManagerPackageFileVulnerabilities starting with concurrency',\n );\n\n const result = await p.all(queue);\n logger.trace(\n { packageFile },\n 'fetchManagerPackageFileVulnerabilities finished',\n );\n\n return result.filter(isTruthy);\n }\n\n private async fetchDependencyVulnerability(\n packageFileConfig: RenovateConfig & PackageFile,\n dep: PackageDependency,\n ): Promise<DependencyVulnerabilities | null> {\n const ecosystem = Vulnerabilities.datasourceEcosystemMap[dep.datasource!];\n if (!ecosystem) {\n logger.trace(`Cannot map datasource ${dep.datasource!} to OSV ecosystem`);\n return null;\n }\n\n const packageName = dep.packageName!;\n let osvPackageName = packageName;\n let depType: string | undefined;\n if (ecosystem === 'PyPI') {\n // https://peps.python.org/pep-0503/#normalized-names\n osvPackageName = osvPackageName\n .toLowerCase()\n .replace(regEx(/[_.-]+/g), '-');\n } else if (ecosystem === 'Go' && packageName === 'go') {\n if (dep.depType !== 'toolchain') {\n // The `go` directive is source compatibility, not the build toolchain, so we skip it\n return null;\n }\n osvPackageName = 'stdlib';\n depType = dep.depType;\n }\n\n try {\n const osvVulnerabilities = await instrument(\n 'get OSV vulnerabilities',\n () => this.osvOffline.getVulnerabilities(ecosystem, osvPackageName),\n {\n attributes: {\n osvPackageName,\n ecosystem,\n },\n },\n );\n if (\n isNullOrUndefined(osvVulnerabilities) ||\n isEmptyArray(osvVulnerabilities)\n ) {\n logger.trace(\n `No vulnerabilities found in OSV database for ${packageName}`,\n );\n return null;\n }\n\n const depVersion =\n dep.lockedVersion ?? dep.currentVersion ?? dep.currentValue!;\n\n const versioning = dep.versioning ?? getDefaultVersioning(dep.datasource);\n const versioningApi = getVersioning(versioning);\n\n if (!versioningApi.isVersion(depVersion)) {\n logger.debug(\n `Skipping vulnerability lookup for package ${packageName} due to unsupported version ${depVersion}`,\n );\n return null;\n }\n\n const vulnerabilities: Vulnerability[] = [];\n for (const osvVulnerability of osvVulnerabilities) {\n if (osvVulnerability.withdrawn) {\n logger.trace(\n `Skipping withdrawn vulnerability ${osvVulnerability.id}`,\n );\n continue;\n }\n\n this.skipMaliciousPackages(\n ecosystem,\n osvPackageName,\n depVersion,\n versioningApi,\n dep,\n packageFileConfig.manager,\n packageFileConfig.packageFile,\n osvVulnerability,\n );\n\n for (const affected of coerceArray(osvVulnerability.affected)) {\n const isVulnerable = this.isPackageVulnerable(\n ecosystem,\n osvPackageName,\n depVersion,\n affected,\n versioningApi,\n );\n if (!isVulnerable) {\n continue;\n }\n\n logger.debug(\n `Vulnerability ${osvVulnerability.id} affects ${packageName} ${depVersion}`,\n );\n const fixedVersion = this.getFixedVersion(\n ecosystem,\n depVersion,\n affected,\n versioningApi,\n );\n\n vulnerabilities.push({\n packageName,\n osvPackageName,\n vulnerability: osvVulnerability,\n affected,\n depType,\n depVersion,\n versioning: dep.versioning,\n fixedVersion,\n datasource: dep.datasource!,\n packageFileConfig,\n });\n }\n }\n\n return { vulnerabilities, versioningApi };\n } catch (err) {\n logger.warn(\n { err, packageName },\n 'Error fetching vulnerability information for package',\n );\n return null;\n }\n }\n\n private skipMaliciousPackages(\n ecosystem: Ecosystem,\n osvPackageName: string,\n depVersion: string,\n versioningApi: VersioningApi,\n dep: PackageDependency,\n manager: string | undefined,\n packageFile: string,\n osvVulnerability: Osv.Vulnerability,\n ): void {\n // the OpenSSF's Malicious Packages (https://github.com/ossf/malicious-packages) is a source of advisories through osv.dev, which takes various sources of advisories, and will re-publish them with more specific information about their malicious usage\n if (osvVulnerability.id.startsWith('MAL-')) {\n // is the current dependency vulnerable?\n for (const affected of coerceArray(osvVulnerability.affected)) {\n // is the current dependency vulnerable?\n const isVulnerable = this.isPackageVulnerable(\n ecosystem,\n osvPackageName,\n depVersion,\n affected,\n versioningApi,\n );\n\n if (isVulnerable) {\n logger.debug(\n {\n packageFile: packageFile,\n depName: dep.depName,\n packageName: dep.packageName,\n manager: manager,\n datasource: dep.datasource,\n currentVersion: depVersion,\n },\n `Marking ${dep.depName} as skipReason=malicious-version-in-use, as it is affected by ${osvVulnerability.id}`,\n );\n dep.skipReason = 'malicious-version-in-use';\n dep.skipStage = 'lookup';\n }\n\n // or are any of the updates vulnerable?\n for (const update of coerceArray(dep.updates)) {\n const newVersion = update.newVersion ?? update.newValue!;\n\n const isUpdateVulnerable = this.isPackageVulnerable(\n ecosystem,\n osvPackageName,\n newVersion,\n affected,\n versioningApi,\n );\n\n if (isUpdateVulnerable) {\n logger.debug(\n {\n packageFile: packageFile,\n depName: dep.depName,\n packageName: dep.packageName,\n manager: manager,\n datasource: dep.datasource,\n currentVersion: depVersion,\n newVersion,\n },\n `Marking ${dep.depName}'s update to ${newVersion} as skipReason=malicious-update-proposed, as it is affected by ${osvVulnerability.id}`,\n );\n dep.skipReason = 'malicious-update-proposed';\n dep.skipStage = 'lookup';\n }\n }\n }\n }\n }\n\n private sortByFixedVersion(\n packageRules: PackageRule[],\n versioningApi: VersioningApi,\n ): void {\n const versionsCleaned: Record<string, string> = {};\n for (const rule of packageRules) {\n const version = rule.allowedVersions!;\n versionsCleaned[version] = version.replace(regEx(/[(),=> ]+/g), '');\n }\n packageRules.sort((a, b) =>\n versioningApi.sortVersions(\n versionsCleaned[a.allowedVersions!],\n versionsCleaned[b.allowedVersions!],\n ),\n );\n }\n\n // https://ossf.github.io/osv-schema/#affectedrangesevents-fields\n private sortEvents(\n events: Osv.Event[],\n versioningApi: VersioningApi,\n ): Osv.Event[] {\n const sortedCopy: Osv.Event[] = [];\n let zeroEvent: Osv.Event | null = null;\n\n for (const event of events) {\n if (event.introduced === '0') {\n zeroEvent = event;\n } else if (versioningApi.isVersion(Object.values(event)[0])) {\n sortedCopy.push(event);\n } else {\n logger.debug({ event }, 'Skipping OSV event with invalid version');\n }\n }\n\n sortedCopy.sort((a, b) =>\n // no pre-processing, as there are only very few values to sort\n versioningApi.sortVersions(Object.values(a)[0], Object.values(b)[0]),\n );\n\n if (zeroEvent) {\n sortedCopy.unshift(zeroEvent);\n }\n\n return sortedCopy;\n }\n\n private isPackageAffected(\n ecosystem: Ecosystem,\n osvPackageName: string,\n affected: Osv.Affected,\n ): boolean {\n const pkg = affected.package;\n if (pkg?.name !== osvPackageName) {\n return false;\n }\n\n // Match exact ecosystems and OSV sub-ecosystems (e.g. Packagist:https://packages.drupal.org/8).\n return (\n pkg.ecosystem === ecosystem || pkg.ecosystem.startsWith(`${ecosystem}:`)\n );\n }\n\n private includedInVersions(\n depVersion: string,\n affected: Osv.Affected,\n ): boolean {\n return !!affected.versions?.includes(depVersion);\n }\n\n private includedInRanges(\n depVersion: string,\n affected: Osv.Affected,\n versioningApi: VersioningApi,\n ): boolean {\n for (const range of coerceArray(affected.ranges)) {\n if (range.type === 'GIT') {\n continue;\n }\n\n let vulnerable = false;\n for (const event of this.sortEvents(range.events, versioningApi)) {\n if (\n isNonEmptyString(event.introduced) &&\n (event.introduced === '0' ||\n this.isVersionGtOrEq(depVersion, event.introduced, versioningApi))\n ) {\n vulnerable = true;\n } else if (\n isNonEmptyString(event.fixed) &&\n this.isVersionGtOrEq(depVersion, event.fixed, versioningApi)\n ) {\n vulnerable = false;\n } else if (\n isNonEmptyString(event.last_affected) &&\n this.isVersionGt(depVersion, event.last_affected, versioningApi)\n ) {\n vulnerable = false;\n }\n }\n\n if (vulnerable) {\n return true;\n }\n }\n\n return false;\n }\n\n // https://ossf.github.io/osv-schema/#evaluation\n private isPackageVulnerable(\n ecosystem: Ecosystem,\n osvPackageName: string,\n depVersion: string,\n affected: Osv.Affected,\n versioningApi: VersioningApi,\n ): boolean {\n return (\n this.isPackageAffected(ecosystem, osvPackageName, affected) &&\n (this.includedInVersions(depVersion, affected) ||\n this.includedInRanges(depVersion, affected, versioningApi))\n );\n }\n\n private getFixedVersion(\n ecosystem: Ecosystem,\n depVersion: string,\n affected: Osv.Affected,\n versioningApi: VersioningApi,\n ): string | null {\n const fixedVersions: string[] = [];\n const lastAffectedVersions: string[] = [];\n\n for (const range of coerceArray(affected.ranges)) {\n if (range.type === 'GIT') {\n continue;\n }\n\n for (const event of range.events) {\n if (\n isNonEmptyString(event.fixed) &&\n versioningApi.isVersion(event.fixed)\n ) {\n fixedVersions.push(event.fixed);\n } else if (\n isNonEmptyString(event.last_affected) &&\n versioningApi.isVersion(event.last_affected)\n ) {\n lastAffectedVersions.push(event.last_affected);\n }\n }\n }\n\n fixedVersions.sort((a, b) => versioningApi.sortVersions(a, b));\n const fixedVersion = fixedVersions.find((version) =>\n this.isVersionGt(version, depVersion, versioningApi),\n );\n if (fixedVersion) {\n return this.getFixedVersionByEcosystem(fixedVersion, ecosystem);\n }\n\n lastAffectedVersions.sort((a, b) => versioningApi.sortVersions(a, b));\n const lastAffected = lastAffectedVersions.find((version) =>\n this.isVersionGtOrEq(version, depVersion, versioningApi),\n );\n if (lastAffected) {\n return this.getLastAffectedByEcosystem(lastAffected, ecosystem);\n }\n\n return null;\n }\n\n private getFixedVersionByEcosystem(\n fixedVersion: string,\n ecosystem: Ecosystem,\n ): string {\n return getFixedVersionConstraint(fixedVersion, ecosystem);\n }\n\n private getLastAffectedByEcosystem(\n lastAffected: string,\n ecosystem: Ecosystem,\n ): string {\n return getLastAffectedVersionConstraint(lastAffected, ecosystem);\n }\n\n private isVersionGt(\n version: string,\n other: string,\n versioningApi: VersioningApi,\n ): boolean {\n return (\n versioningApi.isVersion(version) &&\n versioningApi.isVersion(other) &&\n versioningApi.isGreaterThan(version, other)\n );\n }\n\n private isVersionGtOrEq(\n version: string,\n other: string,\n versioningApi: VersioningApi,\n ): boolean {\n return (\n versioningApi.isVersion(version) &&\n versioningApi.isVersion(other) &&\n (versioningApi.equals(version, other) ||\n versioningApi.isGreaterThan(version, other))\n );\n }\n\n private vulnerabilityToPackageRules(vul: Vulnerability): PackageRule | null {\n const {\n vulnerability,\n affected,\n packageName,\n depType,\n depVersion,\n fixedVersion,\n datasource,\n versioning: depVersioning,\n packageFileConfig,\n } = vul;\n if (isNullOrUndefined(fixedVersion)) {\n logger.debug(\n `No fixed version available for vulnerability ${vulnerability.id} in ${packageName} ${depVersion}`,\n );\n return null;\n }\n\n // Prefer the `versioning` already assigned to the dependency by its manager\n const versioning = depVersioning ?? getDefaultVersioning(datasource);\n\n logger.debug(\n {\n datasource,\n versioning,\n },\n\n `Setting allowed version ${fixedVersion} to fix vulnerability ${vulnerability.id} in ${packageName} ${depVersion}`,\n );\n\n const severityDetails = this.extractSeverityDetails(\n vulnerability,\n affected,\n );\n\n return {\n matchDatasources: [datasource],\n matchPackageNames: [packageName],\n ...(depType ? { matchDepTypes: [depType] } : {}),\n matchCurrentVersion: depVersion,\n versioning,\n allowedVersions: fixedVersion,\n isVulnerabilityAlert: true,\n vulnerabilitySeverity: severityDetails.severityLevel,\n prBodyNotes: this.generatePrBodyNotes(vulnerability, affected),\n force: {\n ...packageFileConfig.vulnerabilityAlerts,\n },\n };\n }\n\n static evaluateCvssVector(vector: string): [string, string] {\n const CvssJson = z.object({\n baseScore: z.number().default(0.0),\n baseSeverity: z.string().toUpperCase().default('UNKNOWN'),\n });\n\n try {\n const parsedCvssScore: CvssVector<any> | null = fromVector(vector);\n const res = CvssJson.parse(parsedCvssScore?.createJsonSchema());\n\n return [res.baseScore.toFixed(1), res.baseSeverity];\n } catch {\n logger.debug(`Error processing CVSS vector ${vector}`);\n }\n\n return ['', ''];\n }\n\n private generatePrBodyNotes(\n vulnerability: Osv.Vulnerability,\n affected: Osv.Affected,\n ): string[] {\n let aliases = [vulnerability.id]\n .concat(coerceArray(vulnerability.aliases))\n .sort();\n aliases = aliases.map((id) => {\n if (id.startsWith('CVE-')) {\n return `[${id}](https://nvd.nist.gov/vuln/detail/${id})`;\n }\n if (id.startsWith('GHSA-')) {\n return `[${id}](https://github.com/advisories/${id})`;\n }\n if (id.startsWith('GO-')) {\n return `[${id}](https://pkg.go.dev/vuln/${id})`;\n }\n if (id.startsWith('RUSTSEC-')) {\n return `[${id}](https://rustsec.org/advisories/${id}.html)`;\n }\n\n return id;\n });\n\n let content = '\\n\\n---\\n\\n### ';\n content += vulnerability.summary ? `${vulnerability.summary}\\n` : '';\n content += `${aliases.join(' / ')}\\n`;\n content += `\\n<details>\\n<summary>More information</summary>\\n`;\n\n const details = vulnerability.details?.replace(\n regEx(/^#{1,4} /gm),\n '##### ',\n );\n content += `#### Details\\n${details ?? 'No details.'}\\n`;\n\n content += '#### Severity\\n';\n const severityDetails = this.extractSeverityDetails(\n vulnerability,\n affected,\n );\n\n if (severityDetails.cvssVector) {\n content += `- CVSS Score: ${severityDetails.score}\\n`;\n content += `- Vector String: \\`${severityDetails.cvssVector}\\`\\n`;\n } else {\n content += `${titleCase(severityDetails.severityLevel)}\\n`;\n }\n\n content += `\\n#### References\\n${\n vulnerability.references\n ?.map((ref) => {\n return `- [${ref.url}](${ref.url})`;\n })\n .join('\\n') ?? 'No references.'\n }`;\n\n let attribution = '';\n if (vulnerability.id.startsWith('GHSA-')) {\n attribution = ` and the [GitHub Advisory Database](https://github.com/github/advisory-database) ([CC-BY 4.0](https://github.com/github/advisory-database/blob/main/LICENSE.md))`;\n } else if (vulnerability.id.startsWith('GO-')) {\n attribution = ` and the [Go Vulnerability Database](https://github.com/golang/vulndb) ([CC-BY 4.0](https://github.com/golang/vulndb#license))`;\n } else if (vulnerability.id.startsWith('PYSEC-')) {\n attribution = ` and the [PyPI Advisory Database](https://github.com/pypa/advisory-database) ([CC-BY 4.0](https://github.com/pypa/advisory-database/blob/main/LICENSE))`;\n } else if (vulnerability.id.startsWith('RUSTSEC-')) {\n attribution = ` and the [Rust Advisory Database](https://github.com/RustSec/advisory-db) ([CC0 1.0](https://github.com/rustsec/advisory-db/blob/main/LICENSE.txt))`;\n }\n content += `\\n\\nThis data is provided by [OSV](https://osv.dev/vulnerability/${vulnerability.id})${attribution}.\\n`;\n content += `</details>`;\n\n return [sanitizeMarkdown(content)];\n }\n\n private extractSeverityDetails(\n vulnerability: Osv.Vulnerability,\n affected: Osv.Affected,\n ): SeverityDetails {\n let severityLevel = 'UNKNOWN';\n let score = 'Unknown';\n\n const cvssVector =\n vulnerability.severity?.find((e) => e.type === 'CVSS_V4')?.score ??\n vulnerability.severity?.find((e) => e.type === 'CVSS_V3')?.score ??\n (affected.database_specific?.cvss as string); // RUSTSEC\n\n if (cvssVector) {\n const [baseScore, severity] =\n Vulnerabilities.evaluateCvssVector(cvssVector);\n severityLevel = severity ? severity.toUpperCase() : 'UNKNOWN';\n score = baseScore\n ? `${baseScore} / 10 (${titleCase(severityLevel)})`\n : 'Unknown';\n } else if (\n vulnerability.id.startsWith('GHSA-') &&\n vulnerability.database_specific?.severity\n ) {\n const severity = vulnerability.database_specific.severity as string;\n severityLevel = severity.toUpperCase();\n }\n\n return {\n cvssVector,\n score,\n severityLevel,\n };\n }\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
package/renovate-schema.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$id": "https://docs.renovatebot.com/renovate-schema.json",
|
|
3
|
-
"title": "JSON schema for Renovate 44.
|
|
3
|
+
"title": "JSON schema for Renovate 44.205.1 config files (https://renovatebot.com/)",
|
|
4
4
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
5
|
-
"x-renovate-version": "44.
|
|
5
|
+
"x-renovate-version": "44.205.1",
|
|
6
6
|
"allowComments": true,
|
|
7
7
|
"type": "object",
|
|
8
8
|
"definitions": {
|