renovate 41.31.0 → 41.32.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.
Files changed (45) hide show
  1. package/dist/config/options/index.js +1 -1
  2. package/dist/config/options/index.js.map +1 -1
  3. package/dist/logger/cmd-serializer.js +2 -1
  4. package/dist/logger/cmd-serializer.js.map +1 -1
  5. package/dist/logger/err-serializer.js +2 -2
  6. package/dist/logger/err-serializer.js.map +1 -1
  7. package/dist/logger/pretty-stdout.js +2 -1
  8. package/dist/logger/pretty-stdout.js.map +1 -1
  9. package/dist/logger/utils.js +1 -1
  10. package/dist/logger/utils.js.map +1 -1
  11. package/dist/modules/datasource/conan/index.js +2 -1
  12. package/dist/modules/datasource/conan/index.js.map +1 -1
  13. package/dist/modules/datasource/gradle-version/index.js +2 -1
  14. package/dist/modules/datasource/gradle-version/index.js.map +1 -1
  15. package/dist/modules/datasource/hexpm-bob/index.js +2 -1
  16. package/dist/modules/datasource/hexpm-bob/index.js.map +1 -1
  17. package/dist/modules/manager/bazel/artifacts.js +2 -2
  18. package/dist/modules/manager/bazel/artifacts.js.map +1 -1
  19. package/dist/modules/manager/conan/extract.js +2 -2
  20. package/dist/modules/manager/conan/extract.js.map +1 -1
  21. package/dist/modules/manager/cpanfile/parser.js +2 -1
  22. package/dist/modules/manager/cpanfile/parser.js.map +1 -1
  23. package/dist/modules/manager/crossplane/schema.js +2 -1
  24. package/dist/modules/manager/crossplane/schema.js.map +1 -1
  25. package/dist/modules/manager/mise/upgradeable-tooling.js +8 -7
  26. package/dist/modules/manager/mise/upgradeable-tooling.js.map +1 -1
  27. package/dist/modules/manager/pip_setup/extract.js +1 -1
  28. package/dist/modules/manager/pip_setup/extract.js.map +1 -1
  29. package/dist/modules/manager/poetry/artifacts.js +1 -1
  30. package/dist/modules/manager/poetry/artifacts.js.map +1 -1
  31. package/dist/modules/manager/vendir/schema.js +3 -2
  32. package/dist/modules/manager/vendir/schema.js.map +1 -1
  33. package/dist/modules/versioning/maven/compare.js +1 -1
  34. package/dist/modules/versioning/maven/compare.js.map +1 -1
  35. package/dist/modules/versioning/perl/index.js +1 -1
  36. package/dist/modules/versioning/perl/index.js.map +1 -1
  37. package/dist/util/template/index.d.ts +1 -0
  38. package/dist/util/template/index.js +1 -0
  39. package/dist/util/template/index.js.map +1 -1
  40. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +3 -0
  41. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
  42. package/dist/workers/repository/update/pr/body/index.js +3 -0
  43. package/dist/workers/repository/update/pr/body/index.js.map +1 -1
  44. package/package.json +2 -2
  45. package/renovate-schema.json +1 -1
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.miseTooling = exports.asdfTooling = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const regex_1 = require("../../../util/regex");
5
6
  const github_releases_1 = require("../../datasource/github-releases");
6
7
  const github_tags_1 = require("../../datasource/github-tags");
7
8
  const hexpm_bob_1 = require("../../datasource/hexpm-bob");
