renovate 43.122.0 → 43.123.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/presets/internal/config.preset.js +2 -0
- package/dist/config/presets/internal/config.preset.js.map +1 -1
- package/dist/config/presets/internal/global.preset.js +1 -0
- package/dist/config/presets/internal/global.preset.js.map +1 -1
- package/dist/config/presets/internal/helpers.preset.js +33 -4
- package/dist/config/presets/internal/helpers.preset.js.map +1 -1
- package/dist/manager-list.generated.d.ts +1 -1
- package/dist/manager-list.generated.js +2 -1
- package/dist/manager-list.generated.js.map +1 -1
- package/dist/modules/datasource/terraform-module/base.js +4 -3
- package/dist/modules/datasource/terraform-module/base.js.map +1 -1
- package/dist/modules/datasource/terraform-module/index.js +46 -67
- package/dist/modules/datasource/terraform-module/index.js.map +1 -1
- package/dist/modules/datasource/terraform-module/schema.js +31 -0
- package/dist/modules/datasource/terraform-module/schema.js.map +1 -0
- package/dist/modules/datasource/terraform-module/utils.js +15 -1
- package/dist/modules/datasource/terraform-module/utils.js.map +1 -1
- package/dist/modules/datasource/terraform-provider/index.js +0 -1
- package/dist/modules/datasource/terraform-provider/index.js.map +1 -1
- package/dist/modules/manager/api.js +2 -0
- package/dist/modules/manager/api.js.map +1 -1
- package/dist/modules/manager/fingerprint.generated.js +2 -1
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/terraform/base.js +2 -2
- package/dist/modules/manager/terraform/base.js.map +1 -1
- package/dist/modules/manager/xcodegen/extract.js +142 -0
- package/dist/modules/manager/xcodegen/extract.js.map +1 -0
- package/dist/modules/manager/xcodegen/index.js +30 -0
- package/dist/modules/manager/xcodegen/index.js.map +1 -0
- package/dist/modules/manager/xcodegen/schema.js +25 -0
- package/dist/modules/manager/xcodegen/schema.js.map +1 -0
- package/dist/modules/platform/github/schema.d.ts +2 -2
- package/package.json +2 -2
- package/renovate-schema.json +59 -2
|
@@ -32,6 +32,8 @@ const presets = {
|
|
|
32
32
|
"mergeConfidence:age-confidence-badges",
|
|
33
33
|
"replacements:all",
|
|
34
34
|
"workarounds:all",
|
|
35
|
+
"helpers:forgejoDigestChangelogs",
|
|
36
|
+
"helpers:giteaDigestChangelogs",
|
|
35
37
|
"helpers:githubDigestChangelogs",
|
|
36
38
|
"helpers:goXPackagesChangelogLink",
|
|
37
39
|
"helpers:goXPackagesNameLink"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.preset.js","names":[],"sources":["../../../../lib/config/presets/internal/config.preset.ts"],"sourcesContent":["import type { Preset } from '../types.ts';\n\nexport const presets: Record<string, Preset> = {\n 'best-practices': {\n description:\n 'Preset with best practices from the Renovate maintainers. Recommended for advanced users, who want to follow our best practices.',\n extends: [\n 'config:recommended',\n 'docker:pinDigests',\n 'helpers:pinGitHubActionDigests',\n ':configMigration',\n ':pinDevDependencies',\n 'abandonments:recommended',\n 'security:minimumReleaseAgeNpm',\n ':maintainLockFilesWeekly',\n ],\n },\n 'js-app': {\n description: 'Default configuration for webapps.',\n extends: ['config:recommended', ':pinAllExceptPeerDependencies'],\n },\n 'js-lib': {\n description: 'Default configuration for libraries.',\n extends: ['config:recommended', ':pinOnlyDevDependencies'],\n },\n recommended: {\n description:\n 'Recommended configuration for most users. It does not matter what programming language you use.',\n extends: [\n ':dependencyDashboard',\n ':semanticPrefixFixDepsChoreOthers',\n ':ignoreModulesAndTests',\n 'group:monorepos',\n 'group:recommended',\n 'mergeConfidence:age-confidence-badges',\n 'replacements:all',\n 'workarounds:all',\n 'helpers:githubDigestChangelogs',\n 'helpers:goXPackagesChangelogLink',\n 'helpers:goXPackagesNameLink',\n ],\n },\n semverAllMonthly: {\n description:\n 'Preserve SemVer ranges and update everything together once a month. (excluding replacements and lockfile maintenance)',\n extends: [\n ':preserveSemverRanges',\n 'group:all',\n 'schedule:monthly',\n ':maintainLockFilesMonthly',\n ],\n lockFileMaintenance: {\n commitMessageAction: 'Update',\n },\n separateMajorMinor: false,\n },\n semverAllWeekly: {\n description:\n 'Preserve SemVer ranges and update everything together once a week (excluding replacements and lockfile maintenance).',\n extends: [\n ':preserveSemverRanges',\n 'group:all',\n 'schedule:weekly',\n ':maintainLockFilesWeekly',\n ],\n lockFileMaintenance: {\n commitMessageAction: 'Update',\n },\n separateMajorMinor: false,\n },\n};\n"],"mappings":";AAEA,MAAa,UAAkC;CAC7C,kBAAkB;EAChB,aACE;EACF,SAAS;GACP;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD;EACF;CACD,UAAU;EACR,aAAa;EACb,SAAS,CAAC,sBAAsB,gCAAgC;EACjE;CACD,UAAU;EACR,aAAa;EACb,SAAS,CAAC,sBAAsB,0BAA0B;EAC3D;CACD,aAAa;EACX,aACE;EACF,SAAS;GACP;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD;EACF;CACD,kBAAkB;EAChB,aACE;EACF,SAAS;GACP;GACA;GACA;GACA;GACD;EACD,qBAAqB,EACnB,qBAAqB,UACtB;EACD,oBAAoB;EACrB;CACD,iBAAiB;EACf,aACE;EACF,SAAS;GACP;GACA;GACA;GACA;GACD;EACD,qBAAqB,EACnB,qBAAqB,UACtB;EACD,oBAAoB;EACrB;CACF"}
|
|
1
|
+
{"version":3,"file":"config.preset.js","names":[],"sources":["../../../../lib/config/presets/internal/config.preset.ts"],"sourcesContent":["import type { Preset } from '../types.ts';\n\nexport const presets: Record<string, Preset> = {\n 'best-practices': {\n description:\n 'Preset with best practices from the Renovate maintainers. Recommended for advanced users, who want to follow our best practices.',\n extends: [\n 'config:recommended',\n 'docker:pinDigests',\n 'helpers:pinGitHubActionDigests',\n ':configMigration',\n ':pinDevDependencies',\n 'abandonments:recommended',\n 'security:minimumReleaseAgeNpm',\n ':maintainLockFilesWeekly',\n ],\n },\n 'js-app': {\n description: 'Default configuration for webapps.',\n extends: ['config:recommended', ':pinAllExceptPeerDependencies'],\n },\n 'js-lib': {\n description: 'Default configuration for libraries.',\n extends: ['config:recommended', ':pinOnlyDevDependencies'],\n },\n recommended: {\n description:\n 'Recommended configuration for most users. It does not matter what programming language you use.',\n extends: [\n ':dependencyDashboard',\n ':semanticPrefixFixDepsChoreOthers',\n ':ignoreModulesAndTests',\n 'group:monorepos',\n 'group:recommended',\n 'mergeConfidence:age-confidence-badges',\n 'replacements:all',\n 'workarounds:all',\n 'helpers:forgejoDigestChangelogs',\n 'helpers:giteaDigestChangelogs',\n 'helpers:githubDigestChangelogs',\n 'helpers:goXPackagesChangelogLink',\n 'helpers:goXPackagesNameLink',\n ],\n },\n semverAllMonthly: {\n description:\n 'Preserve SemVer ranges and update everything together once a month. (excluding replacements and lockfile maintenance)',\n extends: [\n ':preserveSemverRanges',\n 'group:all',\n 'schedule:monthly',\n ':maintainLockFilesMonthly',\n ],\n lockFileMaintenance: {\n commitMessageAction: 'Update',\n },\n separateMajorMinor: false,\n },\n semverAllWeekly: {\n description:\n 'Preserve SemVer ranges and update everything together once a week (excluding replacements and lockfile maintenance).',\n extends: [\n ':preserveSemverRanges',\n 'group:all',\n 'schedule:weekly',\n ':maintainLockFilesWeekly',\n ],\n lockFileMaintenance: {\n commitMessageAction: 'Update',\n },\n separateMajorMinor: false,\n },\n};\n"],"mappings":";AAEA,MAAa,UAAkC;CAC7C,kBAAkB;EAChB,aACE;EACF,SAAS;GACP;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD;EACF;CACD,UAAU;EACR,aAAa;EACb,SAAS,CAAC,sBAAsB,gCAAgC;EACjE;CACD,UAAU;EACR,aAAa;EACb,SAAS,CAAC,sBAAsB,0BAA0B;EAC3D;CACD,aAAa;EACX,aACE;EACF,SAAS;GACP;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD;EACF;CACD,kBAAkB;EAChB,aACE;EACF,SAAS;GACP;GACA;GACA;GACA;GACD;EACD,qBAAqB,EACnB,qBAAqB,UACtB;EACD,oBAAoB;EACrB;CACD,iBAAiB;EACf,aACE;EACF,SAAS;GACP;GACA;GACA;GACA;GACD;EACD,qBAAqB,EACnB,qBAAqB,UACtB;EACD,oBAAoB;EACrB;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global.preset.js","names":[],"sources":["../../../../lib/config/presets/internal/global.preset.ts"],"sourcesContent":["import type { GlobalPreset } from '../types.ts';\n\nexport const presets: Record<string, GlobalPreset> = {\n safeEnv: {\n allowedEnv: ['GO*'
|
|
1
|
+
{"version":3,"file":"global.preset.js","names":[],"sources":["../../../../lib/config/presets/internal/global.preset.ts"],"sourcesContent":["import type { GlobalPreset } from '../types.ts';\n\nexport const presets: Record<string, GlobalPreset> = {\n safeEnv: {\n allowedEnv: [\n 'BUN_CONFIG_MAX_HTTP_REQUESTS',\n 'GO*',\n 'GRADLE_OPTS',\n 'RUSTC_BOOTSTRAP',\n ],\n description:\n 'Hopefully safe environment variables to allow users to configure.',\n },\n};\n"],"mappings":";AAEA,MAAa,UAAwC,EACnD,SAAS;CACP,YAAY;EACV;EACA;EACA;EACA;EACD;CACD,aACE;CACH,EACF"}
|
|
@@ -16,17 +16,46 @@ const presets = {
|
|
|
16
16
|
description: "Keep `typescript` version in sync with the `rc` tag.",
|
|
17
17
|
extends: [":followTag(typescript, rc)"]
|
|
18
18
|
},
|
|
19
|
+
forgejoDigestChangelogs: {
|
|
20
|
+
description: "Ensure that every dependency pinned by digest and sourced from Forgejo contains a link to the commit-to-commit diff",
|
|
21
|
+
packageRules: [{
|
|
22
|
+
changelogUrl: "{{sourceUrl}}/compare/{{currentDigest}}..{{newDigest}}",
|
|
23
|
+
matchDatasources: ["forgejo-releases", "forgejo-tags"],
|
|
24
|
+
matchUpdateTypes: ["digest"]
|
|
25
|
+
}, {
|
|
26
|
+
changelogUrl: "{{sourceUrl}}/compare/{{currentDigest}}..{{newDigest}}",
|
|
27
|
+
matchDatasources: ["git-refs", "git-tags"],
|
|
28
|
+
matchJsonata: ["$detectPlatform(sourceUrl) = 'forgejo'"],
|
|
29
|
+
matchUpdateTypes: ["digest"]
|
|
30
|
+
}]
|
|
31
|
+
},
|
|
32
|
+
giteaDigestChangelogs: {
|
|
33
|
+
description: "Ensure that every dependency pinned by digest and sourced from Gitea contains a link to the commit-to-commit diff",
|
|
34
|
+
packageRules: [{
|
|
35
|
+
changelogUrl: "{{sourceUrl}}/compare/{{currentDigest}}..{{newDigest}}",
|
|
36
|
+
matchDatasources: ["gitea-releases", "gitea-tags"],
|
|
37
|
+
matchUpdateTypes: ["digest"]
|
|
38
|
+
}, {
|
|
39
|
+
changelogUrl: "{{sourceUrl}}/compare/{{currentDigest}}..{{newDigest}}",
|
|
40
|
+
matchDatasources: ["git-refs", "git-tags"],
|
|
41
|
+
matchJsonata: ["$detectPlatform(sourceUrl) = 'gitea'"],
|
|
42
|
+
matchUpdateTypes: ["digest"]
|
|
43
|
+
}]
|
|
44
|
+
},
|
|
19
45
|
githubDigestChangelogs: {
|
|
20
|
-
description: "Ensure that every dependency pinned by digest and sourced from GitHub.com contains a link to the commit-to-commit diff",
|
|
46
|
+
description: "Ensure that every dependency pinned by digest and sourced from GitHub.com and Github enterprise contains a link to the commit-to-commit diff",
|
|
21
47
|
packageRules: [{
|
|
22
48
|
changelogUrl: "{{sourceUrl}}/compare/{{currentDigest}}..{{newDigest}}",
|
|
23
49
|
matchDatasources: [
|
|
24
|
-
"
|
|
25
|
-
"git-tags",
|
|
50
|
+
"github-digest",
|
|
26
51
|
"github-releases",
|
|
27
52
|
"github-tags"
|
|
28
53
|
],
|
|
29
|
-
|
|
54
|
+
matchUpdateTypes: ["digest"]
|
|
55
|
+
}, {
|
|
56
|
+
changelogUrl: "{{sourceUrl}}/compare/{{currentDigest}}..{{newDigest}}",
|
|
57
|
+
matchDatasources: ["git-refs", "git-tags"],
|
|
58
|
+
matchJsonata: ["$detectPlatform(sourceUrl) = 'github'"],
|
|
30
59
|
matchUpdateTypes: ["digest"]
|
|
31
60
|
}]
|
|
32
61
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.preset.js","names":[],"sources":["../../../../lib/config/presets/internal/helpers.preset.ts"],"sourcesContent":["import type { Preset } from '../types.ts';\n\nexport const presets: Record<string, Preset> = {\n disableTypesNodeMajor: {\n description: 'Disable `major` updates to `@types/node`.',\n packageRules: [\n {\n enabled: false,\n matchPackageNames: ['@types/node'],\n matchUpdateTypes: ['major'],\n },\n ],\n },\n followTypescriptNext: {\n description: 'Keep `typescript` version in sync with the `next` tag.',\n extends: [':followTag(typescript, next)'],\n },\n followTypescriptRc: {\n description: 'Keep `typescript` version in sync with the `rc` tag.',\n extends: [':followTag(typescript, rc)'],\n },\n
|
|
1
|
+
{"version":3,"file":"helpers.preset.js","names":[],"sources":["../../../../lib/config/presets/internal/helpers.preset.ts"],"sourcesContent":["import type { Preset } from '../types.ts';\n\nexport const presets: Record<string, Preset> = {\n disableTypesNodeMajor: {\n description: 'Disable `major` updates to `@types/node`.',\n packageRules: [\n {\n enabled: false,\n matchPackageNames: ['@types/node'],\n matchUpdateTypes: ['major'],\n },\n ],\n },\n followTypescriptNext: {\n description: 'Keep `typescript` version in sync with the `next` tag.',\n extends: [':followTag(typescript, next)'],\n },\n followTypescriptRc: {\n description: 'Keep `typescript` version in sync with the `rc` tag.',\n extends: [':followTag(typescript, rc)'],\n },\n forgejoDigestChangelogs: {\n description:\n 'Ensure that every dependency pinned by digest and sourced from Forgejo contains a link to the commit-to-commit diff',\n packageRules: [\n {\n changelogUrl: '{{sourceUrl}}/compare/{{currentDigest}}..{{newDigest}}',\n matchDatasources: ['forgejo-releases', 'forgejo-tags'],\n matchUpdateTypes: ['digest'],\n },\n {\n changelogUrl: '{{sourceUrl}}/compare/{{currentDigest}}..{{newDigest}}',\n matchDatasources: ['git-refs', 'git-tags'],\n matchJsonata: [\"$detectPlatform(sourceUrl) = 'forgejo'\"],\n matchUpdateTypes: ['digest'],\n },\n ],\n },\n giteaDigestChangelogs: {\n description:\n 'Ensure that every dependency pinned by digest and sourced from Gitea contains a link to the commit-to-commit diff',\n packageRules: [\n {\n changelogUrl: '{{sourceUrl}}/compare/{{currentDigest}}..{{newDigest}}',\n matchDatasources: ['gitea-releases', 'gitea-tags'],\n matchUpdateTypes: ['digest'],\n },\n {\n changelogUrl: '{{sourceUrl}}/compare/{{currentDigest}}..{{newDigest}}',\n matchDatasources: ['git-refs', 'git-tags'],\n matchJsonata: [\"$detectPlatform(sourceUrl) = 'gitea'\"],\n matchUpdateTypes: ['digest'],\n },\n ],\n },\n githubDigestChangelogs: {\n description:\n 'Ensure that every dependency pinned by digest and sourced from GitHub.com and Github enterprise contains a link to the commit-to-commit diff',\n packageRules: [\n {\n changelogUrl: '{{sourceUrl}}/compare/{{currentDigest}}..{{newDigest}}',\n matchDatasources: ['github-digest', 'github-releases', 'github-tags'],\n matchUpdateTypes: ['digest'],\n },\n {\n changelogUrl: '{{sourceUrl}}/compare/{{currentDigest}}..{{newDigest}}',\n matchDatasources: ['git-refs', 'git-tags'],\n matchJsonata: [\"$detectPlatform(sourceUrl) = 'github'\"],\n matchUpdateTypes: ['digest'],\n },\n ],\n },\n goXPackagesChangelogLink: {\n description: 'Correctly link to the source code for golang.org/x packages',\n packageRules: [\n {\n matchManagers: ['gomod'],\n // NOTE that digests are not supported with the below diff view\n matchUpdateTypes: ['major', 'minor', 'patch'],\n prBodyDefinitions: {\n Change:\n \"{{#if (containsString depName 'golang.org/x/')}}[`{{{displayFrom}}}` → `{{{displayTo}}}`](https://cs.opensource.google/{{{replace '^golang\\\\.org' 'go' depName}}}/+/refs/tags/{{{currentValue}}}...refs/tags/{{{newValue}}}){{else}}`{{{displayFrom}}}` → `{{{displayTo}}}`{{/if}}\",\n },\n },\n ],\n },\n goXPackagesNameLink: {\n description: \"Link to pkg.go.dev/... for golang.org/x packages' title\",\n packageRules: [\n {\n matchManagers: ['gomod'],\n prBodyDefinitions: {\n Package:\n \"{{#if (containsString depName 'golang.org/x/')}}[{{{depName}}}](https://pkg.go.dev/{{{depName}}}){{else}}{{{depNameLinked}}}{{/if}}\",\n },\n },\n ],\n },\n pinGitHubActionDigests: {\n description: 'Pin `github-action` digests.',\n packageRules: [\n {\n matchDepTypes: ['action'],\n pinDigests: true,\n },\n ],\n },\n pinGitHubActionDigestsToSemver: {\n description: 'Convert pinned GitHub Action digests to SemVer.',\n packageRules: [\n {\n extends: ['helpers:pinGitHubActionDigests'],\n extractVersion: '^(?<version>v?\\\\d+\\\\.\\\\d+\\\\.\\\\d+)$',\n versioning:\n 'regex:^v?(?<major>\\\\d+)(\\\\.(?<minor>\\\\d+)\\\\.(?<patch>\\\\d+))?$',\n },\n ],\n },\n};\n"],"mappings":";AAEA,MAAa,UAAkC;CAC7C,uBAAuB;EACrB,aAAa;EACb,cAAc,CACZ;GACE,SAAS;GACT,mBAAmB,CAAC,cAAc;GAClC,kBAAkB,CAAC,QAAQ;GAC5B,CACF;EACF;CACD,sBAAsB;EACpB,aAAa;EACb,SAAS,CAAC,+BAA+B;EAC1C;CACD,oBAAoB;EAClB,aAAa;EACb,SAAS,CAAC,6BAA6B;EACxC;CACD,yBAAyB;EACvB,aACE;EACF,cAAc,CACZ;GACE,cAAc;GACd,kBAAkB,CAAC,oBAAoB,eAAe;GACtD,kBAAkB,CAAC,SAAS;GAC7B,EACD;GACE,cAAc;GACd,kBAAkB,CAAC,YAAY,WAAW;GAC1C,cAAc,CAAC,yCAAyC;GACxD,kBAAkB,CAAC,SAAS;GAC7B,CACF;EACF;CACD,uBAAuB;EACrB,aACE;EACF,cAAc,CACZ;GACE,cAAc;GACd,kBAAkB,CAAC,kBAAkB,aAAa;GAClD,kBAAkB,CAAC,SAAS;GAC7B,EACD;GACE,cAAc;GACd,kBAAkB,CAAC,YAAY,WAAW;GAC1C,cAAc,CAAC,uCAAuC;GACtD,kBAAkB,CAAC,SAAS;GAC7B,CACF;EACF;CACD,wBAAwB;EACtB,aACE;EACF,cAAc,CACZ;GACE,cAAc;GACd,kBAAkB;IAAC;IAAiB;IAAmB;IAAc;GACrE,kBAAkB,CAAC,SAAS;GAC7B,EACD;GACE,cAAc;GACd,kBAAkB,CAAC,YAAY,WAAW;GAC1C,cAAc,CAAC,wCAAwC;GACvD,kBAAkB,CAAC,SAAS;GAC7B,CACF;EACF;CACD,0BAA0B;EACxB,aAAa;EACb,cAAc,CACZ;GACE,eAAe,CAAC,QAAQ;GAExB,kBAAkB;IAAC;IAAS;IAAS;IAAQ;GAC7C,mBAAmB,EACjB,QACE,sRACH;GACF,CACF;EACF;CACD,qBAAqB;EACnB,aAAa;EACb,cAAc,CACZ;GACE,eAAe,CAAC,QAAQ;GACxB,mBAAmB,EACjB,SACE,uIACH;GACF,CACF;EACF;CACD,wBAAwB;EACtB,aAAa;EACb,cAAc,CACZ;GACE,eAAe,CAAC,SAAS;GACzB,YAAY;GACb,CACF;EACF;CACD,gCAAgC;EAC9B,aAAa;EACb,cAAc,CACZ;GACE,SAAS,CAAC,iCAAiC;GAC3C,gBAAgB;GAChB,YACE;GACH,CACF;EACF;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region lib/manager-list.generated.d.ts
|
|
2
|
-
declare const AllManagersListLiteral: readonly ["ansible", "ansible-galaxy", "ant", "argocd", "asdf", "azure-pipelines", "batect", "batect-wrapper", "bazel", "bazel-module", "bazelisk", "bicep", "bitbucket-pipelines", "bitrise", "buildkite", "buildpacks", "bun", "bun-version", "bundler", "cake", "cargo", "cdnurl", "circleci", "cloudbuild", "cocoapods", "composer", "conan", "copier", "cpanfile", "crossplane", "crow", "deps-edn", "devbox", "devcontainer", "docker-compose", "dockerfile", "droneci", "fleet", "flux", "fvm", "git-submodules", "github-actions", "gitlabci", "gitlabci-include", "glasskube", "gleam", "gomod", "gradle", "gradle-wrapper", "haskell-cabal", "helm-requirements", "helm-values", "helmfile", "helmsman", "helmv3", "hermit", "homeassistant-manifest", "homebrew", "html", "jenkins", "jsonnet-bundler", "kotlin-script", "kubernetes", "kustomize", "leiningen", "maven", "maven-wrapper", "meteor", "mint", "mise", "mix", "nix", "nodenv", "npm", "nuget", "nvm", "ocb", "osgi", "pep621", "pep723", "pip-compile", "pip_requirements", "pip_setup", "pipenv", "pixi", "poetry", "pre-commit", "pub", "puppet", "pyenv", "quadlet", "renovate-config-presets", "ruby-version", "runtime-version", "sbt", "scalafmt", "setup-cfg", "sveltos", "swift", "tekton", "terraform", "terraform-version", "terragrunt", "terragrunt-version", "tflint-plugin", "travis", "typst", "unity3d", "velaci", "vendir", "woodpecker"];
|
|
2
|
+
declare const AllManagersListLiteral: readonly ["ansible", "ansible-galaxy", "ant", "argocd", "asdf", "azure-pipelines", "batect", "batect-wrapper", "bazel", "bazel-module", "bazelisk", "bicep", "bitbucket-pipelines", "bitrise", "buildkite", "buildpacks", "bun", "bun-version", "bundler", "cake", "cargo", "cdnurl", "circleci", "cloudbuild", "cocoapods", "composer", "conan", "copier", "cpanfile", "crossplane", "crow", "deps-edn", "devbox", "devcontainer", "docker-compose", "dockerfile", "droneci", "fleet", "flux", "fvm", "git-submodules", "github-actions", "gitlabci", "gitlabci-include", "glasskube", "gleam", "gomod", "gradle", "gradle-wrapper", "haskell-cabal", "helm-requirements", "helm-values", "helmfile", "helmsman", "helmv3", "hermit", "homeassistant-manifest", "homebrew", "html", "jenkins", "jsonnet-bundler", "kotlin-script", "kubernetes", "kustomize", "leiningen", "maven", "maven-wrapper", "meteor", "mint", "mise", "mix", "nix", "nodenv", "npm", "nuget", "nvm", "ocb", "osgi", "pep621", "pep723", "pip-compile", "pip_requirements", "pip_setup", "pipenv", "pixi", "poetry", "pre-commit", "pub", "puppet", "pyenv", "quadlet", "renovate-config-presets", "ruby-version", "runtime-version", "sbt", "scalafmt", "setup-cfg", "sveltos", "swift", "tekton", "terraform", "terraform-version", "terragrunt", "terragrunt-version", "tflint-plugin", "travis", "typst", "unity3d", "velaci", "vendir", "woodpecker", "xcodegen"];
|
|
3
3
|
type ManagerName = typeof AllManagersListLiteral[number];
|
|
4
4
|
//#endregion
|
|
5
5
|
export { ManagerName };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager-list.generated.js","names":[],"sources":["../lib/manager-list.generated.ts"],"sourcesContent":["\nexport const AllManagersListLiteral = [\"ansible\",\"ansible-galaxy\",\"ant\",\"argocd\",\"asdf\",\"azure-pipelines\",\"batect\",\"batect-wrapper\",\"bazel\",\"bazel-module\",\"bazelisk\",\"bicep\",\"bitbucket-pipelines\",\"bitrise\",\"buildkite\",\"buildpacks\",\"bun\",\"bun-version\",\"bundler\",\"cake\",\"cargo\",\"cdnurl\",\"circleci\",\"cloudbuild\",\"cocoapods\",\"composer\",\"conan\",\"copier\",\"cpanfile\",\"crossplane\",\"crow\",\"deps-edn\",\"devbox\",\"devcontainer\",\"docker-compose\",\"dockerfile\",\"droneci\",\"fleet\",\"flux\",\"fvm\",\"git-submodules\",\"github-actions\",\"gitlabci\",\"gitlabci-include\",\"glasskube\",\"gleam\",\"gomod\",\"gradle\",\"gradle-wrapper\",\"haskell-cabal\",\"helm-requirements\",\"helm-values\",\"helmfile\",\"helmsman\",\"helmv3\",\"hermit\",\"homeassistant-manifest\",\"homebrew\",\"html\",\"jenkins\",\"jsonnet-bundler\",\"kotlin-script\",\"kubernetes\",\"kustomize\",\"leiningen\",\"maven\",\"maven-wrapper\",\"meteor\",\"mint\",\"mise\",\"mix\",\"nix\",\"nodenv\",\"npm\",\"nuget\",\"nvm\",\"ocb\",\"osgi\",\"pep621\",\"pep723\",\"pip-compile\",\"pip_requirements\",\"pip_setup\",\"pipenv\",\"pixi\",\"poetry\",\"pre-commit\",\"pub\",\"puppet\",\"pyenv\",\"quadlet\",\"renovate-config-presets\",\"ruby-version\",\"runtime-version\",\"sbt\",\"scalafmt\",\"setup-cfg\",\"sveltos\",\"swift\",\"tekton\",\"terraform\",\"terraform-version\",\"terragrunt\",\"terragrunt-version\",\"tflint-plugin\",\"travis\",\"typst\",\"unity3d\",\"velaci\",\"vendir\",\"woodpecker\"] as const;\nexport type ManagerName = typeof AllManagersListLiteral[number];\n"],"mappings":";AACA,MAAa,yBAAyB;CAAC;CAAU;CAAiB;CAAM;CAAS;CAAO;CAAkB;CAAS;CAAiB;CAAQ;CAAe;CAAW;CAAQ;CAAsB;CAAU;CAAY;CAAa;CAAM;CAAc;CAAU;CAAO;CAAQ;CAAS;CAAW;CAAa;CAAY;CAAW;CAAQ;CAAS;CAAW;CAAa;CAAO;CAAW;CAAS;CAAe;CAAiB;CAAa;CAAU;CAAQ;CAAO;CAAM;CAAiB;CAAiB;CAAW;CAAmB;CAAY;CAAQ;CAAQ;CAAS;CAAiB;CAAgB;CAAoB;CAAc;CAAW;CAAW;CAAS;CAAS;CAAyB;CAAW;CAAO;CAAU;CAAkB;CAAgB;CAAa;CAAY;CAAY;CAAQ;CAAgB;CAAS;CAAO;CAAO;CAAM;CAAM;CAAS;CAAM;CAAQ;CAAM;CAAM;CAAO;CAAS;CAAS;CAAc;CAAmB;CAAY;CAAS;CAAO;CAAS;CAAa;CAAM;CAAS;CAAQ;CAAU;CAA0B;CAAe;CAAkB;CAAM;CAAW;CAAY;CAAU;CAAQ;CAAS;CAAY;CAAoB;CAAa;CAAqB;CAAgB;CAAS;CAAQ;CAAU;CAAS;CAAS;CAAa"}
|
|
1
|
+
{"version":3,"file":"manager-list.generated.js","names":[],"sources":["../lib/manager-list.generated.ts"],"sourcesContent":["\nexport const AllManagersListLiteral = [\"ansible\",\"ansible-galaxy\",\"ant\",\"argocd\",\"asdf\",\"azure-pipelines\",\"batect\",\"batect-wrapper\",\"bazel\",\"bazel-module\",\"bazelisk\",\"bicep\",\"bitbucket-pipelines\",\"bitrise\",\"buildkite\",\"buildpacks\",\"bun\",\"bun-version\",\"bundler\",\"cake\",\"cargo\",\"cdnurl\",\"circleci\",\"cloudbuild\",\"cocoapods\",\"composer\",\"conan\",\"copier\",\"cpanfile\",\"crossplane\",\"crow\",\"deps-edn\",\"devbox\",\"devcontainer\",\"docker-compose\",\"dockerfile\",\"droneci\",\"fleet\",\"flux\",\"fvm\",\"git-submodules\",\"github-actions\",\"gitlabci\",\"gitlabci-include\",\"glasskube\",\"gleam\",\"gomod\",\"gradle\",\"gradle-wrapper\",\"haskell-cabal\",\"helm-requirements\",\"helm-values\",\"helmfile\",\"helmsman\",\"helmv3\",\"hermit\",\"homeassistant-manifest\",\"homebrew\",\"html\",\"jenkins\",\"jsonnet-bundler\",\"kotlin-script\",\"kubernetes\",\"kustomize\",\"leiningen\",\"maven\",\"maven-wrapper\",\"meteor\",\"mint\",\"mise\",\"mix\",\"nix\",\"nodenv\",\"npm\",\"nuget\",\"nvm\",\"ocb\",\"osgi\",\"pep621\",\"pep723\",\"pip-compile\",\"pip_requirements\",\"pip_setup\",\"pipenv\",\"pixi\",\"poetry\",\"pre-commit\",\"pub\",\"puppet\",\"pyenv\",\"quadlet\",\"renovate-config-presets\",\"ruby-version\",\"runtime-version\",\"sbt\",\"scalafmt\",\"setup-cfg\",\"sveltos\",\"swift\",\"tekton\",\"terraform\",\"terraform-version\",\"terragrunt\",\"terragrunt-version\",\"tflint-plugin\",\"travis\",\"typst\",\"unity3d\",\"velaci\",\"vendir\",\"woodpecker\",\"xcodegen\"] as const;\nexport type ManagerName = typeof AllManagersListLiteral[number];\n"],"mappings":";AACA,MAAa,yBAAyB;CAAC;CAAU;CAAiB;CAAM;CAAS;CAAO;CAAkB;CAAS;CAAiB;CAAQ;CAAe;CAAW;CAAQ;CAAsB;CAAU;CAAY;CAAa;CAAM;CAAc;CAAU;CAAO;CAAQ;CAAS;CAAW;CAAa;CAAY;CAAW;CAAQ;CAAS;CAAW;CAAa;CAAO;CAAW;CAAS;CAAe;CAAiB;CAAa;CAAU;CAAQ;CAAO;CAAM;CAAiB;CAAiB;CAAW;CAAmB;CAAY;CAAQ;CAAQ;CAAS;CAAiB;CAAgB;CAAoB;CAAc;CAAW;CAAW;CAAS;CAAS;CAAyB;CAAW;CAAO;CAAU;CAAkB;CAAgB;CAAa;CAAY;CAAY;CAAQ;CAAgB;CAAS;CAAO;CAAO;CAAM;CAAM;CAAS;CAAM;CAAQ;CAAM;CAAM;CAAO;CAAS;CAAS;CAAc;CAAmB;CAAY;CAAS;CAAO;CAAS;CAAa;CAAM;CAAS;CAAQ;CAAU;CAA0B;CAAe;CAAkB;CAAM;CAAW;CAAY;CAAU;CAAQ;CAAS;CAAY;CAAoB;CAAa;CAAqB;CAAgB;CAAS;CAAQ;CAAU;CAAS;CAAS;CAAa;CAAW"}
|
|
@@ -2,13 +2,16 @@ import { ensureTrailingSlash } from "../../../util/url.js";
|
|
|
2
2
|
import { ExternalHostError } from "../../../types/errors/external-host-error.js";
|
|
3
3
|
import { withCache } from "../../../util/cache/package/with-cache.js";
|
|
4
4
|
import { Datasource } from "../datasource.js";
|
|
5
|
+
import { ServiceDiscoveryResponse } from "./schema.js";
|
|
5
6
|
//#region lib/modules/datasource/terraform-module/base.ts
|
|
6
7
|
const terraformId = "terraform";
|
|
7
8
|
var TerraformDatasource = class TerraformDatasource extends Datasource {
|
|
8
9
|
static id = terraformId;
|
|
10
|
+
static terraformRegistryUrl = "https://registry.terraform.io";
|
|
9
11
|
async _getTerraformServiceDiscoveryResult(registryUrl) {
|
|
10
12
|
const discoveryURL = TerraformDatasource.getDiscoveryUrl(registryUrl);
|
|
11
|
-
|
|
13
|
+
const { body: res } = await this.http.getJson(discoveryURL, ServiceDiscoveryResponse);
|
|
14
|
+
return res;
|
|
12
15
|
}
|
|
13
16
|
getTerraformServiceDiscoveryResult(registryUrl) {
|
|
14
17
|
return withCache({
|
|
@@ -21,9 +24,7 @@ var TerraformDatasource = class TerraformDatasource extends Datasource {
|
|
|
21
24
|
return `${ensureTrailingSlash(registryUrl)}.well-known/terraform.json`;
|
|
22
25
|
}
|
|
23
26
|
handleHttpErrors(err) {
|
|
24
|
-
// istanbul ignore if
|
|
25
27
|
if (["EAI_AGAIN"].includes(err.code)) throw new ExternalHostError(err);
|
|
26
|
-
// istanbul ignore if
|
|
27
28
|
if (err.response?.statusCode === 503) throw new ExternalHostError(err);
|
|
28
29
|
}
|
|
29
30
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","names":[],"sources":["../../../../lib/modules/datasource/terraform-module/base.ts"],"sourcesContent":["import { ExternalHostError } from '../../../types/errors/external-host-error.ts';\nimport { withCache } from '../../../util/cache/package/with-cache.ts';\nimport type { HttpError } from '../../../util/http/index.ts';\nimport { ensureTrailingSlash } from '../../../util/url.ts';\nimport { Datasource } from '../datasource.ts';\nimport
|
|
1
|
+
{"version":3,"file":"base.js","names":[],"sources":["../../../../lib/modules/datasource/terraform-module/base.ts"],"sourcesContent":["import { ExternalHostError } from '../../../types/errors/external-host-error.ts';\nimport { withCache } from '../../../util/cache/package/with-cache.ts';\nimport type { HttpError } from '../../../util/http/index.ts';\nimport { ensureTrailingSlash } from '../../../util/url.ts';\nimport { Datasource } from '../datasource.ts';\nimport { ServiceDiscoveryResponse } from './schema.ts';\n\nconst terraformId = 'terraform';\n\n// TODO: extract to a separate directory structure (#10532)\nexport abstract class TerraformDatasource extends Datasource {\n static id = terraformId;\n\n static readonly terraformRegistryUrl = 'https://registry.terraform.io';\n\n private async _getTerraformServiceDiscoveryResult(\n registryUrl: string,\n ): Promise<ServiceDiscoveryResponse> {\n const discoveryURL = TerraformDatasource.getDiscoveryUrl(registryUrl);\n const { body: res } = await this.http.getJson(\n discoveryURL,\n ServiceDiscoveryResponse,\n );\n return res;\n }\n\n getTerraformServiceDiscoveryResult(\n registryUrl: string,\n ): Promise<ServiceDiscoveryResponse> {\n return withCache(\n {\n namespace: `datasource-${terraformId}`,\n key: TerraformDatasource.getDiscoveryUrl(registryUrl),\n ttlMinutes: 1440,\n },\n () => this._getTerraformServiceDiscoveryResult(registryUrl),\n );\n }\n\n private static getDiscoveryUrl(registryUrl: string): string {\n return `${ensureTrailingSlash(registryUrl)}.well-known/terraform.json`;\n }\n\n override handleHttpErrors(err: HttpError): void {\n const failureCodes = ['EAI_AGAIN'];\n if (failureCodes.includes(err.code)) {\n throw new ExternalHostError(err);\n }\n if (err.response?.statusCode === 503) {\n throw new ExternalHostError(err);\n }\n }\n}\n"],"mappings":";;;;;;AAOA,MAAM,cAAc;AAGpB,IAAsB,sBAAtB,MAAsB,4BAA4B,WAAW;CAC3D,OAAO,KAAK;CAEZ,OAAgB,uBAAuB;CAEvC,MAAc,oCACZ,aACmC;EACnC,MAAM,eAAe,oBAAoB,gBAAgB,YAAY;EACrE,MAAM,EAAE,MAAM,QAAQ,MAAM,KAAK,KAAK,QACpC,cACA,yBACD;AACD,SAAO;;CAGT,mCACE,aACmC;AACnC,SAAO,UACL;GACE,WAAW,cAAc;GACzB,KAAK,oBAAoB,gBAAgB,YAAY;GACrD,YAAY;GACb,QACK,KAAK,oCAAoC,YAAY,CAC5D;;CAGH,OAAe,gBAAgB,aAA6B;AAC1D,SAAO,GAAG,oBAAoB,YAAY,CAAC;;CAG7C,iBAA0B,KAAsB;AAE9C,MADqB,CAAC,YAAY,CACjB,SAAS,IAAI,KAAK,CACjC,OAAM,IAAI,kBAAkB,IAAI;AAElC,MAAI,IAAI,UAAU,eAAe,IAC/B,OAAM,IAAI,kBAAkB,IAAI"}
|
|
@@ -1,41 +1,46 @@
|
|
|
1
|
-
import { regEx } from "../../../util/regex.js";
|
|
2
|
-
import { coerceString } from "../../../util/string.js";
|
|
3
1
|
import { logger } from "../../../logger/index.js";
|
|
4
2
|
import { isHttpUrl } from "../../../util/url.js";
|
|
5
3
|
import { withCache } from "../../../util/cache/package/with-cache.js";
|
|
6
|
-
import { asTimestamp } from "../../../util/timestamp.js";
|
|
7
4
|
import { id } from "../../versioning/hashicorp/index.js";
|
|
5
|
+
import { ProtocolModuleResponse, TerraformModuleResponse } from "./schema.js";
|
|
8
6
|
import { TerraformDatasource } from "./base.js";
|
|
9
|
-
import { createSDBackendURL } from "./utils.js";
|
|
7
|
+
import { createSDBackendURL, getRegistryRepository } from "./utils.js";
|
|
10
8
|
//#region lib/modules/datasource/terraform-module/index.ts
|
|
11
9
|
var TerraformModuleDatasource = class TerraformModuleDatasource extends TerraformDatasource {
|
|
12
10
|
static id = "terraform-module";
|
|
11
|
+
static terraformCloudUrl = "https://app.terraform.io";
|
|
12
|
+
static defaultRegistryUrls = [TerraformModuleDatasource.terraformRegistryUrl];
|
|
13
|
+
static extendedApiRegistryUrls = [TerraformModuleDatasource.terraformRegistryUrl, TerraformModuleDatasource.terraformCloudUrl];
|
|
13
14
|
constructor() {
|
|
14
15
|
super(TerraformModuleDatasource.id);
|
|
15
16
|
}
|
|
16
|
-
defaultRegistryUrls =
|
|
17
|
+
defaultRegistryUrls = TerraformModuleDatasource.defaultRegistryUrls;
|
|
17
18
|
defaultVersioning = id;
|
|
18
19
|
releaseTimestampSupport = true;
|
|
19
20
|
releaseTimestampNote = "The release timestamp is only supported for the latest version, and is determined from the `published_at` field in the results.";
|
|
20
21
|
sourceUrlSupport = "package";
|
|
21
22
|
sourceUrlNote = "The source URL is determined from the the `source` field in the results.";
|
|
22
|
-
extendedApiRegistryUrls = ["https://registry.terraform.io", "https://app.terraform.io"];
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
24
|
+
* Resolves a module release list for the configured registry.
|
|
25
|
+
*
|
|
26
|
+
* Requests against the public Terraform registry and Terraform Cloud use the
|
|
27
|
+
* registry-specific module endpoint, while other registries use the generic
|
|
28
|
+
* Module Registry Protocol versions endpoint.
|
|
27
29
|
*/
|
|
28
30
|
async _getReleases({ packageName, registryUrl }) {
|
|
29
31
|
/* v8 ignore next 3 -- should never happen */
|
|
30
32
|
if (!registryUrl) return null;
|
|
31
|
-
const { registry
|
|
33
|
+
const { registry, repository } = getRegistryRepository(packageName, registryUrl);
|
|
32
34
|
logger.trace({
|
|
33
|
-
registryUrlNormalized,
|
|
35
|
+
registryUrlNormalized: registry,
|
|
34
36
|
terraformRepository: repository
|
|
35
37
|
}, "terraform-module.getReleases()");
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
try {
|
|
39
|
+
if (TerraformModuleDatasource.extendedApiRegistryUrls.includes(registry)) return await this.queryTerraformRegistry(registry, repository);
|
|
40
|
+
return await this.queryModuleRegistry(registry, repository);
|
|
41
|
+
} catch (err) {
|
|
42
|
+
this.handleGenericErrors(err);
|
|
43
|
+
}
|
|
39
44
|
}
|
|
40
45
|
getReleases(config) {
|
|
41
46
|
return withCache({
|
|
@@ -45,67 +50,41 @@ var TerraformModuleDatasource = class TerraformModuleDatasource extends Terrafor
|
|
|
45
50
|
}, () => this._getReleases(config));
|
|
46
51
|
}
|
|
47
52
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
53
|
+
* Queries the Terraform Registry module endpoint.
|
|
54
|
+
*
|
|
55
|
+
* The response includes the latest published version separately, so only that
|
|
56
|
+
* release can be annotated with `releaseTimestamp`.
|
|
57
|
+
*
|
|
58
|
+
* https://developer.hashicorp.com/terraform/registry/api-docs#get-a-specific-module
|
|
51
59
|
*/
|
|
52
|
-
async
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
res
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
} catch (err) {
|
|
63
|
-
this.handleGenericErrors(err);
|
|
64
|
-
}
|
|
65
|
-
const dep = { releases: res.versions.map((version) => ({ version })) };
|
|
66
|
-
if (res.source) dep.sourceUrl = res.source;
|
|
67
|
-
dep.homepage = `${registryUrl}/modules/${repository}`;
|
|
68
|
-
const latestVersion = dep.releases.find((release) => res.version === release.version);
|
|
69
|
-
if (latestVersion) latestVersion.releaseTimestamp = asTimestamp(res.published_at);
|
|
70
|
-
return dep;
|
|
60
|
+
async queryTerraformRegistry(registryUrl, repository) {
|
|
61
|
+
const pkgUrl = createSDBackendURL(registryUrl, "modules.v1", await this.getTerraformServiceDiscoveryResult(registryUrl), repository);
|
|
62
|
+
const { body: res } = await this.http.getJson(pkgUrl, TerraformModuleResponse);
|
|
63
|
+
return {
|
|
64
|
+
releases: res.versions,
|
|
65
|
+
sourceUrl: res.source,
|
|
66
|
+
homepage: `${registryUrl}/modules/${repository}`
|
|
67
|
+
};
|
|
71
68
|
}
|
|
72
69
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
70
|
+
* Queries a registry through the Terraform Module Registry Protocol.
|
|
71
|
+
*
|
|
72
|
+
* This is the default path for registries implementing the standard module
|
|
73
|
+
* registry protocol. It returns release versions and, when present and valid,
|
|
74
|
+
* the upstream source URL.
|
|
75
|
+
*
|
|
76
|
+
* https://developer.hashicorp.com/terraform/internals/module-registry-protocol
|
|
75
77
|
*/
|
|
76
|
-
async
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
try {
|
|
80
|
-
pkgUrl = createSDBackendURL(registryUrl, "modules.v1", serviceDiscovery, `${repository}/versions`);
|
|
81
|
-
res = (await this.http.getJsonUnchecked(pkgUrl)).body;
|
|
82
|
-
if (res.modules.length < 1) {
|
|
83
|
-
logger.warn({ pkgUrl }, "Terraform registry result mismatch");
|
|
84
|
-
return null;
|
|
85
|
-
}
|
|
86
|
-
} catch (err) {
|
|
87
|
-
this.handleGenericErrors(err);
|
|
88
|
-
}
|
|
89
|
-
const dep = { releases: res.modules[0].versions.map(({ version }) => ({ version })) };
|
|
90
|
-
if (isHttpUrl(res.modules[0].source)) dep.sourceUrl = res.modules[0].source;
|
|
91
|
-
return dep;
|
|
92
|
-
}
|
|
93
|
-
static getRegistryRepository(packageName, registryUrl) {
|
|
94
|
-
let registry;
|
|
95
|
-
const split = packageName.split("/");
|
|
96
|
-
if (split.length > 3 && split[0].includes(".")) {
|
|
97
|
-
[registry] = split;
|
|
98
|
-
split.shift();
|
|
99
|
-
} else registry = coerceString(registryUrl);
|
|
100
|
-
if (!regEx(/^https?:\/\//).test(registry)) registry = `https://${registry}`;
|
|
101
|
-
const repository = split.join("/");
|
|
78
|
+
async queryModuleRegistry(registryUrl, repository) {
|
|
79
|
+
const pkgUrl = createSDBackendURL(registryUrl, "modules.v1", await this.getTerraformServiceDiscoveryResult(registryUrl), `${repository}/versions`);
|
|
80
|
+
const { body: res } = await this.http.getJson(pkgUrl, ProtocolModuleResponse);
|
|
102
81
|
return {
|
|
103
|
-
|
|
104
|
-
|
|
82
|
+
releases: res.versions,
|
|
83
|
+
sourceUrl: isHttpUrl(res.source) ? res.source : void 0
|
|
105
84
|
};
|
|
106
85
|
}
|
|
107
86
|
static getCacheKey({ packageName, registryUrl }) {
|
|
108
|
-
const { registry, repository } =
|
|
87
|
+
const { registry, repository } = getRegistryRepository(packageName, registryUrl);
|
|
109
88
|
return `${registry}/${repository}`;
|
|
110
89
|
}
|
|
111
90
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["hashicorpVersioning.id"],"sources":["../../../../lib/modules/datasource/terraform-module/index.ts"],"sourcesContent":["import { logger } from '../../../logger/index.ts';\nimport { withCache } from '../../../util/cache/package/with-cache.ts';\nimport {
|
|
1
|
+
{"version":3,"file":"index.js","names":["hashicorpVersioning.id"],"sources":["../../../../lib/modules/datasource/terraform-module/index.ts"],"sourcesContent":["import { logger } from '../../../logger/index.ts';\nimport { withCache } from '../../../util/cache/package/with-cache.ts';\nimport { isHttpUrl } from '../../../util/url.ts';\nimport * as hashicorpVersioning from '../../versioning/hashicorp/index.ts';\nimport type { GetReleasesConfig, ReleaseResult } from '../types.ts';\nimport { TerraformDatasource } from './base.ts';\nimport { ProtocolModuleResponse, TerraformModuleResponse } from './schema.ts';\nimport { createSDBackendURL, getRegistryRepository } from './utils.ts';\n\nexport class TerraformModuleDatasource extends TerraformDatasource {\n static override readonly id = 'terraform-module';\n\n static readonly terraformCloudUrl = 'https://app.terraform.io';\n\n static readonly defaultRegistryUrls = [\n TerraformModuleDatasource.terraformRegistryUrl,\n ];\n\n static readonly extendedApiRegistryUrls = [\n TerraformModuleDatasource.terraformRegistryUrl,\n TerraformModuleDatasource.terraformCloudUrl,\n ];\n\n constructor() {\n super(TerraformModuleDatasource.id);\n }\n\n override readonly defaultRegistryUrls =\n TerraformModuleDatasource.defaultRegistryUrls;\n\n override readonly defaultVersioning = hashicorpVersioning.id;\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'The release timestamp is only supported for the latest version, and is determined from the `published_at` field in the results.';\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is determined from the the `source` field in the results.';\n\n /**\n * Resolves a module release list for the configured registry.\n *\n * Requests against the public Terraform registry and Terraform Cloud use the\n * registry-specific module endpoint, while other registries use the generic\n * Module Registry Protocol versions endpoint.\n */\n private async _getReleases({\n packageName,\n registryUrl,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n /* v8 ignore next 3 -- should never happen */\n if (!registryUrl) {\n return null;\n }\n\n const { registry, repository } = getRegistryRepository(\n packageName,\n registryUrl,\n );\n logger.trace(\n { registryUrlNormalized: registry, terraformRepository: repository },\n 'terraform-module.getReleases()',\n );\n\n try {\n if (\n TerraformModuleDatasource.extendedApiRegistryUrls.includes(registry)\n ) {\n return await this.queryTerraformRegistry(registry, repository);\n }\n\n // Use the standard Module Registry Protocol for other conformant registries.\n return await this.queryModuleRegistry(registry, repository);\n } catch (err) {\n this.handleGenericErrors(err);\n }\n }\n\n getReleases(config: GetReleasesConfig): Promise<ReleaseResult | null> {\n return withCache(\n {\n namespace: `datasource-${TerraformModuleDatasource.id}`,\n key: TerraformModuleDatasource.getCacheKey(config),\n fallback: true,\n },\n () => this._getReleases(config),\n );\n }\n\n /**\n * Queries the Terraform Registry module endpoint.\n *\n * The response includes the latest published version separately, so only that\n * release can be annotated with `releaseTimestamp`.\n *\n * https://developer.hashicorp.com/terraform/registry/api-docs#get-a-specific-module\n */\n private async queryTerraformRegistry(\n registryUrl: string,\n repository: string,\n ): Promise<ReleaseResult> {\n const serviceDiscovery =\n await this.getTerraformServiceDiscoveryResult(registryUrl);\n const pkgUrl = createSDBackendURL(\n registryUrl,\n 'modules.v1',\n serviceDiscovery,\n repository,\n );\n const { body: res } = await this.http.getJson(\n pkgUrl,\n TerraformModuleResponse,\n );\n return {\n releases: res.versions,\n sourceUrl: res.source,\n homepage: `${registryUrl}/modules/${repository}`,\n };\n }\n\n /**\n * Queries a registry through the Terraform Module Registry Protocol.\n *\n * This is the default path for registries implementing the standard module\n * registry protocol. It returns release versions and, when present and valid,\n * the upstream source URL.\n *\n * https://developer.hashicorp.com/terraform/internals/module-registry-protocol\n */\n private async queryModuleRegistry(\n registryUrl: string,\n repository: string,\n ): Promise<ReleaseResult | null> {\n const serviceDiscovery =\n await this.getTerraformServiceDiscoveryResult(registryUrl);\n const pkgUrl = createSDBackendURL(\n registryUrl,\n 'modules.v1',\n serviceDiscovery,\n `${repository}/versions`,\n );\n const { body: res } = await this.http.getJson(\n pkgUrl,\n ProtocolModuleResponse,\n );\n return {\n releases: res.versions,\n sourceUrl: isHttpUrl(res.source) ? res.source : undefined,\n };\n }\n\n private static getCacheKey({\n packageName,\n registryUrl,\n }: GetReleasesConfig): string {\n const { registry, repository } = getRegistryRepository(\n packageName,\n registryUrl,\n );\n return `${registry}/${repository}`;\n }\n}\n"],"mappings":";;;;;;;;AASA,IAAa,4BAAb,MAAa,kCAAkC,oBAAoB;CACjE,OAAyB,KAAK;CAE9B,OAAgB,oBAAoB;CAEpC,OAAgB,sBAAsB,CACpC,0BAA0B,qBAC3B;CAED,OAAgB,0BAA0B,CACxC,0BAA0B,sBAC1B,0BAA0B,kBAC3B;CAED,cAAc;AACZ,QAAM,0BAA0B,GAAG;;CAGrC,sBACE,0BAA0B;CAE5B,oBAAsCA;CAEtC,0BAA4C;CAC5C,uBACE;CACF,mBAAqC;CACrC,gBACE;;;;;;;;CASF,MAAc,aAAa,EACzB,aACA,eACmD;;AAEnD,MAAI,CAAC,YACH,QAAO;EAGT,MAAM,EAAE,UAAU,eAAe,sBAC/B,aACA,YACD;AACD,SAAO,MACL;GAAE,uBAAuB;GAAU,qBAAqB;GAAY,EACpE,iCACD;AAED,MAAI;AACF,OACE,0BAA0B,wBAAwB,SAAS,SAAS,CAEpE,QAAO,MAAM,KAAK,uBAAuB,UAAU,WAAW;AAIhE,UAAO,MAAM,KAAK,oBAAoB,UAAU,WAAW;WACpD,KAAK;AACZ,QAAK,oBAAoB,IAAI;;;CAIjC,YAAY,QAA0D;AACpE,SAAO,UACL;GACE,WAAW,cAAc,0BAA0B;GACnD,KAAK,0BAA0B,YAAY,OAAO;GAClD,UAAU;GACX,QACK,KAAK,aAAa,OAAO,CAChC;;;;;;;;;;CAWH,MAAc,uBACZ,aACA,YACwB;EAGxB,MAAM,SAAS,mBACb,aACA,cAHA,MAAM,KAAK,mCAAmC,YAAY,EAK1D,WACD;EACD,MAAM,EAAE,MAAM,QAAQ,MAAM,KAAK,KAAK,QACpC,QACA,wBACD;AACD,SAAO;GACL,UAAU,IAAI;GACd,WAAW,IAAI;GACf,UAAU,GAAG,YAAY,WAAW;GACrC;;;;;;;;;;;CAYH,MAAc,oBACZ,aACA,YAC+B;EAG/B,MAAM,SAAS,mBACb,aACA,cAHA,MAAM,KAAK,mCAAmC,YAAY,EAK1D,GAAG,WAAW,WACf;EACD,MAAM,EAAE,MAAM,QAAQ,MAAM,KAAK,KAAK,QACpC,QACA,uBACD;AACD,SAAO;GACL,UAAU,IAAI;GACd,WAAW,UAAU,IAAI,OAAO,GAAG,IAAI,SAAS,KAAA;GACjD;;CAGH,OAAe,YAAY,EACzB,aACA,eAC4B;EAC5B,MAAM,EAAE,UAAU,eAAe,sBAC/B,aACA,YACD;AACD,SAAO,GAAG,SAAS,GAAG"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { LooseArray } from "../../../util/schema-utils/index.js";
|
|
2
|
+
import { MaybeTimestamp } from "../../../util/timestamp.js";
|
|
3
|
+
import { isNonEmptyArray } from "@sindresorhus/is";
|
|
4
|
+
import { z } from "zod/v3";
|
|
5
|
+
//#region lib/modules/datasource/terraform-module/schema.ts
|
|
6
|
+
const ServiceDiscoveryResponse = z.object({
|
|
7
|
+
"modules.v1": z.string().optional(),
|
|
8
|
+
"providers.v1": z.string().optional()
|
|
9
|
+
});
|
|
10
|
+
const TerraformModuleResponse = z.object({
|
|
11
|
+
source: z.string().optional(),
|
|
12
|
+
versions: z.array(z.string()),
|
|
13
|
+
version: z.string(),
|
|
14
|
+
published_at: MaybeTimestamp
|
|
15
|
+
}).transform((resource) => ({
|
|
16
|
+
source: resource.source,
|
|
17
|
+
versions: resource.versions.map((version) => ({
|
|
18
|
+
version,
|
|
19
|
+
...version === resource.version && { releaseTimestamp: resource.published_at }
|
|
20
|
+
}))
|
|
21
|
+
}));
|
|
22
|
+
const TerraformModuleVersion = z.object({ version: z.string() }).transform(({ version }) => ({ version }));
|
|
23
|
+
const TerraformModule = z.object({
|
|
24
|
+
versions: LooseArray(TerraformModuleVersion),
|
|
25
|
+
source: z.string().optional()
|
|
26
|
+
}).refine(({ versions }) => isNonEmptyArray(versions), "Empty versions array in module response");
|
|
27
|
+
const ProtocolModuleResponse = z.object({ modules: LooseArray(TerraformModule) }).refine(({ modules }) => isNonEmptyArray(modules), "Empty response from `/v1/modules` endpoint").transform(({ modules: [module] }) => module);
|
|
28
|
+
//#endregion
|
|
29
|
+
export { ProtocolModuleResponse, ServiceDiscoveryResponse, TerraformModuleResponse };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","names":[],"sources":["../../../../lib/modules/datasource/terraform-module/schema.ts"],"sourcesContent":["import { isNonEmptyArray } from '@sindresorhus/is';\nimport { z } from 'zod/v3';\nimport { LooseArray } from '../../../util/schema-utils/index.ts';\nimport { MaybeTimestamp } from '../../../util/timestamp.ts';\nimport type { Release } from '../types.ts';\n\nexport const ServiceDiscoveryResponse = z.object({\n 'modules.v1': z.string().optional(),\n 'providers.v1': z.string().optional(),\n});\n\nexport type ServiceDiscoveryResponse = z.infer<typeof ServiceDiscoveryResponse>;\nexport type ServiceDiscoveryEndpointType = keyof ServiceDiscoveryResponse;\n\nexport const TerraformModuleResponse = z\n .object({\n source: z.string().optional(),\n versions: z.array(z.string()),\n version: z.string(),\n published_at: MaybeTimestamp,\n })\n .transform((resource) => ({\n source: resource.source,\n versions: resource.versions.map(\n (version): Release => ({\n version,\n ...(version === resource.version && {\n releaseTimestamp: resource.published_at,\n }),\n }),\n ),\n }));\n\nexport type TerraformModuleResponse = z.infer<typeof TerraformModuleResponse>;\n\nexport const TerraformModuleVersion = z\n .object({ version: z.string() })\n .transform(({ version }): Release => ({ version }));\n\nexport const TerraformModule = z\n .object({\n versions: LooseArray(TerraformModuleVersion),\n source: z.string().optional(),\n })\n .refine(\n ({ versions }) => isNonEmptyArray(versions),\n 'Empty versions array in module response',\n );\n\nexport const ProtocolModuleResponse = z\n .object({ modules: LooseArray(TerraformModule) })\n .refine(\n ({ modules }) => isNonEmptyArray(modules),\n 'Empty response from `/v1/modules` endpoint',\n )\n .transform(({ modules: [module] }) => module);\n\nexport type ProtocolModuleResponse = z.infer<typeof ProtocolModuleResponse>;\n"],"mappings":";;;;;AAMA,MAAa,2BAA2B,EAAE,OAAO;CAC/C,cAAc,EAAE,QAAQ,CAAC,UAAU;CACnC,gBAAgB,EAAE,QAAQ,CAAC,UAAU;CACtC,CAAC;AAKF,MAAa,0BAA0B,EACpC,OAAO;CACN,QAAQ,EAAE,QAAQ,CAAC,UAAU;CAC7B,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC;CAC7B,SAAS,EAAE,QAAQ;CACnB,cAAc;CACf,CAAC,CACD,WAAW,cAAc;CACxB,QAAQ,SAAS;CACjB,UAAU,SAAS,SAAS,KACzB,aAAsB;EACrB;EACA,GAAI,YAAY,SAAS,WAAW,EAClC,kBAAkB,SAAS,cAC5B;EACF,EACF;CACF,EAAE;AAIL,MAAa,yBAAyB,EACnC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAC/B,WAAW,EAAE,eAAwB,EAAE,SAAS,EAAE;AAErD,MAAa,kBAAkB,EAC5B,OAAO;CACN,UAAU,WAAW,uBAAuB;CAC5C,QAAQ,EAAE,QAAQ,CAAC,UAAU;CAC9B,CAAC,CACD,QACE,EAAE,eAAe,gBAAgB,SAAS,EAC3C,0CACD;AAEH,MAAa,yBAAyB,EACnC,OAAO,EAAE,SAAS,WAAW,gBAAgB,EAAE,CAAC,CAChD,QACE,EAAE,cAAc,gBAAgB,QAAQ,EACzC,6CACD,CACA,WAAW,EAAE,SAAS,CAAC,cAAc,OAAO"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { regEx } from "../../../util/regex.js";
|
|
2
|
+
import { coerceString } from "../../../util/string.js";
|
|
1
3
|
import { isHttpUrl, joinUrlParts } from "../../../util/url.js";
|
|
2
4
|
//#region lib/modules/datasource/terraform-module/utils.ts
|
|
3
5
|
function createSDBackendURL(registryURL, sdType, sdResult, subPath) {
|
|
@@ -5,7 +7,19 @@ function createSDBackendURL(registryURL, sdType, sdResult, subPath) {
|
|
|
5
7
|
if (isHttpUrl(fullPath)) return fullPath;
|
|
6
8
|
return joinUrlParts(registryURL, fullPath);
|
|
7
9
|
}
|
|
10
|
+
function getRegistryRepository(packageName, registryUrl) {
|
|
11
|
+
let registry;
|
|
12
|
+
const split = packageName.split("/");
|
|
13
|
+
if (split.length > 3 && split[0].includes(".")) registry = split.shift();
|
|
14
|
+
else registry = coerceString(registryUrl);
|
|
15
|
+
if (!regEx(/^https?:\/\//).test(registry)) registry = `https://${registry}`;
|
|
16
|
+
const repository = split.join("/");
|
|
17
|
+
return {
|
|
18
|
+
registry,
|
|
19
|
+
repository
|
|
20
|
+
};
|
|
21
|
+
}
|
|
8
22
|
//#endregion
|
|
9
|
-
export { createSDBackendURL };
|
|
23
|
+
export { createSDBackendURL, getRegistryRepository };
|
|
10
24
|
|
|
11
25
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":[],"sources":["../../../../lib/modules/datasource/terraform-module/utils.ts"],"sourcesContent":["import { isHttpUrl, joinUrlParts } from '../../../util/url.ts';\nimport type {\n ServiceDiscoveryEndpointType,\n
|
|
1
|
+
{"version":3,"file":"utils.js","names":[],"sources":["../../../../lib/modules/datasource/terraform-module/utils.ts"],"sourcesContent":["import { regEx } from '../../../util/regex.ts';\nimport { coerceString } from '../../../util/string.ts';\nimport { isHttpUrl, joinUrlParts } from '../../../util/url.ts';\nimport type {\n ServiceDiscoveryEndpointType,\n ServiceDiscoveryResponse,\n} from './schema.ts';\nimport type { RegistryRepository } from './types.ts';\n\nexport function createSDBackendURL(\n registryURL: string,\n sdType: ServiceDiscoveryEndpointType,\n sdResult: ServiceDiscoveryResponse,\n subPath: string,\n): string {\n const sdEndpoint = sdResult[sdType] ?? '';\n const fullPath = joinUrlParts(sdEndpoint, subPath);\n if (isHttpUrl(fullPath)) {\n return fullPath;\n }\n return joinUrlParts(registryURL, fullPath);\n}\n\nexport function getRegistryRepository(\n packageName: string,\n registryUrl: string | undefined,\n): RegistryRepository {\n let registry: string;\n const split = packageName.split('/');\n if (split.length > 3 && split[0].includes('.')) {\n registry = split.shift()!;\n } else {\n registry = coerceString(registryUrl);\n }\n if (!regEx(/^https?:\\/\\//).test(registry)) {\n registry = `https://${registry}`;\n }\n const repository = split.join('/');\n return {\n registry,\n repository,\n };\n}\n"],"mappings":";;;;AASA,SAAgB,mBACd,aACA,QACA,UACA,SACQ;CAER,MAAM,WAAW,aADE,SAAS,WAAW,IACG,QAAQ;AAClD,KAAI,UAAU,SAAS,CACrB,QAAO;AAET,QAAO,aAAa,aAAa,SAAS;;AAG5C,SAAgB,sBACd,aACA,aACoB;CACpB,IAAI;CACJ,MAAM,QAAQ,YAAY,MAAM,IAAI;AACpC,KAAI,MAAM,SAAS,KAAK,MAAM,GAAG,SAAS,IAAI,CAC5C,YAAW,MAAM,OAAO;KAExB,YAAW,aAAa,YAAY;AAEtC,KAAI,CAAC,MAAM,eAAe,CAAC,KAAK,SAAS,CACvC,YAAW,WAAW;CAExB,MAAM,aAAa,MAAM,KAAK,IAAI;AAClC,QAAO;EACL;EACA;EACD"}
|
|
@@ -12,7 +12,6 @@ import { TerraformProviderV2Response } from "./schema.js";
|
|
|
12
12
|
var TerraformProviderDatasource = class TerraformProviderDatasource extends TerraformDatasource {
|
|
13
13
|
static id = "terraform-provider";
|
|
14
14
|
static hashicorpReleaseUrl = "https://releases.hashicorp.com";
|
|
15
|
-
static terraformRegistryUrl = "https://registry.terraform.io";
|
|
16
15
|
static defaultRegistryUrls = [TerraformProviderDatasource.terraformRegistryUrl, TerraformProviderDatasource.hashicorpReleaseUrl];
|
|
17
16
|
static repositoryRegex = regEx(/^hashicorp\/(?<packageName>\S+)$/);
|
|
18
17
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["hashicorpVersioning.id","p.map"],"sources":["../../../../lib/modules/datasource/terraform-provider/index.ts"],"sourcesContent":["// TODO: types (#22198)\nimport { logger } from '../../../logger/index.ts';\nimport { ExternalHostError } from '../../../types/errors/external-host-error.ts';\nimport { withCache } from '../../../util/cache/package/with-cache.ts';\nimport * as p from '../../../util/promises.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { getQueryString, joinUrlParts } from '../../../util/url.ts';\nimport * as hashicorpVersioning from '../../versioning/hashicorp/index.ts';\nimport { TerraformDatasource } from '../terraform-module/base.ts';\nimport type { ServiceDiscoveryResult } from '../terraform-module/types.ts';\nimport { createSDBackendURL } from '../terraform-module/utils.ts';\nimport type { GetReleasesConfig, ReleaseResult } from '../types.ts';\nimport { TerraformProviderV2Response } from './schema.ts';\nimport type {\n TerraformBuild,\n TerraformProviderReleaseBackend,\n TerraformProviderVersions,\n TerraformRegistryBuildResponse,\n TerraformRegistryVersions,\n VersionDetailResponse,\n} from './types.ts';\n\nexport class TerraformProviderDatasource extends TerraformDatasource {\n static override readonly id = 'terraform-provider';\n\n static readonly hashicorpReleaseUrl = 'https://releases.hashicorp.com';\n static readonly terraformRegistryUrl = 'https://registry.terraform.io';\n\n static readonly defaultRegistryUrls = [\n TerraformProviderDatasource.terraformRegistryUrl,\n TerraformProviderDatasource.hashicorpReleaseUrl,\n ];\n\n static repositoryRegex = regEx(/^hashicorp\\/(?<packageName>\\S+)$/);\n\n constructor() {\n super(TerraformProviderDatasource.id);\n }\n\n override readonly defaultRegistryUrls =\n TerraformProviderDatasource.defaultRegistryUrls;\n\n override readonly defaultVersioning = hashicorpVersioning.id;\n\n override readonly registryStrategy = 'hunt';\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'The release timestamp is determined from the `published-at` field in the Terraform Registry v2 API response and is only available for `https://registry.terraform.io`.';\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is determined from the the `source` field in the results.';\n\n private async _getReleases({\n packageName,\n registryUrl,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n /* v8 ignore next 3 -- should never happen */\n if (!registryUrl) {\n return null;\n }\n logger.trace(\n `terraform-provider.getDependencies() packageName: ${packageName}`,\n );\n\n if (registryUrl === TerraformProviderDatasource.terraformRegistryUrl) {\n return await this.queryTerraformRegistryV2(registryUrl, packageName);\n }\n if (registryUrl === TerraformProviderDatasource.hashicorpReleaseUrl) {\n return await this.queryReleaseBackend(packageName, registryUrl);\n }\n\n // Fall back to the standard Provider Registry Protocol for other registries.\n return await this.queryProviderRegistry(registryUrl, packageName);\n }\n\n getReleases(config: GetReleasesConfig): Promise<ReleaseResult | null> {\n const url = config.registryUrl;\n const repo = TerraformProviderDatasource.getRepository(config);\n return withCache(\n {\n namespace: `datasource-${TerraformProviderDatasource.id}`,\n key: `getReleases:${url}/${repo}`,\n fallback: true,\n },\n () => this._getReleases(config),\n );\n }\n\n private static getRepository({ packageName }: GetReleasesConfig): string {\n return packageName.includes('/') ? packageName : `hashicorp/${packageName}`;\n }\n\n /**\n * Query the Terraform Registry using the undocumented v2 JSON:API.\n *\n * Returns release timestamps for all versions, unlike the v1 API\n * which only exposed the timestamp for the latest version.\n */\n private async queryTerraformRegistryV2(\n registryUrl: string,\n packageName: string,\n ): Promise<ReleaseResult> {\n const repository = TerraformProviderDatasource.getRepository({\n packageName,\n });\n const providerUrl = `${joinUrlParts(\n registryUrl,\n 'v2/providers',\n repository,\n )}?${getQueryString({ include: 'provider-versions' })}`;\n const { body: res } = await this.http.getJson(\n providerUrl,\n TerraformProviderV2Response,\n );\n res.homepage = `${registryUrl}/providers/${repository}`;\n return res;\n }\n\n /**\n * Query a registry using the Provider Registry Protocol that all registries\n * are required to implement.\n * https://www.terraform.io/internals/provider-registry-protocol\n */\n private async queryProviderRegistry(\n registryUrl: string,\n packageName: string,\n ): Promise<ReleaseResult> {\n const repository = TerraformProviderDatasource.getRepository({\n packageName,\n });\n const serviceDiscovery: ServiceDiscoveryResult =\n await this.getTerraformServiceDiscoveryResult(registryUrl);\n const backendURL = createSDBackendURL(\n registryUrl,\n 'providers.v1',\n serviceDiscovery,\n `${repository}/versions`,\n );\n const res = (\n await this.http.getJsonUnchecked<TerraformProviderVersions>(backendURL)\n ).body;\n const dep: ReleaseResult = {\n releases: res.versions.map(({ version }) => ({\n version,\n })),\n };\n return dep;\n }\n\n private async queryReleaseBackend(\n packageName: string,\n registryURL: string,\n ): Promise<ReleaseResult | null> {\n const hashicorpPackage = packageName.replace('hashicorp/', '');\n const backendLookUpName = `terraform-provider-${hashicorpPackage}`;\n const backendURL = joinUrlParts(\n registryURL,\n backendLookUpName,\n `index.json`,\n );\n const res = (\n await this.http.getJsonUnchecked<TerraformProviderReleaseBackend>(\n backendURL,\n )\n ).body;\n\n const dep: ReleaseResult = {\n releases: Object.keys(res.versions).map((version) => ({\n version,\n })),\n sourceUrl: joinUrlParts(\n 'https://github.com/terraform-providers',\n backendLookUpName,\n ),\n };\n return dep;\n }\n\n private async _getBuilds(\n registryURL: string,\n repository: string,\n version: string,\n ): Promise<TerraformBuild[] | null> {\n if (registryURL === TerraformProviderDatasource.hashicorpReleaseUrl) {\n // check if registryURL === secondary backend\n const repositoryRegexResult =\n TerraformProviderDatasource.repositoryRegex.exec(repository)?.groups;\n if (!repositoryRegexResult) {\n // non hashicorp builds are not supported with releases.hashicorp.com\n return null;\n }\n const packageName = repositoryRegexResult.packageName;\n const backendLookUpName = `terraform-provider-${packageName}`;\n let versionReleaseBackend: VersionDetailResponse;\n try {\n versionReleaseBackend = await this.getReleaseBackendIndex(\n backendLookUpName,\n version,\n );\n } catch (err) {\n if (err instanceof ExternalHostError) {\n throw err;\n }\n logger.debug(\n { err, backendLookUpName, version },\n `Failed to retrieve builds for ${backendLookUpName} ${version}`,\n );\n // throw an error to disable caching\n throw new ExternalHostError(err);\n }\n return versionReleaseBackend.builds;\n }\n\n // check public or private Terraform registry\n const serviceDiscovery =\n await this.getTerraformServiceDiscoveryResult(registryURL);\n if (!serviceDiscovery) {\n // throw an error to disable caching\n throw new ExternalHostError(\n new Error(`Service discovery not found for ${registryURL}`),\n );\n }\n const backendURL = createSDBackendURL(\n registryURL,\n 'providers.v1',\n serviceDiscovery,\n repository,\n );\n const versionsResponse = (\n await this.http.getJsonUnchecked<TerraformRegistryVersions>(\n `${backendURL}/versions`,\n )\n ).body;\n if (!versionsResponse.versions) {\n // throw an error to disable caching\n throw new ExternalHostError(\n new Error(`Failed to retrieve version list for ${backendURL}`),\n );\n }\n const builds = versionsResponse.versions.find(\n (value) => value.version === version,\n );\n if (!builds) {\n // should never happen, but just in case\n // throw an error to disable caching\n throw new ExternalHostError(\n new Error(\n `No builds found for ${repository}:${version} on ${registryURL}`,\n ),\n );\n }\n const result = await p.map(\n builds.platforms,\n async (platform) => {\n const buildURL = `${backendURL}/${version}/download/${platform.os}/${platform.arch}`;\n try {\n const res = (\n await this.http.getJsonUnchecked<TerraformRegistryBuildResponse>(\n buildURL,\n )\n ).body;\n const newBuild: TerraformBuild = {\n name: repository,\n url: res.download_url,\n version,\n ...res,\n };\n return newBuild;\n } catch (err) {\n /* v8 ignore next 3 -- hard to test */\n if (err instanceof ExternalHostError) {\n throw err;\n }\n logger.debug({ err, url: buildURL }, 'Failed to retrieve build');\n // throw an error to disable caching\n throw new ExternalHostError(err);\n }\n },\n { concurrency: 4 },\n );\n\n return result;\n }\n\n getBuilds(\n registryURL: string,\n repository: string,\n version: string,\n ): Promise<TerraformBuild[] | null> {\n return withCache(\n {\n namespace: `datasource-${TerraformProviderDatasource.id}`,\n key: `getBuilds:${registryURL}/${repository}/${version}`,\n },\n () => this._getBuilds(registryURL, repository, version),\n );\n }\n\n private async _getZipHashes(\n zipHashUrl: string,\n ): Promise<string[] | undefined> {\n // The hashes are formatted as the result of sha256sum in plain text, each line: <hash>\\t<filename>\n let rawHashData: string;\n try {\n rawHashData = (await this.http.getText(zipHashUrl)).body;\n } catch (err) {\n /* v8 ignore next 3 -- hard to test */\n if (err instanceof ExternalHostError) {\n throw err;\n }\n logger.debug(\n { err, zipHashUrl },\n `Failed to retrieve zip hashes from ${zipHashUrl}`,\n );\n return undefined;\n }\n\n return rawHashData\n .trimEnd()\n .split('\\n')\n .map((line) => line.split(/\\s/)[0]);\n }\n\n getZipHashes(zipHashUrl: string): Promise<string[] | undefined> {\n return withCache(\n {\n namespace: `datasource-${TerraformProviderDatasource.id}`,\n key: `getZipHashes:${zipHashUrl}`,\n },\n () => this._getZipHashes(zipHashUrl),\n );\n }\n\n private async _getReleaseBackendIndex(\n backendLookUpName: string,\n version: string,\n ): Promise<VersionDetailResponse> {\n return (\n await this.http.getJsonUnchecked<VersionDetailResponse>(\n `${TerraformProviderDatasource.hashicorpReleaseUrl}/${backendLookUpName}/${version}/index.json`,\n )\n ).body;\n }\n\n getReleaseBackendIndex(\n backendLookUpName: string,\n version: string,\n ): Promise<VersionDetailResponse> {\n return withCache(\n {\n namespace: `datasource-${TerraformProviderDatasource.id}`,\n key: `getReleaseBackendIndex:${backendLookUpName}/${version}`,\n },\n () => this._getReleaseBackendIndex(backendLookUpName, version),\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["hashicorpVersioning.id","p.map"],"sources":["../../../../lib/modules/datasource/terraform-provider/index.ts"],"sourcesContent":["// TODO: types (#22198)\nimport { logger } from '../../../logger/index.ts';\nimport { ExternalHostError } from '../../../types/errors/external-host-error.ts';\nimport { withCache } from '../../../util/cache/package/with-cache.ts';\nimport * as p from '../../../util/promises.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { getQueryString, joinUrlParts } from '../../../util/url.ts';\nimport * as hashicorpVersioning from '../../versioning/hashicorp/index.ts';\nimport { TerraformDatasource } from '../terraform-module/base.ts';\nimport { createSDBackendURL } from '../terraform-module/utils.ts';\nimport type { GetReleasesConfig, ReleaseResult } from '../types.ts';\nimport { TerraformProviderV2Response } from './schema.ts';\nimport type {\n TerraformBuild,\n TerraformProviderReleaseBackend,\n TerraformProviderVersions,\n TerraformRegistryBuildResponse,\n TerraformRegistryVersions,\n VersionDetailResponse,\n} from './types.ts';\n\nexport class TerraformProviderDatasource extends TerraformDatasource {\n static override readonly id = 'terraform-provider';\n\n static readonly hashicorpReleaseUrl = 'https://releases.hashicorp.com';\n\n static readonly defaultRegistryUrls = [\n TerraformProviderDatasource.terraformRegistryUrl,\n TerraformProviderDatasource.hashicorpReleaseUrl,\n ];\n\n static repositoryRegex = regEx(/^hashicorp\\/(?<packageName>\\S+)$/);\n\n constructor() {\n super(TerraformProviderDatasource.id);\n }\n\n override readonly defaultRegistryUrls =\n TerraformProviderDatasource.defaultRegistryUrls;\n\n override readonly defaultVersioning = hashicorpVersioning.id;\n\n override readonly registryStrategy = 'hunt';\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'The release timestamp is determined from the `published-at` field in the Terraform Registry v2 API response and is only available for `https://registry.terraform.io`.';\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is determined from the the `source` field in the results.';\n\n private async _getReleases({\n packageName,\n registryUrl,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n /* v8 ignore next 3 -- should never happen */\n if (!registryUrl) {\n return null;\n }\n logger.trace(\n `terraform-provider.getDependencies() packageName: ${packageName}`,\n );\n\n if (registryUrl === TerraformProviderDatasource.terraformRegistryUrl) {\n return await this.queryTerraformRegistryV2(registryUrl, packageName);\n }\n if (registryUrl === TerraformProviderDatasource.hashicorpReleaseUrl) {\n return await this.queryReleaseBackend(packageName, registryUrl);\n }\n\n // Fall back to the standard Provider Registry Protocol for other registries.\n return await this.queryProviderRegistry(registryUrl, packageName);\n }\n\n getReleases(config: GetReleasesConfig): Promise<ReleaseResult | null> {\n const url = config.registryUrl;\n const repo = TerraformProviderDatasource.getRepository(config);\n return withCache(\n {\n namespace: `datasource-${TerraformProviderDatasource.id}`,\n key: `getReleases:${url}/${repo}`,\n fallback: true,\n },\n () => this._getReleases(config),\n );\n }\n\n private static getRepository({ packageName }: GetReleasesConfig): string {\n return packageName.includes('/') ? packageName : `hashicorp/${packageName}`;\n }\n\n /**\n * Query the Terraform Registry using the undocumented v2 JSON:API.\n *\n * Returns release timestamps for all versions, unlike the v1 API\n * which only exposed the timestamp for the latest version.\n */\n private async queryTerraformRegistryV2(\n registryUrl: string,\n packageName: string,\n ): Promise<ReleaseResult> {\n const repository = TerraformProviderDatasource.getRepository({\n packageName,\n });\n const providerUrl = `${joinUrlParts(\n registryUrl,\n 'v2/providers',\n repository,\n )}?${getQueryString({ include: 'provider-versions' })}`;\n const { body: res } = await this.http.getJson(\n providerUrl,\n TerraformProviderV2Response,\n );\n res.homepage = `${registryUrl}/providers/${repository}`;\n return res;\n }\n\n /**\n * Query a registry using the Provider Registry Protocol that all registries\n * are required to implement.\n * https://www.terraform.io/internals/provider-registry-protocol\n */\n private async queryProviderRegistry(\n registryUrl: string,\n packageName: string,\n ): Promise<ReleaseResult> {\n const repository = TerraformProviderDatasource.getRepository({\n packageName,\n });\n const serviceDiscovery =\n await this.getTerraformServiceDiscoveryResult(registryUrl);\n const backendURL = createSDBackendURL(\n registryUrl,\n 'providers.v1',\n serviceDiscovery,\n `${repository}/versions`,\n );\n const res = (\n await this.http.getJsonUnchecked<TerraformProviderVersions>(backendURL)\n ).body;\n const dep: ReleaseResult = {\n releases: res.versions.map(({ version }) => ({\n version,\n })),\n };\n return dep;\n }\n\n private async queryReleaseBackend(\n packageName: string,\n registryURL: string,\n ): Promise<ReleaseResult | null> {\n const hashicorpPackage = packageName.replace('hashicorp/', '');\n const backendLookUpName = `terraform-provider-${hashicorpPackage}`;\n const backendURL = joinUrlParts(\n registryURL,\n backendLookUpName,\n `index.json`,\n );\n const res = (\n await this.http.getJsonUnchecked<TerraformProviderReleaseBackend>(\n backendURL,\n )\n ).body;\n\n const dep: ReleaseResult = {\n releases: Object.keys(res.versions).map((version) => ({\n version,\n })),\n sourceUrl: joinUrlParts(\n 'https://github.com/terraform-providers',\n backendLookUpName,\n ),\n };\n return dep;\n }\n\n private async _getBuilds(\n registryURL: string,\n repository: string,\n version: string,\n ): Promise<TerraformBuild[] | null> {\n if (registryURL === TerraformProviderDatasource.hashicorpReleaseUrl) {\n // check if registryURL === secondary backend\n const repositoryRegexResult =\n TerraformProviderDatasource.repositoryRegex.exec(repository)?.groups;\n if (!repositoryRegexResult) {\n // non hashicorp builds are not supported with releases.hashicorp.com\n return null;\n }\n const packageName = repositoryRegexResult.packageName;\n const backendLookUpName = `terraform-provider-${packageName}`;\n let versionReleaseBackend: VersionDetailResponse;\n try {\n versionReleaseBackend = await this.getReleaseBackendIndex(\n backendLookUpName,\n version,\n );\n } catch (err) {\n if (err instanceof ExternalHostError) {\n throw err;\n }\n logger.debug(\n { err, backendLookUpName, version },\n `Failed to retrieve builds for ${backendLookUpName} ${version}`,\n );\n // throw an error to disable caching\n throw new ExternalHostError(err);\n }\n return versionReleaseBackend.builds;\n }\n\n // check public or private Terraform registry\n const serviceDiscovery =\n await this.getTerraformServiceDiscoveryResult(registryURL);\n if (!serviceDiscovery) {\n // throw an error to disable caching\n throw new ExternalHostError(\n new Error(`Service discovery not found for ${registryURL}`),\n );\n }\n const backendURL = createSDBackendURL(\n registryURL,\n 'providers.v1',\n serviceDiscovery,\n repository,\n );\n const versionsResponse = (\n await this.http.getJsonUnchecked<TerraformRegistryVersions>(\n `${backendURL}/versions`,\n )\n ).body;\n if (!versionsResponse.versions) {\n // throw an error to disable caching\n throw new ExternalHostError(\n new Error(`Failed to retrieve version list for ${backendURL}`),\n );\n }\n const builds = versionsResponse.versions.find(\n (value) => value.version === version,\n );\n if (!builds) {\n // should never happen, but just in case\n // throw an error to disable caching\n throw new ExternalHostError(\n new Error(\n `No builds found for ${repository}:${version} on ${registryURL}`,\n ),\n );\n }\n const result = await p.map(\n builds.platforms,\n async (platform) => {\n const buildURL = `${backendURL}/${version}/download/${platform.os}/${platform.arch}`;\n try {\n const res = (\n await this.http.getJsonUnchecked<TerraformRegistryBuildResponse>(\n buildURL,\n )\n ).body;\n const newBuild: TerraformBuild = {\n name: repository,\n url: res.download_url,\n version,\n ...res,\n };\n return newBuild;\n } catch (err) {\n /* v8 ignore next 3 -- hard to test */\n if (err instanceof ExternalHostError) {\n throw err;\n }\n logger.debug({ err, url: buildURL }, 'Failed to retrieve build');\n // throw an error to disable caching\n throw new ExternalHostError(err);\n }\n },\n { concurrency: 4 },\n );\n\n return result;\n }\n\n getBuilds(\n registryURL: string,\n repository: string,\n version: string,\n ): Promise<TerraformBuild[] | null> {\n return withCache(\n {\n namespace: `datasource-${TerraformProviderDatasource.id}`,\n key: `getBuilds:${registryURL}/${repository}/${version}`,\n },\n () => this._getBuilds(registryURL, repository, version),\n );\n }\n\n private async _getZipHashes(\n zipHashUrl: string,\n ): Promise<string[] | undefined> {\n // The hashes are formatted as the result of sha256sum in plain text, each line: <hash>\\t<filename>\n let rawHashData: string;\n try {\n rawHashData = (await this.http.getText(zipHashUrl)).body;\n } catch (err) {\n /* v8 ignore next 3 -- hard to test */\n if (err instanceof ExternalHostError) {\n throw err;\n }\n logger.debug(\n { err, zipHashUrl },\n `Failed to retrieve zip hashes from ${zipHashUrl}`,\n );\n return undefined;\n }\n\n return rawHashData\n .trimEnd()\n .split('\\n')\n .map((line) => line.split(/\\s/)[0]);\n }\n\n getZipHashes(zipHashUrl: string): Promise<string[] | undefined> {\n return withCache(\n {\n namespace: `datasource-${TerraformProviderDatasource.id}`,\n key: `getZipHashes:${zipHashUrl}`,\n },\n () => this._getZipHashes(zipHashUrl),\n );\n }\n\n private async _getReleaseBackendIndex(\n backendLookUpName: string,\n version: string,\n ): Promise<VersionDetailResponse> {\n return (\n await this.http.getJsonUnchecked<VersionDetailResponse>(\n `${TerraformProviderDatasource.hashicorpReleaseUrl}/${backendLookUpName}/${version}/index.json`,\n )\n ).body;\n }\n\n getReleaseBackendIndex(\n backendLookUpName: string,\n version: string,\n ): Promise<VersionDetailResponse> {\n return withCache(\n {\n namespace: `datasource-${TerraformProviderDatasource.id}`,\n key: `getReleaseBackendIndex:${backendLookUpName}/${version}`,\n },\n () => this._getReleaseBackendIndex(backendLookUpName, version),\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -109,6 +109,7 @@ import { unity3d_exports } from "./unity3d/index.js";
|
|
|
109
109
|
import { velaci_exports } from "./velaci/index.js";
|
|
110
110
|
import { vendir_exports } from "./vendir/index.js";
|
|
111
111
|
import { woodpecker_exports } from "./woodpecker/index.js";
|
|
112
|
+
import { xcodegen_exports } from "./xcodegen/index.js";
|
|
112
113
|
//#region lib/modules/manager/api.ts
|
|
113
114
|
const api = /* @__PURE__ */ new Map();
|
|
114
115
|
api.set("ant", ant_exports);
|
|
@@ -222,6 +223,7 @@ api.set("unity3d", unity3d_exports);
|
|
|
222
223
|
api.set("velaci", velaci_exports);
|
|
223
224
|
api.set("vendir", vendir_exports);
|
|
224
225
|
api.set("woodpecker", woodpecker_exports);
|
|
226
|
+
api.set("xcodegen", xcodegen_exports);
|
|
225
227
|
//#endregion
|
|
226
228
|
export { api as default };
|
|
227
229
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","names":["ant","ansible","ansibleGalaxy","argoCD","asdf","azurePipelines","batect","batectWrapper","bazel","bazelModule","bazelisk","bicep","bitbucketPipelines","bitrise","buildkite","buildpacks","bun","bunVersion","bundler","cake","cargo","cdnurl","circleci","cloudbuild","cocoapods","composer","conan","copier","cpanfile","crossplane","crow","depsEdn","devbox","devContainer","dockerCompose","dockerfile","droneci","fleet","flux","fvm","gitSubmodules","githubActions","gitlabci","gitlabciInclude","glasskube","gleam","gomod","gradle","gradleWrapper","haskellCabal","helmRequirements","helmValues","helmfile","helmsman","helmv3","hermit","homeassistantManifest","homebrew","html","jenkins","jsonnetBundler","kotlinScript","kubernetes","kustomize","leiningen","maven","mavenWrapper","meteor","mint","mise","mix","nix","nodenv","npm","nuget","nvm","ocb","osgi","pep621","pep723","pipCompile","pip_requirements","pip_setup","pipenv","pixi","poetry","preCommit","pub","puppet","pyenv","quadlet","renovateConfigPresets","rubyVersion","runtimeVersion","sbt","scalafmt","setupCfg","sveltos","swift","tekton","terraform","terraformVersion","terragrunt","terragruntVersion","tflintPlugin","travis","typst","unity3d","velaci","vendir","woodpecker"],"sources":["../../../lib/modules/manager/api.ts"],"sourcesContent":["import * as ansible from './ansible/index.ts';\nimport * as ansibleGalaxy from './ansible-galaxy/index.ts';\nimport * as ant from './ant/index.ts';\nimport * as argoCD from './argocd/index.ts';\nimport * as asdf from './asdf/index.ts';\nimport * as azurePipelines from './azure-pipelines/index.ts';\nimport * as batect from './batect/index.ts';\nimport * as batectWrapper from './batect-wrapper/index.ts';\nimport * as bazel from './bazel/index.ts';\nimport * as bazelModule from './bazel-module/index.ts';\nimport * as bazelisk from './bazelisk/index.ts';\nimport * as bicep from './bicep/index.ts';\nimport * as bitbucketPipelines from './bitbucket-pipelines/index.ts';\nimport * as bitrise from './bitrise/index.ts';\nimport * as buildkite from './buildkite/index.ts';\nimport * as buildpacks from './buildpacks/index.ts';\nimport * as bun from './bun/index.ts';\nimport * as bunVersion from './bun-version/index.ts';\nimport * as bundler from './bundler/index.ts';\nimport * as cake from './cake/index.ts';\nimport * as cargo from './cargo/index.ts';\nimport * as cdnurl from './cdnurl/index.ts';\nimport * as circleci from './circleci/index.ts';\nimport * as cloudbuild from './cloudbuild/index.ts';\nimport * as cocoapods from './cocoapods/index.ts';\nimport * as composer from './composer/index.ts';\nimport * as conan from './conan/index.ts';\nimport * as copier from './copier/index.ts';\nimport * as cpanfile from './cpanfile/index.ts';\nimport * as crossplane from './crossplane/index.ts';\nimport * as crow from './crow/index.ts';\nimport * as depsEdn from './deps-edn/index.ts';\nimport * as devbox from './devbox/index.ts';\nimport * as devContainer from './devcontainer/index.ts';\nimport * as dockerCompose from './docker-compose/index.ts';\nimport * as dockerfile from './dockerfile/index.ts';\nimport * as droneci from './droneci/index.ts';\nimport * as fleet from './fleet/index.ts';\nimport * as flux from './flux/index.ts';\nimport * as fvm from './fvm/index.ts';\nimport * as gitSubmodules from './git-submodules/index.ts';\nimport * as githubActions from './github-actions/index.ts';\nimport * as gitlabci from './gitlabci/index.ts';\nimport * as gitlabciInclude from './gitlabci-include/index.ts';\nimport * as glasskube from './glasskube/index.ts';\nimport * as gleam from './gleam/index.ts';\nimport * as gomod from './gomod/index.ts';\nimport * as gradle from './gradle/index.ts';\nimport * as gradleWrapper from './gradle-wrapper/index.ts';\nimport * as haskellCabal from './haskell-cabal/index.ts';\nimport * as helmRequirements from './helm-requirements/index.ts';\nimport * as helmValues from './helm-values/index.ts';\nimport * as helmfile from './helmfile/index.ts';\nimport * as helmsman from './helmsman/index.ts';\nimport * as helmv3 from './helmv3/index.ts';\nimport * as hermit from './hermit/index.ts';\nimport * as homeassistantManifest from './homeassistant-manifest/index.ts';\nimport * as homebrew from './homebrew/index.ts';\nimport * as html from './html/index.ts';\nimport * as jenkins from './jenkins/index.ts';\nimport * as jsonnetBundler from './jsonnet-bundler/index.ts';\nimport * as kotlinScript from './kotlin-script/index.ts';\nimport * as kubernetes from './kubernetes/index.ts';\nimport * as kustomize from './kustomize/index.ts';\nimport * as leiningen from './leiningen/index.ts';\nimport * as maven from './maven/index.ts';\nimport * as mavenWrapper from './maven-wrapper/index.ts';\nimport * as meteor from './meteor/index.ts';\nimport * as mint from './mint/index.ts';\nimport * as mise from './mise/index.ts';\nimport * as mix from './mix/index.ts';\nimport * as nix from './nix/index.ts';\nimport * as nodenv from './nodenv/index.ts';\nimport * as npm from './npm/index.ts';\nimport * as nuget from './nuget/index.ts';\nimport * as nvm from './nvm/index.ts';\nimport * as ocb from './ocb/index.ts';\nimport * as osgi from './osgi/index.ts';\nimport * as pep621 from './pep621/index.ts';\nimport * as pep723 from './pep723/index.ts';\nimport * as pip_requirements from './pip_requirements/index.ts';\nimport * as pip_setup from './pip_setup/index.ts';\nimport * as pipCompile from './pip-compile/index.ts';\nimport * as pipenv from './pipenv/index.ts';\nimport * as pixi from './pixi/index.ts';\nimport * as poetry from './poetry/index.ts';\nimport * as preCommit from './pre-commit/index.ts';\nimport * as pub from './pub/index.ts';\nimport * as puppet from './puppet/index.ts';\nimport * as pyenv from './pyenv/index.ts';\nimport * as quadlet from './quadlet/index.ts';\nimport * as renovateConfigPresets from './renovate-config-presets/index.ts';\nimport * as rubyVersion from './ruby-version/index.ts';\nimport * as runtimeVersion from './runtime-version/index.ts';\nimport * as sbt from './sbt/index.ts';\nimport * as scalafmt from './scalafmt/index.ts';\nimport * as setupCfg from './setup-cfg/index.ts';\nimport * as sveltos from './sveltos/index.ts';\nimport * as swift from './swift/index.ts';\nimport * as tekton from './tekton/index.ts';\nimport * as terraform from './terraform/index.ts';\nimport * as terraformVersion from './terraform-version/index.ts';\nimport * as terragrunt from './terragrunt/index.ts';\nimport * as terragruntVersion from './terragrunt-version/index.ts';\nimport * as tflintPlugin from './tflint-plugin/index.ts';\nimport * as travis from './travis/index.ts';\nimport type { ManagerApi } from './types.ts';\nimport * as typst from './typst/index.ts';\nimport * as unity3d from './unity3d/index.ts';\nimport * as velaci from './velaci/index.ts';\nimport * as vendir from './vendir/index.ts';\nimport * as woodpecker from './woodpecker/index.ts';\n\nconst api = new Map<string, ManagerApi>();\nexport default api;\n\napi.set('ant', ant);\napi.set('ansible', ansible);\napi.set('ansible-galaxy', ansibleGalaxy);\napi.set('argocd', argoCD);\napi.set('asdf', asdf);\napi.set('azure-pipelines', azurePipelines);\napi.set('batect', batect);\napi.set('batect-wrapper', batectWrapper);\napi.set('bazel', bazel);\napi.set('bazel-module', bazelModule);\napi.set('bazelisk', bazelisk);\napi.set('bicep', bicep);\napi.set('bitbucket-pipelines', bitbucketPipelines);\napi.set('bitrise', bitrise);\napi.set('buildkite', buildkite);\napi.set('buildpacks', buildpacks);\napi.set('bun', bun);\napi.set('bun-version', bunVersion);\napi.set('bundler', bundler);\napi.set('cake', cake);\napi.set('cargo', cargo);\napi.set('cdnurl', cdnurl);\napi.set('circleci', circleci);\napi.set('cloudbuild', cloudbuild);\napi.set('cocoapods', cocoapods);\napi.set('composer', composer);\napi.set('conan', conan);\napi.set('copier', copier);\napi.set('cpanfile', cpanfile);\napi.set('crossplane', crossplane);\napi.set('crow', crow);\napi.set('deps-edn', depsEdn);\napi.set('devbox', devbox);\napi.set('devcontainer', devContainer);\napi.set('docker-compose', dockerCompose);\napi.set('dockerfile', dockerfile);\napi.set('droneci', droneci);\napi.set('fleet', fleet);\napi.set('flux', flux);\napi.set('fvm', fvm);\napi.set('git-submodules', gitSubmodules);\napi.set('github-actions', githubActions);\napi.set('gitlabci', gitlabci);\napi.set('gitlabci-include', gitlabciInclude);\napi.set('glasskube', glasskube);\napi.set('gleam', gleam);\napi.set('gomod', gomod);\napi.set('gradle', gradle);\napi.set('gradle-wrapper', gradleWrapper);\napi.set('haskell-cabal', haskellCabal);\napi.set('helm-requirements', helmRequirements);\napi.set('helm-values', helmValues);\napi.set('helmfile', helmfile);\napi.set('helmsman', helmsman);\napi.set('helmv3', helmv3);\napi.set('hermit', hermit);\napi.set('homeassistant-manifest', homeassistantManifest);\napi.set('homebrew', homebrew);\napi.set('html', html);\napi.set('jenkins', jenkins);\napi.set('jsonnet-bundler', jsonnetBundler);\napi.set('kotlin-script', kotlinScript);\napi.set('kubernetes', kubernetes);\napi.set('kustomize', kustomize);\napi.set('leiningen', leiningen);\napi.set('maven', maven);\napi.set('maven-wrapper', mavenWrapper);\napi.set('meteor', meteor);\napi.set('mint', mint);\napi.set('mise', mise);\napi.set('mix', mix);\napi.set('nix', nix);\napi.set('nodenv', nodenv);\napi.set('npm', npm);\napi.set('nuget', nuget);\napi.set('nvm', nvm);\napi.set('ocb', ocb);\napi.set('osgi', osgi);\napi.set('pep621', pep621);\napi.set('pep723', pep723);\napi.set('pip-compile', pipCompile);\napi.set('pip_requirements', pip_requirements);\napi.set('pip_setup', pip_setup);\napi.set('pipenv', pipenv);\napi.set('pixi', pixi);\napi.set('poetry', poetry);\napi.set('pre-commit', preCommit);\napi.set('pub', pub);\napi.set('puppet', puppet);\napi.set('pyenv', pyenv);\napi.set('quadlet', quadlet);\napi.set('renovate-config-presets', renovateConfigPresets);\napi.set('ruby-version', rubyVersion);\napi.set('runtime-version', runtimeVersion);\napi.set('sbt', sbt);\napi.set('scalafmt', scalafmt);\napi.set('setup-cfg', setupCfg);\napi.set('sveltos', sveltos);\napi.set('swift', swift);\napi.set('tekton', tekton);\napi.set('terraform', terraform);\napi.set('terraform-version', terraformVersion);\napi.set('terragrunt', terragrunt);\napi.set('terragrunt-version', terragruntVersion);\napi.set('tflint-plugin', tflintPlugin);\napi.set('travis', travis);\napi.set('typst', typst);\napi.set('unity3d', unity3d);\napi.set('velaci', velaci);\napi.set('vendir', vendir);\napi.set('woodpecker', woodpecker);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","names":["ant","ansible","ansibleGalaxy","argoCD","asdf","azurePipelines","batect","batectWrapper","bazel","bazelModule","bazelisk","bicep","bitbucketPipelines","bitrise","buildkite","buildpacks","bun","bunVersion","bundler","cake","cargo","cdnurl","circleci","cloudbuild","cocoapods","composer","conan","copier","cpanfile","crossplane","crow","depsEdn","devbox","devContainer","dockerCompose","dockerfile","droneci","fleet","flux","fvm","gitSubmodules","githubActions","gitlabci","gitlabciInclude","glasskube","gleam","gomod","gradle","gradleWrapper","haskellCabal","helmRequirements","helmValues","helmfile","helmsman","helmv3","hermit","homeassistantManifest","homebrew","html","jenkins","jsonnetBundler","kotlinScript","kubernetes","kustomize","leiningen","maven","mavenWrapper","meteor","mint","mise","mix","nix","nodenv","npm","nuget","nvm","ocb","osgi","pep621","pep723","pipCompile","pip_requirements","pip_setup","pipenv","pixi","poetry","preCommit","pub","puppet","pyenv","quadlet","renovateConfigPresets","rubyVersion","runtimeVersion","sbt","scalafmt","setupCfg","sveltos","swift","tekton","terraform","terraformVersion","terragrunt","terragruntVersion","tflintPlugin","travis","typst","unity3d","velaci","vendir","woodpecker","xcodegen"],"sources":["../../../lib/modules/manager/api.ts"],"sourcesContent":["import * as ansible from './ansible/index.ts';\nimport * as ansibleGalaxy from './ansible-galaxy/index.ts';\nimport * as ant from './ant/index.ts';\nimport * as argoCD from './argocd/index.ts';\nimport * as asdf from './asdf/index.ts';\nimport * as azurePipelines from './azure-pipelines/index.ts';\nimport * as batect from './batect/index.ts';\nimport * as batectWrapper from './batect-wrapper/index.ts';\nimport * as bazel from './bazel/index.ts';\nimport * as bazelModule from './bazel-module/index.ts';\nimport * as bazelisk from './bazelisk/index.ts';\nimport * as bicep from './bicep/index.ts';\nimport * as bitbucketPipelines from './bitbucket-pipelines/index.ts';\nimport * as bitrise from './bitrise/index.ts';\nimport * as buildkite from './buildkite/index.ts';\nimport * as buildpacks from './buildpacks/index.ts';\nimport * as bun from './bun/index.ts';\nimport * as bunVersion from './bun-version/index.ts';\nimport * as bundler from './bundler/index.ts';\nimport * as cake from './cake/index.ts';\nimport * as cargo from './cargo/index.ts';\nimport * as cdnurl from './cdnurl/index.ts';\nimport * as circleci from './circleci/index.ts';\nimport * as cloudbuild from './cloudbuild/index.ts';\nimport * as cocoapods from './cocoapods/index.ts';\nimport * as composer from './composer/index.ts';\nimport * as conan from './conan/index.ts';\nimport * as copier from './copier/index.ts';\nimport * as cpanfile from './cpanfile/index.ts';\nimport * as crossplane from './crossplane/index.ts';\nimport * as crow from './crow/index.ts';\nimport * as depsEdn from './deps-edn/index.ts';\nimport * as devbox from './devbox/index.ts';\nimport * as devContainer from './devcontainer/index.ts';\nimport * as dockerCompose from './docker-compose/index.ts';\nimport * as dockerfile from './dockerfile/index.ts';\nimport * as droneci from './droneci/index.ts';\nimport * as fleet from './fleet/index.ts';\nimport * as flux from './flux/index.ts';\nimport * as fvm from './fvm/index.ts';\nimport * as gitSubmodules from './git-submodules/index.ts';\nimport * as githubActions from './github-actions/index.ts';\nimport * as gitlabci from './gitlabci/index.ts';\nimport * as gitlabciInclude from './gitlabci-include/index.ts';\nimport * as glasskube from './glasskube/index.ts';\nimport * as gleam from './gleam/index.ts';\nimport * as gomod from './gomod/index.ts';\nimport * as gradle from './gradle/index.ts';\nimport * as gradleWrapper from './gradle-wrapper/index.ts';\nimport * as haskellCabal from './haskell-cabal/index.ts';\nimport * as helmRequirements from './helm-requirements/index.ts';\nimport * as helmValues from './helm-values/index.ts';\nimport * as helmfile from './helmfile/index.ts';\nimport * as helmsman from './helmsman/index.ts';\nimport * as helmv3 from './helmv3/index.ts';\nimport * as hermit from './hermit/index.ts';\nimport * as homeassistantManifest from './homeassistant-manifest/index.ts';\nimport * as homebrew from './homebrew/index.ts';\nimport * as html from './html/index.ts';\nimport * as jenkins from './jenkins/index.ts';\nimport * as jsonnetBundler from './jsonnet-bundler/index.ts';\nimport * as kotlinScript from './kotlin-script/index.ts';\nimport * as kubernetes from './kubernetes/index.ts';\nimport * as kustomize from './kustomize/index.ts';\nimport * as leiningen from './leiningen/index.ts';\nimport * as maven from './maven/index.ts';\nimport * as mavenWrapper from './maven-wrapper/index.ts';\nimport * as meteor from './meteor/index.ts';\nimport * as mint from './mint/index.ts';\nimport * as mise from './mise/index.ts';\nimport * as mix from './mix/index.ts';\nimport * as nix from './nix/index.ts';\nimport * as nodenv from './nodenv/index.ts';\nimport * as npm from './npm/index.ts';\nimport * as nuget from './nuget/index.ts';\nimport * as nvm from './nvm/index.ts';\nimport * as ocb from './ocb/index.ts';\nimport * as osgi from './osgi/index.ts';\nimport * as pep621 from './pep621/index.ts';\nimport * as pep723 from './pep723/index.ts';\nimport * as pip_requirements from './pip_requirements/index.ts';\nimport * as pip_setup from './pip_setup/index.ts';\nimport * as pipCompile from './pip-compile/index.ts';\nimport * as pipenv from './pipenv/index.ts';\nimport * as pixi from './pixi/index.ts';\nimport * as poetry from './poetry/index.ts';\nimport * as preCommit from './pre-commit/index.ts';\nimport * as pub from './pub/index.ts';\nimport * as puppet from './puppet/index.ts';\nimport * as pyenv from './pyenv/index.ts';\nimport * as quadlet from './quadlet/index.ts';\nimport * as renovateConfigPresets from './renovate-config-presets/index.ts';\nimport * as rubyVersion from './ruby-version/index.ts';\nimport * as runtimeVersion from './runtime-version/index.ts';\nimport * as sbt from './sbt/index.ts';\nimport * as scalafmt from './scalafmt/index.ts';\nimport * as setupCfg from './setup-cfg/index.ts';\nimport * as sveltos from './sveltos/index.ts';\nimport * as swift from './swift/index.ts';\nimport * as tekton from './tekton/index.ts';\nimport * as terraform from './terraform/index.ts';\nimport * as terraformVersion from './terraform-version/index.ts';\nimport * as terragrunt from './terragrunt/index.ts';\nimport * as terragruntVersion from './terragrunt-version/index.ts';\nimport * as tflintPlugin from './tflint-plugin/index.ts';\nimport * as travis from './travis/index.ts';\nimport type { ManagerApi } from './types.ts';\nimport * as typst from './typst/index.ts';\nimport * as unity3d from './unity3d/index.ts';\nimport * as velaci from './velaci/index.ts';\nimport * as vendir from './vendir/index.ts';\nimport * as woodpecker from './woodpecker/index.ts';\nimport * as xcodegen from './xcodegen/index.ts';\n\nconst api = new Map<string, ManagerApi>();\nexport default api;\n\napi.set('ant', ant);\napi.set('ansible', ansible);\napi.set('ansible-galaxy', ansibleGalaxy);\napi.set('argocd', argoCD);\napi.set('asdf', asdf);\napi.set('azure-pipelines', azurePipelines);\napi.set('batect', batect);\napi.set('batect-wrapper', batectWrapper);\napi.set('bazel', bazel);\napi.set('bazel-module', bazelModule);\napi.set('bazelisk', bazelisk);\napi.set('bicep', bicep);\napi.set('bitbucket-pipelines', bitbucketPipelines);\napi.set('bitrise', bitrise);\napi.set('buildkite', buildkite);\napi.set('buildpacks', buildpacks);\napi.set('bun', bun);\napi.set('bun-version', bunVersion);\napi.set('bundler', bundler);\napi.set('cake', cake);\napi.set('cargo', cargo);\napi.set('cdnurl', cdnurl);\napi.set('circleci', circleci);\napi.set('cloudbuild', cloudbuild);\napi.set('cocoapods', cocoapods);\napi.set('composer', composer);\napi.set('conan', conan);\napi.set('copier', copier);\napi.set('cpanfile', cpanfile);\napi.set('crossplane', crossplane);\napi.set('crow', crow);\napi.set('deps-edn', depsEdn);\napi.set('devbox', devbox);\napi.set('devcontainer', devContainer);\napi.set('docker-compose', dockerCompose);\napi.set('dockerfile', dockerfile);\napi.set('droneci', droneci);\napi.set('fleet', fleet);\napi.set('flux', flux);\napi.set('fvm', fvm);\napi.set('git-submodules', gitSubmodules);\napi.set('github-actions', githubActions);\napi.set('gitlabci', gitlabci);\napi.set('gitlabci-include', gitlabciInclude);\napi.set('glasskube', glasskube);\napi.set('gleam', gleam);\napi.set('gomod', gomod);\napi.set('gradle', gradle);\napi.set('gradle-wrapper', gradleWrapper);\napi.set('haskell-cabal', haskellCabal);\napi.set('helm-requirements', helmRequirements);\napi.set('helm-values', helmValues);\napi.set('helmfile', helmfile);\napi.set('helmsman', helmsman);\napi.set('helmv3', helmv3);\napi.set('hermit', hermit);\napi.set('homeassistant-manifest', homeassistantManifest);\napi.set('homebrew', homebrew);\napi.set('html', html);\napi.set('jenkins', jenkins);\napi.set('jsonnet-bundler', jsonnetBundler);\napi.set('kotlin-script', kotlinScript);\napi.set('kubernetes', kubernetes);\napi.set('kustomize', kustomize);\napi.set('leiningen', leiningen);\napi.set('maven', maven);\napi.set('maven-wrapper', mavenWrapper);\napi.set('meteor', meteor);\napi.set('mint', mint);\napi.set('mise', mise);\napi.set('mix', mix);\napi.set('nix', nix);\napi.set('nodenv', nodenv);\napi.set('npm', npm);\napi.set('nuget', nuget);\napi.set('nvm', nvm);\napi.set('ocb', ocb);\napi.set('osgi', osgi);\napi.set('pep621', pep621);\napi.set('pep723', pep723);\napi.set('pip-compile', pipCompile);\napi.set('pip_requirements', pip_requirements);\napi.set('pip_setup', pip_setup);\napi.set('pipenv', pipenv);\napi.set('pixi', pixi);\napi.set('poetry', poetry);\napi.set('pre-commit', preCommit);\napi.set('pub', pub);\napi.set('puppet', puppet);\napi.set('pyenv', pyenv);\napi.set('quadlet', quadlet);\napi.set('renovate-config-presets', renovateConfigPresets);\napi.set('ruby-version', rubyVersion);\napi.set('runtime-version', runtimeVersion);\napi.set('sbt', sbt);\napi.set('scalafmt', scalafmt);\napi.set('setup-cfg', setupCfg);\napi.set('sveltos', sveltos);\napi.set('swift', swift);\napi.set('tekton', tekton);\napi.set('terraform', terraform);\napi.set('terraform-version', terraformVersion);\napi.set('terragrunt', terragrunt);\napi.set('terragrunt-version', terragruntVersion);\napi.set('tflint-plugin', tflintPlugin);\napi.set('travis', travis);\napi.set('typst', typst);\napi.set('unity3d', unity3d);\napi.set('velaci', velaci);\napi.set('vendir', vendir);\napi.set('woodpecker', woodpecker);\napi.set('xcodegen', xcodegen);\n"],"mappings":"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"}
|
|
@@ -100,7 +100,7 @@ hashMap.set("setup-cfg", "7dea08c5708625e753bd56918bc214df7fb4d8543a26e936926a21
|
|
|
100
100
|
hashMap.set("sveltos", "167a5cc79098803be3b815a28cc40ef3361c455751e1d6a7a99ba91bfce26709");
|
|
101
101
|
hashMap.set("swift", "79ec9a6a2a8bb4853bb78bbb3a2a6e64e3b32b0ddeb312385abb3a14366ad505");
|
|
102
102
|
hashMap.set("tekton", "4e35c75bba4abc9c3cf49c55da6c19db4f4e9181d1fd9583288ab55ef7c944fd");
|
|
103
|
-
hashMap.set("terraform", "
|
|
103
|
+
hashMap.set("terraform", "51aa6b0a49001494e7ee718d01312961c7fbd244831b42ceefd690d75404e795");
|
|
104
104
|
hashMap.set("terraform-version", "ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa");
|
|
105
105
|
hashMap.set("terragrunt", "b8474c65383a702602eee432cc1434f9a49a1ef886d1213de92d7a84fb98b9cd");
|
|
106
106
|
hashMap.set("terragrunt-version", "eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d");
|
|
@@ -111,6 +111,7 @@ hashMap.set("unity3d", "f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6d
|
|
|
111
111
|
hashMap.set("velaci", "fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de");
|
|
112
112
|
hashMap.set("vendir", "4627230d3b7698c41aac192d57b65b091c860c8f858c89d6af4b06ed6a32fae6");
|
|
113
113
|
hashMap.set("woodpecker", "6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045");
|
|
114
|
+
hashMap.set("xcodegen", "dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683");
|
|
114
115
|
hashMap.set("jsonata", "3b5f465b586993f92c8490e70885e7eecce9b6556bcc376dd9c11db8ee9e6960");
|
|
115
116
|
hashMap.set("regex", "7b643b49e498465cf91b25b8b840bb1fec8c8a3a59bfa8f97a39c976675325a0");
|
|
116
117
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','1fbc76f78daa14a8c9ab1142e9d1e05c746c0419a9f1455e4279f476590d0c04');\nhashMap.set('ansible-galaxy','8226d47128f2018825d4d6f84794e3183eb79c706045fa7e88491edd5e64106f');\nhashMap.set('ant','8640868d2249c9a0fbc57680fa81cf0c8c35f170258c50ac3ffb3a4f798cc5ae');\nhashMap.set('argocd','5d35b1992e53130bf83b0e59a0f90ccd3a78919974c69044f306dc5d162f48ce');\nhashMap.set('asdf','1f6fcf620e9c6cd35991380cb6eafb94ec60cd77cbd13335ebe3a1d9727416c9');\nhashMap.set('azure-pipelines','4f635b0ecd388ee266d992e8281fd40e3db2f5867d86fc1cbce72dc33a66e796');\nhashMap.set('batect','fad98996bea8626525ab925f83a6ae0ce9262c53770e7aa7cb448a1e0f1ddf21');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','c6e0ad88ea468664c3a33263baf7452d83d2d37ff09ba920e18f64ee81fd0acb');\nhashMap.set('bazel-module','ff071fcf8b53036956627d2a430ccdf256e30bee4d7e80c329379879d836a931');\nhashMap.set('bazelisk','b6ec532dfa7c8f82ad4084df864ac6276e87c27285369323902afc146d3537ac');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','a93effb1f1c5d65b3277c3b4709924eacde282e8efd028a8e3d8c1ce3ef69407');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','1322232bf1d0c4fa796e31a00488453bdcd00d4958431d9e424c1635e60a99bd');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','6d7e9d2018ac03e15f19e8b40ef70dd87d509d5affca24bc464d085899880a25');\nhashMap.set('cake','288c3c36a50371b26957fa71992cc335228d53563c75597b36919ac7286e96eb');\nhashMap.set('cargo','308d7ab4c6d24027b050bf659dfab0e510d9a22f8134695a7c68214908ee4634');\nhashMap.set('cdnurl','d3edf6cdc38e92eb43ff5a2b4e8df6a6a13154cf83244725c39e28d7e6ea9177');\nhashMap.set('circleci','135937d4720718304adb0ba998516f8ce38c3220ccd18b00b8c70c62b45df4da');\nhashMap.set('cloudbuild','8c0c739f7e4082bbfe8e3fdffebaf43e26f70a1314d95b306e9b93e4f4297886');\nhashMap.set('cocoapods','b6ac3b4a6b8a5b32daed37bf695fe177cdb1b4a94ae7f7fb2f4c4c096c0a004c');\nhashMap.set('composer','cdb6895574020cec402e0b878e4078b62f1acfd0392a861cbb523036634f6383');\nhashMap.set('conan','aecc3917d77146db4e57dd12944be1beff860e90b7ebdd2d8fbc449fc1a06574');\nhashMap.set('copier','faa3b79991256a6fc0957fdcd530a1bc8aee65913d5aff2b1b4d226dcd44d008');\nhashMap.set('cpanfile','6a1d67d9c8751123deaf0c7f3ac38a07024e960c140f8228fcbcb93954fdca01');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deps-edn','c87dd5e88587147ad1a78f047b814f3c4aa60d6de30d0c49d849391eeaf1b64c');\nhashMap.set('devbox','bcf5334e8a21190baaa25436acf2f17fbf095504262a4e9ee7c62ffb644eb716');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','5441af5b5abf8d347e46002d47f02f85743401bda28232f49fb7b3bbb772a4fb');\nhashMap.set('dockerfile','322b95f7e55dd78d7fe71306a6f649479eca61c60d75bb10b23604a230dbdd08');\nhashMap.set('droneci','237c8de87b9bf653fb943b56e84e99c45f6d86ae27d86e599b3f3f99c35ba8ee');\nhashMap.set('fleet','d73d5d35f10df0599a561d9c8d25f3935350407d0e3bd3a1d1545295f278912e');\nhashMap.set('flux','427e0c1a5b1d8337503a9a568a76532fbde0bab8b355fa8f47312de50eadf2f6');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','fbbf1c7b7b6f4166fa3beee96a3283d007b388e9ecb6a14f76123c8ab8c78071');\nhashMap.set('github-actions','d8f83c65da1e80b639ad44a0d8641e7e97b1d93a1b6c873603333d337ad02011');\nhashMap.set('gitlabci','0dec44dd398bfc5b3c19d0929bea2fef7f386c94acfd1b1d7bc2a31d81d96fd6');\nhashMap.set('gitlabci-include','354cfc4ea327c6d5cd5bee1f17763832efc7f5402e9fd22c579239fccb9c6dab');\nhashMap.set('glasskube','253d6db30bdec75ed5ab5d26f31d69bc07813ba10089a28da12c6a29eff4ec70');\nhashMap.set('gleam','b717a48c525ad6b1d434c6a9db828ddebbb85e94519e89ddc4040878e3600e84');\nhashMap.set('gomod','82e877b22c0dd0217368760bb5d38430657fff63d07c289793a866f0845d2976');\nhashMap.set('gradle','f430d8d768b56889ad1e5a69965841e85cc700e364d15db7bce680e8a5d6f821');\nhashMap.set('gradle-wrapper','90d2ecb9d0b113f8e946d4ea221c040f17f91af846e1ff4f9fc1514ad4324b74');\nhashMap.set('haskell-cabal','d796ec6859e63ab4f1b7030c4016071202c3a44c7c11d4a9131d7e2ba19b396d');\nhashMap.set('helm-requirements','4d90e5e18a380876ad48e21e1ad88ea62e25d973a1ddaa3763447fc0a9f9915b');\nhashMap.set('helm-values','b5c52c6a27d805557418c585c5d3030c95ee641d53057021f3fe060f81b6e1af');\nhashMap.set('helmfile','e5783484b81247279563da3c835afe4002edfc412e13fb91877818ca44ae65f2');\nhashMap.set('helmsman','ef9680c612f702c7f07aea9b6e5d811e91214dcfa5755c9f3803e9528090935e');\nhashMap.set('helmv3','7724bf6cc3ff4afec1809899f619a332f4350049b9578b5c4634514b4448cf2b');\nhashMap.set('hermit','672c328e4baea3a1ccd2cde2364db01c8033a8c077bf63a5b914fc20ee1de838');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','56ef90301143874355fd2ed25dff7c646875f701f97422d02e01d45608a88f31');\nhashMap.set('html','67c5f3c5c58e96f5dd257ba5987d900cf7fef81d667c3640e96c847b37de35a8');\nhashMap.set('jenkins','268ebfc8a1caf3edeb2192c2b1b2fa4bf18a78a3e731ba20a6c104940a5539f3');\nhashMap.set('jsonnet-bundler','4b73c32ddc3fe45d9777106d45b116777a2960e6e631256a6553060e602f893c');\nhashMap.set('kotlin-script','99ef296792a0ca575ed31d3defb514b05a58083dc01c52ea0890c69d867ba1dd');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','1e44d6ef8622252dac6d9649fb04badd12d4827eb2a55f74792aa9de2b915775');\nhashMap.set('leiningen','133fca2c3423f53f2ccc22518153ddbcafbf0f4812376c77e952eb3d24d81f85');\nhashMap.set('maven','fd6bfc21be851ed076eabea1a91a89b25eb82129734c7cb0c2e684385cf1ea69');\nhashMap.set('maven-wrapper','9a868d1328f911eb72f9e65a64d46c86ae347aab0153d1cf4e9a62ad9e0d6cb0');\nhashMap.set('meteor','4a93a326b27bedfe52118e27e06f39fecd7c55bd4cd7fccec4cb120cac14cec4');\nhashMap.set('mint','b816a49c8525716454d0a2bc9127916d5b27e5cca7b2aa2030312f218942af3e');\nhashMap.set('mise','38177382f3785cfe7cce92994bfb429b68f5165e6eef1bdcd2c7a3d8d5414da2');\nhashMap.set('mix','1116e1adf1c18c866f0a9e6fa065c4fb9da055d8d150e625344899bb94095481');\nhashMap.set('nix','f3ffec2f14e7261de8068895b91392e992dcef208fbaf52110d6862e4712c031');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','eaf9fe4981de8f7504227f3be88445f60f87ba74f9b9c7e54284bc2bb41320b3');\nhashMap.set('nuget','42175b1906e8e91ae0731a13d92d0df065108063665f8a36150aeae73aafdc78');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','32233a1a8a2725699d7448ba438e3d0b78141f7799cd2b588de278d41e26ed10');\nhashMap.set('pep621','f503497a4adef31b29572176e9a69d52fa9b0bfe3477b6e228c906aeb4861de5');\nhashMap.set('pep723','b96683163de63ed93207ec0538066705b1e58a1cd5b8bd11c63fc28b26bddba1');\nhashMap.set('pip-compile','89152ad6c89f278395f32d289dc3890823c233366547d228e97dd1319aa144b5');\nhashMap.set('pip_requirements','d5c474c524bc7adc1aae065da0531bd22d9f7f52523b018f2461f6c29e12fdf3');\nhashMap.set('pip_setup','0175fe550c19d9bd31c978bd83fdc088cb40fcacd5d6751f640164274ae64e61');\nhashMap.set('pipenv','50f5a54ed714fd3d738c1aa9a353cf3aab767899acdcb763088d4bd04f3a737b');\nhashMap.set('pixi','b17af6eaa33e7babcc52cfc9a617c7801c0efb1125bbd6d0d4e9f6fe33afd353');\nhashMap.set('poetry','7f227b8b912b405df7735e9dc7c178f03021844f0c027d4b321c023c330c390a');\nhashMap.set('pre-commit','a6a6e847fdb0f56650e66ef7d69e68de752b390913f79ac31d1a7ec5955d03da');\nhashMap.set('pub','0fbad9f77579fcec3a623c6feab56e71934c67a79bb8f4f0f847452051d2a0ba');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','e355e13e104351a8b3516a8e272fc5f7e625c9f39b0c492ba27283a36227c2d4');\nhashMap.set('renovate-config-presets','a394fe55f8b6ba356f29f76efd9f0d34b56baceb111e6d92f95b29b5ca50ac67');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('sbt','74125bd9c76a5724092258cd1dee1ea99fc0d735b463a2b64fedc5d950efde2a');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','7dea08c5708625e753bd56918bc214df7fb4d8543a26e936926a21ab43b5f785');\nhashMap.set('sveltos','167a5cc79098803be3b815a28cc40ef3361c455751e1d6a7a99ba91bfce26709');\nhashMap.set('swift','79ec9a6a2a8bb4853bb78bbb3a2a6e64e3b32b0ddeb312385abb3a14366ad505');\nhashMap.set('tekton','4e35c75bba4abc9c3cf49c55da6c19db4f4e9181d1fd9583288ab55ef7c944fd');\nhashMap.set('terraform','5bd62ce12c23896b8ecb2385a60a3cb9eb72badf10f9984bfed38f50f9262266');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','b8474c65383a702602eee432cc1434f9a49a1ef886d1213de92d7a84fb98b9cd');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','4a975f0cc1aa22cd258aa835de3dc98d7a5c0d1cee0a1092324338968e08a827');\nhashMap.set('travis','bb482a0195cd009ec3896a6227bb95617f5c84bedb518c7d971e50c62235d9ca');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','4627230d3b7698c41aac192d57b65b091c860c8f858c89d6af4b06ed6a32fae6');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('jsonata','3b5f465b586993f92c8490e70885e7eecce9b6556bcc376dd9c11db8ee9e6960');\nhashMap.set('regex','7b643b49e498465cf91b25b8b840bb1fec8c8a3a59bfa8f97a39c976675325a0');"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','1fbc76f78daa14a8c9ab1142e9d1e05c746c0419a9f1455e4279f476590d0c04');\nhashMap.set('ansible-galaxy','8226d47128f2018825d4d6f84794e3183eb79c706045fa7e88491edd5e64106f');\nhashMap.set('ant','8640868d2249c9a0fbc57680fa81cf0c8c35f170258c50ac3ffb3a4f798cc5ae');\nhashMap.set('argocd','5d35b1992e53130bf83b0e59a0f90ccd3a78919974c69044f306dc5d162f48ce');\nhashMap.set('asdf','1f6fcf620e9c6cd35991380cb6eafb94ec60cd77cbd13335ebe3a1d9727416c9');\nhashMap.set('azure-pipelines','4f635b0ecd388ee266d992e8281fd40e3db2f5867d86fc1cbce72dc33a66e796');\nhashMap.set('batect','fad98996bea8626525ab925f83a6ae0ce9262c53770e7aa7cb448a1e0f1ddf21');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','c6e0ad88ea468664c3a33263baf7452d83d2d37ff09ba920e18f64ee81fd0acb');\nhashMap.set('bazel-module','ff071fcf8b53036956627d2a430ccdf256e30bee4d7e80c329379879d836a931');\nhashMap.set('bazelisk','b6ec532dfa7c8f82ad4084df864ac6276e87c27285369323902afc146d3537ac');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','a93effb1f1c5d65b3277c3b4709924eacde282e8efd028a8e3d8c1ce3ef69407');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','1322232bf1d0c4fa796e31a00488453bdcd00d4958431d9e424c1635e60a99bd');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','6d7e9d2018ac03e15f19e8b40ef70dd87d509d5affca24bc464d085899880a25');\nhashMap.set('cake','288c3c36a50371b26957fa71992cc335228d53563c75597b36919ac7286e96eb');\nhashMap.set('cargo','308d7ab4c6d24027b050bf659dfab0e510d9a22f8134695a7c68214908ee4634');\nhashMap.set('cdnurl','d3edf6cdc38e92eb43ff5a2b4e8df6a6a13154cf83244725c39e28d7e6ea9177');\nhashMap.set('circleci','135937d4720718304adb0ba998516f8ce38c3220ccd18b00b8c70c62b45df4da');\nhashMap.set('cloudbuild','8c0c739f7e4082bbfe8e3fdffebaf43e26f70a1314d95b306e9b93e4f4297886');\nhashMap.set('cocoapods','b6ac3b4a6b8a5b32daed37bf695fe177cdb1b4a94ae7f7fb2f4c4c096c0a004c');\nhashMap.set('composer','cdb6895574020cec402e0b878e4078b62f1acfd0392a861cbb523036634f6383');\nhashMap.set('conan','aecc3917d77146db4e57dd12944be1beff860e90b7ebdd2d8fbc449fc1a06574');\nhashMap.set('copier','faa3b79991256a6fc0957fdcd530a1bc8aee65913d5aff2b1b4d226dcd44d008');\nhashMap.set('cpanfile','6a1d67d9c8751123deaf0c7f3ac38a07024e960c140f8228fcbcb93954fdca01');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deps-edn','c87dd5e88587147ad1a78f047b814f3c4aa60d6de30d0c49d849391eeaf1b64c');\nhashMap.set('devbox','bcf5334e8a21190baaa25436acf2f17fbf095504262a4e9ee7c62ffb644eb716');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','5441af5b5abf8d347e46002d47f02f85743401bda28232f49fb7b3bbb772a4fb');\nhashMap.set('dockerfile','322b95f7e55dd78d7fe71306a6f649479eca61c60d75bb10b23604a230dbdd08');\nhashMap.set('droneci','237c8de87b9bf653fb943b56e84e99c45f6d86ae27d86e599b3f3f99c35ba8ee');\nhashMap.set('fleet','d73d5d35f10df0599a561d9c8d25f3935350407d0e3bd3a1d1545295f278912e');\nhashMap.set('flux','427e0c1a5b1d8337503a9a568a76532fbde0bab8b355fa8f47312de50eadf2f6');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','fbbf1c7b7b6f4166fa3beee96a3283d007b388e9ecb6a14f76123c8ab8c78071');\nhashMap.set('github-actions','d8f83c65da1e80b639ad44a0d8641e7e97b1d93a1b6c873603333d337ad02011');\nhashMap.set('gitlabci','0dec44dd398bfc5b3c19d0929bea2fef7f386c94acfd1b1d7bc2a31d81d96fd6');\nhashMap.set('gitlabci-include','354cfc4ea327c6d5cd5bee1f17763832efc7f5402e9fd22c579239fccb9c6dab');\nhashMap.set('glasskube','253d6db30bdec75ed5ab5d26f31d69bc07813ba10089a28da12c6a29eff4ec70');\nhashMap.set('gleam','b717a48c525ad6b1d434c6a9db828ddebbb85e94519e89ddc4040878e3600e84');\nhashMap.set('gomod','82e877b22c0dd0217368760bb5d38430657fff63d07c289793a866f0845d2976');\nhashMap.set('gradle','f430d8d768b56889ad1e5a69965841e85cc700e364d15db7bce680e8a5d6f821');\nhashMap.set('gradle-wrapper','90d2ecb9d0b113f8e946d4ea221c040f17f91af846e1ff4f9fc1514ad4324b74');\nhashMap.set('haskell-cabal','d796ec6859e63ab4f1b7030c4016071202c3a44c7c11d4a9131d7e2ba19b396d');\nhashMap.set('helm-requirements','4d90e5e18a380876ad48e21e1ad88ea62e25d973a1ddaa3763447fc0a9f9915b');\nhashMap.set('helm-values','b5c52c6a27d805557418c585c5d3030c95ee641d53057021f3fe060f81b6e1af');\nhashMap.set('helmfile','e5783484b81247279563da3c835afe4002edfc412e13fb91877818ca44ae65f2');\nhashMap.set('helmsman','ef9680c612f702c7f07aea9b6e5d811e91214dcfa5755c9f3803e9528090935e');\nhashMap.set('helmv3','7724bf6cc3ff4afec1809899f619a332f4350049b9578b5c4634514b4448cf2b');\nhashMap.set('hermit','672c328e4baea3a1ccd2cde2364db01c8033a8c077bf63a5b914fc20ee1de838');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','56ef90301143874355fd2ed25dff7c646875f701f97422d02e01d45608a88f31');\nhashMap.set('html','67c5f3c5c58e96f5dd257ba5987d900cf7fef81d667c3640e96c847b37de35a8');\nhashMap.set('jenkins','268ebfc8a1caf3edeb2192c2b1b2fa4bf18a78a3e731ba20a6c104940a5539f3');\nhashMap.set('jsonnet-bundler','4b73c32ddc3fe45d9777106d45b116777a2960e6e631256a6553060e602f893c');\nhashMap.set('kotlin-script','99ef296792a0ca575ed31d3defb514b05a58083dc01c52ea0890c69d867ba1dd');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','1e44d6ef8622252dac6d9649fb04badd12d4827eb2a55f74792aa9de2b915775');\nhashMap.set('leiningen','133fca2c3423f53f2ccc22518153ddbcafbf0f4812376c77e952eb3d24d81f85');\nhashMap.set('maven','fd6bfc21be851ed076eabea1a91a89b25eb82129734c7cb0c2e684385cf1ea69');\nhashMap.set('maven-wrapper','9a868d1328f911eb72f9e65a64d46c86ae347aab0153d1cf4e9a62ad9e0d6cb0');\nhashMap.set('meteor','4a93a326b27bedfe52118e27e06f39fecd7c55bd4cd7fccec4cb120cac14cec4');\nhashMap.set('mint','b816a49c8525716454d0a2bc9127916d5b27e5cca7b2aa2030312f218942af3e');\nhashMap.set('mise','38177382f3785cfe7cce92994bfb429b68f5165e6eef1bdcd2c7a3d8d5414da2');\nhashMap.set('mix','1116e1adf1c18c866f0a9e6fa065c4fb9da055d8d150e625344899bb94095481');\nhashMap.set('nix','f3ffec2f14e7261de8068895b91392e992dcef208fbaf52110d6862e4712c031');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','eaf9fe4981de8f7504227f3be88445f60f87ba74f9b9c7e54284bc2bb41320b3');\nhashMap.set('nuget','42175b1906e8e91ae0731a13d92d0df065108063665f8a36150aeae73aafdc78');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','32233a1a8a2725699d7448ba438e3d0b78141f7799cd2b588de278d41e26ed10');\nhashMap.set('pep621','f503497a4adef31b29572176e9a69d52fa9b0bfe3477b6e228c906aeb4861de5');\nhashMap.set('pep723','b96683163de63ed93207ec0538066705b1e58a1cd5b8bd11c63fc28b26bddba1');\nhashMap.set('pip-compile','89152ad6c89f278395f32d289dc3890823c233366547d228e97dd1319aa144b5');\nhashMap.set('pip_requirements','d5c474c524bc7adc1aae065da0531bd22d9f7f52523b018f2461f6c29e12fdf3');\nhashMap.set('pip_setup','0175fe550c19d9bd31c978bd83fdc088cb40fcacd5d6751f640164274ae64e61');\nhashMap.set('pipenv','50f5a54ed714fd3d738c1aa9a353cf3aab767899acdcb763088d4bd04f3a737b');\nhashMap.set('pixi','b17af6eaa33e7babcc52cfc9a617c7801c0efb1125bbd6d0d4e9f6fe33afd353');\nhashMap.set('poetry','7f227b8b912b405df7735e9dc7c178f03021844f0c027d4b321c023c330c390a');\nhashMap.set('pre-commit','a6a6e847fdb0f56650e66ef7d69e68de752b390913f79ac31d1a7ec5955d03da');\nhashMap.set('pub','0fbad9f77579fcec3a623c6feab56e71934c67a79bb8f4f0f847452051d2a0ba');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','e355e13e104351a8b3516a8e272fc5f7e625c9f39b0c492ba27283a36227c2d4');\nhashMap.set('renovate-config-presets','a394fe55f8b6ba356f29f76efd9f0d34b56baceb111e6d92f95b29b5ca50ac67');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('sbt','74125bd9c76a5724092258cd1dee1ea99fc0d735b463a2b64fedc5d950efde2a');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','7dea08c5708625e753bd56918bc214df7fb4d8543a26e936926a21ab43b5f785');\nhashMap.set('sveltos','167a5cc79098803be3b815a28cc40ef3361c455751e1d6a7a99ba91bfce26709');\nhashMap.set('swift','79ec9a6a2a8bb4853bb78bbb3a2a6e64e3b32b0ddeb312385abb3a14366ad505');\nhashMap.set('tekton','4e35c75bba4abc9c3cf49c55da6c19db4f4e9181d1fd9583288ab55ef7c944fd');\nhashMap.set('terraform','51aa6b0a49001494e7ee718d01312961c7fbd244831b42ceefd690d75404e795');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','b8474c65383a702602eee432cc1434f9a49a1ef886d1213de92d7a84fb98b9cd');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','4a975f0cc1aa22cd258aa835de3dc98d7a5c0d1cee0a1092324338968e08a827');\nhashMap.set('travis','bb482a0195cd009ec3896a6227bb95617f5c84bedb518c7d971e50c62235d9ca');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','4627230d3b7698c41aac192d57b65b091c860c8f858c89d6af4b06ed6a32fae6');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','3b5f465b586993f92c8490e70885e7eecce9b6556bcc376dd9c11db8ee9e6960');\nhashMap.set('regex','7b643b49e498465cf91b25b8b840bb1fec8c8a3a59bfa8f97a39c976675325a0');"],"mappings":"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"}
|
|
@@ -17,14 +17,14 @@ var TerraformProviderExtractor = class extends DependencyExtractor {
|
|
|
17
17
|
dep.skipReason = "unsupported-url";
|
|
18
18
|
return dep;
|
|
19
19
|
}
|
|
20
|
-
if (source.groups.namespace === "terraform-providers") dep.registryUrls = [
|
|
20
|
+
if (source.groups.namespace === "terraform-providers") dep.registryUrls = [TerraformProviderDatasource.hashicorpReleaseUrl];
|
|
21
21
|
else if (source.groups.hostname) {
|
|
22
22
|
dep.registryUrls = [`https://${source.groups.hostname}`];
|
|
23
23
|
dep.packageName = `${source.groups.namespace}/${source.groups.type}`;
|
|
24
24
|
} else {
|
|
25
25
|
dep.packageName = dep.managerData?.source;
|
|
26
26
|
const foundLocks = locks.filter((lock) => lock.packageName === dep.packageName);
|
|
27
|
-
if (foundLocks.length === 1 && foundLocks[0].registryUrl !== TerraformProviderDatasource.
|
|
27
|
+
if (foundLocks.length === 1 && foundLocks[0].registryUrl !== TerraformProviderDatasource.terraformRegistryUrl) {
|
|
28
28
|
logger.debug({
|
|
29
29
|
dep,
|
|
30
30
|
foundLocks
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","names":[],"sources":["../../../../lib/modules/manager/terraform/base.ts"],"sourcesContent":["import { isNonEmptyString } from '@sindresorhus/is';\nimport { logger } from '../../../logger/index.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { TerraformProviderDatasource } from '../../datasource/terraform-provider/index.ts';\nimport type { ExtractConfig, PackageDependency } from '../types.ts';\nimport type { TerraformDefinitionFile } from './hcl/types.ts';\nimport type { ProviderLock } from './lockfile/types.ts';\nimport { getLockedVersion, massageProviderLookupName } from './util.ts';\n\nexport abstract class DependencyExtractor {\n /**\n * Get a list of signals which can be used to scan for potential processable content\n * @return a list of content signals\n */\n abstract getCheckList(): string[];\n\n /**\n * Extract dependencies from a HCL object\n * @param hclRoot HCL parsing artifact.\n * @param locks currently existing locks\n */\n abstract extract(\n hclRoot: TerraformDefinitionFile,\n locks: ProviderLock[],\n config: ExtractConfig,\n ): PackageDependency[];\n}\n\nexport abstract class TerraformProviderExtractor extends DependencyExtractor {\n sourceExtractionRegex = regEx(\n /^(?:(?<hostname>(?:[a-zA-Z0-9-_]+\\.+)+[a-zA-Z0-9-_]+)\\/)?(?:(?<namespace>[^/]+)\\/)?(?<type>[^/]+)/,\n );\n\n protected analyzeTerraformProvider(\n dep: PackageDependency,\n locks: ProviderLock[],\n depType: string,\n ): PackageDependency {\n dep.depType = depType;\n dep.depName = dep.managerData?.moduleName;\n dep.datasource = TerraformProviderDatasource.id;\n\n if (isNonEmptyString(dep.managerData?.source)) {\n // TODO #22198\n const source = this.sourceExtractionRegex.exec(dep.managerData.source);\n if (!source?.groups) {\n dep.skipReason = 'unsupported-url';\n return dep;\n }\n\n // buildin providers https://github.com/terraform-providers\n if (source.groups.namespace === 'terraform-providers') {\n dep.registryUrls = [
|
|
1
|
+
{"version":3,"file":"base.js","names":[],"sources":["../../../../lib/modules/manager/terraform/base.ts"],"sourcesContent":["import { isNonEmptyString } from '@sindresorhus/is';\nimport { logger } from '../../../logger/index.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { TerraformProviderDatasource } from '../../datasource/terraform-provider/index.ts';\nimport type { ExtractConfig, PackageDependency } from '../types.ts';\nimport type { TerraformDefinitionFile } from './hcl/types.ts';\nimport type { ProviderLock } from './lockfile/types.ts';\nimport { getLockedVersion, massageProviderLookupName } from './util.ts';\n\nexport abstract class DependencyExtractor {\n /**\n * Get a list of signals which can be used to scan for potential processable content\n * @return a list of content signals\n */\n abstract getCheckList(): string[];\n\n /**\n * Extract dependencies from a HCL object\n * @param hclRoot HCL parsing artifact.\n * @param locks currently existing locks\n */\n abstract extract(\n hclRoot: TerraformDefinitionFile,\n locks: ProviderLock[],\n config: ExtractConfig,\n ): PackageDependency[];\n}\n\nexport abstract class TerraformProviderExtractor extends DependencyExtractor {\n sourceExtractionRegex = regEx(\n /^(?:(?<hostname>(?:[a-zA-Z0-9-_]+\\.+)+[a-zA-Z0-9-_]+)\\/)?(?:(?<namespace>[^/]+)\\/)?(?<type>[^/]+)/,\n );\n\n protected analyzeTerraformProvider(\n dep: PackageDependency,\n locks: ProviderLock[],\n depType: string,\n ): PackageDependency {\n dep.depType = depType;\n dep.depName = dep.managerData?.moduleName;\n dep.datasource = TerraformProviderDatasource.id;\n\n if (isNonEmptyString(dep.managerData?.source)) {\n // TODO #22198\n const source = this.sourceExtractionRegex.exec(dep.managerData.source);\n if (!source?.groups) {\n dep.skipReason = 'unsupported-url';\n return dep;\n }\n\n // buildin providers https://github.com/terraform-providers\n if (source.groups.namespace === 'terraform-providers') {\n dep.registryUrls = [TerraformProviderDatasource.hashicorpReleaseUrl];\n } else if (source.groups.hostname) {\n dep.registryUrls = [`https://${source.groups.hostname}`];\n dep.packageName = `${source.groups.namespace}/${source.groups.type}`;\n } else {\n dep.packageName = dep.managerData?.source;\n const foundLocks = locks.filter(\n (lock) => lock.packageName === dep.packageName,\n );\n\n if (\n foundLocks.length === 1 &&\n foundLocks[0].registryUrl !==\n TerraformProviderDatasource.terraformRegistryUrl\n ) {\n logger.debug(\n { dep, foundLocks },\n 'Terraform: Single lock found for provider with non-default registry URL',\n );\n dep.registryUrls = [foundLocks[0].registryUrl];\n } else if (foundLocks.length > 1) {\n logger.debug(\n { dep, foundLocks },\n 'Terraform: Multiple locks found for provider unable to determine registry URL',\n );\n }\n }\n }\n massageProviderLookupName(dep);\n\n dep.lockedVersion = getLockedVersion(dep, locks);\n\n if (!dep.currentValue) {\n dep.skipReason = 'unspecified-version';\n }\n\n return dep;\n }\n}\n"],"mappings":";;;;;;AASA,IAAsB,sBAAtB,MAA0C;AAmB1C,IAAsB,6BAAtB,cAAyD,oBAAoB;CAC3E,wBAAwB,MACtB,oGACD;CAED,yBACE,KACA,OACA,SACmB;AACnB,MAAI,UAAU;AACd,MAAI,UAAU,IAAI,aAAa;AAC/B,MAAI,aAAa,4BAA4B;AAE7C,MAAI,iBAAiB,IAAI,aAAa,OAAO,EAAE;GAE7C,MAAM,SAAS,KAAK,sBAAsB,KAAK,IAAI,YAAY,OAAO;AACtE,OAAI,CAAC,QAAQ,QAAQ;AACnB,QAAI,aAAa;AACjB,WAAO;;AAIT,OAAI,OAAO,OAAO,cAAc,sBAC9B,KAAI,eAAe,CAAC,4BAA4B,oBAAoB;YAC3D,OAAO,OAAO,UAAU;AACjC,QAAI,eAAe,CAAC,WAAW,OAAO,OAAO,WAAW;AACxD,QAAI,cAAc,GAAG,OAAO,OAAO,UAAU,GAAG,OAAO,OAAO;UACzD;AACL,QAAI,cAAc,IAAI,aAAa;IACnC,MAAM,aAAa,MAAM,QACtB,SAAS,KAAK,gBAAgB,IAAI,YACpC;AAED,QACE,WAAW,WAAW,KACtB,WAAW,GAAG,gBACZ,4BAA4B,sBAC9B;AACA,YAAO,MACL;MAAE;MAAK;MAAY,EACnB,0EACD;AACD,SAAI,eAAe,CAAC,WAAW,GAAG,YAAY;eACrC,WAAW,SAAS,EAC7B,QAAO,MACL;KAAE;KAAK;KAAY,EACnB,gFACD;;;AAIP,4BAA0B,IAAI;AAE9B,MAAI,gBAAgB,iBAAiB,KAAK,MAAM;AAEhD,MAAI,CAAC,IAAI,aACP,KAAI,aAAa;AAGnB,SAAO"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { coerceString } from "../../../util/string.js";
|
|
2
|
+
import { logger } from "../../../logger/index.js";
|
|
3
|
+
import { detectPlatform } from "../../../util/common.js";
|
|
4
|
+
import { parseGitUrl } from "../../../util/git/url.js";
|
|
5
|
+
import { GitTagsDatasource } from "../../datasource/git-tags/index.js";
|
|
6
|
+
import { GithubTagsDatasource } from "../../datasource/github-tags/index.js";
|
|
7
|
+
import { GitlabTagsDatasource } from "../../datasource/gitlab-tags/index.js";
|
|
8
|
+
import { XcodeGenProjectFile } from "./schema.js";
|
|
9
|
+
//#region lib/modules/manager/xcodegen/extract.ts
|
|
10
|
+
function resolvePackageUrl(pkg) {
|
|
11
|
+
if (pkg.url) return pkg.url;
|
|
12
|
+
if (pkg.github) return `https://github.com/${pkg.github}`;
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
function resolveGitDep(url) {
|
|
16
|
+
switch (detectPlatform(url)) {
|
|
17
|
+
case "github": {
|
|
18
|
+
const { full_name, host, protocol } = parseGitUrl(url);
|
|
19
|
+
return {
|
|
20
|
+
datasource: GithubTagsDatasource.id,
|
|
21
|
+
packageName: full_name,
|
|
22
|
+
...host !== "github.com" && { registryUrls: [`${protocol}://${host}`] }
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
case "gitlab": {
|
|
26
|
+
const { full_name, host, protocol } = parseGitUrl(url);
|
|
27
|
+
return {
|
|
28
|
+
datasource: GitlabTagsDatasource.id,
|
|
29
|
+
packageName: full_name,
|
|
30
|
+
...host !== "gitlab.com" && { registryUrls: [`${protocol}://${host}`] }
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
default: return {
|
|
34
|
+
datasource: GitTagsDatasource.id,
|
|
35
|
+
packageName: url
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function resolveCurrentValue(pkg) {
|
|
40
|
+
if (pkg.from) return {
|
|
41
|
+
currentValue: pkg.from,
|
|
42
|
+
depType: "from"
|
|
43
|
+
};
|
|
44
|
+
if (pkg.majorVersion) return {
|
|
45
|
+
currentValue: pkg.majorVersion,
|
|
46
|
+
depType: "majorVersion"
|
|
47
|
+
};
|
|
48
|
+
if (pkg.minorVersion) return {
|
|
49
|
+
currentValue: pkg.minorVersion,
|
|
50
|
+
depType: "minorVersion"
|
|
51
|
+
};
|
|
52
|
+
if (pkg.exactVersion) return {
|
|
53
|
+
currentValue: pkg.exactVersion,
|
|
54
|
+
depType: "exactVersion"
|
|
55
|
+
};
|
|
56
|
+
if (pkg.version) return {
|
|
57
|
+
currentValue: pkg.version,
|
|
58
|
+
depType: "version"
|
|
59
|
+
};
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
function extractPackageFile(content, packageFile) {
|
|
63
|
+
let parsed;
|
|
64
|
+
try {
|
|
65
|
+
parsed = XcodeGenProjectFile.parse(content);
|
|
66
|
+
} catch (err) {
|
|
67
|
+
logger.debug({
|
|
68
|
+
err,
|
|
69
|
+
packageFile
|
|
70
|
+
}, "Parsing XcodeGen project YAML failed");
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
if (!parsed.packages) {
|
|
74
|
+
logger.trace({ packageFile }, "XcodeGen project file has no packages");
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
const deps = [];
|
|
78
|
+
for (const [depName, pkg] of Object.entries(parsed.packages)) {
|
|
79
|
+
if (pkg.path) {
|
|
80
|
+
deps.push({
|
|
81
|
+
depName,
|
|
82
|
+
skipReason: "path-dependency"
|
|
83
|
+
});
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
const resolvedUrl = resolvePackageUrl(pkg);
|
|
87
|
+
if (!resolvedUrl) {
|
|
88
|
+
deps.push({
|
|
89
|
+
depName,
|
|
90
|
+
skipReason: "invalid-url"
|
|
91
|
+
});
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
if (pkg.branch) {
|
|
95
|
+
deps.push({
|
|
96
|
+
depName,
|
|
97
|
+
skipReason: "unversioned-reference",
|
|
98
|
+
currentValue: pkg.branch
|
|
99
|
+
});
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
if (pkg.revision) {
|
|
103
|
+
deps.push({
|
|
104
|
+
depName,
|
|
105
|
+
skipReason: "unversioned-reference",
|
|
106
|
+
currentValue: pkg.revision
|
|
107
|
+
});
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
if (pkg.minVersion !== void 0 || pkg.maxVersion !== void 0) {
|
|
111
|
+
deps.push({
|
|
112
|
+
depName,
|
|
113
|
+
skipReason: "unsupported-version",
|
|
114
|
+
currentValue: `${coerceString(pkg.minVersion)} - ${coerceString(pkg.maxVersion)}`.trim()
|
|
115
|
+
});
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
const versionInfo = resolveCurrentValue(pkg);
|
|
119
|
+
if (!versionInfo) {
|
|
120
|
+
deps.push({
|
|
121
|
+
depName,
|
|
122
|
+
skipReason: "unspecified-version"
|
|
123
|
+
});
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
const { datasource, packageName, registryUrls } = resolveGitDep(resolvedUrl);
|
|
127
|
+
deps.push({
|
|
128
|
+
depName,
|
|
129
|
+
packageName,
|
|
130
|
+
datasource,
|
|
131
|
+
...registryUrls && { registryUrls },
|
|
132
|
+
currentValue: versionInfo.currentValue,
|
|
133
|
+
depType: versionInfo.depType
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
if (deps.length === 0) return null;
|
|
137
|
+
return { deps };
|
|
138
|
+
}
|
|
139
|
+
//#endregion
|
|
140
|
+
export { extractPackageFile };
|
|
141
|
+
|
|
142
|
+
//# sourceMappingURL=extract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract.js","names":[],"sources":["../../../../lib/modules/manager/xcodegen/extract.ts"],"sourcesContent":["import { logger } from '../../../logger/index.ts';\nimport { detectPlatform } from '../../../util/common.ts';\nimport { parseGitUrl } from '../../../util/git/url.ts';\nimport { coerceString } from '../../../util/string.ts';\nimport { GitTagsDatasource } from '../../datasource/git-tags/index.ts';\nimport { GithubTagsDatasource } from '../../datasource/github-tags/index.ts';\nimport { GitlabTagsDatasource } from '../../datasource/gitlab-tags/index.ts';\nimport type { PackageDependency, PackageFileContent } from '../types.ts';\nimport type { XcodeGenSwiftPackage } from './schema.ts';\nimport { XcodeGenProjectFile } from './schema.ts';\n\nfunction resolvePackageUrl(pkg: XcodeGenSwiftPackage): string | null {\n if (pkg.url) {\n return pkg.url;\n }\n\n if (pkg.github) {\n return `https://github.com/${pkg.github}`;\n }\n\n return null;\n}\n\nfunction resolveGitDep(\n url: string,\n): Pick<PackageDependency, 'datasource' | 'packageName' | 'registryUrls'> {\n const platform = detectPlatform(url);\n\n switch (platform) {\n case 'github': {\n const { full_name, host, protocol } = parseGitUrl(url);\n return {\n datasource: GithubTagsDatasource.id,\n packageName: full_name,\n ...(host !== 'github.com' && {\n registryUrls: [`${protocol}://${host}`],\n }),\n };\n }\n case 'gitlab': {\n const { full_name, host, protocol } = parseGitUrl(url);\n return {\n datasource: GitlabTagsDatasource.id,\n packageName: full_name,\n ...(host !== 'gitlab.com' && {\n registryUrls: [`${protocol}://${host}`],\n }),\n };\n }\n default:\n return { datasource: GitTagsDatasource.id, packageName: url };\n }\n}\n\nfunction resolveCurrentValue(\n pkg: XcodeGenSwiftPackage,\n): { currentValue: string; depType: string } | null {\n if (pkg.from) {\n return { currentValue: pkg.from, depType: 'from' };\n }\n\n if (pkg.majorVersion) {\n return { currentValue: pkg.majorVersion, depType: 'majorVersion' };\n }\n\n if (pkg.minorVersion) {\n return { currentValue: pkg.minorVersion, depType: 'minorVersion' };\n }\n\n if (pkg.exactVersion) {\n return { currentValue: pkg.exactVersion, depType: 'exactVersion' };\n }\n\n if (pkg.version) {\n return { currentValue: pkg.version, depType: 'version' };\n }\n\n return null;\n}\n\nexport function extractPackageFile(\n content: string,\n packageFile?: string,\n): PackageFileContent | null {\n let parsed: XcodeGenProjectFile;\n try {\n parsed = XcodeGenProjectFile.parse(content);\n } catch (err) {\n logger.debug({ err, packageFile }, 'Parsing XcodeGen project YAML failed');\n return null;\n }\n\n if (!parsed.packages) {\n logger.trace({ packageFile }, 'XcodeGen project file has no packages');\n return null;\n }\n\n const deps: PackageDependency[] = [];\n\n for (const [depName, pkg] of Object.entries(parsed.packages)) {\n // Skip local packages\n if (pkg.path) {\n deps.push({\n depName,\n skipReason: 'path-dependency',\n });\n continue;\n }\n\n const resolvedUrl = resolvePackageUrl(pkg);\n if (!resolvedUrl) {\n deps.push({\n depName,\n skipReason: 'invalid-url',\n });\n continue;\n }\n\n // Skip branch/revision references\n if (pkg.branch) {\n deps.push({\n depName,\n skipReason: 'unversioned-reference',\n currentValue: pkg.branch,\n });\n continue;\n }\n\n if (pkg.revision) {\n deps.push({\n depName,\n skipReason: 'unversioned-reference',\n currentValue: pkg.revision,\n });\n continue;\n }\n\n // Skip minVersion/maxVersion range constraints\n if (pkg.minVersion !== undefined || pkg.maxVersion !== undefined) {\n deps.push({\n depName,\n skipReason: 'unsupported-version',\n currentValue:\n `${coerceString(pkg.minVersion)} - ${coerceString(pkg.maxVersion)}`.trim(),\n });\n continue;\n }\n\n const versionInfo = resolveCurrentValue(pkg);\n if (!versionInfo) {\n deps.push({\n depName,\n skipReason: 'unspecified-version',\n });\n continue;\n }\n\n const { datasource, packageName, registryUrls } =\n resolveGitDep(resolvedUrl);\n\n deps.push({\n depName,\n packageName,\n datasource,\n ...(registryUrls && { registryUrls }),\n currentValue: versionInfo.currentValue,\n depType: versionInfo.depType,\n });\n }\n\n if (deps.length === 0) {\n return null;\n }\n\n return { deps };\n}\n"],"mappings":";;;;;;;;;AAWA,SAAS,kBAAkB,KAA0C;AACnE,KAAI,IAAI,IACN,QAAO,IAAI;AAGb,KAAI,IAAI,OACN,QAAO,sBAAsB,IAAI;AAGnC,QAAO;;AAGT,SAAS,cACP,KACwE;AAGxE,SAFiB,eAAe,IAAI,EAEpC;EACE,KAAK,UAAU;GACb,MAAM,EAAE,WAAW,MAAM,aAAa,YAAY,IAAI;AACtD,UAAO;IACL,YAAY,qBAAqB;IACjC,aAAa;IACb,GAAI,SAAS,gBAAgB,EAC3B,cAAc,CAAC,GAAG,SAAS,KAAK,OAAO,EACxC;IACF;;EAEH,KAAK,UAAU;GACb,MAAM,EAAE,WAAW,MAAM,aAAa,YAAY,IAAI;AACtD,UAAO;IACL,YAAY,qBAAqB;IACjC,aAAa;IACb,GAAI,SAAS,gBAAgB,EAC3B,cAAc,CAAC,GAAG,SAAS,KAAK,OAAO,EACxC;IACF;;EAEH,QACE,QAAO;GAAE,YAAY,kBAAkB;GAAI,aAAa;GAAK;;;AAInE,SAAS,oBACP,KACkD;AAClD,KAAI,IAAI,KACN,QAAO;EAAE,cAAc,IAAI;EAAM,SAAS;EAAQ;AAGpD,KAAI,IAAI,aACN,QAAO;EAAE,cAAc,IAAI;EAAc,SAAS;EAAgB;AAGpE,KAAI,IAAI,aACN,QAAO;EAAE,cAAc,IAAI;EAAc,SAAS;EAAgB;AAGpE,KAAI,IAAI,aACN,QAAO;EAAE,cAAc,IAAI;EAAc,SAAS;EAAgB;AAGpE,KAAI,IAAI,QACN,QAAO;EAAE,cAAc,IAAI;EAAS,SAAS;EAAW;AAG1D,QAAO;;AAGT,SAAgB,mBACd,SACA,aAC2B;CAC3B,IAAI;AACJ,KAAI;AACF,WAAS,oBAAoB,MAAM,QAAQ;UACpC,KAAK;AACZ,SAAO,MAAM;GAAE;GAAK;GAAa,EAAE,uCAAuC;AAC1E,SAAO;;AAGT,KAAI,CAAC,OAAO,UAAU;AACpB,SAAO,MAAM,EAAE,aAAa,EAAE,wCAAwC;AACtE,SAAO;;CAGT,MAAM,OAA4B,EAAE;AAEpC,MAAK,MAAM,CAAC,SAAS,QAAQ,OAAO,QAAQ,OAAO,SAAS,EAAE;AAE5D,MAAI,IAAI,MAAM;AACZ,QAAK,KAAK;IACR;IACA,YAAY;IACb,CAAC;AACF;;EAGF,MAAM,cAAc,kBAAkB,IAAI;AAC1C,MAAI,CAAC,aAAa;AAChB,QAAK,KAAK;IACR;IACA,YAAY;IACb,CAAC;AACF;;AAIF,MAAI,IAAI,QAAQ;AACd,QAAK,KAAK;IACR;IACA,YAAY;IACZ,cAAc,IAAI;IACnB,CAAC;AACF;;AAGF,MAAI,IAAI,UAAU;AAChB,QAAK,KAAK;IACR;IACA,YAAY;IACZ,cAAc,IAAI;IACnB,CAAC;AACF;;AAIF,MAAI,IAAI,eAAe,KAAA,KAAa,IAAI,eAAe,KAAA,GAAW;AAChE,QAAK,KAAK;IACR;IACA,YAAY;IACZ,cACE,GAAG,aAAa,IAAI,WAAW,CAAC,KAAK,aAAa,IAAI,WAAW,GAAG,MAAM;IAC7E,CAAC;AACF;;EAGF,MAAM,cAAc,oBAAoB,IAAI;AAC5C,MAAI,CAAC,aAAa;AAChB,QAAK,KAAK;IACR;IACA,YAAY;IACb,CAAC;AACF;;EAGF,MAAM,EAAE,YAAY,aAAa,iBAC/B,cAAc,YAAY;AAE5B,OAAK,KAAK;GACR;GACA;GACA;GACA,GAAI,gBAAgB,EAAE,cAAc;GACpC,cAAc,YAAY;GAC1B,SAAS,YAAY;GACtB,CAAC;;AAGJ,KAAI,KAAK,WAAW,EAClB,QAAO;AAGT,QAAO,EAAE,MAAM"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { __exportAll } from "../../../_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { GitTagsDatasource } from "../../datasource/git-tags/index.js";
|
|
3
|
+
import { GithubTagsDatasource } from "../../datasource/github-tags/index.js";
|
|
4
|
+
import { GitlabTagsDatasource } from "../../datasource/gitlab-tags/index.js";
|
|
5
|
+
import { extractPackageFile } from "./extract.js";
|
|
6
|
+
//#region lib/modules/manager/xcodegen/index.ts
|
|
7
|
+
var xcodegen_exports = /* @__PURE__ */ __exportAll({
|
|
8
|
+
categories: () => categories,
|
|
9
|
+
defaultConfig: () => defaultConfig,
|
|
10
|
+
displayName: () => displayName,
|
|
11
|
+
extractPackageFile: () => extractPackageFile,
|
|
12
|
+
supportedDatasources: () => supportedDatasources,
|
|
13
|
+
url: () => url
|
|
14
|
+
});
|
|
15
|
+
const displayName = "XcodeGen";
|
|
16
|
+
const url = "https://github.com/yonaskolb/XcodeGen";
|
|
17
|
+
const categories = ["swift"];
|
|
18
|
+
const defaultConfig = {
|
|
19
|
+
managerFilePatterns: ["**/project.yml"],
|
|
20
|
+
pinDigests: false
|
|
21
|
+
};
|
|
22
|
+
const supportedDatasources = [
|
|
23
|
+
GitTagsDatasource.id,
|
|
24
|
+
GithubTagsDatasource.id,
|
|
25
|
+
GitlabTagsDatasource.id
|
|
26
|
+
];
|
|
27
|
+
//#endregion
|
|
28
|
+
export { xcodegen_exports };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../lib/modules/manager/xcodegen/index.ts"],"sourcesContent":["import type { Category } from '../../../constants/index.ts';\nimport { GitTagsDatasource } from '../../datasource/git-tags/index.ts';\nimport { GithubTagsDatasource } from '../../datasource/github-tags/index.ts';\nimport { GitlabTagsDatasource } from '../../datasource/gitlab-tags/index.ts';\n\nexport { extractPackageFile } from './extract.ts';\n\nexport const displayName = 'XcodeGen';\nexport const url = 'https://github.com/yonaskolb/XcodeGen';\nexport const categories: Category[] = ['swift'];\n\nexport const defaultConfig = {\n managerFilePatterns: ['**/project.yml'],\n pinDigests: false,\n};\n\nexport const supportedDatasources = [\n GitTagsDatasource.id,\n GithubTagsDatasource.id,\n GitlabTagsDatasource.id,\n];\n"],"mappings":";;;;;;;;;;;;;;AAOA,MAAa,cAAc;AAC3B,MAAa,MAAM;AACnB,MAAa,aAAyB,CAAC,QAAQ;AAE/C,MAAa,gBAAgB;CAC3B,qBAAqB,CAAC,iBAAiB;CACvC,YAAY;CACb;AAED,MAAa,uBAAuB;CAClC,kBAAkB;CAClB,qBAAqB;CACrB,qBAAqB;CACtB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { LooseRecord, Yaml } from "../../../util/schema-utils/index.js";
|
|
2
|
+
import { z } from "zod/v3";
|
|
3
|
+
//#region lib/modules/manager/xcodegen/schema.ts
|
|
4
|
+
const VersionField = z.union([z.string(), z.number()]).optional().transform((val) => val?.toString());
|
|
5
|
+
const XcodeGenSwiftPackage = z.object({
|
|
6
|
+
url: z.string().optional(),
|
|
7
|
+
github: z.string().optional(),
|
|
8
|
+
path: z.string().optional(),
|
|
9
|
+
from: VersionField,
|
|
10
|
+
majorVersion: VersionField,
|
|
11
|
+
minorVersion: VersionField,
|
|
12
|
+
exactVersion: VersionField,
|
|
13
|
+
version: VersionField,
|
|
14
|
+
minVersion: VersionField,
|
|
15
|
+
maxVersion: VersionField,
|
|
16
|
+
branch: z.string().optional(),
|
|
17
|
+
revision: z.string().optional(),
|
|
18
|
+
group: z.string().optional(),
|
|
19
|
+
excludeFromProject: z.boolean().optional()
|
|
20
|
+
});
|
|
21
|
+
const XcodeGenProjectFile = Yaml.pipe(z.object({ packages: LooseRecord(XcodeGenSwiftPackage).optional() }));
|
|
22
|
+
//#endregion
|
|
23
|
+
export { XcodeGenProjectFile };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","names":[],"sources":["../../../../lib/modules/manager/xcodegen/schema.ts"],"sourcesContent":["import { z } from 'zod/v3';\nimport { LooseRecord, Yaml } from '../../../util/schema-utils/index.ts';\n\nconst VersionField = z\n .union([z.string(), z.number()])\n .optional()\n .transform((val) => val?.toString());\n\nconst XcodeGenSwiftPackage = z.object({\n url: z.string().optional(),\n github: z.string().optional(),\n path: z.string().optional(),\n from: VersionField,\n majorVersion: VersionField,\n minorVersion: VersionField,\n exactVersion: VersionField,\n version: VersionField,\n minVersion: VersionField,\n maxVersion: VersionField,\n branch: z.string().optional(),\n revision: z.string().optional(),\n group: z.string().optional(),\n excludeFromProject: z.boolean().optional(),\n});\n\nexport type XcodeGenSwiftPackage = z.infer<typeof XcodeGenSwiftPackage>;\n\nexport const XcodeGenProjectFile = Yaml.pipe(\n z.object({\n packages: LooseRecord(XcodeGenSwiftPackage).optional(),\n }),\n);\n\nexport type XcodeGenProjectFile = z.infer<typeof XcodeGenProjectFile>;\n"],"mappings":";;;AAGA,MAAM,eAAe,EAClB,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC,CAC/B,UAAU,CACV,WAAW,QAAQ,KAAK,UAAU,CAAC;AAEtC,MAAM,uBAAuB,EAAE,OAAO;CACpC,KAAK,EAAE,QAAQ,CAAC,UAAU;CAC1B,QAAQ,EAAE,QAAQ,CAAC,UAAU;CAC7B,MAAM,EAAE,QAAQ,CAAC,UAAU;CAC3B,MAAM;CACN,cAAc;CACd,cAAc;CACd,cAAc;CACd,SAAS;CACT,YAAY;CACZ,YAAY;CACZ,QAAQ,EAAE,QAAQ,CAAC,UAAU;CAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;CAC/B,OAAO,EAAE,QAAQ,CAAC,UAAU;CAC5B,oBAAoB,EAAE,SAAS,CAAC,UAAU;CAC3C,CAAC;AAIF,MAAa,sBAAsB,KAAK,KACtC,EAAE,OAAO,EACP,UAAU,YAAY,qBAAqB,CAAC,UAAU,EACvD,CAAC,CACH"}
|
|
@@ -26,7 +26,7 @@ declare const GithubVulnerabilityAlerts: z.ZodEffects<z.ZodEffects<z.ZodArray<z.
|
|
|
26
26
|
security_vulnerability: {
|
|
27
27
|
severity: "low" | "medium" | "high" | "critical";
|
|
28
28
|
package: {
|
|
29
|
-
ecosystem: "composer" | "maven" | "npm" | "rust" | "go" | "
|
|
29
|
+
ecosystem: "composer" | "maven" | "npm" | "rust" | "go" | "nuget" | "actions" | "pip" | "rubygems";
|
|
30
30
|
name: string;
|
|
31
31
|
};
|
|
32
32
|
vulnerable_version_range: string;
|
|
@@ -63,7 +63,7 @@ declare const GithubVulnerabilityAlerts: z.ZodEffects<z.ZodEffects<z.ZodArray<z.
|
|
|
63
63
|
security_vulnerability: {
|
|
64
64
|
severity: "low" | "medium" | "high" | "critical";
|
|
65
65
|
package: {
|
|
66
|
-
ecosystem: "composer" | "maven" | "npm" | "rust" | "go" | "
|
|
66
|
+
ecosystem: "composer" | "maven" | "npm" | "rust" | "go" | "nuget" | "actions" | "pip" | "rubygems";
|
|
67
67
|
name: string;
|
|
68
68
|
};
|
|
69
69
|
vulnerable_version_range: string;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "renovate",
|
|
3
3
|
"description": "Automated dependency updates. Flexible so you don't need to be.",
|
|
4
|
-
"version": "43.
|
|
4
|
+
"version": "43.123.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"renovate": "dist/renovate.js",
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
"@renovatebot/good-enough-parser": "2.0.0",
|
|
124
124
|
"@renovatebot/osv-offline": "2.5.0",
|
|
125
125
|
"@renovatebot/pep440": "4.2.2",
|
|
126
|
-
"@renovatebot/pgp": "1.3.
|
|
126
|
+
"@renovatebot/pgp": "1.3.6",
|
|
127
127
|
"@renovatebot/ruby-semver": "4.1.2",
|
|
128
128
|
"@sindresorhus/is": "7.2.0",
|
|
129
129
|
"@yarnpkg/core": "4.6.0",
|
package/renovate-schema.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$id": "https://docs.renovatebot.com/renovate-schema.json",
|
|
3
|
-
"title": "JSON schema for Renovate 43.
|
|
3
|
+
"title": "JSON schema for Renovate 43.123.1 config files (https://renovatebot.com/)",
|
|
4
4
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
5
|
-
"x-renovate-version": "43.
|
|
5
|
+
"x-renovate-version": "43.123.1",
|
|
6
6
|
"allowComments": true,
|
|
7
7
|
"type": "object",
|
|
8
8
|
"properties": {
|
|
@@ -9155,6 +9155,63 @@
|
|
|
9155
9155
|
}
|
|
9156
9156
|
]
|
|
9157
9157
|
}
|
|
9158
|
+
},
|
|
9159
|
+
"xcodegen": {
|
|
9160
|
+
"description": "Configuration object for the xcodegen manager",
|
|
9161
|
+
"markdownDescription": "Configuration object for the xcodegen manager",
|
|
9162
|
+
"type": "object",
|
|
9163
|
+
"default": {
|
|
9164
|
+
"managerFilePatterns": [
|
|
9165
|
+
"**/project.yml"
|
|
9166
|
+
],
|
|
9167
|
+
"pinDigests": false
|
|
9168
|
+
},
|
|
9169
|
+
"$ref": "#",
|
|
9170
|
+
"items": {
|
|
9171
|
+
"allOf": [
|
|
9172
|
+
{
|
|
9173
|
+
"type": "object",
|
|
9174
|
+
"properties": {
|
|
9175
|
+
"description": {
|
|
9176
|
+
"oneOf": [
|
|
9177
|
+
{
|
|
9178
|
+
"type": "array",
|
|
9179
|
+
"items": {
|
|
9180
|
+
"type": "string",
|
|
9181
|
+
"description": "A custom description for this configuration object"
|
|
9182
|
+
}
|
|
9183
|
+
},
|
|
9184
|
+
{
|
|
9185
|
+
"type": "string",
|
|
9186
|
+
"description": "A custom description for this configuration object"
|
|
9187
|
+
}
|
|
9188
|
+
]
|
|
9189
|
+
},
|
|
9190
|
+
"enabled": {
|
|
9191
|
+
"description": "Enable or disable corresponding functionality.",
|
|
9192
|
+
"markdownDescription": "Enable or disable corresponding functionality.",
|
|
9193
|
+
"type": "boolean",
|
|
9194
|
+
"default": true
|
|
9195
|
+
},
|
|
9196
|
+
"managerFilePatterns": {
|
|
9197
|
+
"description": "RegEx (`re2`) and glob patterns for matching manager files.",
|
|
9198
|
+
"markdownDescription": "RegEx (`re2`) and glob patterns for matching manager files.",
|
|
9199
|
+
"oneOf": [
|
|
9200
|
+
{
|
|
9201
|
+
"type": "array",
|
|
9202
|
+
"items": {
|
|
9203
|
+
"type": "string"
|
|
9204
|
+
}
|
|
9205
|
+
},
|
|
9206
|
+
{
|
|
9207
|
+
"type": "string"
|
|
9208
|
+
}
|
|
9209
|
+
]
|
|
9210
|
+
}
|
|
9211
|
+
}
|
|
9212
|
+
}
|
|
9213
|
+
]
|
|
9214
|
+
}
|
|
9158
9215
|
}
|
|
9159
9216
|
},
|
|
9160
9217
|
"not": {
|