renovate 43.134.0 → 43.135.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -368,6 +368,13 @@ const miseRegistryTooling = {
368
368
  extractVersion: "^v(?<version>\\S+)"
369
369
  }
370
370
  },
371
+ pnpm: {
372
+ misePluginUrl: "https://mise.jdx.dev/registry.html#tools",
373
+ config: {
374
+ packageName: "pnpm",
375
+ datasource: NpmDatasource.id
376
+ }
377
+ },
371
378
  redis: {
372
379
  misePluginUrl: "https://mise.jdx.dev/registry.html#tools",
373
380
  config: {
@@ -488,6 +495,13 @@ const miseRegistryTooling = {
488
495
  datasource: GithubReleasesDatasource.id,
489
496
  extractVersion: "^v(?<version>\\S+)"
490
497
  }
498
+ },
499
+ yarn: {
500
+ misePluginUrl: "https://mise.jdx.dev/registry.html#tools",
501
+ config: {
502
+ packageName: "@yarnpkg/cli",
503
+ datasource: NpmDatasource.id
504
+ }
491
505
  }
492
506
  };
493
507
  const miseTooling = {
@@ -1 +1 @@
1
- {"version":3,"file":"upgradeable-tooling.js","names":["semverPartialVersioning.id","regexVersioning.id","semverVersioning.id"],"sources":["../../../../lib/modules/manager/mise/upgradeable-tooling.ts"],"sourcesContent":["import { regEx } from '../../../util/regex.ts';\nimport { GithubReleasesDatasource } from '../../datasource/github-releases/index.ts';\nimport { GithubTagsDatasource } from '../../datasource/github-tags/index.ts';\nimport { HexpmBobDatasource } from '../../datasource/hexpm-bob/index.ts';\nimport { JavaVersionDatasource } from '../../datasource/java-version/index.ts';\nimport { NodeVersionDatasource } from '../../datasource/node-version/index.ts';\nimport { NpmDatasource } from '../../datasource/npm/index.ts';\nimport { RubyVersionDatasource } from '../../datasource/ruby-version/index.ts';\nimport * as regexVersioning from '../../versioning/regex/index.ts';\nimport * as semverVersioning from '../../versioning/semver/index.ts';\nimport * as semverPartialVersioning from '../../versioning/semver-partial/index.ts';\nimport type { ToolingConfig } from '../asdf/upgradeable-tooling.ts';\nimport { upgradeableTooling } from '../asdf/upgradeable-tooling.ts';\n\nexport interface ToolingDefinition {\n config: ToolingConfig;\n misePluginUrl?: string;\n}\n\nexport const asdfTooling = upgradeableTooling;\n\nfunction shortJavaVersioning(version: string): { versioning?: string } {\n if (regEx(/^\\d+(\\.\\d+)?$/).test(version)) {\n return { versioning: semverPartialVersioning.id };\n }\n return {};\n}\n\nconst miseCoreTooling: Record<string, ToolingDefinition> = {\n bun: {\n misePluginUrl: 'https://mise.jdx.dev/lang/bun.html',\n config: {\n packageName: 'oven-sh/bun',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^bun-v(?<version>\\\\S+)',\n },\n },\n deno: {\n misePluginUrl: 'https://mise.jdx.dev/lang/deno.html',\n config: {\n packageName: 'denoland/deno',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n elixir: {\n misePluginUrl: 'https://mise.jdx.dev/lang/elixir.html',\n config: {\n datasource: HexpmBobDatasource.id,\n },\n },\n erlang: {\n misePluginUrl: 'https://mise.jdx.dev/lang/erlang.html',\n config: {\n packageName: 'erlang/otp',\n datasource: GithubTagsDatasource.id,\n extractVersion: '^OTP-(?<version>\\\\S+)',\n versioning: `${regexVersioning.id}:^(?<major>\\\\d+?)\\\\.(?<minor>\\\\d+?)(\\\\.(?<patch>\\\\d+))?$`,\n },\n },\n go: {\n misePluginUrl: 'https://mise.jdx.dev/lang/go.html',\n config: {\n packageName: 'golang/go',\n datasource: GithubTagsDatasource.id,\n extractVersion: '^go(?<version>\\\\S+)',\n },\n },\n java: {\n misePluginUrl: 'https://mise.jdx.dev/lang/java.html',\n config: (version) => {\n // no prefix is shorthand for openjdk\n const versionMatch = regEx(/^(\\d\\S+)/).exec(version)?.[1];\n if (versionMatch) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: versionMatch,\n ...shortJavaVersioning(versionMatch),\n };\n }\n const openJdkMatches = regEx(/^openjdk-(?<version>\\d\\S+)/).exec(\n version,\n )?.groups;\n if (openJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: openJdkMatches.version,\n ...shortJavaVersioning(openJdkMatches.version),\n };\n }\n const adoptOpenJdkMatches = regEx(/^adoptopenjdk-(?<version>\\d\\S+)/).exec(\n version,\n )?.groups;\n if (adoptOpenJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: adoptOpenJdkMatches.version,\n ...shortJavaVersioning(adoptOpenJdkMatches.version),\n };\n }\n const temurinJdkMatches = regEx(/^temurin-(?<version>\\d\\S+)/).exec(\n version,\n )?.groups;\n if (temurinJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: temurinJdkMatches.version,\n ...shortJavaVersioning(temurinJdkMatches.version),\n };\n }\n const correttoJdkMatches = regEx(/^corretto-(?<version>\\d\\S+)/).exec(\n version,\n )?.groups;\n if (correttoJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: correttoJdkMatches.version,\n ...shortJavaVersioning(correttoJdkMatches.version),\n };\n }\n const zuluJdkMatches = regEx(/^zulu-(?<version>\\d\\S+)/).exec(\n version,\n )?.groups;\n if (zuluJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: zuluJdkMatches.version,\n ...shortJavaVersioning(zuluJdkMatches.version),\n };\n }\n const oracleGraalvmJdkMatches = regEx(\n /^oracle-graalvm-(?<version>\\d\\S+)/,\n ).exec(version)?.groups;\n if (oracleGraalvmJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: oracleGraalvmJdkMatches.version,\n ...shortJavaVersioning(oracleGraalvmJdkMatches.version),\n };\n }\n\n return undefined;\n },\n },\n node: {\n misePluginUrl: 'https://mise.jdx.dev/lang/node.html',\n config: {\n packageName: 'node',\n datasource: NodeVersionDatasource.id,\n },\n },\n python: {\n misePluginUrl: 'https://mise.jdx.dev/lang/python.html',\n config: {\n packageName: 'python/cpython',\n datasource: GithubTagsDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n ruby: {\n misePluginUrl: 'https://mise.jdx.dev/lang/ruby.html',\n config: {\n packageName: 'ruby-version',\n datasource: RubyVersionDatasource.id,\n versioning: semverVersioning.id,\n },\n },\n rust: {\n misePluginUrl: 'https://mise.jdx.dev/lang/rust.html',\n config: {\n packageName: 'rust-lang/rust',\n datasource: GithubTagsDatasource.id,\n },\n },\n swift: {\n misePluginUrl: 'https://mise.jdx.dev/lang/swift.html',\n config: {\n packageName: 'swift-lang/swift',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^swift-(?<version>\\\\S+)',\n },\n },\n zig: {\n misePluginUrl: 'https://mise.jdx.dev/lang/zig.html',\n config: {\n packageName: 'ziglang/zig',\n datasource: GithubTagsDatasource.id,\n },\n },\n};\n\nconst miseRegistryTooling: Record<string, ToolingDefinition> = {\n actionlint: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'rhysd/actionlint',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n astro: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'astronomer/astro-cli',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'aws-cli': {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'aws/aws-cli',\n },\n },\n 'aws-vault': {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: '99designs/aws-vault',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n buf: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'bufbuild/buf',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n caddy: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'caddyserver/caddy',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n ccache: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'ccache/ccache',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n committed: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'crate-ci/committed',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n conan: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'conan-io/conan',\n datasource: GithubReleasesDatasource.id,\n },\n },\n consul: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'hashicorp/consul',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n gh: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'cli/cli',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'dotenv-linter': {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'dotenv-linter/dotenv-linter',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n hivemind: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'DarthSim/hivemind',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n hk: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'jdx/hk',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n jq: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'jqlang/jq',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^jq-(?<version>\\\\S+)',\n },\n },\n kafka: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: (version) => {\n const apacheMatches = /^apache-(?<version>\\d\\S+)/.exec(version)?.groups;\n if (apacheMatches) {\n return {\n datasource: GithubTagsDatasource.id,\n packageName: 'apache/kafka',\n currentValue: apacheMatches.version,\n };\n }\n\n return undefined;\n },\n },\n lefthook: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'evilmartians/lefthook',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n localstack: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'localstack/localstack',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n lychee: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'lycheeverse/lychee',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^lychee-v(?<version>\\\\S+)',\n },\n },\n npm: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'npm',\n datasource: NpmDatasource.id,\n },\n },\n opentofu: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'opentofu/opentofu',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n openfga: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'openfga/openfga',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n packer: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'hashicorp/packer',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n pipx: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'pypa/pipx',\n datasource: GithubReleasesDatasource.id,\n },\n },\n pkl: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'apple/pkl',\n datasource: GithubReleasesDatasource.id,\n },\n },\n prettier: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'prettier/prettier',\n datasource: GithubReleasesDatasource.id,\n },\n },\n protoc: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'protocolbuffers/protobuf',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n redis: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'redis/redis',\n datasource: GithubReleasesDatasource.id,\n },\n },\n ruff: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'astral-sh/ruff',\n datasource: GithubReleasesDatasource.id,\n },\n },\n rumdl: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'rvben/rumdl',\n datasource: GithubReleasesDatasource.id,\n },\n },\n shellcheck: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'koalaman/shellcheck',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n skeema: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'skeema/skeema',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n sops: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'getsops/sops',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n sqlite: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'sqlite/sqlite',\n datasource: GithubTagsDatasource.id,\n extractVersion: '^version-(?<version>\\\\S+)',\n },\n },\n stripe: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'stripe/stripe-cli',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n swiftformat: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'nicklockwood/SwiftFormat',\n datasource: GithubReleasesDatasource.id,\n },\n },\n swiftlint: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'realm/SwiftLint',\n datasource: GithubReleasesDatasource.id,\n },\n },\n taplo: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'tamasfe/taplo',\n datasource: GithubReleasesDatasource.id,\n },\n },\n tart: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'cirruslabs/tart',\n datasource: GithubReleasesDatasource.id,\n },\n },\n terragrunt: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'gruntwork-io/terragrunt',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n tilt: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'tilt-dev/tilt',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n tusd: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'tus/tusd',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n usage: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'jdx/usage',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n};\n\nexport const miseTooling: Record<string, ToolingDefinition> = {\n ...miseCoreTooling,\n ...miseRegistryTooling,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"upgradeable-tooling.js","names":["semverPartialVersioning.id","regexVersioning.id","semverVersioning.id"],"sources":["../../../../lib/modules/manager/mise/upgradeable-tooling.ts"],"sourcesContent":["import { regEx } from '../../../util/regex.ts';\nimport { GithubReleasesDatasource } from '../../datasource/github-releases/index.ts';\nimport { GithubTagsDatasource } from '../../datasource/github-tags/index.ts';\nimport { HexpmBobDatasource } from '../../datasource/hexpm-bob/index.ts';\nimport { JavaVersionDatasource } from '../../datasource/java-version/index.ts';\nimport { NodeVersionDatasource } from '../../datasource/node-version/index.ts';\nimport { NpmDatasource } from '../../datasource/npm/index.ts';\nimport { RubyVersionDatasource } from '../../datasource/ruby-version/index.ts';\nimport * as regexVersioning from '../../versioning/regex/index.ts';\nimport * as semverVersioning from '../../versioning/semver/index.ts';\nimport * as semverPartialVersioning from '../../versioning/semver-partial/index.ts';\nimport type { ToolingConfig } from '../asdf/upgradeable-tooling.ts';\nimport { upgradeableTooling } from '../asdf/upgradeable-tooling.ts';\n\nexport interface ToolingDefinition {\n config: ToolingConfig;\n misePluginUrl?: string;\n}\n\nexport const asdfTooling = upgradeableTooling;\n\nfunction shortJavaVersioning(version: string): { versioning?: string } {\n if (regEx(/^\\d+(\\.\\d+)?$/).test(version)) {\n return { versioning: semverPartialVersioning.id };\n }\n return {};\n}\n\nconst miseCoreTooling: Record<string, ToolingDefinition> = {\n bun: {\n misePluginUrl: 'https://mise.jdx.dev/lang/bun.html',\n config: {\n packageName: 'oven-sh/bun',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^bun-v(?<version>\\\\S+)',\n },\n },\n deno: {\n misePluginUrl: 'https://mise.jdx.dev/lang/deno.html',\n config: {\n packageName: 'denoland/deno',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n elixir: {\n misePluginUrl: 'https://mise.jdx.dev/lang/elixir.html',\n config: {\n datasource: HexpmBobDatasource.id,\n },\n },\n erlang: {\n misePluginUrl: 'https://mise.jdx.dev/lang/erlang.html',\n config: {\n packageName: 'erlang/otp',\n datasource: GithubTagsDatasource.id,\n extractVersion: '^OTP-(?<version>\\\\S+)',\n versioning: `${regexVersioning.id}:^(?<major>\\\\d+?)\\\\.(?<minor>\\\\d+?)(\\\\.(?<patch>\\\\d+))?$`,\n },\n },\n go: {\n misePluginUrl: 'https://mise.jdx.dev/lang/go.html',\n config: {\n packageName: 'golang/go',\n datasource: GithubTagsDatasource.id,\n extractVersion: '^go(?<version>\\\\S+)',\n },\n },\n java: {\n misePluginUrl: 'https://mise.jdx.dev/lang/java.html',\n config: (version) => {\n // no prefix is shorthand for openjdk\n const versionMatch = regEx(/^(\\d\\S+)/).exec(version)?.[1];\n if (versionMatch) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: versionMatch,\n ...shortJavaVersioning(versionMatch),\n };\n }\n const openJdkMatches = regEx(/^openjdk-(?<version>\\d\\S+)/).exec(\n version,\n )?.groups;\n if (openJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: openJdkMatches.version,\n ...shortJavaVersioning(openJdkMatches.version),\n };\n }\n const adoptOpenJdkMatches = regEx(/^adoptopenjdk-(?<version>\\d\\S+)/).exec(\n version,\n )?.groups;\n if (adoptOpenJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: adoptOpenJdkMatches.version,\n ...shortJavaVersioning(adoptOpenJdkMatches.version),\n };\n }\n const temurinJdkMatches = regEx(/^temurin-(?<version>\\d\\S+)/).exec(\n version,\n )?.groups;\n if (temurinJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: temurinJdkMatches.version,\n ...shortJavaVersioning(temurinJdkMatches.version),\n };\n }\n const correttoJdkMatches = regEx(/^corretto-(?<version>\\d\\S+)/).exec(\n version,\n )?.groups;\n if (correttoJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: correttoJdkMatches.version,\n ...shortJavaVersioning(correttoJdkMatches.version),\n };\n }\n const zuluJdkMatches = regEx(/^zulu-(?<version>\\d\\S+)/).exec(\n version,\n )?.groups;\n if (zuluJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: zuluJdkMatches.version,\n ...shortJavaVersioning(zuluJdkMatches.version),\n };\n }\n const oracleGraalvmJdkMatches = regEx(\n /^oracle-graalvm-(?<version>\\d\\S+)/,\n ).exec(version)?.groups;\n if (oracleGraalvmJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: oracleGraalvmJdkMatches.version,\n ...shortJavaVersioning(oracleGraalvmJdkMatches.version),\n };\n }\n\n return undefined;\n },\n },\n node: {\n misePluginUrl: 'https://mise.jdx.dev/lang/node.html',\n config: {\n packageName: 'node',\n datasource: NodeVersionDatasource.id,\n },\n },\n python: {\n misePluginUrl: 'https://mise.jdx.dev/lang/python.html',\n config: {\n packageName: 'python/cpython',\n datasource: GithubTagsDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n ruby: {\n misePluginUrl: 'https://mise.jdx.dev/lang/ruby.html',\n config: {\n packageName: 'ruby-version',\n datasource: RubyVersionDatasource.id,\n versioning: semverVersioning.id,\n },\n },\n rust: {\n misePluginUrl: 'https://mise.jdx.dev/lang/rust.html',\n config: {\n packageName: 'rust-lang/rust',\n datasource: GithubTagsDatasource.id,\n },\n },\n swift: {\n misePluginUrl: 'https://mise.jdx.dev/lang/swift.html',\n config: {\n packageName: 'swift-lang/swift',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^swift-(?<version>\\\\S+)',\n },\n },\n zig: {\n misePluginUrl: 'https://mise.jdx.dev/lang/zig.html',\n config: {\n packageName: 'ziglang/zig',\n datasource: GithubTagsDatasource.id,\n },\n },\n};\n\nconst miseRegistryTooling: Record<string, ToolingDefinition> = {\n actionlint: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'rhysd/actionlint',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n astro: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'astronomer/astro-cli',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'aws-cli': {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'aws/aws-cli',\n },\n },\n 'aws-vault': {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: '99designs/aws-vault',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n buf: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'bufbuild/buf',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n caddy: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'caddyserver/caddy',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n ccache: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'ccache/ccache',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n committed: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'crate-ci/committed',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n conan: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'conan-io/conan',\n datasource: GithubReleasesDatasource.id,\n },\n },\n consul: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'hashicorp/consul',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n gh: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'cli/cli',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'dotenv-linter': {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'dotenv-linter/dotenv-linter',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n hivemind: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'DarthSim/hivemind',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n hk: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'jdx/hk',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n jq: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'jqlang/jq',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^jq-(?<version>\\\\S+)',\n },\n },\n kafka: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: (version) => {\n const apacheMatches = /^apache-(?<version>\\d\\S+)/.exec(version)?.groups;\n if (apacheMatches) {\n return {\n datasource: GithubTagsDatasource.id,\n packageName: 'apache/kafka',\n currentValue: apacheMatches.version,\n };\n }\n\n return undefined;\n },\n },\n lefthook: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'evilmartians/lefthook',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n localstack: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'localstack/localstack',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n lychee: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'lycheeverse/lychee',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^lychee-v(?<version>\\\\S+)',\n },\n },\n npm: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'npm',\n datasource: NpmDatasource.id,\n },\n },\n opentofu: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'opentofu/opentofu',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n openfga: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'openfga/openfga',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n packer: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'hashicorp/packer',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n pipx: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'pypa/pipx',\n datasource: GithubReleasesDatasource.id,\n },\n },\n pkl: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'apple/pkl',\n datasource: GithubReleasesDatasource.id,\n },\n },\n prettier: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'prettier/prettier',\n datasource: GithubReleasesDatasource.id,\n },\n },\n protoc: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'protocolbuffers/protobuf',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n pnpm: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'pnpm',\n datasource: NpmDatasource.id,\n },\n },\n redis: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'redis/redis',\n datasource: GithubReleasesDatasource.id,\n },\n },\n ruff: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'astral-sh/ruff',\n datasource: GithubReleasesDatasource.id,\n },\n },\n rumdl: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'rvben/rumdl',\n datasource: GithubReleasesDatasource.id,\n },\n },\n shellcheck: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'koalaman/shellcheck',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n skeema: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'skeema/skeema',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n sops: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'getsops/sops',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n sqlite: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'sqlite/sqlite',\n datasource: GithubTagsDatasource.id,\n extractVersion: '^version-(?<version>\\\\S+)',\n },\n },\n stripe: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'stripe/stripe-cli',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n swiftformat: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'nicklockwood/SwiftFormat',\n datasource: GithubReleasesDatasource.id,\n },\n },\n swiftlint: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'realm/SwiftLint',\n datasource: GithubReleasesDatasource.id,\n },\n },\n taplo: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'tamasfe/taplo',\n datasource: GithubReleasesDatasource.id,\n },\n },\n tart: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'cirruslabs/tart',\n datasource: GithubReleasesDatasource.id,\n },\n },\n terragrunt: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'gruntwork-io/terragrunt',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n tilt: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'tilt-dev/tilt',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n tusd: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'tus/tusd',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n usage: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'jdx/usage',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n yarn: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: '@yarnpkg/cli',\n datasource: NpmDatasource.id,\n },\n },\n};\n\nexport const miseTooling: Record<string, ToolingDefinition> = {\n ...miseCoreTooling,\n ...miseRegistryTooling,\n};\n"],"mappings":";;;;;;;;;;;;;AAmBA,MAAa,cAAc;AAE3B,SAAS,oBAAoB,SAA0C;AACrE,KAAI,MAAM,gBAAgB,CAAC,KAAK,QAAQ,CACtC,QAAO,EAAE,YAAYA,MAA4B;AAEnD,QAAO,EAAE;;AAGX,MAAM,kBAAqD;CACzD,KAAK;EACH,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,MAAM;EACJ,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,QAAQ;EACN,eAAe;EACf,QAAQ,EACN,YAAY,mBAAmB,IAChC;EACF;CACD,QAAQ;EACN,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,qBAAqB;GACjC,gBAAgB;GAChB,YAAY,GAAGC,KAAmB;GACnC;EACF;CACD,IAAI;EACF,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,qBAAqB;GACjC,gBAAgB;GACjB;EACF;CACD,MAAM;EACJ,eAAe;EACf,SAAS,YAAY;GAEnB,MAAM,eAAe,MAAM,WAAW,CAAC,KAAK,QAAQ,GAAG;AACvD,OAAI,aACF,QAAO;IACL,YAAY,sBAAsB;IAClC,aAAa;IACb,cAAc;IACd,GAAG,oBAAoB,aAAa;IACrC;GAEH,MAAM,iBAAiB,MAAM,6BAA6B,CAAC,KACzD,QACD,EAAE;AACH,OAAI,eACF,QAAO;IACL,YAAY,sBAAsB;IAClC,aAAa;IACb,cAAc,eAAe;IAC7B,GAAG,oBAAoB,eAAe,QAAQ;IAC/C;GAEH,MAAM,sBAAsB,MAAM,kCAAkC,CAAC,KACnE,QACD,EAAE;AACH,OAAI,oBACF,QAAO;IACL,YAAY,sBAAsB;IAClC,aAAa;IACb,cAAc,oBAAoB;IAClC,GAAG,oBAAoB,oBAAoB,QAAQ;IACpD;GAEH,MAAM,oBAAoB,MAAM,6BAA6B,CAAC,KAC5D,QACD,EAAE;AACH,OAAI,kBACF,QAAO;IACL,YAAY,sBAAsB;IAClC,aAAa;IACb,cAAc,kBAAkB;IAChC,GAAG,oBAAoB,kBAAkB,QAAQ;IAClD;GAEH,MAAM,qBAAqB,MAAM,8BAA8B,CAAC,KAC9D,QACD,EAAE;AACH,OAAI,mBACF,QAAO;IACL,YAAY,sBAAsB;IAClC,aAAa;IACb,cAAc,mBAAmB;IACjC,GAAG,oBAAoB,mBAAmB,QAAQ;IACnD;GAEH,MAAM,iBAAiB,MAAM,0BAA0B,CAAC,KACtD,QACD,EAAE;AACH,OAAI,eACF,QAAO;IACL,YAAY,sBAAsB;IAClC,aAAa;IACb,cAAc,eAAe;IAC7B,GAAG,oBAAoB,eAAe,QAAQ;IAC/C;GAEH,MAAM,0BAA0B,MAC9B,oCACD,CAAC,KAAK,QAAQ,EAAE;AACjB,OAAI,wBACF,QAAO;IACL,YAAY,sBAAsB;IAClC,aAAa;IACb,cAAc,wBAAwB;IACtC,GAAG,oBAAoB,wBAAwB,QAAQ;IACxD;;EAKN;CACD,MAAM;EACJ,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,sBAAsB;GACnC;EACF;CACD,QAAQ;EACN,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,qBAAqB;GACjC,gBAAgB;GACjB;EACF;CACD,MAAM;EACJ,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,sBAAsB;GAClC,YAAYC;GACb;EACF;CACD,MAAM;EACJ,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,qBAAqB;GAClC;EACF;CACD,OAAO;EACL,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,KAAK;EACH,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,qBAAqB;GAClC;EACF;CACF;AAED,MAAM,sBAAyD;CAC7D,YAAY;EACV,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,OAAO;EACL,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,WAAW;EACT,eAAe;EACf,QAAQ;GACN,YAAY,qBAAqB;GACjC,aAAa;GACd;EACF;CACD,aAAa;EACX,eAAe;EACf,QAAQ;GACN,YAAY,yBAAyB;GACrC,aAAa;GACb,gBAAgB;GACjB;EACF;CACD,KAAK;EACH,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,OAAO;EACL,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,QAAQ;EACN,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,WAAW;EACT,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,OAAO;EACL,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACtC;EACF;CACD,QAAQ;EACN,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,IAAI;EACF,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,iBAAiB;EACf,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,UAAU;EACR,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,IAAI;EACF,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,IAAI;EACF,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,OAAO;EACL,eAAe;EACf,SAAS,YAAY;GACnB,MAAM,gBAAgB,4BAA4B,KAAK,QAAQ,EAAE;AACjE,OAAI,cACF,QAAO;IACL,YAAY,qBAAqB;IACjC,aAAa;IACb,cAAc,cAAc;IAC7B;;EAKN;CACD,UAAU;EACR,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,YAAY;EACV,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,QAAQ;EACN,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,KAAK;EACH,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,cAAc;GAC3B;EACF;CACD,UAAU;EACR,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,SAAS;EACP,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,QAAQ;EACN,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,MAAM;EACJ,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACtC;EACF;CACD,KAAK;EACH,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACtC;EACF;CACD,UAAU;EACR,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACtC;EACF;CACD,QAAQ;EACN,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,MAAM;EACJ,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,cAAc;GAC3B;EACF;CACD,OAAO;EACL,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACtC;EACF;CACD,MAAM;EACJ,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACtC;EACF;CACD,OAAO;EACL,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACtC;EACF;CACD,YAAY;EACV,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,QAAQ;EACN,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,MAAM;EACJ,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,QAAQ;EACN,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,qBAAqB;GACjC,gBAAgB;GACjB;EACF;CACD,QAAQ;EACN,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,aAAa;EACX,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACtC;EACF;CACD,WAAW;EACT,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACtC;EACF;CACD,OAAO;EACL,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACtC;EACF;CACD,MAAM;EACJ,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACtC;EACF;CACD,YAAY;EACV,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,MAAM;EACJ,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,MAAM;EACJ,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,OAAO;EACL,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,yBAAyB;GACrC,gBAAgB;GACjB;EACF;CACD,MAAM;EACJ,eAAe;EACf,QAAQ;GACN,aAAa;GACb,YAAY,cAAc;GAC3B;EACF;CACF;AAED,MAAa,cAAiD;CAC5D,GAAG;CACH,GAAG;CACJ"}
@@ -28,7 +28,7 @@ declare const GithubVulnerabilityAlerts: z.ZodEffects<z.ZodEffects<z.ZodArray<z.
28
28
  security_vulnerability: {
29
29
  severity: "low" | "medium" | "high" | "critical";
30
30
  package: {
31
- ecosystem: "composer" | "maven" | "npm" | "rust" | "go" | "nuget" | "actions" | "pip" | "rubygems";
31
+ ecosystem: "composer" | "maven" | "npm" | "rust" | "go" | "actions" | "nuget" | "pip" | "rubygems";
32
32
  name: string;
33
33
  };
34
34
  vulnerable_version_range: string;
@@ -67,7 +67,7 @@ declare const GithubVulnerabilityAlerts: z.ZodEffects<z.ZodEffects<z.ZodArray<z.
67
67
  security_vulnerability: {
68
68
  severity: "low" | "medium" | "high" | "critical";
69
69
  package: {
70
- ecosystem: "composer" | "maven" | "npm" | "rust" | "go" | "nuget" | "actions" | "pip" | "rubygems";
70
+ ecosystem: "composer" | "maven" | "npm" | "rust" | "go" | "actions" | "nuget" | "pip" | "rubygems";
71
71
  name: string;
72
72
  };
73
73
  vulnerable_version_range: string;
@@ -2,16 +2,11 @@ import { NO_VULNERABILITY_ALERTS } from "../../../constants/error-messages.js";
2
2
  import { escapeRegExp, regEx } from "../../../util/regex.js";
3
3
  import { titleCase } from "../../../util/string.js";
4
4
  import { logger } from "../../../logger/index.js";
5
- import { id } from "../../../modules/versioning/pep440/index.js";
6
5
  import { GithubTagsDatasource } from "../../../modules/datasource/github-tags/index.js";
7
- import { id as id$1 } from "../../../modules/versioning/maven/index.js";
8
6
  import { MavenDatasource } from "../../../modules/datasource/maven/index.js";
9
- import { id as id$2 } from "../../../modules/versioning/semver/index.js";
10
7
  import { NugetDatasource } from "../../../modules/datasource/nuget/index.js";
11
- import "../../../modules/versioning/npm/index.js";
12
- import { id as id$3 } from "../../../modules/versioning/ruby/index.js";
13
- import { id as id$4 } from "../../../modules/versioning/composer/index.js";
14
8
  import { get } from "../../../modules/versioning/index.js";
9
+ import { getDefaultVersioning } from "../../../modules/datasource/common.js";
15
10
  import { getHighestVulnerabilitySeverity } from "../../../util/vulnerability/utils.js";
16
11
  import { platform } from "../../../modules/platform/index.js";
17
12
  import { sanitizeMarkdown } from "../../../util/markdown.js";
@@ -31,16 +26,6 @@ async function detectVulnerabilityAlerts(input) {
31
26
  return input;
32
27
  }
33
28
  const config = { ...input };
34
- const versionings = {
35
- "github-tags": id$2,
36
- go: id$2,
37
- packagist: id$4,
38
- maven: id$1,
39
- npm: "npm",
40
- nuget: id$2,
41
- pypi: id,
42
- rubygems: id$3
43
- };
44
29
  const combinedAlerts = {};
45
30
  for (const alert of alerts) try {
46
31
  if (alert.dismissed_reason) continue;
@@ -57,7 +42,7 @@ async function detectVulnerabilityAlerts(input) {
57
42
  const alertDetails = combinedAlerts[datasource][depName];
58
43
  alertDetails.advisories.push(advisory);
59
44
  alertDetails.severity = getHighestVulnerabilitySeverity({ vulnerabilitySeverity: alertDetails.severity }, { vulnerabilitySeverity: alert.security_vulnerability.severity });
60
- const versioningApi = get(versionings[datasource]);
45
+ const versioningApi = get(getDefaultVersioning(datasource));
61
46
  if (versioningApi.isVersion(firstPatchedVersion)) {
62
47
  if (!alertDetails.firstPatchedVersion || versioningApi.isGreaterThan(firstPatchedVersion, alertDetails.firstPatchedVersion)) alertDetails.firstPatchedVersion = firstPatchedVersion;
63
48
  } else logger.debug("Invalid firstPatchedVersion: " + firstPatchedVersion);
@@ -71,7 +56,7 @@ async function detectVulnerabilityAlerts(input) {
71
56
  let prBodyNotes = [];
72
57
  try {
73
58
  prBodyNotes = val.advisories.flatMap((advisory) => generatePrBodyNotes(advisory));
74
- } catch (err) /* istanbul ignore next */ {
59
+ } catch (err) /* v8 ignore next */ {
75
60
  logger.warn({ err }, "Error generating vulnerability PR notes");
76
61
  }
77
62
  let matchRule = {
@@ -1 +1 @@
1
- {"version":3,"file":"vulnerability.js","names":["semverVersioning.id","composerVersioning.id","mavenVersioning.id","pep440Versioning.id","rubyVersioning.id","allVersioning.get"],"sources":["../../../../lib/workers/repository/init/vulnerability.ts"],"sourcesContent":["import is from '@sindresorhus/is';\nimport type { PackageRule, RenovateConfig } from '../../../config/types.ts';\nimport { NO_VULNERABILITY_ALERTS } from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { GithubTagsDatasource } from '../../../modules/datasource/github-tags/index.ts';\nimport { MavenDatasource } from '../../../modules/datasource/maven/index.ts';\nimport { NugetDatasource } from '../../../modules/datasource/nuget/index.ts';\nimport type { SecurityAdvisory } from '../../../modules/platform/github/schema.ts';\nimport { platform } from '../../../modules/platform/index.ts';\nimport * as composerVersioning from '../../../modules/versioning/composer/index.ts';\nimport * as allVersioning from '../../../modules/versioning/index.ts';\nimport * as mavenVersioning from '../../../modules/versioning/maven/index.ts';\nimport * as npmVersioning from '../../../modules/versioning/npm/index.ts';\nimport * as pep440Versioning from '../../../modules/versioning/pep440/index.ts';\nimport * as rubyVersioning from '../../../modules/versioning/ruby/index.ts';\nimport * as semverVersioning from '../../../modules/versioning/semver/index.ts';\nimport { sanitizeMarkdown } from '../../../util/markdown.ts';\nimport { escapeRegExp, regEx } from '../../../util/regex.ts';\nimport { titleCase } from '../../../util/string.ts';\nimport { githubEcosystemToDatasource } from '../../../util/vulnerability/ecosystem.ts';\nimport {\n getFixedVersionConstraint,\n getHighestVulnerabilitySeverity,\n} from '../../../util/vulnerability/utils.ts';\n\ntype Datasource = string;\ntype DependencyName = string;\n\ntype CombinedAlert = Record<\n Datasource,\n Record<\n DependencyName,\n {\n advisories: SecurityAdvisory[];\n firstPatchedVersion?: string;\n severity?: string;\n }\n >\n>;\n\nexport function getFixedVersionByDatasource(\n fixedVersion: string,\n datasource: string,\n): string {\n return getFixedVersionConstraint(fixedVersion, datasource);\n}\n\n// TODO can return `null` and `undefined` (#22198)\nexport async function detectVulnerabilityAlerts(\n input: RenovateConfig,\n): Promise<RenovateConfig> {\n if (!input?.vulnerabilityAlerts) {\n return input;\n }\n if (input.vulnerabilityAlerts.enabled === false) {\n logger.debug('Vulnerability alerts are disabled');\n return input;\n }\n const alerts = await platform.getVulnerabilityAlerts?.();\n if (!alerts?.length) {\n logger.debug('No vulnerability alerts found');\n if (input.vulnerabilityAlertsOnly) {\n throw new Error(NO_VULNERABILITY_ALERTS);\n }\n return input;\n }\n const config = { ...input };\n const versionings: Record<string, string> = {\n 'github-tags': semverVersioning.id,\n go: semverVersioning.id,\n packagist: composerVersioning.id,\n maven: mavenVersioning.id,\n npm: npmVersioning.id,\n nuget: semverVersioning.id,\n pypi: pep440Versioning.id,\n rubygems: rubyVersioning.id,\n };\n const combinedAlerts: CombinedAlert = {};\n for (const alert of alerts) {\n try {\n if (alert.dismissed_reason) {\n continue;\n }\n if (!alert.security_vulnerability?.first_patched_version) {\n logger.debug(\n { alert },\n 'Vulnerability alert has no firstPatchedVersion - skipping',\n );\n continue;\n }\n const datasource =\n githubEcosystemToDatasource[\n alert.security_vulnerability.package.ecosystem\n ];\n const depName = alert.security_vulnerability.package.name;\n const firstPatchedVersion =\n alert.security_vulnerability.first_patched_version.identifier;\n const advisory = alert.security_advisory;\n\n combinedAlerts[datasource] ??= {};\n combinedAlerts[datasource][depName] ??= {\n advisories: [],\n };\n const alertDetails = combinedAlerts[datasource][depName];\n alertDetails.advisories.push(advisory);\n alertDetails.severity = getHighestVulnerabilitySeverity(\n { vulnerabilitySeverity: alertDetails.severity },\n { vulnerabilitySeverity: alert.security_vulnerability.severity },\n );\n const versioningApi = allVersioning.get(versionings[datasource]);\n if (versioningApi.isVersion(firstPatchedVersion)) {\n if (\n !alertDetails.firstPatchedVersion ||\n versioningApi.isGreaterThan(\n firstPatchedVersion,\n alertDetails.firstPatchedVersion,\n )\n ) {\n alertDetails.firstPatchedVersion = firstPatchedVersion;\n }\n } else {\n logger.debug('Invalid firstPatchedVersion: ' + firstPatchedVersion);\n }\n } catch (err) {\n logger.warn({ err }, 'Error parsing vulnerability alert');\n }\n }\n const alertPackageRules: PackageRule[] = [];\n config.remediations = {} as never;\n for (const [datasource, dependencies] of Object.entries(combinedAlerts)) {\n for (const [depName, val] of Object.entries(dependencies)) {\n if (!val.firstPatchedVersion) {\n continue;\n }\n\n let prBodyNotes: string[] = [];\n try {\n prBodyNotes = val.advisories.flatMap((advisory) =>\n generatePrBodyNotes(advisory),\n );\n } catch (err) /* istanbul ignore next */ {\n logger.warn({ err }, 'Error generating vulnerability PR notes');\n }\n let matchRule: PackageRule = {\n matchDatasources: [datasource],\n matchPackageNames: [depName],\n };\n\n let matchCurrentVersion = `< ${val.firstPatchedVersion}`;\n if (\n datasource === MavenDatasource.id ||\n datasource === NugetDatasource.id\n ) {\n matchCurrentVersion = `(,${val.firstPatchedVersion})`;\n } else if (datasource === GithubTagsDatasource.id) {\n matchCurrentVersion = `!/^${escapeRegExp(val.firstPatchedVersion)}$/`;\n }\n\n matchRule = {\n ...matchRule,\n matchCurrentVersion,\n vulnerabilityFixVersion: val.firstPatchedVersion,\n vulnerabilitySeverity: val.severity,\n prBodyNotes,\n isVulnerabilityAlert: true,\n force: {\n ...config.vulnerabilityAlerts,\n },\n };\n alertPackageRules.push(matchRule);\n }\n }\n logger.debug({ alertPackageRules }, 'alert package rules');\n config.packageRules = (config.packageRules ?? []).concat(alertPackageRules);\n return config;\n}\n\nfunction generatePrBodyNotes(advisory: SecurityAdvisory): string[] {\n const aliases = advisory.identifiers\n .map((id) => id.value)\n .sort()\n .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 return id;\n });\n\n let content = '\\n\\n---\\n\\n### ';\n content += `${advisory.summary}\\n`;\n content += `${aliases.join(' / ')}\\n`;\n content += `\\n<details>\\n<summary>More information</summary>\\n`;\n\n const details = advisory.description.replace(regEx(/^#{1,4} /gm), '##### ');\n content += `#### Details\\n${details}\\n`;\n\n content += '#### Severity\\n';\n const { cvss_v4, cvss_v3 } = advisory.cvss_severities ?? {};\n const cvss = cvss_v4?.vector_string ? cvss_v4 : cvss_v3;\n if (is.number(cvss?.score) && cvss?.vector_string) {\n content += `- CVSS Score: ${cvss.score.toFixed(1)} / 10 (${titleCase(advisory.severity)})\\n`;\n content += `- Vector String: \\`${cvss.vector_string}\\`\\n`;\n } else {\n content += `${titleCase(advisory.severity)}\\n`;\n }\n\n content += `\\n#### References\\n${\n advisory.references\n ?.map((ref) => `- [${ref.url}](${ref.url})`)\n .join('\\n') ?? 'No references.'\n }`;\n\n content += `\\n\\nThis data is provided by the [GitHub Advisory Database](https://github.com/advisories/${advisory.ghsa_id}) ([CC-BY 4.0](https://github.com/github/advisory-database/blob/main/LICENSE.md)).\\n`;\n content += `</details>`;\n\n return [sanitizeMarkdown(content)];\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"vulnerability.js","names":["allVersioning.get"],"sources":["../../../../lib/workers/repository/init/vulnerability.ts"],"sourcesContent":["import is from '@sindresorhus/is';\nimport type { PackageRule, RenovateConfig } from '../../../config/types.ts';\nimport { NO_VULNERABILITY_ALERTS } from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { getDefaultVersioning } from '../../../modules/datasource/common.ts';\nimport { GithubTagsDatasource } from '../../../modules/datasource/github-tags/index.ts';\nimport { MavenDatasource } from '../../../modules/datasource/maven/index.ts';\nimport { NugetDatasource } from '../../../modules/datasource/nuget/index.ts';\nimport type { SecurityAdvisory } from '../../../modules/platform/github/schema.ts';\nimport { platform } from '../../../modules/platform/index.ts';\nimport * as allVersioning from '../../../modules/versioning/index.ts';\nimport { sanitizeMarkdown } from '../../../util/markdown.ts';\nimport { escapeRegExp, regEx } from '../../../util/regex.ts';\nimport { titleCase } from '../../../util/string.ts';\nimport { githubEcosystemToDatasource } from '../../../util/vulnerability/ecosystem.ts';\nimport {\n getFixedVersionConstraint,\n getHighestVulnerabilitySeverity,\n} from '../../../util/vulnerability/utils.ts';\n\ntype Datasource = string;\ntype DependencyName = string;\n\ntype CombinedAlert = Record<\n Datasource,\n Record<\n DependencyName,\n {\n advisories: SecurityAdvisory[];\n firstPatchedVersion?: string;\n severity?: string;\n }\n >\n>;\n\nexport function getFixedVersionByDatasource(\n fixedVersion: string,\n datasource: string,\n): string {\n return getFixedVersionConstraint(fixedVersion, datasource);\n}\n\n// TODO can return `null` and `undefined` (#22198)\nexport async function detectVulnerabilityAlerts(\n input: RenovateConfig,\n): Promise<RenovateConfig> {\n if (!input?.vulnerabilityAlerts) {\n return input;\n }\n if (input.vulnerabilityAlerts.enabled === false) {\n logger.debug('Vulnerability alerts are disabled');\n return input;\n }\n const alerts = await platform.getVulnerabilityAlerts?.();\n if (!alerts?.length) {\n logger.debug('No vulnerability alerts found');\n if (input.vulnerabilityAlertsOnly) {\n throw new Error(NO_VULNERABILITY_ALERTS);\n }\n return input;\n }\n const config = { ...input };\n const combinedAlerts: CombinedAlert = {};\n for (const alert of alerts) {\n try {\n if (alert.dismissed_reason) {\n continue;\n }\n if (!alert.security_vulnerability?.first_patched_version) {\n logger.debug(\n { alert },\n 'Vulnerability alert has no firstPatchedVersion - skipping',\n );\n continue;\n }\n const datasource =\n githubEcosystemToDatasource[\n alert.security_vulnerability.package.ecosystem\n ];\n const depName = alert.security_vulnerability.package.name;\n const firstPatchedVersion =\n alert.security_vulnerability.first_patched_version.identifier;\n const advisory = alert.security_advisory;\n\n combinedAlerts[datasource] ??= {};\n combinedAlerts[datasource][depName] ??= {\n advisories: [],\n };\n const alertDetails = combinedAlerts[datasource][depName];\n alertDetails.advisories.push(advisory);\n alertDetails.severity = getHighestVulnerabilitySeverity(\n { vulnerabilitySeverity: alertDetails.severity },\n { vulnerabilitySeverity: alert.security_vulnerability.severity },\n );\n const versioningApi = allVersioning.get(getDefaultVersioning(datasource));\n if (versioningApi.isVersion(firstPatchedVersion)) {\n if (\n !alertDetails.firstPatchedVersion ||\n versioningApi.isGreaterThan(\n firstPatchedVersion,\n alertDetails.firstPatchedVersion,\n )\n ) {\n alertDetails.firstPatchedVersion = firstPatchedVersion;\n }\n } else {\n logger.debug('Invalid firstPatchedVersion: ' + firstPatchedVersion);\n }\n } catch (err) {\n logger.warn({ err }, 'Error parsing vulnerability alert');\n }\n }\n const alertPackageRules: PackageRule[] = [];\n config.remediations = {} as never;\n for (const [datasource, dependencies] of Object.entries(combinedAlerts)) {\n for (const [depName, val] of Object.entries(dependencies)) {\n if (!val.firstPatchedVersion) {\n continue;\n }\n\n let prBodyNotes: string[] = [];\n try {\n prBodyNotes = val.advisories.flatMap((advisory) =>\n generatePrBodyNotes(advisory),\n );\n } catch (err) /* v8 ignore next */ {\n logger.warn({ err }, 'Error generating vulnerability PR notes');\n }\n let matchRule: PackageRule = {\n matchDatasources: [datasource],\n matchPackageNames: [depName],\n };\n\n let matchCurrentVersion = `< ${val.firstPatchedVersion}`;\n if (\n datasource === MavenDatasource.id ||\n datasource === NugetDatasource.id\n ) {\n matchCurrentVersion = `(,${val.firstPatchedVersion})`;\n } else if (datasource === GithubTagsDatasource.id) {\n matchCurrentVersion = `!/^${escapeRegExp(val.firstPatchedVersion)}$/`;\n }\n\n matchRule = {\n ...matchRule,\n matchCurrentVersion,\n vulnerabilityFixVersion: val.firstPatchedVersion,\n vulnerabilitySeverity: val.severity,\n prBodyNotes,\n isVulnerabilityAlert: true,\n force: {\n ...config.vulnerabilityAlerts,\n },\n };\n alertPackageRules.push(matchRule);\n }\n }\n logger.debug({ alertPackageRules }, 'alert package rules');\n config.packageRules = (config.packageRules ?? []).concat(alertPackageRules);\n return config;\n}\n\nfunction generatePrBodyNotes(advisory: SecurityAdvisory): string[] {\n const aliases = advisory.identifiers\n .map((id) => id.value)\n .sort()\n .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 return id;\n });\n\n let content = '\\n\\n---\\n\\n### ';\n content += `${advisory.summary}\\n`;\n content += `${aliases.join(' / ')}\\n`;\n content += `\\n<details>\\n<summary>More information</summary>\\n`;\n\n const details = advisory.description.replace(regEx(/^#{1,4} /gm), '##### ');\n content += `#### Details\\n${details}\\n`;\n\n content += '#### Severity\\n';\n const { cvss_v4, cvss_v3 } = advisory.cvss_severities ?? {};\n const cvss = cvss_v4?.vector_string ? cvss_v4 : cvss_v3;\n if (is.number(cvss?.score) && cvss?.vector_string) {\n content += `- CVSS Score: ${cvss.score.toFixed(1)} / 10 (${titleCase(advisory.severity)})\\n`;\n content += `- Vector String: \\`${cvss.vector_string}\\`\\n`;\n } else {\n content += `${titleCase(advisory.severity)}\\n`;\n }\n\n content += `\\n#### References\\n${\n advisory.references\n ?.map((ref) => `- [${ref.url}](${ref.url})`)\n .join('\\n') ?? 'No references.'\n }`;\n\n content += `\\n\\nThis data is provided by the [GitHub Advisory Database](https://github.com/advisories/${advisory.ghsa_id}) ([CC-BY 4.0](https://github.com/github/advisory-database/blob/main/LICENSE.md)).\\n`;\n content += `</details>`;\n\n return [sanitizeMarkdown(content)];\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "renovate",
3
3
  "description": "Automated dependency updates. Flexible so you don't need to be.",
4
- "version": "43.134.0",
4
+ "version": "43.135.0",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "renovate": "dist/renovate.js",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$id": "https://docs.renovatebot.com/renovate-schema.json",
3
- "title": "JSON schema for Renovate 43.134.0 config files (https://renovatebot.com/)",
3
+ "title": "JSON schema for Renovate 43.135.0 config files (https://renovatebot.com/)",
4
4
  "$schema": "http://json-schema.org/draft-07/schema#",
5
- "x-renovate-version": "43.134.0",
5
+ "x-renovate-version": "43.135.0",
6
6
  "allowComments": true,
7
7
  "type": "object",
8
8
  "properties": {