@@ -56,7 +57,7 @@ const miseCoreTooling = {
56
57
  misePluginUrl: 'https://mise.jdx.dev/lang/java.html',
57
58
  config: (version) => {
58
59
  // no prefix is shorthand for openjdk
59
- const versionMatch = /^(\d\S+)/.exec(version)?.[1];
60
+ const versionMatch = (0, regex_1.regEx)(/^(\d\S+)/).exec(version)?.[1];
60
61
  if (versionMatch) {
61
62
  return {
62
63
  datasource: java_version_1.JavaVersionDatasource.id,
@@ -64,7 +65,7 @@ const miseCoreTooling = {
64
65
  currentValue: versionMatch,
65
66
  };
66
67
  }
67
- const openJdkMatches = /^openjdk-(?<version>\d\S+)/.exec(version)?.groups;
68
+ const openJdkMatches = (0, regex_1.regEx)(/^openjdk-(?<version>\d\S+)/).exec(version)?.groups;
68
69
  if (openJdkMatches) {
69
70
  return {
70
71
  datasource: java_version_1.JavaVersionDatasource.id,
@@ -72,7 +73,7 @@ const miseCoreTooling = {
72
73
  currentValue: openJdkMatches.version,
73
74
  };
74
75
  }
75
- const adoptOpenJdkMatches = /^adoptopenjdk-(?<version>\d\S+)/.exec(version)?.groups;
76
+ const adoptOpenJdkMatches = (0, regex_1.regEx)(/^adoptopenjdk-(?<version>\d\S+)/).exec(version)?.groups;
76
77
  if (adoptOpenJdkMatches) {
77
78
  return {
78
79
  datasource: java_version_1.JavaVersionDatasource.id,
@@ -80,7 +81,7 @@ const miseCoreTooling = {
80
81
  currentValue: adoptOpenJdkMatches.version,
81
82
  };
82
83
  }
83
- const temurinJdkMatches = /^temurin-(?<version>\d\S+)/.exec(version)?.groups;
84
+ const temurinJdkMatches = (0, regex_1.regEx)(/^temurin-(?<version>\d\S+)/).exec(version)?.groups;
84
85
  if (temurinJdkMatches) {
85
86
  return {
86
87
  datasource: java_version_1.JavaVersionDatasource.id,
@@ -88,7 +89,7 @@ const miseCoreTooling = {
88
89
  currentValue: temurinJdkMatches.version,
89
90
  };
90
91
  }
91
- const correttoJdkMatches = /^corretto-(?<version>\d\S+)/.exec(version)?.groups;
92
+ const correttoJdkMatches = (0, regex_1.regEx)(/^corretto-(?<version>\d\S+)/).exec(version)?.groups;
92
93
  if (correttoJdkMatches) {
93
94
  return {
94
95
  datasource: java_version_1.JavaVersionDatasource.id,
@@ -96,7 +97,7 @@ const miseCoreTooling = {
96
97
  currentValue: correttoJdkMatches.version,
97
98
  };
98
99
  }
99
- const zuluJdkMatches = /^zulu-(?<version>\d\S+)/.exec(version)?.groups;
100
+ const zuluJdkMatches = (0, regex_1.regEx)(/^zulu-(?<version>\d\S+)/).exec(version)?.groups;
100
101
  if (zuluJdkMatches) {
101
102
  return {
102
103
  datasource: java_version_1.JavaVersionDatasource.id,
@@ -104,7 +105,7 @@ const miseCoreTooling = {
104
105
  currentValue: zuluJdkMatches.version,
105
106
  };
106
107
  }
107
- const oracleGraalvmJdkMatches = /^oracle-graalvm-(?<version>\d\S+)/.exec(version)?.groups;
108
+ const oracleGraalvmJdkMatches = (0, regex_1.regEx)(/^oracle-graalvm-(?<version>\d\S+)/).exec(version)?.groups;
108
109
  if (oracleGraalvmJdkMatches) {
109
110
  return {
110
111
  datasource: java_version_1.JavaVersionDatasource.id,
@@ -1 +1 @@
1
- {"version":3,"file":"upgradeable-tooling.js","sourceRoot":"","sources":["../../../../lib/modules/manager/mise/upgradeable-tooling.ts"],"names":[],"mappings":"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","sourcesContent":["import { GithubReleasesDatasource } from '../../datasource/github-releases';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport { HexpmBobDatasource } from '../../datasource/hexpm-bob';\nimport { JavaVersionDatasource } from '../../datasource/java-version';\nimport { NodeVersionDatasource } from '../../datasource/node-version';\nimport { RubyVersionDatasource } from '../../datasource/ruby-version';\nimport * as regexVersioning from '../../versioning/regex';\nimport * as semverVersioning from '../../versioning/semver';\nimport type { ToolingConfig } from '../asdf/upgradeable-tooling';\nimport { upgradeableTooling } from '../asdf/upgradeable-tooling';\n\nexport interface ToolingDefinition {\n config: ToolingConfig;\n misePluginUrl?: string;\n}\n\nexport const asdfTooling = upgradeableTooling;\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 = /^(\\d\\S+)/.exec(version)?.[1];\n if (versionMatch) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: versionMatch,\n };\n }\n const openJdkMatches = /^openjdk-(?<version>\\d\\S+)/.exec(version)?.groups;\n if (openJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: openJdkMatches.version,\n };\n }\n const adoptOpenJdkMatches = /^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 };\n }\n const temurinJdkMatches = /^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 };\n }\n const correttoJdkMatches = /^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 };\n }\n const zuluJdkMatches = /^zulu-(?<version>\\d\\S+)/.exec(version)?.groups;\n if (zuluJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: zuluJdkMatches.version,\n };\n }\n const oracleGraalvmJdkMatches = /^oracle-graalvm-(?<version>\\d\\S+)/.exec(\n version,\n )?.groups;\n if (oracleGraalvmJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: 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: 'nodejs',\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 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 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 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 jq: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'jqlang/jq',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^jq-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 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 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 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 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 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 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};\n\nexport const miseTooling: Record<string, ToolingDefinition> = {\n ...miseCoreTooling,\n ...miseRegistryTooling,\n};\n"]}
1
+ {"version":3,"file":"upgradeable-tooling.js","sourceRoot":"","sources":["../../../../lib/modules/manager/mise/upgradeable-tooling.ts"],"names":[],"mappings":"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","sourcesContent":["import { regEx } from '../../../util/regex';\nimport { GithubReleasesDatasource } from '../../datasource/github-releases';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport { HexpmBobDatasource } from '../../datasource/hexpm-bob';\nimport { JavaVersionDatasource } from '../../datasource/java-version';\nimport { NodeVersionDatasource } from '../../datasource/node-version';\nimport { RubyVersionDatasource } from '../../datasource/ruby-version';\nimport * as regexVersioning from '../../versioning/regex';\nimport * as semverVersioning from '../../versioning/semver';\nimport type { ToolingConfig } from '../asdf/upgradeable-tooling';\nimport { upgradeableTooling } from '../asdf/upgradeable-tooling';\n\nexport interface ToolingDefinition {\n config: ToolingConfig;\n misePluginUrl?: string;\n}\n\nexport const asdfTooling = upgradeableTooling;\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 };\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 };\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 };\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 };\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 };\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 };\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 };\n }\n\n return undefined;\n },\n },\n node: {\n misePluginUrl: 'https://mise.jdx.dev/lang/node.html',\n config: {\n packageName: 'nodejs',\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 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 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 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 jq: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'jqlang/jq',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^jq-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 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 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 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 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 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 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};\n\nexport const miseTooling: Record<string, ToolingDefinition> = {\n ...miseCoreTooling,\n ...miseRegistryTooling,\n};\n"]}
@@ -51,7 +51,7 @@ function depSkipHandler(ctx) {
51
51
  }
52
52
  const incompleteDepString = good_enough_parser_1.query
53
53
  .str(new RegExp(cleanupNamedGroups(depPattern)))
54
- .op(/^\+|\*$/);
54
+ .op((0, regex_1.regEx)(/^\+|\*$/));
55
55
  const depString = good_enough_parser_1.query
56
56
  .str(new RegExp(cleanupNamedGroups(depPattern)), depStringHandler)
57
57
  .opt(good_enough_parser_1.query
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/pip_setup/extract.ts"],"names":[],"mappings":";;AAuFA,gDAOC;AA9FD,gDAAoD;AAEpD,2DAAsD;AACtD,+CAA4C;AAC5C,gDAAuD;AACvD,yDAAsE;AAatE,MAAM,MAAM,GAAG,yBAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAEzC,8DAA8D;AAC9D,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,OAAO,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,sBAAa,CAAC,CAAC;AACvD,MAAM,cAAc,GAAG,MAAM,YAAY,eAAe,YAAY,KAAK,CAAC;AAC1E,MAAM,cAAc,GAAG,0CAA0C,CAAC;AAClE,MAAM,UAAU,GAAG;IACjB,GAAG;IACH,cAAc,cAAc,GAAG;IAC/B,yBAAyB,cAAc,eAAe,cAAc,eAAe;IACnF,mBAAmB,cAAc,GAAG;CACrC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAEf,MAAM,YAAY,GAAG,IAAA,aAAK,EAAC,UAAU,CAAC,CAAC;AAEvC,4BAA4B;AAC5B,SAAS,gBAAgB,CACvB,GAAY,EACZ,KAA6B;IAE7B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;IAC3B,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,cAAc;IACd,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,KAAM,CAAC,MAAO,CAAC;IAEjD,MAAM,GAAG,GAAmC;QAC1C,OAAO;QACP,WAAW,EAAE,IAAA,+BAAsB,EAAC,OAAO,CAAC;QAC5C,YAAY;QACZ,WAAW,EAAE;YACX,UAAU,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC;SAC3B;QACD,UAAU,EAAE,qBAAc,CAAC,EAAE;KAC9B,CAAC;IAEF,IAAI,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,IAAA,aAAK,EAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;AAC9C,CAAC;AAED,+CAA+C;AAC/C,oCAAoC;AACpC,SAAS,cAAc,CAAC,GAAY;IAClC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7C,OAAO,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,mBAAmB,GAAG,0BAAC;KAC1B,GAAG,CAAU,IAAI,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;KACxD,EAAE,CAAC,SAAS,CAAC,CAAC;AAEjB,MAAM,SAAS,GAAG,0BAAC;KAChB,GAAG,CAAU,IAAI,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,EAAE,gBAAgB,CAAC;KAC1E,GAAG,CACF,0BAAC;KACE,GAAG,CAAC,0BAAC,CAAC,EAAE,CAAU,GAAG,CAAC,CAAC;KACvB,OAAO,CAAC,gCAAgC,EAAE,cAAc,CAAC,CAC7D,CAAC;AAEJ,MAAM,KAAK,GAAG,0BAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;AAEpD,SAAgB,kBAAkB,CAChC,OAAe,EACf,YAAoB,EACpB,OAAsB;IAEtB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAuB,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7E,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC","sourcesContent":["import { RANGE_PATTERN } from '@renovatebot/pep440';\nimport type { lexer, parser } from 'good-enough-parser';\nimport { lang, query as q } from 'good-enough-parser';\nimport { regEx } from '../../../util/regex';\nimport { PypiDatasource } from '../../datasource/pypi';\nimport { normalizePythonDepName } from '../../datasource/pypi/common';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\n\ninterface ManagerData {\n lineNumber: number;\n}\n\ntype Context = PackageFileContent<ManagerData>;\n\nconst python = lang.createLang('python');\n\n// Optimize regex memory usage when we don't need named groups\nfunction cleanupNamedGroups(regexSource: string): string {\n return regexSource.replace(/\\(\\?<\\w+>/g, '(?:');\n}\n\nconst rangePattern = cleanupNamedGroups(RANGE_PATTERN);\nconst versionPattern = `(?:${rangePattern}(?:\\\\s*,\\\\s*${rangePattern})*)`;\nconst depNamePattern = '(?:[a-zA-Z][-_a-zA-Z0-9\\\\.]*[a-zA-Z0-9])';\nconst depPattern = [\n '^',\n `(?<depName>${depNamePattern})`,\n `(?<extra>(?:\\\\[\\\\s*(?:${depNamePattern}(?:\\\\s*,\\\\s*${depNamePattern})*\\\\s*)\\\\])?)`,\n `(?<currentValue>${versionPattern})`,\n].join('\\\\s*');\n\nconst extractRegex = regEx(depPattern);\n\n// Extract dependency string\nfunction depStringHandler(\n ctx: Context,\n token: lexer.StringValueToken,\n): Context {\n const depStr = token.value;\n const match = extractRegex.exec(depStr);\n // TODO #22198\n const { depName, currentValue } = match!.groups!;\n\n const dep: PackageDependency<ManagerData> = {\n depName,\n packageName: normalizePythonDepName(depName),\n currentValue,\n managerData: {\n lineNumber: token.line - 1,\n },\n datasource: PypiDatasource.id,\n };\n\n if (currentValue?.startsWith('==')) {\n dep.currentVersion = currentValue.replace(regEx(/^==\\s*/), '');\n }\n\n return { ...ctx, deps: [...ctx.deps, dep] };\n}\n\n// Add `skip-reason` for dependencies annotated\n// with \"# renovate: ignore\" comment\nfunction depSkipHandler(ctx: Context): Context {\n const dep = ctx.deps[ctx.deps.length - 1];\n const deps = ctx.deps.slice(0, -1);\n deps.push({ ...dep, skipReason: 'ignored' });\n return { ...ctx, deps };\n}\n\nconst incompleteDepString = q\n .str<Context>(new RegExp(cleanupNamedGroups(depPattern)))\n .op(/^\\+|\\*$/);\n\nconst depString = q\n .str<Context>(new RegExp(cleanupNamedGroups(depPattern)), depStringHandler)\n .opt(\n q\n .opt(q.op<Context>(','))\n .comment(/^#\\s*renovate\\s*:\\s*ignore\\s*$/, depSkipHandler),\n );\n\nconst query = q.alt(incompleteDepString, depString);\n\nexport function extractPackageFile(\n content: string,\n _packageFile: string,\n _config: ExtractConfig,\n): PackageFileContent | null {\n const res = python.query<Context, parser.Node>(content, query, { deps: [] });\n return res?.deps?.length ? res : null;\n}\n"]}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/pip_setup/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import { RANGE_PATTERN } from '@renovatebot/pep440';\nimport type { lexer, parser } from 'good-enough-parser';\nimport { lang, query as q } from 'good-enough-parser';\nimport { regEx } from '../../../util/regex';\nimport { PypiDatasource } from '../../datasource/pypi';\nimport { normalizePythonDepName } from '../../datasource/pypi/common';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\n\ninterface ManagerData {\n lineNumber: number;\n}\n\ntype Context = PackageFileContent<ManagerData>;\n\nconst python = lang.createLang('python');\n\n// Optimize regex memory usage when we don't need named groups\nfunction cleanupNamedGroups(regexSource: string): string {\n return regexSource.replace(/\\(\\?<\\w+>/g, '(?:');\n}\n\nconst rangePattern = cleanupNamedGroups(RANGE_PATTERN);\nconst versionPattern = `(?:${rangePattern}(?:\\\\s*,\\\\s*${rangePattern})*)`;\nconst depNamePattern = '(?:[a-zA-Z][-_a-zA-Z0-9\\\\.]*[a-zA-Z0-9])';\nconst depPattern = [\n '^',\n `(?<depName>${depNamePattern})`,\n `(?<extra>(?:\\\\[\\\\s*(?:${depNamePattern}(?:\\\\s*,\\\\s*${depNamePattern})*\\\\s*)\\\\])?)`,\n `(?<currentValue>${versionPattern})`,\n].join('\\\\s*');\n\nconst extractRegex = regEx(depPattern);\n\n// Extract dependency string\nfunction depStringHandler(\n ctx: Context,\n token: lexer.StringValueToken,\n): Context {\n const depStr = token.value;\n const match = extractRegex.exec(depStr);\n // TODO #22198\n const { depName, currentValue } = match!.groups!;\n\n const dep: PackageDependency<ManagerData> = {\n depName,\n packageName: normalizePythonDepName(depName),\n currentValue,\n managerData: {\n lineNumber: token.line - 1,\n },\n datasource: PypiDatasource.id,\n };\n\n if (currentValue?.startsWith('==')) {\n dep.currentVersion = currentValue.replace(regEx(/^==\\s*/), '');\n }\n\n return { ...ctx, deps: [...ctx.deps, dep] };\n}\n\n// Add `skip-reason` for dependencies annotated\n// with \"# renovate: ignore\" comment\nfunction depSkipHandler(ctx: Context): Context {\n const dep = ctx.deps[ctx.deps.length - 1];\n const deps = ctx.deps.slice(0, -1);\n deps.push({ ...dep, skipReason: 'ignored' });\n return { ...ctx, deps };\n}\n\nconst incompleteDepString = q\n .str<Context>(new RegExp(cleanupNamedGroups(depPattern)))\n .op(regEx(/^\\+|\\*$/));\n\nconst depString = q\n .str<Context>(new RegExp(cleanupNamedGroups(depPattern)), depStringHandler)\n .opt(\n q\n .opt(q.op<Context>(','))\n .comment(/^#\\s*renovate\\s*:\\s*ignore\\s*$/, depSkipHandler),\n );\n\nconst query = q.alt(incompleteDepString, depString);\n\nexport function extractPackageFile(\n content: string,\n _packageFile: string,\n _config: ExtractConfig,\n): PackageFileContent | null {\n const res = python.query<Context, parser.Node>(content, query, { deps: [] });\n return res?.deps?.length ? res : null;\n}\n"]}
@@ -37,7 +37,7 @@ function getPythonConstraint(pyProjectContent, existingLockFileContent) {
37
37
  function getPoetryRequirement(pyProjectContent, existingLockFileContent) {
38
38
  // Read Poetry version from first line of poetry.lock
39
39
  const firstLine = existingLockFileContent.split('\n')[0];
40
- const poetryVersionMatch = /by Poetry ([\d\\.]+)/.exec(firstLine);
40
+ const poetryVersionMatch = (0, regex_1.regEx)(/by Poetry ([\d\\.]+)/).exec(firstLine);
41
41
  if (poetryVersionMatch?.[1]) {
42
42
  const poetryVersion = poetryVersionMatch[1];
43
43
  logger_1.logger.debug(`Using poetry version ${poetryVersion} from poetry.lock header`);
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/poetry/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport type { HostRule } from '../../../types';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n deleteLocalFile,\n ensureCacheDir,\n getSiblingFileName,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getGitEnvironmentVariables } from '../../../util/git/auth';\nimport { find } from '../../../util/host-rules';\nimport { regEx } from '../../../util/regex';\nimport { Result } from '../../../util/result';\nimport { massage as massageToml, parse as parseToml } from '../../../util/toml';\nimport { parseUrl } from '../../../util/url';\nimport { PypiDatasource } from '../../datasource/pypi';\nimport { getGoogleAuthHostRule } from '../../datasource/util';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport { Lockfile, PoetrySchemaToml } from './schema';\nimport type { PoetryFile, PoetrySource } from './types';\n\nexport function getPythonConstraint(\n pyProjectContent: string,\n existingLockFileContent: string,\n): string | null {\n // Read Python version from `pyproject.toml` first as it could have been updated\n const pyprojectPythonConstraint = Result.parse(\n massageToml(pyProjectContent),\n PoetrySchemaToml.transform(\n ({ packageFileContent }) =>\n packageFileContent.deps.find((dep) => dep.depName === 'python')\n ?.currentValue,\n ),\n ).unwrapOrNull();\n if (pyprojectPythonConstraint) {\n logger.debug('Using python version from pyproject.toml');\n return pyprojectPythonConstraint;\n }\n\n const lockfilePythonConstraint = Result.parse(\n existingLockFileContent,\n Lockfile.transform(({ pythonVersions }) => pythonVersions),\n ).unwrapOrNull();\n if (lockfilePythonConstraint) {\n logger.debug('Using python version from poetry.lock');\n return lockfilePythonConstraint;\n }\n\n return null;\n}\n\nexport function getPoetryRequirement(\n pyProjectContent: string,\n existingLockFileContent: string,\n): undefined | string | null {\n // Read Poetry version from first line of poetry.lock\n const firstLine = existingLockFileContent.split('\\n')[0];\n const poetryVersionMatch = /by Poetry ([\\d\\\\.]+)/.exec(firstLine);\n if (poetryVersionMatch?.[1]) {\n const poetryVersion = poetryVersionMatch[1];\n logger.debug(\n `Using poetry version ${poetryVersion} from poetry.lock header`,\n );\n return poetryVersion;\n }\n\n const { val: lockfilePoetryConstraint } = Result.parse(\n existingLockFileContent,\n Lockfile.transform(({ poetryConstraint }) => poetryConstraint),\n ).unwrap();\n if (lockfilePoetryConstraint) {\n logger.debug(\n `Using poetry version ${lockfilePoetryConstraint} from poetry.lock metadata`,\n );\n return lockfilePoetryConstraint;\n }\n\n const { val: pyprojectPoetryConstraint } = Result.parse(\n massageToml(pyProjectContent),\n PoetrySchemaToml.transform(({ poetryRequirement }) => poetryRequirement),\n ).unwrap();\n if (pyprojectPoetryConstraint) {\n logger.debug(\n `Using poetry version ${pyprojectPoetryConstraint} from pyproject.toml`,\n );\n return pyprojectPoetryConstraint;\n }\n\n return null;\n}\n\nfunction getPoetrySources(content: string, fileName: string): PoetrySource[] {\n let pyprojectFile: PoetryFile;\n try {\n pyprojectFile = parseToml(massageToml(content)) as PoetryFile;\n } catch (err) {\n logger.debug({ err }, 'Error parsing pyproject.toml file');\n return [];\n }\n if (!pyprojectFile.tool?.poetry) {\n logger.debug(`${fileName} contains no poetry section`);\n return [];\n }\n\n const sources = pyprojectFile.tool?.poetry?.source ?? [];\n const sourceArray: PoetrySource[] = [];\n for (const source of sources) {\n if (source.name && source.url) {\n sourceArray.push({ name: source.name, url: source.url });\n }\n }\n return sourceArray;\n}\n\nasync function getMatchingHostRule(url: string | undefined): Promise<HostRule> {\n const scopedMatch = find({ hostType: PypiDatasource.id, url });\n const hostRule = is.nonEmptyObject(scopedMatch) ? scopedMatch : find({ url });\n if (hostRule && Object.keys(hostRule).length !== 0) {\n return hostRule;\n }\n\n const parsedUrl = parseUrl(url);\n if (!parsedUrl) {\n logger.once.debug(`Failed to parse URL ${url}`);\n return {};\n }\n\n if (parsedUrl.hostname.endsWith('.pkg.dev')) {\n const hostRule = await getGoogleAuthHostRule();\n if (hostRule && Object.keys(hostRule).length !== 0) {\n return hostRule;\n }\n logger.once.debug(`Could not get Google access token (url=${url})`);\n }\n\n return {};\n}\n\nasync function getSourceCredentialVars(\n pyprojectContent: string,\n packageFileName: string,\n): Promise<NodeJS.ProcessEnv> {\n const poetrySources = getPoetrySources(pyprojectContent, packageFileName);\n const envVars: NodeJS.ProcessEnv = {};\n\n for (const source of poetrySources) {\n const matchingHostRule = await getMatchingHostRule(source.url);\n const formattedSourceName = source.name\n .replace(regEx(/(\\.|-)+/g), '_')\n .toUpperCase();\n if (matchingHostRule.username) {\n envVars[`POETRY_HTTP_BASIC_${formattedSourceName}_USERNAME`] =\n matchingHostRule.username;\n }\n if (matchingHostRule.password) {\n envVars[`POETRY_HTTP_BASIC_${formattedSourceName}_PASSWORD`] =\n matchingHostRule.password;\n }\n }\n return envVars;\n}\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`poetry.updateArtifacts(${packageFileName})`);\n const { isLockFileMaintenance } = config;\n\n if (!is.nonEmptyArray(updatedDeps) && !isLockFileMaintenance) {\n logger.debug('No updated poetry deps - returning null');\n return null;\n }\n // Try poetry.lock first\n let lockFileName = getSiblingFileName(packageFileName, 'poetry.lock');\n let existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n // Try pyproject.lock next\n lockFileName = getSiblingFileName(packageFileName, 'pyproject.lock');\n existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug(`No lock file found`);\n return null;\n }\n }\n logger.debug(`Updating ${lockFileName}`);\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n const cmd: string[] = [];\n if (isLockFileMaintenance) {\n await deleteLocalFile(lockFileName);\n cmd.push('poetry update --lock --no-interaction');\n } else {\n cmd.push(\n `poetry update --lock --no-interaction ${updatedDeps\n .map((dep) => dep.depName)\n .filter(is.string)\n .map((dep) => quote(dep))\n .join(' ')}`,\n );\n }\n const pythonConstraint =\n config?.constraints?.python ??\n getPythonConstraint(newPackageFileContent, existingLockFileContent);\n const poetryConstraint =\n config.constraints?.poetry ??\n getPoetryRequirement(newPackageFileContent, existingLockFileContent);\n const extraEnv = {\n ...(await getSourceCredentialVars(\n newPackageFileContent,\n packageFileName,\n )),\n ...getGitEnvironmentVariables(['poetry']),\n PIP_CACHE_DIR: await ensureCacheDir('pip'),\n };\n\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n extraEnv,\n docker: {},\n toolConstraints: [\n { toolName: 'python', constraint: pythonConstraint },\n { toolName: 'poetry', constraint: poetryConstraint },\n ],\n };\n await exec(cmd, execOptions);\n const newPoetryLockContent = await readLocalFile(lockFileName, 'utf8');\n if (existingLockFileContent === newPoetryLockContent) {\n logger.debug(`${lockFileName} is unchanged`);\n return null;\n }\n logger.debug(`Returning updated ${lockFileName}`);\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newPoetryLockContent,\n },\n },\n ];\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, `Failed to update ${lockFileName} file`);\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: `${String(err.stdout)}\\n${String(err.stderr)}`,\n },\n },\n ];\n }\n}\n"]}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/poetry/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport type { HostRule } from '../../../types';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n deleteLocalFile,\n ensureCacheDir,\n getSiblingFileName,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getGitEnvironmentVariables } from '../../../util/git/auth';\nimport { find } from '../../../util/host-rules';\nimport { regEx } from '../../../util/regex';\nimport { Result } from '../../../util/result';\nimport { massage as massageToml, parse as parseToml } from '../../../util/toml';\nimport { parseUrl } from '../../../util/url';\nimport { PypiDatasource } from '../../datasource/pypi';\nimport { getGoogleAuthHostRule } from '../../datasource/util';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport { Lockfile, PoetrySchemaToml } from './schema';\nimport type { PoetryFile, PoetrySource } from './types';\n\nexport function getPythonConstraint(\n pyProjectContent: string,\n existingLockFileContent: string,\n): string | null {\n // Read Python version from `pyproject.toml` first as it could have been updated\n const pyprojectPythonConstraint = Result.parse(\n massageToml(pyProjectContent),\n PoetrySchemaToml.transform(\n ({ packageFileContent }) =>\n packageFileContent.deps.find((dep) => dep.depName === 'python')\n ?.currentValue,\n ),\n ).unwrapOrNull();\n if (pyprojectPythonConstraint) {\n logger.debug('Using python version from pyproject.toml');\n return pyprojectPythonConstraint;\n }\n\n const lockfilePythonConstraint = Result.parse(\n existingLockFileContent,\n Lockfile.transform(({ pythonVersions }) => pythonVersions),\n ).unwrapOrNull();\n if (lockfilePythonConstraint) {\n logger.debug('Using python version from poetry.lock');\n return lockfilePythonConstraint;\n }\n\n return null;\n}\n\nexport function getPoetryRequirement(\n pyProjectContent: string,\n existingLockFileContent: string,\n): undefined | string | null {\n // Read Poetry version from first line of poetry.lock\n const firstLine = existingLockFileContent.split('\\n')[0];\n const poetryVersionMatch = regEx(/by Poetry ([\\d\\\\.]+)/).exec(firstLine);\n if (poetryVersionMatch?.[1]) {\n const poetryVersion = poetryVersionMatch[1];\n logger.debug(\n `Using poetry version ${poetryVersion} from poetry.lock header`,\n );\n return poetryVersion;\n }\n\n const { val: lockfilePoetryConstraint } = Result.parse(\n existingLockFileContent,\n Lockfile.transform(({ poetryConstraint }) => poetryConstraint),\n ).unwrap();\n if (lockfilePoetryConstraint) {\n logger.debug(\n `Using poetry version ${lockfilePoetryConstraint} from poetry.lock metadata`,\n );\n return lockfilePoetryConstraint;\n }\n\n const { val: pyprojectPoetryConstraint } = Result.parse(\n massageToml(pyProjectContent),\n PoetrySchemaToml.transform(({ poetryRequirement }) => poetryRequirement),\n ).unwrap();\n if (pyprojectPoetryConstraint) {\n logger.debug(\n `Using poetry version ${pyprojectPoetryConstraint} from pyproject.toml`,\n );\n return pyprojectPoetryConstraint;\n }\n\n return null;\n}\n\nfunction getPoetrySources(content: string, fileName: string): PoetrySource[] {\n let pyprojectFile: PoetryFile;\n try {\n pyprojectFile = parseToml(massageToml(content)) as PoetryFile;\n } catch (err) {\n logger.debug({ err }, 'Error parsing pyproject.toml file');\n return [];\n }\n if (!pyprojectFile.tool?.poetry) {\n logger.debug(`${fileName} contains no poetry section`);\n return [];\n }\n\n const sources = pyprojectFile.tool?.poetry?.source ?? [];\n const sourceArray: PoetrySource[] = [];\n for (const source of sources) {\n if (source.name && source.url) {\n sourceArray.push({ name: source.name, url: source.url });\n }\n }\n return sourceArray;\n}\n\nasync function getMatchingHostRule(url: string | undefined): Promise<HostRule> {\n const scopedMatch = find({ hostType: PypiDatasource.id, url });\n const hostRule = is.nonEmptyObject(scopedMatch) ? scopedMatch : find({ url });\n if (hostRule && Object.keys(hostRule).length !== 0) {\n return hostRule;\n }\n\n const parsedUrl = parseUrl(url);\n if (!parsedUrl) {\n logger.once.debug(`Failed to parse URL ${url}`);\n return {};\n }\n\n if (parsedUrl.hostname.endsWith('.pkg.dev')) {\n const hostRule = await getGoogleAuthHostRule();\n if (hostRule && Object.keys(hostRule).length !== 0) {\n return hostRule;\n }\n logger.once.debug(`Could not get Google access token (url=${url})`);\n }\n\n return {};\n}\n\nasync function getSourceCredentialVars(\n pyprojectContent: string,\n packageFileName: string,\n): Promise<NodeJS.ProcessEnv> {\n const poetrySources = getPoetrySources(pyprojectContent, packageFileName);\n const envVars: NodeJS.ProcessEnv = {};\n\n for (const source of poetrySources) {\n const matchingHostRule = await getMatchingHostRule(source.url);\n const formattedSourceName = source.name\n .replace(regEx(/(\\.|-)+/g), '_')\n .toUpperCase();\n if (matchingHostRule.username) {\n envVars[`POETRY_HTTP_BASIC_${formattedSourceName}_USERNAME`] =\n matchingHostRule.username;\n }\n if (matchingHostRule.password) {\n envVars[`POETRY_HTTP_BASIC_${formattedSourceName}_PASSWORD`] =\n matchingHostRule.password;\n }\n }\n return envVars;\n}\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`poetry.updateArtifacts(${packageFileName})`);\n const { isLockFileMaintenance } = config;\n\n if (!is.nonEmptyArray(updatedDeps) && !isLockFileMaintenance) {\n logger.debug('No updated poetry deps - returning null');\n return null;\n }\n // Try poetry.lock first\n let lockFileName = getSiblingFileName(packageFileName, 'poetry.lock');\n let existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n // Try pyproject.lock next\n lockFileName = getSiblingFileName(packageFileName, 'pyproject.lock');\n existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug(`No lock file found`);\n return null;\n }\n }\n logger.debug(`Updating ${lockFileName}`);\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n const cmd: string[] = [];\n if (isLockFileMaintenance) {\n await deleteLocalFile(lockFileName);\n cmd.push('poetry update --lock --no-interaction');\n } else {\n cmd.push(\n `poetry update --lock --no-interaction ${updatedDeps\n .map((dep) => dep.depName)\n .filter(is.string)\n .map((dep) => quote(dep))\n .join(' ')}`,\n );\n }\n const pythonConstraint =\n config?.constraints?.python ??\n getPythonConstraint(newPackageFileContent, existingLockFileContent);\n const poetryConstraint =\n config.constraints?.poetry ??\n getPoetryRequirement(newPackageFileContent, existingLockFileContent);\n const extraEnv = {\n ...(await getSourceCredentialVars(\n newPackageFileContent,\n packageFileName,\n )),\n ...getGitEnvironmentVariables(['poetry']),\n PIP_CACHE_DIR: await ensureCacheDir('pip'),\n };\n\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n extraEnv,\n docker: {},\n toolConstraints: [\n { toolName: 'python', constraint: pythonConstraint },\n { toolName: 'poetry', constraint: poetryConstraint },\n ],\n };\n await exec(cmd, execOptions);\n const newPoetryLockContent = await readLocalFile(lockFileName, 'utf8');\n if (existingLockFileContent === newPoetryLockContent) {\n logger.debug(`${lockFileName} is unchanged`);\n return null;\n }\n logger.debug(`Returning updated ${lockFileName}`);\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newPoetryLockContent,\n },\n },\n ];\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, `Failed to update ${lockFileName} file`);\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: `${String(err.stdout)}\\n${String(err.stderr)}`,\n },\n },\n ];\n }\n}\n"]}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Vendir = exports.Contents = exports.GithubReleaseContent = exports.GitRefContent = exports.HelmChartContent = exports.HelmChart = exports.GithubRelease = exports.GitRef = exports.VendirResource = void 0;
4
4
  const zod_1 = require("zod");
5
+ const regex_1 = require("../../../util/regex");
5
6
  const schema_utils_1 = require("../../../util/schema-utils");
6
7
  exports.VendirResource = zod_1.z.object({
7
8
  apiVersion: zod_1.z.literal('vendir.k14s.io/v1alpha1'),
@@ -9,7 +10,7 @@ exports.VendirResource = zod_1.z.object({
9
10
  });
10
11
  exports.GitRef = zod_1.z.object({
11
12
  ref: zod_1.z.string(),
12
- url: zod_1.z.string().regex(/^(?:ssh|https?):\/\/.+/),
13
+ url: zod_1.z.string().regex((0, regex_1.regEx)(/^(?:ssh|https?):\/\/.+/)),
13
14
  depth: zod_1.z.number().optional(),
14
15
  });
15
16
  exports.GithubRelease = zod_1.z.object({
@@ -20,7 +21,7 @@ exports.HelmChart = zod_1.z.object({
20
21
  name: zod_1.z.string(),
21
22
  version: zod_1.z.string(),
22
23
  repository: zod_1.z.object({
23
- url: zod_1.z.string().regex(/^(?:oci|https?):\/\/.+/),
24
+ url: zod_1.z.string().regex((0, regex_1.regEx)(/^(?:oci|https?):\/\/.+/)),
24
25
  }),
25
26
  });
26
27
  exports.HelmChartContent = zod_1.z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/vendir/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,6DAAwD;AAE3C,QAAA,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,UAAU,EAAE,OAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC;IAChD,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;CAC1B,CAAC,CAAC;AAEU,QAAA,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC;IAC/C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;CAChB,CAAC,CAAC;AAEU,QAAA,SAAS,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC;QACnB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC;KAChD,CAAC;CACH,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,iBAAS;CACrB,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,cAAM;CACZ,CAAC,CAAC;AAEU,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,aAAa,EAAE,qBAAa;CAC7B,CAAC,CAAC;AAEU,QAAA,QAAQ,GAAG,OAAC,CAAC,KAAK,CAAC;IAC9B,wBAAgB;IAChB,qBAAa;IACb,4BAAoB;CACrB,CAAC,CAAC;AAEU,QAAA,MAAM,GAAG,sBAAc,CAAC,MAAM,CAAC;IAC1C,WAAW,EAAE,OAAC,CAAC,KAAK,CAClB,OAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,QAAQ,EAAE,IAAA,yBAAU,EAAC,gBAAQ,CAAC;KAC/B,CAAC,CACH;CACF,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { LooseArray } from '../../../util/schema-utils';\n\nexport const VendirResource = z.object({\n apiVersion: z.literal('vendir.k14s.io/v1alpha1'),\n kind: z.literal('Config'),\n});\n\nexport const GitRef = z.object({\n ref: z.string(),\n url: z.string().regex(/^(?:ssh|https?):\\/\\/.+/),\n depth: z.number().optional(),\n});\n\nexport const GithubRelease = z.object({\n slug: z.string(),\n tag: z.string(),\n});\n\nexport const HelmChart = z.object({\n name: z.string(),\n version: z.string(),\n repository: z.object({\n url: z.string().regex(/^(?:oci|https?):\\/\\/.+/),\n }),\n});\n\nexport const HelmChartContent = z.object({\n path: z.string(),\n helmChart: HelmChart,\n});\n\nexport const GitRefContent = z.object({\n path: z.string(),\n git: GitRef,\n});\n\nexport const GithubReleaseContent = z.object({\n path: z.string(),\n githubRelease: GithubRelease,\n});\n\nexport const Contents = z.union([\n HelmChartContent,\n GitRefContent,\n GithubReleaseContent,\n]);\n\nexport const Vendir = VendirResource.extend({\n directories: z.array(\n z.object({\n path: z.string(),\n contents: LooseArray(Contents),\n }),\n ),\n});\n\nexport type VendirDefinition = z.infer<typeof Vendir>;\nexport type HelmChartDefinition = z.infer<typeof HelmChart>;\nexport type GitRefDefinition = z.infer<typeof GitRef>;\nexport type GithubReleaseDefinition = z.infer<typeof GithubRelease>;\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/vendir/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,+CAA4C;AAC5C,6DAAwD;AAE3C,QAAA,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,UAAU,EAAE,OAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC;IAChD,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;CAC1B,CAAC,CAAC;AAEU,QAAA,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAA,aAAK,EAAC,wBAAwB,CAAC,CAAC;IACtD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;CAChB,CAAC,CAAC;AAEU,QAAA,SAAS,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC;QACnB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAA,aAAK,EAAC,wBAAwB,CAAC,CAAC;KACvD,CAAC;CACH,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,iBAAS;CACrB,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,cAAM;CACZ,CAAC,CAAC;AAEU,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,aAAa,EAAE,qBAAa;CAC7B,CAAC,CAAC;AAEU,QAAA,QAAQ,GAAG,OAAC,CAAC,KAAK,CAAC;IAC9B,wBAAgB;IAChB,qBAAa;IACb,4BAAoB;CACrB,CAAC,CAAC;AAEU,QAAA,MAAM,GAAG,sBAAc,CAAC,MAAM,CAAC;IAC1C,WAAW,EAAE,OAAC,CAAC,KAAK,CAClB,OAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,QAAQ,EAAE,IAAA,yBAAU,EAAC,gBAAQ,CAAC;KAC/B,CAAC,CACH;CACF,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { regEx } from '../../../util/regex';\nimport { LooseArray } from '../../../util/schema-utils';\n\nexport const VendirResource = z.object({\n apiVersion: z.literal('vendir.k14s.io/v1alpha1'),\n kind: z.literal('Config'),\n});\n\nexport const GitRef = z.object({\n ref: z.string(),\n url: z.string().regex(regEx(/^(?:ssh|https?):\\/\\/.+/)),\n depth: z.number().optional(),\n});\n\nexport const GithubRelease = z.object({\n slug: z.string(),\n tag: z.string(),\n});\n\nexport const HelmChart = z.object({\n name: z.string(),\n version: z.string(),\n repository: z.object({\n url: z.string().regex(regEx(/^(?:oci|https?):\\/\\/.+/)),\n }),\n});\n\nexport const HelmChartContent = z.object({\n path: z.string(),\n helmChart: HelmChart,\n});\n\nexport const GitRefContent = z.object({\n path: z.string(),\n git: GitRef,\n});\n\nexport const GithubReleaseContent = z.object({\n path: z.string(),\n githubRelease: GithubRelease,\n});\n\nexport const Contents = z.union([\n HelmChartContent,\n GitRefContent,\n GithubReleaseContent,\n]);\n\nexport const Vendir = VendirResource.extend({\n directories: z.array(\n z.object({\n path: z.string(),\n contents: LooseArray(Contents),\n }),\n ),\n});\n\nexport type VendirDefinition = z.infer<typeof Vendir>;\nexport type HelmChartDefinition = z.infer<typeof HelmChart>;\nexport type GitRefDefinition = z.infer<typeof GitRef>;\nexport type GithubReleaseDefinition = z.infer<typeof GithubRelease>;\n"]}
@@ -272,7 +272,7 @@ function parseRange(rangeStr) {
272
272
  rightBracket: null,
273
273
  };
274
274
  }
275
- const commaSplit = rangeStr.split(/\s*,\s*/);
275
+ const commaSplit = rangeStr.split((0, regex_1.regEx)(/\s*,\s*/));
276
276
  let ranges = [];
277
277
  let interval = emptyInterval();
278
278
  commaSplit.forEach((subStr) => {
@@ -1 +1 @@
1
- {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/maven/compare.ts"],"names":[],"mappings":"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","sourcesContent":["import { regEx } from '../../../util/regex';\n\nconst PREFIX_DOT = 'PREFIX_DOT';\nconst PREFIX_HYPHEN = 'PREFIX_HYPHEN';\n\nconst TYPE_NUMBER = 'TYPE_NUMBER';\nconst TYPE_QUALIFIER = 'TYPE_QUALIFIER';\n\nexport interface BaseToken {\n prefix: string;\n type: typeof TYPE_NUMBER | typeof TYPE_QUALIFIER;\n val: number | string;\n isTransition?: boolean;\n}\n\nexport interface NumberToken extends BaseToken {\n type: typeof TYPE_NUMBER;\n val: number;\n}\n\nexport interface QualifierToken extends BaseToken {\n type: typeof TYPE_QUALIFIER;\n val: string;\n}\n\nexport type Token = NumberToken | QualifierToken;\n\nfunction iterateChars(\n str: string,\n cb: (p: string | null, n: string | null) => void,\n): void {\n let prev = null;\n let next = null;\n for (let i = 0; i < str.length; i += 1) {\n next = str.charAt(i);\n cb(prev, next);\n prev = next;\n }\n cb(prev, null);\n}\n\nfunction isDigit(char: string): boolean {\n return regEx(/^\\d$/).test(char);\n}\n\nfunction isLetter(char: string): boolean {\n return regEx(/^[a-z_+]$/i).test(char);\n}\n\nfunction isTransition(prevChar: string, nextChar: string): boolean {\n return (\n (isDigit(prevChar) && isLetter(nextChar)) ||\n (isLetter(prevChar) && isDigit(nextChar))\n );\n}\n\nfunction iterateTokens(versionStr: string, cb: (token: Token) => void): void {\n let currentPrefix = PREFIX_HYPHEN;\n let currentVal = '';\n\n function yieldToken(transition = false): void {\n const val = currentVal || '0';\n if (regEx(/^\\d+$/).test(val)) {\n cb({\n prefix: currentPrefix,\n type: TYPE_NUMBER,\n val: parseInt(val, 10),\n isTransition: transition,\n });\n } else {\n cb({\n prefix: currentPrefix,\n type: TYPE_QUALIFIER,\n val,\n isTransition: transition,\n });\n }\n }\n\n iterateChars(versionStr, (prevChar, nextChar) => {\n if (nextChar === null) {\n yieldToken();\n } else if (nextChar === '-') {\n yieldToken();\n currentPrefix = PREFIX_HYPHEN;\n currentVal = '';\n } else if (nextChar === '.') {\n yieldToken();\n currentPrefix = PREFIX_DOT;\n currentVal = '';\n } else if (prevChar !== null && isTransition(prevChar, nextChar)) {\n yieldToken(true);\n currentPrefix = PREFIX_HYPHEN;\n currentVal = nextChar;\n } else {\n currentVal = currentVal.concat(nextChar);\n }\n });\n}\n\nfunction isNull(token: Token): boolean {\n const val = token.val;\n return (\n val === 0 ||\n val === '' ||\n val === 'final' ||\n val === 'ga' ||\n val === 'release' ||\n val === 'latest' ||\n val === 'sr'\n );\n}\n\nfunction tokenize(versionStr: string, preserveMinorZeroes = false): Token[] {\n let buf: Token[] = [];\n let result: Token[] = [];\n let leadingZero = true;\n iterateTokens(versionStr.toLowerCase().replace(regEx(/^v/i), ''), (token) => {\n if (token.prefix === PREFIX_HYPHEN || token.type === TYPE_QUALIFIER) {\n buf = [];\n }\n buf.push(token);\n if (!isNull(token)) {\n leadingZero = false;\n result = result.concat(buf);\n buf = [];\n } else if (leadingZero || preserveMinorZeroes) {\n result = result.concat(buf);\n buf = [];\n }\n });\n return result;\n}\n\nfunction nullFor(token: Token): Token {\n return token.type === TYPE_NUMBER\n ? {\n prefix: token.prefix,\n type: TYPE_NUMBER,\n val: 0,\n }\n : {\n prefix: token.prefix,\n type: TYPE_QUALIFIER,\n val: '',\n };\n}\n\nfunction commonOrder(token: Token): number {\n if (token.type === TYPE_QUALIFIER) {\n return 1;\n }\n if (token.prefix === PREFIX_HYPHEN && token.type === TYPE_NUMBER) {\n return 2;\n }\n return 3;\n}\n\nexport const QualifierTypes = {\n Alpha: 1,\n Beta: 2,\n Milestone: 3,\n RC: 4,\n Snapshot: 5,\n Release: 6,\n SP: 7,\n} as const;\n\nexport function qualifierType(token: Token): number | null {\n const val = token.val;\n if (val === 'alpha' || (token.isTransition && val === 'a')) {\n return QualifierTypes.Alpha;\n }\n if (val === 'beta' || (token.isTransition && val === 'b')) {\n return QualifierTypes.Beta;\n }\n if (val === 'milestone' || (token.isTransition && val === 'm')) {\n return QualifierTypes.Milestone;\n }\n if (val === 'rc' || val === 'cr' || val === 'preview') {\n return QualifierTypes.RC;\n }\n if (val === 'snapshot' || val === 'snap') {\n return QualifierTypes.Snapshot;\n }\n if (\n val === '' ||\n val === 'final' ||\n val === 'ga' ||\n val === 'release' ||\n val === 'latest' ||\n val === 'sr'\n ) {\n return QualifierTypes.Release;\n }\n if (val === 'sp') {\n return QualifierTypes.SP;\n }\n return null;\n}\n\nfunction qualifierCmp(left: Token, right: Token): number {\n const leftOrder = qualifierType(left);\n const rightOrder = qualifierType(right);\n if (leftOrder && rightOrder) {\n if (leftOrder < rightOrder) {\n return -1;\n }\n if (leftOrder > rightOrder) {\n return 1;\n }\n return 0;\n }\n\n if (leftOrder && leftOrder < QualifierTypes.Release) {\n return -1;\n }\n if (rightOrder && rightOrder < QualifierTypes.Release) {\n return 1;\n }\n\n if (left.val < right.val) {\n return -1;\n }\n if (left.val > right.val) {\n return 1;\n }\n return 0;\n}\n\nfunction tokenCmp(left: Token, right: Token): number {\n const leftOrder = commonOrder(left);\n const rightOrder = commonOrder(right);\n\n if (leftOrder < rightOrder) {\n return -1;\n }\n if (leftOrder > rightOrder) {\n return 1;\n }\n\n if (left.type === TYPE_NUMBER && right.type === TYPE_NUMBER) {\n if (left.val < right.val) {\n return -1;\n }\n if (left.val > right.val) {\n return 1;\n }\n return 0;\n }\n\n return qualifierCmp(left, right);\n}\n\nfunction compare(left: string, right: string): number {\n const leftTokens = tokenize(left);\n const rightTokens = tokenize(right);\n const length = Math.max(leftTokens.length, rightTokens.length);\n for (let idx = 0; idx < length; idx += 1) {\n const leftToken = leftTokens[idx] || nullFor(rightTokens[idx]);\n const rightToken = rightTokens[idx] || nullFor(leftTokens[idx]);\n const cmpResult = tokenCmp(leftToken, rightToken);\n if (cmpResult !== 0) {\n return cmpResult;\n }\n }\n return 0;\n}\n\nfunction isVersion(version: unknown): version is string {\n if (!version || typeof version !== 'string') {\n return false;\n }\n if (!regEx(/^[-.a-z_+0-9]+$/i).test(version)) {\n return false;\n }\n if (regEx(/^[.-]/).test(version)) {\n return false;\n }\n if (regEx(/[.-]$/).test(version)) {\n return false;\n }\n if (['latest', 'release'].includes(version.toLowerCase())) {\n return false;\n }\n const tokens = tokenize(version);\n return !!tokens.length;\n}\n\nconst INCLUDING_POINT = 'INCLUDING_POINT';\nconst EXCLUDING_POINT = 'EXCLUDING_POINT';\n\nfunction parseRange(rangeStr: string): Range[] | null {\n function emptyInterval(): Range {\n return {\n leftType: null,\n leftValue: null,\n leftBracket: null,\n rightType: null,\n rightValue: null,\n rightBracket: null,\n };\n }\n\n const commaSplit = rangeStr.split(/\\s*,\\s*/);\n let ranges: Range[] | null = [];\n let interval = emptyInterval();\n\n commaSplit.forEach((subStr) => {\n if (!ranges) {\n return;\n }\n if (interval.leftType === null) {\n if (regEx(/^\\[.*]$/).test(subStr)) {\n const ver = subStr.slice(1, -1);\n ranges.push({\n leftType: INCLUDING_POINT,\n leftValue: ver,\n leftBracket: '[',\n rightType: INCLUDING_POINT,\n rightValue: ver,\n rightBracket: ']',\n });\n interval = emptyInterval();\n } else if (subStr.startsWith('[')) {\n const ver = subStr.slice(1);\n interval.leftType = INCLUDING_POINT;\n interval.leftValue = ver;\n interval.leftBracket = '[';\n } else if (subStr.startsWith('(') || subStr.startsWith(']')) {\n const ver = subStr.slice(1);\n interval.leftType = EXCLUDING_POINT;\n interval.leftValue = ver;\n interval.leftBracket = subStr[0];\n } else {\n ranges = null;\n }\n } else if (subStr.endsWith(']')) {\n const ver = subStr.slice(0, -1);\n interval.rightType = INCLUDING_POINT;\n interval.rightValue = ver;\n interval.rightBracket = ']';\n ranges.push(interval);\n interval = emptyInterval();\n } else if (subStr.endsWith(')') || subStr.endsWith('[')) {\n const ver = subStr.slice(0, -1);\n interval.rightType = EXCLUDING_POINT;\n interval.rightValue = ver;\n interval.rightBracket = subStr.endsWith(')') ? ')' : '[';\n ranges.push(interval);\n interval = emptyInterval();\n } else {\n ranges = null;\n }\n });\n\n if (interval.leftType) {\n return null;\n } // something like '[1,2],[3'\n if (!ranges?.length) {\n return null;\n }\n\n const lastIdx = ranges.length - 1;\n let prevValue: string | null = null;\n const result: Range[] = [];\n for (let idx = 0; idx < ranges.length; idx += 1) {\n const range = ranges[idx];\n const { leftType, leftValue, rightType, rightValue } = range;\n\n if (idx === 0 && leftValue === '') {\n if (leftType === EXCLUDING_POINT && isVersion(rightValue)) {\n prevValue = rightValue;\n result.push({ ...range, leftValue: null });\n continue;\n }\n return null;\n }\n if (idx === lastIdx && rightValue === '') {\n if (rightType === EXCLUDING_POINT && isVersion(leftValue)) {\n if (prevValue && compare(prevValue, leftValue) === 1) {\n return null;\n }\n result.push({ ...range, rightValue: null });\n continue;\n }\n return null;\n }\n if (isVersion(leftValue) && isVersion(rightValue)) {\n if (compare(leftValue, rightValue) === 1) {\n return null;\n }\n if (prevValue && compare(prevValue, leftValue) === 1) {\n return null;\n }\n prevValue = rightValue;\n result.push(range);\n continue;\n }\n return null;\n }\n return result;\n}\n\nfunction isValid(str: string): boolean {\n if (!str) {\n return false;\n }\n return isVersion(str) || !!parseRange(str);\n}\n\nexport interface Range {\n leftType: typeof INCLUDING_POINT | typeof EXCLUDING_POINT | null;\n leftValue: string | null;\n leftBracket: string | null;\n rightType: typeof INCLUDING_POINT | typeof EXCLUDING_POINT | null;\n rightValue: string | null;\n rightBracket: string | null;\n}\n\nfunction rangeToStr(fullRange: Range[] | null): string | null {\n if (fullRange === null) {\n return null;\n }\n\n const valToStr = (val: string | null): string => val ?? '';\n\n if (fullRange.length === 1) {\n const { leftBracket, rightBracket, leftValue, rightValue } = fullRange[0];\n if (\n leftValue === rightValue &&\n leftBracket === '[' &&\n rightBracket === ']'\n ) {\n return `[${valToStr(leftValue)}]`;\n }\n }\n\n const intervals = fullRange.map((val) =>\n [\n val.leftBracket,\n valToStr(val.leftValue),\n ',',\n valToStr(val.rightValue),\n val.rightBracket,\n ].join(''),\n );\n return intervals.join(',');\n}\n\nfunction tokensToStr(tokens: Token[]): string {\n return tokens.reduce((result: string, token: Token, idx) => {\n const prefix = token.prefix === PREFIX_DOT ? '.' : '-';\n return `${result}${idx !== 0 && token.val !== '' ? prefix : ''}${\n token.val\n }`;\n }, '');\n}\n\nfunction coerceRangeValue(prev: string, next: string): string {\n const prevTokens = tokenize(prev, true);\n const nextTokens = tokenize(next, true);\n const resultTokens = nextTokens.slice(0, prevTokens.length);\n const align = Math.max(0, prevTokens.length - nextTokens.length);\n if (align > 0) {\n resultTokens.push(...prevTokens.slice(prevTokens.length - align));\n }\n return tokensToStr(resultTokens);\n}\n\nfunction incrementRangeValue(value: string): string {\n const tokens = tokenize(value);\n const lastToken = tokens[tokens.length - 1];\n if (typeof lastToken.val === 'number') {\n lastToken.val += 1;\n return coerceRangeValue(value, tokensToStr(tokens));\n }\n return value;\n}\n\nfunction autoExtendMavenRange(\n currentRepresentation: string,\n newValue: string,\n): string | null {\n const range = parseRange(currentRepresentation);\n if (!range) {\n return currentRepresentation;\n }\n const isPoint = (vals: Range[]): boolean => {\n if (vals.length !== 1) {\n return false;\n }\n const { leftType, leftValue, rightType, rightValue } = vals[0];\n return (\n leftType === 'INCLUDING_POINT' &&\n leftType === rightType &&\n leftValue === rightValue\n );\n };\n if (isPoint(range)) {\n return `[${newValue}]`;\n }\n\n const interval = [...range].reverse().find((elem) => {\n const { rightType, rightValue } = elem;\n return (\n rightValue === null ||\n (rightType === INCLUDING_POINT && compare(rightValue, newValue) === -1) ||\n (rightType === EXCLUDING_POINT && compare(rightValue, newValue) !== 1)\n );\n });\n\n if (!interval) {\n return currentRepresentation;\n }\n\n const { leftValue, rightValue } = interval;\n if (\n leftValue !== null &&\n rightValue !== null &&\n incrementRangeValue(leftValue) === rightValue\n ) {\n if (compare(newValue, leftValue) !== -1) {\n interval.leftValue = coerceRangeValue(leftValue, newValue);\n interval.rightValue = incrementRangeValue(interval.leftValue);\n }\n } else if (rightValue !== null) {\n if (interval.rightType === INCLUDING_POINT) {\n const tokens = tokenize(rightValue);\n const lastToken = tokens[tokens.length - 1];\n if (typeof lastToken.val === 'number') {\n interval.rightValue = coerceRangeValue(rightValue, newValue);\n } else {\n interval.rightValue = newValue;\n }\n } else {\n interval.rightValue = incrementRangeValue(\n coerceRangeValue(rightValue, newValue),\n );\n }\n } else if (leftValue !== null) {\n interval.leftValue = coerceRangeValue(leftValue, newValue);\n }\n\n return rangeToStr(range);\n}\n\nfunction isSubversion(majorVersion: string, minorVersion: string): boolean {\n const majorTokens = tokenize(majorVersion);\n const minorTokens = tokenize(minorVersion);\n\n let result = true;\n const len = majorTokens.length;\n for (let idx = 0; idx < len; idx += 1) {\n const major = majorTokens[idx];\n const minor = minorTokens[idx] || nullFor(majorTokens[idx]);\n const cmpResult = tokenCmp(major, minor);\n if (cmpResult !== 0) {\n result = false;\n break;\n }\n }\n return result;\n}\n\nexport {\n PREFIX_DOT,\n PREFIX_HYPHEN,\n TYPE_NUMBER,\n TYPE_QUALIFIER,\n tokenize,\n isSubversion,\n compare,\n isVersion,\n isVersion as isSingleVersion,\n isValid,\n parseRange,\n rangeToStr,\n INCLUDING_POINT,\n EXCLUDING_POINT,\n autoExtendMavenRange,\n};\n"]}
1
+ {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/maven/compare.ts"],"names":[],"mappings":"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","sourcesContent":["import { regEx } from '../../../util/regex';\n\nconst PREFIX_DOT = 'PREFIX_DOT';\nconst PREFIX_HYPHEN = 'PREFIX_HYPHEN';\n\nconst TYPE_NUMBER = 'TYPE_NUMBER';\nconst TYPE_QUALIFIER = 'TYPE_QUALIFIER';\n\nexport interface BaseToken {\n prefix: string;\n type: typeof TYPE_NUMBER | typeof TYPE_QUALIFIER;\n val: number | string;\n isTransition?: boolean;\n}\n\nexport interface NumberToken extends BaseToken {\n type: typeof TYPE_NUMBER;\n val: number;\n}\n\nexport interface QualifierToken extends BaseToken {\n type: typeof TYPE_QUALIFIER;\n val: string;\n}\n\nexport type Token = NumberToken | QualifierToken;\n\nfunction iterateChars(\n str: string,\n cb: (p: string | null, n: string | null) => void,\n): void {\n let prev = null;\n let next = null;\n for (let i = 0; i < str.length; i += 1) {\n next = str.charAt(i);\n cb(prev, next);\n prev = next;\n }\n cb(prev, null);\n}\n\nfunction isDigit(char: string): boolean {\n return regEx(/^\\d$/).test(char);\n}\n\nfunction isLetter(char: string): boolean {\n return regEx(/^[a-z_+]$/i).test(char);\n}\n\nfunction isTransition(prevChar: string, nextChar: string): boolean {\n return (\n (isDigit(prevChar) && isLetter(nextChar)) ||\n (isLetter(prevChar) && isDigit(nextChar))\n );\n}\n\nfunction iterateTokens(versionStr: string, cb: (token: Token) => void): void {\n let currentPrefix = PREFIX_HYPHEN;\n let currentVal = '';\n\n function yieldToken(transition = false): void {\n const val = currentVal || '0';\n if (regEx(/^\\d+$/).test(val)) {\n cb({\n prefix: currentPrefix,\n type: TYPE_NUMBER,\n val: parseInt(val, 10),\n isTransition: transition,\n });\n } else {\n cb({\n prefix: currentPrefix,\n type: TYPE_QUALIFIER,\n val,\n isTransition: transition,\n });\n }\n }\n\n iterateChars(versionStr, (prevChar, nextChar) => {\n if (nextChar === null) {\n yieldToken();\n } else if (nextChar === '-') {\n yieldToken();\n currentPrefix = PREFIX_HYPHEN;\n currentVal = '';\n } else if (nextChar === '.') {\n yieldToken();\n currentPrefix = PREFIX_DOT;\n currentVal = '';\n } else if (prevChar !== null && isTransition(prevChar, nextChar)) {\n yieldToken(true);\n currentPrefix = PREFIX_HYPHEN;\n currentVal = nextChar;\n } else {\n currentVal = currentVal.concat(nextChar);\n }\n });\n}\n\nfunction isNull(token: Token): boolean {\n const val = token.val;\n return (\n val === 0 ||\n val === '' ||\n val === 'final' ||\n val === 'ga' ||\n val === 'release' ||\n val === 'latest' ||\n val === 'sr'\n );\n}\n\nfunction tokenize(versionStr: string, preserveMinorZeroes = false): Token[] {\n let buf: Token[] = [];\n let result: Token[] = [];\n let leadingZero = true;\n iterateTokens(versionStr.toLowerCase().replace(regEx(/^v/i), ''), (token) => {\n if (token.prefix === PREFIX_HYPHEN || token.type === TYPE_QUALIFIER) {\n buf = [];\n }\n buf.push(token);\n if (!isNull(token)) {\n leadingZero = false;\n result = result.concat(buf);\n buf = [];\n } else if (leadingZero || preserveMinorZeroes) {\n result = result.concat(buf);\n buf = [];\n }\n });\n return result;\n}\n\nfunction nullFor(token: Token): Token {\n return token.type === TYPE_NUMBER\n ? {\n prefix: token.prefix,\n type: TYPE_NUMBER,\n val: 0,\n }\n : {\n prefix: token.prefix,\n type: TYPE_QUALIFIER,\n val: '',\n };\n}\n\nfunction commonOrder(token: Token): number {\n if (token.type === TYPE_QUALIFIER) {\n return 1;\n }\n if (token.prefix === PREFIX_HYPHEN && token.type === TYPE_NUMBER) {\n return 2;\n }\n return 3;\n}\n\nexport const QualifierTypes = {\n Alpha: 1,\n Beta: 2,\n Milestone: 3,\n RC: 4,\n Snapshot: 5,\n Release: 6,\n SP: 7,\n} as const;\n\nexport function qualifierType(token: Token): number | null {\n const val = token.val;\n if (val === 'alpha' || (token.isTransition && val === 'a')) {\n return QualifierTypes.Alpha;\n }\n if (val === 'beta' || (token.isTransition && val === 'b')) {\n return QualifierTypes.Beta;\n }\n if (val === 'milestone' || (token.isTransition && val === 'm')) {\n return QualifierTypes.Milestone;\n }\n if (val === 'rc' || val === 'cr' || val === 'preview') {\n return QualifierTypes.RC;\n }\n if (val === 'snapshot' || val === 'snap') {\n return QualifierTypes.Snapshot;\n }\n if (\n val === '' ||\n val === 'final' ||\n val === 'ga' ||\n val === 'release' ||\n val === 'latest' ||\n val === 'sr'\n ) {\n return QualifierTypes.Release;\n }\n if (val === 'sp') {\n return QualifierTypes.SP;\n }\n return null;\n}\n\nfunction qualifierCmp(left: Token, right: Token): number {\n const leftOrder = qualifierType(left);\n const rightOrder = qualifierType(right);\n if (leftOrder && rightOrder) {\n if (leftOrder < rightOrder) {\n return -1;\n }\n if (leftOrder > rightOrder) {\n return 1;\n }\n return 0;\n }\n\n if (leftOrder && leftOrder < QualifierTypes.Release) {\n return -1;\n }\n if (rightOrder && rightOrder < QualifierTypes.Release) {\n return 1;\n }\n\n if (left.val < right.val) {\n return -1;\n }\n if (left.val > right.val) {\n return 1;\n }\n return 0;\n}\n\nfunction tokenCmp(left: Token, right: Token): number {\n const leftOrder = commonOrder(left);\n const rightOrder = commonOrder(right);\n\n if (leftOrder < rightOrder) {\n return -1;\n }\n if (leftOrder > rightOrder) {\n return 1;\n }\n\n if (left.type === TYPE_NUMBER && right.type === TYPE_NUMBER) {\n if (left.val < right.val) {\n return -1;\n }\n if (left.val > right.val) {\n return 1;\n }\n return 0;\n }\n\n return qualifierCmp(left, right);\n}\n\nfunction compare(left: string, right: string): number {\n const leftTokens = tokenize(left);\n const rightTokens = tokenize(right);\n const length = Math.max(leftTokens.length, rightTokens.length);\n for (let idx = 0; idx < length; idx += 1) {\n const leftToken = leftTokens[idx] || nullFor(rightTokens[idx]);\n const rightToken = rightTokens[idx] || nullFor(leftTokens[idx]);\n const cmpResult = tokenCmp(leftToken, rightToken);\n if (cmpResult !== 0) {\n return cmpResult;\n }\n }\n return 0;\n}\n\nfunction isVersion(version: unknown): version is string {\n if (!version || typeof version !== 'string') {\n return false;\n }\n if (!regEx(/^[-.a-z_+0-9]+$/i).test(version)) {\n return false;\n }\n if (regEx(/^[.-]/).test(version)) {\n return false;\n }\n if (regEx(/[.-]$/).test(version)) {\n return false;\n }\n if (['latest', 'release'].includes(version.toLowerCase())) {\n return false;\n }\n const tokens = tokenize(version);\n return !!tokens.length;\n}\n\nconst INCLUDING_POINT = 'INCLUDING_POINT';\nconst EXCLUDING_POINT = 'EXCLUDING_POINT';\n\nfunction parseRange(rangeStr: string): Range[] | null {\n function emptyInterval(): Range {\n return {\n leftType: null,\n leftValue: null,\n leftBracket: null,\n rightType: null,\n rightValue: null,\n rightBracket: null,\n };\n }\n\n const commaSplit = rangeStr.split(regEx(/\\s*,\\s*/));\n let ranges: Range[] | null = [];\n let interval = emptyInterval();\n\n commaSplit.forEach((subStr) => {\n if (!ranges) {\n return;\n }\n if (interval.leftType === null) {\n if (regEx(/^\\[.*]$/).test(subStr)) {\n const ver = subStr.slice(1, -1);\n ranges.push({\n leftType: INCLUDING_POINT,\n leftValue: ver,\n leftBracket: '[',\n rightType: INCLUDING_POINT,\n rightValue: ver,\n rightBracket: ']',\n });\n interval = emptyInterval();\n } else if (subStr.startsWith('[')) {\n const ver = subStr.slice(1);\n interval.leftType = INCLUDING_POINT;\n interval.leftValue = ver;\n interval.leftBracket = '[';\n } else if (subStr.startsWith('(') || subStr.startsWith(']')) {\n const ver = subStr.slice(1);\n interval.leftType = EXCLUDING_POINT;\n interval.leftValue = ver;\n interval.leftBracket = subStr[0];\n } else {\n ranges = null;\n }\n } else if (subStr.endsWith(']')) {\n const ver = subStr.slice(0, -1);\n interval.rightType = INCLUDING_POINT;\n interval.rightValue = ver;\n interval.rightBracket = ']';\n ranges.push(interval);\n interval = emptyInterval();\n } else if (subStr.endsWith(')') || subStr.endsWith('[')) {\n const ver = subStr.slice(0, -1);\n interval.rightType = EXCLUDING_POINT;\n interval.rightValue = ver;\n interval.rightBracket = subStr.endsWith(')') ? ')' : '[';\n ranges.push(interval);\n interval = emptyInterval();\n } else {\n ranges = null;\n }\n });\n\n if (interval.leftType) {\n return null;\n } // something like '[1,2],[3'\n if (!ranges?.length) {\n return null;\n }\n\n const lastIdx = ranges.length - 1;\n let prevValue: string | null = null;\n const result: Range[] = [];\n for (let idx = 0; idx < ranges.length; idx += 1) {\n const range = ranges[idx];\n const { leftType, leftValue, rightType, rightValue } = range;\n\n if (idx === 0 && leftValue === '') {\n if (leftType === EXCLUDING_POINT && isVersion(rightValue)) {\n prevValue = rightValue;\n result.push({ ...range, leftValue: null });\n continue;\n }\n return null;\n }\n if (idx === lastIdx && rightValue === '') {\n if (rightType === EXCLUDING_POINT && isVersion(leftValue)) {\n if (prevValue && compare(prevValue, leftValue) === 1) {\n return null;\n }\n result.push({ ...range, rightValue: null });\n continue;\n }\n return null;\n }\n if (isVersion(leftValue) && isVersion(rightValue)) {\n if (compare(leftValue, rightValue) === 1) {\n return null;\n }\n if (prevValue && compare(prevValue, leftValue) === 1) {\n return null;\n }\n prevValue = rightValue;\n result.push(range);\n continue;\n }\n return null;\n }\n return result;\n}\n\nfunction isValid(str: string): boolean {\n if (!str) {\n return false;\n }\n return isVersion(str) || !!parseRange(str);\n}\n\nexport interface Range {\n leftType: typeof INCLUDING_POINT | typeof EXCLUDING_POINT | null;\n leftValue: string | null;\n leftBracket: string | null;\n rightType: typeof INCLUDING_POINT | typeof EXCLUDING_POINT | null;\n rightValue: string | null;\n rightBracket: string | null;\n}\n\nfunction rangeToStr(fullRange: Range[] | null): string | null {\n if (fullRange === null) {\n return null;\n }\n\n const valToStr = (val: string | null): string => val ?? '';\n\n if (fullRange.length === 1) {\n const { leftBracket, rightBracket, leftValue, rightValue } = fullRange[0];\n if (\n leftValue === rightValue &&\n leftBracket === '[' &&\n rightBracket === ']'\n ) {\n return `[${valToStr(leftValue)}]`;\n }\n }\n\n const intervals = fullRange.map((val) =>\n [\n val.leftBracket,\n valToStr(val.leftValue),\n ',',\n valToStr(val.rightValue),\n val.rightBracket,\n ].join(''),\n );\n return intervals.join(',');\n}\n\nfunction tokensToStr(tokens: Token[]): string {\n return tokens.reduce((result: string, token: Token, idx) => {\n const prefix = token.prefix === PREFIX_DOT ? '.' : '-';\n return `${result}${idx !== 0 && token.val !== '' ? prefix : ''}${\n token.val\n }`;\n }, '');\n}\n\nfunction coerceRangeValue(prev: string, next: string): string {\n const prevTokens = tokenize(prev, true);\n const nextTokens = tokenize(next, true);\n const resultTokens = nextTokens.slice(0, prevTokens.length);\n const align = Math.max(0, prevTokens.length - nextTokens.length);\n if (align > 0) {\n resultTokens.push(...prevTokens.slice(prevTokens.length - align));\n }\n return tokensToStr(resultTokens);\n}\n\nfunction incrementRangeValue(value: string): string {\n const tokens = tokenize(value);\n const lastToken = tokens[tokens.length - 1];\n if (typeof lastToken.val === 'number') {\n lastToken.val += 1;\n return coerceRangeValue(value, tokensToStr(tokens));\n }\n return value;\n}\n\nfunction autoExtendMavenRange(\n currentRepresentation: string,\n newValue: string,\n): string | null {\n const range = parseRange(currentRepresentation);\n if (!range) {\n return currentRepresentation;\n }\n const isPoint = (vals: Range[]): boolean => {\n if (vals.length !== 1) {\n return false;\n }\n const { leftType, leftValue, rightType, rightValue } = vals[0];\n return (\n leftType === 'INCLUDING_POINT' &&\n leftType === rightType &&\n leftValue === rightValue\n );\n };\n if (isPoint(range)) {\n return `[${newValue}]`;\n }\n\n const interval = [...range].reverse().find((elem) => {\n const { rightType, rightValue } = elem;\n return (\n rightValue === null ||\n (rightType === INCLUDING_POINT && compare(rightValue, newValue) === -1) ||\n (rightType === EXCLUDING_POINT && compare(rightValue, newValue) !== 1)\n );\n });\n\n if (!interval) {\n return currentRepresentation;\n }\n\n const { leftValue, rightValue } = interval;\n if (\n leftValue !== null &&\n rightValue !== null &&\n incrementRangeValue(leftValue) === rightValue\n ) {\n if (compare(newValue, leftValue) !== -1) {\n interval.leftValue = coerceRangeValue(leftValue, newValue);\n interval.rightValue = incrementRangeValue(interval.leftValue);\n }\n } else if (rightValue !== null) {\n if (interval.rightType === INCLUDING_POINT) {\n const tokens = tokenize(rightValue);\n const lastToken = tokens[tokens.length - 1];\n if (typeof lastToken.val === 'number') {\n interval.rightValue = coerceRangeValue(rightValue, newValue);\n } else {\n interval.rightValue = newValue;\n }\n } else {\n interval.rightValue = incrementRangeValue(\n coerceRangeValue(rightValue, newValue),\n );\n }\n } else if (leftValue !== null) {\n interval.leftValue = coerceRangeValue(leftValue, newValue);\n }\n\n return rangeToStr(range);\n}\n\nfunction isSubversion(majorVersion: string, minorVersion: string): boolean {\n const majorTokens = tokenize(majorVersion);\n const minorTokens = tokenize(minorVersion);\n\n let result = true;\n const len = majorTokens.length;\n for (let idx = 0; idx < len; idx += 1) {\n const major = majorTokens[idx];\n const minor = minorTokens[idx] || nullFor(majorTokens[idx]);\n const cmpResult = tokenCmp(major, minor);\n if (cmpResult !== 0) {\n result = false;\n break;\n }\n }\n return result;\n}\n\nexport {\n PREFIX_DOT,\n PREFIX_HYPHEN,\n TYPE_NUMBER,\n TYPE_QUALIFIER,\n tokenize,\n isSubversion,\n compare,\n isVersion,\n isVersion as isSingleVersion,\n isValid,\n parseRange,\n rangeToStr,\n INCLUDING_POINT,\n EXCLUDING_POINT,\n autoExtendMavenRange,\n};\n"]}
@@ -43,7 +43,7 @@ class PerlVersioningApi extends generic_1.GenericVersioningApi {
43
43
  }
44
44
  const [, versionValue] = matches;
45
45
  const prerelease = versionValue.includes('_') ? 'alpha' : '';
46
- const release = versionValue.split(/[._]/).map(Number);
46
+ const release = versionValue.split((0, regex_1.regEx)(/[._]/)).map(Number);
47
47
  return { release, prerelease };
48
48
  }
49
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/perl/index.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,wCAAkD;AAGrC,QAAA,EAAE,GAAG,MAAM,CAAC;AACZ,QAAA,WAAW,GAAG,MAAM,CAAC;AACrB,QAAA,IAAI,GAAG,CAAC,kCAAkC,CAAC,CAAC;AAC5C,QAAA,cAAc,GAAG,KAAK,CAAC;AAEpC,oDAAoD;AACpD,MAAM,qBAAqB,GAAG,IAAA,aAAK,EAAC,yBAAyB,CAAC,CAAC;AAC/D,2DAA2D;AAC3D,MAAM,2BAA2B,GAAG,IAAA,aAAK,EAAC,8BAA8B,CAAC,CAAC;AAE1E,MAAM,iBAAkB,SAAQ,8BAAoB;IACxC,MAAM,CAAC,OAAe;QAC9B,OAAO,CACL,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;YAClC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CACzC,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,OAAe;QAC1C,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC;QACzC,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5D,MAAM,iBAAiB,GACrB,WAAW;aACR,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;aACjB,KAAK,CAAC,SAAS,CAAC;YACjB,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACd,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,SAAS,IAAI,GAAG,CAAC;YACnB,CAAC;YACD,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,IAAI,0BAA0B,CAAC,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,iBAAiB,CAAC,CAAC;QACrE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IACjC,CAAC;IAEO,0BAA0B,CAAC,OAAe;QAChD,MAAM,OAAO,GAAG,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,OAAO,CAAC;QACjC,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IACjC,CAAC;CACF;AAEY,QAAA,GAAG,GAAkB,IAAI,iBAAiB,EAAE,CAAC;AAE1D,kBAAe,WAAG,CAAC","sourcesContent":["import { regEx } from '../../../util/regex';\nimport type { GenericVersion } from '../generic';\nimport { GenericVersioningApi } from '../generic';\nimport type { VersioningApi } from '../types';\n\nexport const id = 'perl';\nexport const displayName = 'Perl';\nexport const urls = ['https://metacpan.org/pod/version'];\nexport const supportsRanges = false;\n\n// https://metacpan.org/pod/version#Decimal-Versions\nconst decimalVersionPattern = regEx(/^(\\d+)\\.(\\d+(?:_\\d+)?)$/);\n// https://metacpan.org/pod/version#Dotted-Decimal-Versions\nconst dottedDecimalVersionPattern = regEx(/^v?(\\d+(?:\\.\\d+)*(?:_\\d+)?)$/);\n\nclass PerlVersioningApi extends GenericVersioningApi {\n protected _parse(version: string): GenericVersion | null {\n return (\n this._parseDecimalVersion(version) ??\n this._parseDottedDecimalVersion(version)\n );\n }\n\n private _parseDecimalVersion(version: string): GenericVersion | null {\n const matches = decimalVersionPattern.exec(version);\n if (!matches) {\n return null;\n }\n const [, intPart, decimalPart] = matches;\n const prerelease = decimalPart.includes('_') ? 'alpha' : '';\n\n const decimalComponents =\n decimalPart\n .replace(/_/g, '')\n .match(/.{1,3}/g)\n ?.map((value) => {\n let component = value;\n while (component.length < 3) {\n component += '0';\n }\n return Number.parseInt(component, 10);\n }) ?? /* istanbul ignore next */ [];\n const release = [Number.parseInt(intPart, 10), ...decimalComponents];\n return { release, prerelease };\n }\n\n private _parseDottedDecimalVersion(version: string): GenericVersion | null {\n const matches = dottedDecimalVersionPattern.exec(version);\n if (!matches) {\n return null;\n }\n const [, versionValue] = matches;\n const prerelease = versionValue.includes('_') ? 'alpha' : '';\n const release = versionValue.split(/[._]/).map(Number);\n return { release, prerelease };\n }\n}\n\nexport const api: VersioningApi = new PerlVersioningApi();\n\nexport default api;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/perl/index.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,wCAAkD;AAGrC,QAAA,EAAE,GAAG,MAAM,CAAC;AACZ,QAAA,WAAW,GAAG,MAAM,CAAC;AACrB,QAAA,IAAI,GAAG,CAAC,kCAAkC,CAAC,CAAC;AAC5C,QAAA,cAAc,GAAG,KAAK,CAAC;AAEpC,oDAAoD;AACpD,MAAM,qBAAqB,GAAG,IAAA,aAAK,EAAC,yBAAyB,CAAC,CAAC;AAC/D,2DAA2D;AAC3D,MAAM,2BAA2B,GAAG,IAAA,aAAK,EAAC,8BAA8B,CAAC,CAAC;AAE1E,MAAM,iBAAkB,SAAQ,8BAAoB;IACxC,MAAM,CAAC,OAAe;QAC9B,OAAO,CACL,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;YAClC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CACzC,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,OAAe;QAC1C,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC;QACzC,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5D,MAAM,iBAAiB,GACrB,WAAW;aACR,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;aACjB,KAAK,CAAC,SAAS,CAAC;YACjB,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACd,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,SAAS,IAAI,GAAG,CAAC;YACnB,CAAC;YACD,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,IAAI,0BAA0B,CAAC,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,iBAAiB,CAAC,CAAC;QACrE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IACjC,CAAC;IAEO,0BAA0B,CAAC,OAAe;QAChD,MAAM,OAAO,GAAG,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,OAAO,CAAC;QACjC,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,IAAA,aAAK,EAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IACjC,CAAC;CACF;AAEY,QAAA,GAAG,GAAkB,IAAI,iBAAiB,EAAE,CAAC;AAE1D,kBAAe,WAAG,CAAC","sourcesContent":["import { regEx } from '../../../util/regex';\nimport type { GenericVersion } from '../generic';\nimport { GenericVersioningApi } from '../generic';\nimport type { VersioningApi } from '../types';\n\nexport const id = 'perl';\nexport const displayName = 'Perl';\nexport const urls = ['https://metacpan.org/pod/version'];\nexport const supportsRanges = false;\n\n// https://metacpan.org/pod/version#Decimal-Versions\nconst decimalVersionPattern = regEx(/^(\\d+)\\.(\\d+(?:_\\d+)?)$/);\n// https://metacpan.org/pod/version#Dotted-Decimal-Versions\nconst dottedDecimalVersionPattern = regEx(/^v?(\\d+(?:\\.\\d+)*(?:_\\d+)?)$/);\n\nclass PerlVersioningApi extends GenericVersioningApi {\n protected _parse(version: string): GenericVersion | null {\n return (\n this._parseDecimalVersion(version) ??\n this._parseDottedDecimalVersion(version)\n );\n }\n\n private _parseDecimalVersion(version: string): GenericVersion | null {\n const matches = decimalVersionPattern.exec(version);\n if (!matches) {\n return null;\n }\n const [, intPart, decimalPart] = matches;\n const prerelease = decimalPart.includes('_') ? 'alpha' : '';\n\n const decimalComponents =\n decimalPart\n .replace(/_/g, '')\n .match(/.{1,3}/g)\n ?.map((value) => {\n let component = value;\n while (component.length < 3) {\n component += '0';\n }\n return Number.parseInt(component, 10);\n }) ?? /* istanbul ignore next */ [];\n const release = [Number.parseInt(intPart, 10), ...decimalComponents];\n return { release, prerelease };\n }\n\n private _parseDottedDecimalVersion(version: string): GenericVersion | null {\n const matches = dottedDecimalVersionPattern.exec(version);\n if (!matches) {\n return null;\n }\n const [, versionValue] = matches;\n const prerelease = versionValue.includes('_') ? 'alpha' : '';\n const release = versionValue.split(regEx(/[._]/)).map(Number);\n return { release, prerelease };\n }\n}\n\nexport const api: VersioningApi = new PerlVersioningApi();\n\nexport default api;\n"]}
@@ -40,6 +40,7 @@ export declare const allowedFields: {
40
40
  newMinor: string;
41
41
  newPatch: string;
42
42
  newName: string;
43
+ newNameLinked: string;
43
44
  newValue: string;
44
45
  newVersion: string;
45
46
  newVersionAgeInDays: string;
@@ -153,6 +153,7 @@ exports.allowedFields = {
153
153
  newMinor: 'The minor version of the new version. e.g. "1" if the new version is "3.1.0"',
154
154
  newPatch: 'The patch version of the new version. e.g. "0" if the new version is "3.1.0"',
155
155
  newName: 'The name of the new dependency that replaces the current deprecated dependency',
156
+ newNameLinked: 'The new dependency name already linked to its home page using markdown',
156
157
  newValue: 'The new value in the upgrade. Can be a range or version e.g. "^3.0.0" or "3.1.0"',
157
158
  newVersion: 'The new version in the upgrade, e.g. "3.1.0"',
158
159
  newVersionAgeInDays: 'The age of the new version in days',