renovate 44.142.1 → 44.143.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,5 @@
1
1
  import { newlineRegex, regEx } from "../../../util/regex.js";
2
2
  import { logger } from "../../../logger/index.js";
3
- import { withCache } from "../../../util/cache/package/with-cache.js";
4
3
  import { Datasource } from "../datasource.js";
5
4
  import { getRemoteUrlWithToken } from "../../../util/git/url.js";
6
5
  import { createSimpleGit } from "../../../util/git/index.js";
@@ -45,11 +44,47 @@ var GitDatasource = class extends Datasource {
45
44
  });
46
45
  }
47
46
  getRawRefs(config) {
48
- return withCache({
47
+ return this.cached({
49
48
  namespace: `datasource-${gitId}`,
50
49
  key: config.packageName
51
50
  }, () => this._getRawRefs(config));
52
51
  }
52
+ /**
53
+ * The repository URL, without the `.git` suffix and the trailing slash that
54
+ * a `packageName` may carry.
55
+ */
56
+ getSourceUrl(packageName) {
57
+ return packageName.replace(regEx(/\.git$/), "").replace(regEx(/\/$/), "");
58
+ }
59
+ /**
60
+ * One release per distinct ref value of the datasource's
61
+ * {@link GitDatasource.refTypes}. A value carried by several ref types, such
62
+ * as a branch and a tag of the same name, keeps the hash of the first ref that
63
+ * has it.
64
+ */
65
+ async getRefReleases({ packageName }) {
66
+ const rawRefs = await this.getRawRefs({ packageName });
67
+ if (!rawRefs) return null;
68
+ const releases = {};
69
+ for (const ref of rawRefs) {
70
+ if (!this.refTypes.includes(ref.type) || Object.hasOwn(releases, ref.value)) continue;
71
+ releases[ref.value] = {
72
+ version: ref.value,
73
+ gitRef: ref.value,
74
+ newDigest: ref.hash
75
+ };
76
+ }
77
+ return {
78
+ sourceUrl: this.getSourceUrl(packageName),
79
+ releases: Object.values(releases)
80
+ };
81
+ }
82
+ async getDigest({ packageName }, newValue) {
83
+ const rawRefs = await this.getRawRefs({ packageName });
84
+ if (!rawRefs) return null;
85
+ if (!newValue) return rawRefs.find((rawRef) => rawRef.type === "" && rawRef.value === "HEAD")?.hash ?? null;
86
+ return rawRefs.find((rawRef) => this.refTypes.includes(rawRef.type) && rawRef.value === newValue)?.hash ?? null;
87
+ }
53
88
  };
54
89
  //#endregion
55
90
  export { GitDatasource };
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","names":[],"sources":["../../../../lib/modules/datasource/git-refs/base.ts"],"sourcesContent":["import { isTruthy } from '@sindresorhus/is';\nimport { logger } from '../../../logger/index.ts';\nimport { withCache } from '../../../util/cache/package/with-cache.ts';\nimport { createSimpleGit } from '../../../util/git/index.ts';\nimport { getRemoteUrlWithToken } from '../../../util/git/url.ts';\nimport { newlineRegex, regEx } from '../../../util/regex.ts';\nimport { Datasource } from '../datasource.ts';\nimport type { GetReleasesConfig } from '../types.ts';\nimport type { RawRefs } from './types.ts';\n\nconst refMatch = regEx(/(?<hash>.*?)\\s+refs\\/(?<type>.*?)\\/(?<value>.*)/);\nconst headMatch = regEx(/(?<hash>.*?)\\s+HEAD/);\n\nconst gitId = 'git';\n\n// TODO: extract to a separate directory structure (#10532)\nexport abstract class GitDatasource extends Datasource {\n static id = gitId;\n\n constructor(id: string) {\n super(id);\n }\n\n private async _getRawRefs({\n packageName,\n }: GetReleasesConfig): Promise<RawRefs[] | null> {\n const git = createSimpleGit({\n authentication: { hostTypes: [this.id] },\n });\n\n // fetch remote tags\n const lsRemote = await git.listRemote([\n getRemoteUrlWithToken(packageName, this.id),\n ]);\n if (!lsRemote) {\n return null;\n }\n\n const allRefs = lsRemote\n .trim()\n .split(newlineRegex)\n .map((line) => line.trim())\n .map((line) => {\n let match = refMatch.exec(line);\n if (match?.groups) {\n return {\n type: match.groups.type,\n value: match.groups.value,\n hash: match.groups.hash,\n };\n }\n match = headMatch.exec(line);\n if (match?.groups) {\n return {\n type: '',\n value: 'HEAD',\n hash: match.groups.hash,\n };\n }\n logger.trace(`malformed ref: ${line}`);\n return null;\n })\n .filter(isTruthy)\n .filter((ref) => ref.type !== 'pull');\n\n // For annotated tags, git ls-remote returns two entries:\n // 1. The tag object hash: refs/tags/v1.0.0\n // 2. The dereferenced commit hash: refs/tags/v1.0.0^{}\n // We need to use the dereferenced commit hash (^{}) for annotated tags\n // to match what `git submodule status` returns (the actual commit hash).\n // This prevents false-positive updates that result in empty commits.\n const dereferencedTags: Record<string, string> = {};\n for (const ref of allRefs) {\n if (ref.value.endsWith('^{}')) {\n // Store the commit hash for the base tag name (without ^{})\n dereferencedTags[ref.value.slice(0, -3)] = ref.hash;\n }\n }\n\n const refs = allRefs\n .filter((ref) => !ref.value.endsWith('^{}'))\n .map((ref) => {\n // For annotated tags, use the dereferenced commit hash\n const dereferencedHash = dereferencedTags[ref.value];\n if (dereferencedHash) {\n return { ...ref, hash: dereferencedHash };\n }\n return ref;\n });\n\n return refs;\n }\n\n getRawRefs(config: GetReleasesConfig): Promise<RawRefs[] | null> {\n return withCache(\n {\n namespace: `datasource-${gitId}`,\n key: config.packageName,\n },\n () => this._getRawRefs(config),\n );\n }\n}\n"],"mappings":";;;;;;;;AAUA,MAAM,WAAW,MAAM,iDAAiD;AACxE,MAAM,YAAY,MAAM,qBAAqB;AAE7C,MAAM,QAAQ;AAGd,IAAsB,gBAAtB,cAA4C,WAAW;CACrD,OAAO,KAAK;CAEZ,YAAY,IAAY;EACtB,MAAM,EAAE;CACV;CAEA,MAAc,YAAY,EACxB,eAC+C;EAM/C,MAAM,WAAW,MALL,gBAAgB,EAC1B,gBAAgB,EAAE,WAAW,CAAC,KAAK,EAAE,EAAE,EACzC,CAGyB,CAAC,CAAC,WAAW,CACpC,sBAAsB,aAAa,KAAK,EAAE,CAC5C,CAAC;EACD,IAAI,CAAC,UACH,OAAO;EAGT,MAAM,UAAU,SACb,KAAK,CAAC,CACN,MAAM,YAAY,CAAC,CACnB,KAAK,SAAS,KAAK,KAAK,CAAC,CAAC,CAC1B,KAAK,SAAS;GACb,IAAI,QAAQ,SAAS,KAAK,IAAI;GAC9B,IAAI,OAAO,QACT,OAAO;IACL,MAAM,MAAM,OAAO;IACnB,OAAO,MAAM,OAAO;IACpB,MAAM,MAAM,OAAO;GACrB;GAEF,QAAQ,UAAU,KAAK,IAAI;GAC3B,IAAI,OAAO,QACT,OAAO;IACL,MAAM;IACN,OAAO;IACP,MAAM,MAAM,OAAO;GACrB;GAEF,OAAO,MAAM,kBAAkB,MAAM;GACrC,OAAO;EACT,CAAC,CAAC,CACD,OAAO,QAAQ,CAAC,CAChB,QAAQ,QAAQ,IAAI,SAAS,MAAM;EAQtC,MAAM,mBAA2C,CAAC;EAClD,KAAK,MAAM,OAAO,SAChB,IAAI,IAAI,MAAM,SAAS,KAAK,GAE1B,iBAAiB,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI;EAenD,OAXa,QACV,QAAQ,QAAQ,CAAC,IAAI,MAAM,SAAS,KAAK,CAAC,CAAC,CAC3C,KAAK,QAAQ;GAEZ,MAAM,mBAAmB,iBAAiB,IAAI;GAC9C,IAAI,kBACF,OAAO;IAAE,GAAG;IAAK,MAAM;GAAiB;GAE1C,OAAO;EACT,CAEQ;CACZ;CAEA,WAAW,QAAsD;EAC/D,OAAO,UACL;GACE,WAAW,cAAc;GACzB,KAAK,OAAO;EACd,SACM,KAAK,YAAY,MAAM,CAC/B;CACF;AACF"}
1
+ {"version":3,"file":"base.js","names":[],"sources":["../../../../lib/modules/datasource/git-refs/base.ts"],"sourcesContent":["import { isTruthy } from '@sindresorhus/is';\nimport { logger } from '../../../logger/index.ts';\nimport { createSimpleGit } from '../../../util/git/index.ts';\nimport { getRemoteUrlWithToken } from '../../../util/git/url.ts';\nimport { newlineRegex, regEx } from '../../../util/regex.ts';\nimport { Datasource } from '../datasource.ts';\nimport type {\n DigestConfig,\n GetReleasesConfig,\n Release,\n ReleaseResult,\n} from '../types.ts';\nimport type { RawRefs } from './types.ts';\n\nconst refMatch = regEx(/(?<hash>.*?)\\s+refs\\/(?<type>.*?)\\/(?<value>.*)/);\nconst headMatch = regEx(/(?<hash>.*?)\\s+HEAD/);\n\nconst gitId = 'git';\n\n// TODO: extract to a separate directory structure (#10532)\nexport abstract class GitDatasource extends Datasource {\n static id = gitId;\n\n /**\n * The `refs/<type>/` kinds this datasource exposes as releases, and the only\n * ones a `newValue` is matched against by {@link GitDatasource.getDigest}.\n */\n protected abstract readonly refTypes: readonly string[];\n\n constructor(id: string) {\n super(id);\n }\n\n private async _getRawRefs({\n packageName,\n }: GetReleasesConfig): Promise<RawRefs[] | null> {\n const git = createSimpleGit({\n authentication: { hostTypes: [this.id] },\n });\n\n // fetch remote tags\n const lsRemote = await git.listRemote([\n getRemoteUrlWithToken(packageName, this.id),\n ]);\n if (!lsRemote) {\n return null;\n }\n\n const allRefs = lsRemote\n .trim()\n .split(newlineRegex)\n .map((line) => line.trim())\n .map((line) => {\n let match = refMatch.exec(line);\n if (match?.groups) {\n return {\n type: match.groups.type,\n value: match.groups.value,\n hash: match.groups.hash,\n };\n }\n match = headMatch.exec(line);\n if (match?.groups) {\n return {\n type: '',\n value: 'HEAD',\n hash: match.groups.hash,\n };\n }\n logger.trace(`malformed ref: ${line}`);\n return null;\n })\n .filter(isTruthy)\n .filter((ref) => ref.type !== 'pull');\n\n // For annotated tags, git ls-remote returns two entries:\n // 1. The tag object hash: refs/tags/v1.0.0\n // 2. The dereferenced commit hash: refs/tags/v1.0.0^{}\n // We need to use the dereferenced commit hash (^{}) for annotated tags\n // to match what `git submodule status` returns (the actual commit hash).\n // This prevents false-positive updates that result in empty commits.\n const dereferencedTags: Record<string, string> = {};\n for (const ref of allRefs) {\n if (ref.value.endsWith('^{}')) {\n // Store the commit hash for the base tag name (without ^{})\n dereferencedTags[ref.value.slice(0, -3)] = ref.hash;\n }\n }\n\n const refs = allRefs\n .filter((ref) => !ref.value.endsWith('^{}'))\n .map((ref) => {\n // For annotated tags, use the dereferenced commit hash\n const dereferencedHash = dereferencedTags[ref.value];\n if (dereferencedHash) {\n return { ...ref, hash: dereferencedHash };\n }\n return ref;\n });\n\n return refs;\n }\n\n getRawRefs(config: GetReleasesConfig): Promise<RawRefs[] | null> {\n return this.cached(\n {\n namespace: `datasource-${gitId}`,\n key: config.packageName,\n },\n () => this._getRawRefs(config),\n );\n }\n\n /**\n * The repository URL, without the `.git` suffix and the trailing slash that\n * a `packageName` may carry.\n */\n protected getSourceUrl(packageName: string): string {\n return packageName.replace(regEx(/\\.git$/), '').replace(regEx(/\\/$/), '');\n }\n\n /**\n * One release per distinct ref value of the datasource's\n * {@link GitDatasource.refTypes}. A value carried by several ref types, such\n * as a branch and a tag of the same name, keeps the hash of the first ref that\n * has it.\n */\n protected async getRefReleases({\n packageName,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n const rawRefs = await this.getRawRefs({ packageName });\n if (!rawRefs) {\n return null;\n }\n\n const releases: Record<string, Release> = {};\n for (const ref of rawRefs) {\n if (\n !this.refTypes.includes(ref.type) ||\n Object.hasOwn(releases, ref.value)\n ) {\n continue;\n }\n\n releases[ref.value] = {\n version: ref.value,\n gitRef: ref.value,\n newDigest: ref.hash,\n };\n }\n\n return {\n sourceUrl: this.getSourceUrl(packageName),\n releases: Object.values(releases),\n };\n }\n\n override async getDigest(\n { packageName }: DigestConfig,\n newValue?: string,\n ): Promise<string | null> {\n const rawRefs = await this.getRawRefs({ packageName });\n if (!rawRefs) {\n return null;\n }\n\n if (!newValue) {\n const head = rawRefs.find(\n (rawRef) => rawRef.type === '' && rawRef.value === 'HEAD',\n );\n return head?.hash ?? null;\n }\n\n const ref = rawRefs.find(\n (rawRef) =>\n this.refTypes.includes(rawRef.type) && rawRef.value === newValue,\n );\n return ref?.hash ?? null;\n }\n}\n"],"mappings":";;;;;;;AAcA,MAAM,WAAW,MAAM,iDAAiD;AACxE,MAAM,YAAY,MAAM,qBAAqB;AAE7C,MAAM,QAAQ;AAGd,IAAsB,gBAAtB,cAA4C,WAAW;CACrD,OAAO,KAAK;CAQZ,YAAY,IAAY;EACtB,MAAM,EAAE;CACV;CAEA,MAAc,YAAY,EACxB,eAC+C;EAM/C,MAAM,WAAW,MALL,gBAAgB,EAC1B,gBAAgB,EAAE,WAAW,CAAC,KAAK,EAAE,EAAE,EACzC,CAGyB,CAAC,CAAC,WAAW,CACpC,sBAAsB,aAAa,KAAK,EAAE,CAC5C,CAAC;EACD,IAAI,CAAC,UACH,OAAO;EAGT,MAAM,UAAU,SACb,KAAK,CAAC,CACN,MAAM,YAAY,CAAC,CACnB,KAAK,SAAS,KAAK,KAAK,CAAC,CAAC,CAC1B,KAAK,SAAS;GACb,IAAI,QAAQ,SAAS,KAAK,IAAI;GAC9B,IAAI,OAAO,QACT,OAAO;IACL,MAAM,MAAM,OAAO;IACnB,OAAO,MAAM,OAAO;IACpB,MAAM,MAAM,OAAO;GACrB;GAEF,QAAQ,UAAU,KAAK,IAAI;GAC3B,IAAI,OAAO,QACT,OAAO;IACL,MAAM;IACN,OAAO;IACP,MAAM,MAAM,OAAO;GACrB;GAEF,OAAO,MAAM,kBAAkB,MAAM;GACrC,OAAO;EACT,CAAC,CAAC,CACD,OAAO,QAAQ,CAAC,CAChB,QAAQ,QAAQ,IAAI,SAAS,MAAM;EAQtC,MAAM,mBAA2C,CAAC;EAClD,KAAK,MAAM,OAAO,SAChB,IAAI,IAAI,MAAM,SAAS,KAAK,GAE1B,iBAAiB,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI;EAenD,OAXa,QACV,QAAQ,QAAQ,CAAC,IAAI,MAAM,SAAS,KAAK,CAAC,CAAC,CAC3C,KAAK,QAAQ;GAEZ,MAAM,mBAAmB,iBAAiB,IAAI;GAC9C,IAAI,kBACF,OAAO;IAAE,GAAG;IAAK,MAAM;GAAiB;GAE1C,OAAO;EACT,CAEQ;CACZ;CAEA,WAAW,QAAsD;EAC/D,OAAO,KAAK,OACV;GACE,WAAW,cAAc;GACzB,KAAK,OAAO;EACd,SACM,KAAK,YAAY,MAAM,CAC/B;CACF;;;;;CAMA,aAAuB,aAA6B;EAClD,OAAO,YAAY,QAAQ,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,QAAQ,MAAM,KAAK,GAAG,EAAE;CAC1E;;;;;;;CAQA,MAAgB,eAAe,EAC7B,eACmD;EACnD,MAAM,UAAU,MAAM,KAAK,WAAW,EAAE,YAAY,CAAC;EACrD,IAAI,CAAC,SACH,OAAO;EAGT,MAAM,WAAoC,CAAC;EAC3C,KAAK,MAAM,OAAO,SAAS;GACzB,IACE,CAAC,KAAK,SAAS,SAAS,IAAI,IAAI,KAChC,OAAO,OAAO,UAAU,IAAI,KAAK,GAEjC;GAGF,SAAS,IAAI,SAAS;IACpB,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,WAAW,IAAI;GACjB;EACF;EAEA,OAAO;GACL,WAAW,KAAK,aAAa,WAAW;GACxC,UAAU,OAAO,OAAO,QAAQ;EAClC;CACF;CAEA,MAAe,UACb,EAAE,eACF,UACwB;EACxB,MAAM,UAAU,MAAM,KAAK,WAAW,EAAE,YAAY,CAAC;EACrD,IAAI,CAAC,SACH,OAAO;EAGT,IAAI,CAAC,UAIH,OAHa,QAAQ,MAClB,WAAW,OAAO,SAAS,MAAM,OAAO,UAAU,MAE3C,CAAC,EAAE,QAAQ;EAOvB,OAJY,QAAQ,MACjB,WACC,KAAK,SAAS,SAAS,OAAO,IAAI,KAAK,OAAO,UAAU,QAEnD,CAAC,EAAE,QAAQ;CACtB;AACF"}
@@ -1,6 +1,4 @@
1
- import { regEx } from "../../../util/regex.js";
2
1
  import { logger } from "../../../logger/index.js";
3
- import { withCache } from "../../../util/cache/package/with-cache.js";
4
2
  import { GitDatasource } from "./base.js";
5
3
  //#region lib/modules/datasource/git-refs/index.ts
6
4
  var GitRefsDatasource = class GitRefsDatasource extends GitDatasource {
@@ -8,46 +6,24 @@ var GitRefsDatasource = class GitRefsDatasource extends GitDatasource {
8
6
  constructor() {
9
7
  super(GitRefsDatasource.id);
10
8
  }
9
+ refTypes = ["tags", "heads"];
11
10
  supportsCustomRegistry(_packageName) {
12
11
  return false;
13
12
  }
14
13
  sourceUrlSupport = "package";
15
14
  sourceUrlNote = "The source URL is determined by using the `packageName` and `registryUrl`.";
16
- async _getReleases({ packageName }) {
17
- let rawRefs = null;
18
- try {
19
- rawRefs = await this.getRawRefs({ packageName });
20
- } catch (err) /* istanbul ignore next */ {
21
- logger.debug({ err }, "Error getting git-refs");
22
- }
23
- if (!rawRefs) return null;
24
- const refs = rawRefs.filter((ref) => ref.type === "tags" || ref.type === "heads").map((ref) => ref.value);
25
- const uniqueRefs = [...new Set(refs)];
26
- return {
27
- sourceUrl: packageName.replace(regEx(/\.git$/), "").replace(regEx(/\/$/), ""),
28
- releases: uniqueRefs.map((ref) => ({
29
- version: ref,
30
- gitRef: ref,
31
- newDigest: rawRefs.find((rawRef) => rawRef.value === ref)?.hash
32
- }))
33
- };
34
- }
35
15
  getReleases(config) {
36
- return withCache({
37
- namespace: `datasource-${GitRefsDatasource.id}`,
16
+ return this.cached({
38
17
  key: config.packageName,
39
18
  fallback: true
40
- }, () => this._getReleases(config));
41
- }
42
- async getDigest({ packageName }, newValue) {
43
- const rawRefs = await this.getRawRefs({ packageName });
44
- /* v8 ignore next -- TODO: add test */
45
- if (!rawRefs) return null;
46
- let ref;
47
- if (newValue) ref = rawRefs.find((rawRef) => ["heads", "tags"].includes(rawRef.type) && rawRef.value === newValue);
48
- else ref = rawRefs.find((rawRef) => rawRef.type === "" && rawRef.value === "HEAD");
49
- if (ref) return ref.hash;
50
- return null;
19
+ }, async () => {
20
+ try {
21
+ return await this.getRefReleases(config);
22
+ } catch (err) {
23
+ logger.debug({ err }, "Error getting git-refs");
24
+ return null;
25
+ }
26
+ });
51
27
  }
52
28
  };
53
29
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../lib/modules/datasource/git-refs/index.ts"],"sourcesContent":["import { logger } from '../../../logger/index.ts';\nimport { withCache } from '../../../util/cache/package/with-cache.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport type {\n DigestConfig,\n GetReleasesConfig,\n ReleaseResult,\n} from '../types.ts';\nimport { GitDatasource } from './base.ts';\nimport type { RawRefs } from './types.ts';\n\nexport class GitRefsDatasource extends GitDatasource {\n static override readonly id = 'git-refs';\n\n constructor() {\n super(GitRefsDatasource.id);\n }\n\n override supportsCustomRegistry(_packageName: string): boolean {\n return false;\n }\n\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is determined by using the `packageName` and `registryUrl`.';\n\n private async _getReleases({\n packageName,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n let rawRefs: RawRefs[] | null = null;\n\n try {\n rawRefs = await this.getRawRefs({ packageName });\n } catch (err) /* istanbul ignore next */ {\n logger.debug({ err }, 'Error getting git-refs');\n }\n\n if (!rawRefs) {\n return null;\n }\n\n const refs = rawRefs\n .filter((ref) => ref.type === 'tags' || ref.type === 'heads')\n .map((ref) => ref.value);\n\n const uniqueRefs = [...new Set(refs)];\n\n const sourceUrl = packageName\n .replace(regEx(/\\.git$/), '')\n .replace(regEx(/\\/$/), '');\n\n const result: ReleaseResult = {\n sourceUrl,\n releases: uniqueRefs.map((ref) => ({\n version: ref,\n gitRef: ref,\n newDigest: rawRefs.find((rawRef) => rawRef.value === ref)?.hash,\n })),\n };\n\n return result;\n }\n\n override getReleases(\n config: GetReleasesConfig,\n ): Promise<ReleaseResult | null> {\n return withCache(\n {\n namespace: `datasource-${GitRefsDatasource.id}`,\n key: config.packageName,\n fallback: true,\n },\n () => this._getReleases(config),\n );\n }\n\n override async getDigest(\n { packageName }: DigestConfig,\n newValue?: string,\n ): Promise<string | null> {\n const rawRefs: RawRefs[] | null = await this.getRawRefs({ packageName });\n\n /* v8 ignore next -- TODO: add test */\n if (!rawRefs) {\n return null;\n }\n\n let ref: RawRefs | undefined;\n if (newValue) {\n ref = rawRefs.find(\n (rawRef) =>\n ['heads', 'tags'].includes(rawRef.type) && rawRef.value === newValue,\n );\n } else {\n ref = rawRefs.find(\n (rawRef) => rawRef.type === '' && rawRef.value === 'HEAD',\n );\n }\n if (ref) {\n return ref.hash;\n }\n return null;\n }\n}\n"],"mappings":";;;;;AAWA,IAAa,oBAAb,MAAa,0BAA0B,cAAc;CACnD,OAAyB,KAAK;CAE9B,cAAc;EACZ,MAAM,kBAAkB,EAAE;CAC5B;CAEA,uBAAgC,cAA+B;EAC7D,OAAO;CACT;CAEA,mBAAqC;CACrC,gBACE;CAEF,MAAc,aAAa,EACzB,eACmD;EACnD,IAAI,UAA4B;EAEhC,IAAI;GACF,UAAU,MAAM,KAAK,WAAW,EAAE,YAAY,CAAC;EACjD,SAAS,gCAAgC;GACvC,OAAO,MAAM,EAAE,IAAI,GAAG,wBAAwB;EAChD;EAEA,IAAI,CAAC,SACH,OAAO;EAGT,MAAM,OAAO,QACV,QAAQ,QAAQ,IAAI,SAAS,UAAU,IAAI,SAAS,OAAO,CAAC,CAC5D,KAAK,QAAQ,IAAI,KAAK;EAEzB,MAAM,aAAa,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC;EAepC,OAAO;GARL,WALgB,YACf,QAAQ,MAAM,QAAQ,GAAG,EAAE,CAAC,CAC5B,QAAQ,MAAM,KAAK,GAAG,EAGf;GACR,UAAU,WAAW,KAAK,SAAS;IACjC,SAAS;IACT,QAAQ;IACR,WAAW,QAAQ,MAAM,WAAW,OAAO,UAAU,GAAG,CAAC,EAAE;GAC7D,EAAE;EAGQ;CACd;CAEA,YACE,QAC+B;EAC/B,OAAO,UACL;GACE,WAAW,cAAc,kBAAkB;GAC3C,KAAK,OAAO;GACZ,UAAU;EACZ,SACM,KAAK,aAAa,MAAM,CAChC;CACF;CAEA,MAAe,UACb,EAAE,eACF,UACwB;EACxB,MAAM,UAA4B,MAAM,KAAK,WAAW,EAAE,YAAY,CAAC;;EAGvE,IAAI,CAAC,SACH,OAAO;EAGT,IAAI;EACJ,IAAI,UACF,MAAM,QAAQ,MACX,WACC,CAAC,SAAS,MAAM,CAAC,CAAC,SAAS,OAAO,IAAI,KAAK,OAAO,UAAU,QAChE;OAEA,MAAM,QAAQ,MACX,WAAW,OAAO,SAAS,MAAM,OAAO,UAAU,MACrD;EAEF,IAAI,KACF,OAAO,IAAI;EAEb,OAAO;CACT;AACF"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../lib/modules/datasource/git-refs/index.ts"],"sourcesContent":["import { logger } from '../../../logger/index.ts';\nimport type { GetReleasesConfig, ReleaseResult } from '../types.ts';\nimport { GitDatasource } from './base.ts';\n\nexport class GitRefsDatasource extends GitDatasource {\n static override readonly id = 'git-refs';\n\n constructor() {\n super(GitRefsDatasource.id);\n }\n\n protected override readonly refTypes = ['tags', 'heads'];\n\n override supportsCustomRegistry(_packageName: string): boolean {\n return false;\n }\n\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is determined by using the `packageName` and `registryUrl`.';\n\n override getReleases(\n config: GetReleasesConfig,\n ): Promise<ReleaseResult | null> {\n return this.cached(\n {\n key: config.packageName,\n fallback: true,\n },\n async () => {\n try {\n return await this.getRefReleases(config);\n } catch (err) {\n logger.debug({ err }, 'Error getting git-refs');\n return null;\n }\n },\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,oBAAb,MAAa,0BAA0B,cAAc;CACnD,OAAyB,KAAK;CAE9B,cAAc;EACZ,MAAM,kBAAkB,EAAE;CAC5B;CAEA,WAAuC,CAAC,QAAQ,OAAO;CAEvD,uBAAgC,cAA+B;EAC7D,OAAO;CACT;CAEA,mBAAqC;CACrC,gBACE;CAEF,YACE,QAC+B;EAC/B,OAAO,KAAK,OACV;GACE,KAAK,OAAO;GACZ,UAAU;EACZ,GACA,YAAY;GACV,IAAI;IACF,OAAO,MAAM,KAAK,eAAe,MAAM;GACzC,SAAS,KAAK;IACZ,OAAO,MAAM,EAAE,IAAI,GAAG,wBAAwB;IAC9C,OAAO;GACT;EACF,CACF;CACF;AACF"}
@@ -1,5 +1,3 @@
1
- import { regEx } from "../../../util/regex.js";
2
- import { withCache } from "../../../util/cache/package/with-cache.js";
3
1
  import { GitDatasource } from "../git-refs/base.js";
4
2
  //#region lib/modules/datasource/git-tags/index.ts
5
3
  var GitTagsDatasource = class GitTagsDatasource extends GitDatasource {
@@ -7,37 +5,17 @@ var GitTagsDatasource = class GitTagsDatasource extends GitDatasource {
7
5
  constructor() {
8
6
  super(GitTagsDatasource.id);
9
7
  }
8
+ refTypes = ["tags"];
10
9
  supportsCustomRegistry(_packageName) {
11
10
  return false;
12
11
  }
13
12
  sourceUrlSupport = "package";
14
13
  sourceUrlNote = "The source URL is determined by using the `packageName` and `registryUrl`.";
15
- async _getReleases({ packageName }) {
16
- const rawRefs = await this.getRawRefs({ packageName });
17
- if (rawRefs === null) return null;
18
- const releases = rawRefs.filter((ref) => ref.type === "tags").map((ref) => ({
19
- version: ref.value,
20
- gitRef: ref.value,
21
- newDigest: ref.hash
22
- }));
23
- return {
24
- sourceUrl: packageName.replace(regEx(/\.git$/), "").replace(regEx(/\/$/), ""),
25
- releases
26
- };
27
- }
28
14
  getReleases(config) {
29
- return withCache({
30
- namespace: `datasource-${GitTagsDatasource.id}`,
15
+ return this.cached({
31
16
  key: config.packageName,
32
17
  fallback: true
33
- }, () => this._getReleases(config));
34
- }
35
- async getDigest({ packageName }, newValue) {
36
- const rawRefs = await this.getRawRefs({ packageName });
37
- const findValue = newValue ?? "HEAD";
38
- const ref = rawRefs?.find((rawRef) => rawRef.value === findValue);
39
- if (ref) return ref.hash;
40
- return null;
18
+ }, () => this.getRefReleases(config));
41
19
  }
42
20
  };
43
21
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../lib/modules/datasource/git-tags/index.ts"],"sourcesContent":["import { withCache } from '../../../util/cache/package/with-cache.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { GitDatasource } from '../git-refs/base.ts';\nimport type {\n DigestConfig,\n GetReleasesConfig,\n ReleaseResult,\n} from '../types.ts';\n\nexport class GitTagsDatasource extends GitDatasource {\n static override readonly id = 'git-tags';\n\n constructor() {\n super(GitTagsDatasource.id);\n }\n\n override supportsCustomRegistry(_packageName: string): boolean {\n return false;\n }\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is determined by using the `packageName` and `registryUrl`.';\n\n private async _getReleases({\n packageName,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n const rawRefs = await this.getRawRefs({ packageName });\n\n if (rawRefs === null) {\n return null;\n }\n const releases = rawRefs\n .filter((ref) => ref.type === 'tags')\n .map((ref) => ({\n version: ref.value,\n gitRef: ref.value,\n newDigest: ref.hash,\n }));\n\n const sourceUrl = packageName\n .replace(regEx(/\\.git$/), '')\n .replace(regEx(/\\/$/), '');\n\n const result: ReleaseResult = {\n sourceUrl,\n releases,\n };\n\n return result;\n }\n\n getReleases(config: GetReleasesConfig): Promise<ReleaseResult | null> {\n return withCache(\n {\n namespace: `datasource-${GitTagsDatasource.id}`,\n key: config.packageName,\n fallback: true,\n },\n () => this._getReleases(config),\n );\n }\n\n override async getDigest(\n { packageName }: DigestConfig,\n newValue?: string,\n ): Promise<string | null> {\n const rawRefs = await this.getRawRefs({ packageName });\n const findValue = newValue ?? 'HEAD';\n const ref = rawRefs?.find((rawRef) => rawRef.value === findValue);\n if (ref) {\n return ref.hash;\n }\n return null;\n }\n}\n"],"mappings":";;;;AASA,IAAa,oBAAb,MAAa,0BAA0B,cAAc;CACnD,OAAyB,KAAK;CAE9B,cAAc;EACZ,MAAM,kBAAkB,EAAE;CAC5B;CAEA,uBAAgC,cAA+B;EAC7D,OAAO;CACT;CACA,mBAAqC;CACrC,gBACE;CAEF,MAAc,aAAa,EACzB,eACmD;EACnD,MAAM,UAAU,MAAM,KAAK,WAAW,EAAE,YAAY,CAAC;EAErD,IAAI,YAAY,MACd,OAAO;EAET,MAAM,WAAW,QACd,QAAQ,QAAQ,IAAI,SAAS,MAAM,CAAC,CACpC,KAAK,SAAS;GACb,SAAS,IAAI;GACb,QAAQ,IAAI;GACZ,WAAW,IAAI;EACjB,EAAE;EAWJ,OAAO;GAJL,WALgB,YACf,QAAQ,MAAM,QAAQ,GAAG,EAAE,CAAC,CAC5B,QAAQ,MAAM,KAAK,GAAG,EAGf;GACR;EAGU;CACd;CAEA,YAAY,QAA0D;EACpE,OAAO,UACL;GACE,WAAW,cAAc,kBAAkB;GAC3C,KAAK,OAAO;GACZ,UAAU;EACZ,SACM,KAAK,aAAa,MAAM,CAChC;CACF;CAEA,MAAe,UACb,EAAE,eACF,UACwB;EACxB,MAAM,UAAU,MAAM,KAAK,WAAW,EAAE,YAAY,CAAC;EACrD,MAAM,YAAY,YAAY;EAC9B,MAAM,MAAM,SAAS,MAAM,WAAW,OAAO,UAAU,SAAS;EAChE,IAAI,KACF,OAAO,IAAI;EAEb,OAAO;CACT;AACF"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../lib/modules/datasource/git-tags/index.ts"],"sourcesContent":["import { GitDatasource } from '../git-refs/base.ts';\nimport type { GetReleasesConfig, ReleaseResult } from '../types.ts';\n\nexport class GitTagsDatasource extends GitDatasource {\n static override readonly id = 'git-tags';\n\n constructor() {\n super(GitTagsDatasource.id);\n }\n\n protected override readonly refTypes = ['tags'];\n\n override supportsCustomRegistry(_packageName: string): boolean {\n return false;\n }\n\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is determined by using the `packageName` and `registryUrl`.';\n\n getReleases(config: GetReleasesConfig): Promise<ReleaseResult | null> {\n return this.cached(\n {\n key: config.packageName,\n fallback: true,\n },\n () => this.getRefReleases(config),\n );\n }\n}\n"],"mappings":";;AAGA,IAAa,oBAAb,MAAa,0BAA0B,cAAc;CACnD,OAAyB,KAAK;CAE9B,cAAc;EACZ,MAAM,kBAAkB,EAAE;CAC5B;CAEA,WAAuC,CAAC,MAAM;CAE9C,uBAAgC,cAA+B;EAC7D,OAAO;CACT;CAEA,mBAAqC;CACrC,gBACE;CAEF,YAAY,QAA0D;EACpE,OAAO,KAAK,OACV;GACE,KAAK,OAAO;GACZ,UAAU;EACZ,SACM,KAAK,eAAe,MAAM,CAClC;CACF;AACF"}
@@ -43,7 +43,7 @@ hashMap.set("fleet", "ffa222820f72c4eb4cdc4c229ae8c50433bee96f3b974f0633d5a7d1f6
43
43
  hashMap.set("flux", "842597c9083d82af99ef3d526101a3a53c4448414d2f53f7e969074757124811");
44
44
  hashMap.set("fvm", "9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90");
45
45
  hashMap.set("git-submodules", "f4e2c6ddf2fa93241665c5176faafb358eecfcb701e7478790c4d58853ed827a");
46
- hashMap.set("github-actions", "431090d08a1da7ae6ae61c1b53c9d8e7a888f7de01d92efad8e6af54ea7d17ac");
46
+ hashMap.set("github-actions", "dec545fc3bb004544ac804c17e5652c2a689af36051f3f3f8f5fdde6839aa0b5");
47
47
  hashMap.set("gitlabci", "a5e1e66ef461e1c1e71062f85f35a212417e23627f4b002810f9a98295d6e672");
48
48
  hashMap.set("gitlabci-include", "8860a15ab516fde00694f9bd9bf56fce4addafe5a55b5ddb9a4ec477d301d351");
49
49
  hashMap.set("glasskube", "93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30");
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','a52394a36ac5517f7330473c31d93aa05b2ce607c5e951b48f25a4693cd20a81');\nhashMap.set('ansible-galaxy','8e11293c8f61b4cbae77a3b1634a47213031c59df2c9833d89db65bf4e6edc64');\nhashMap.set('ant','2df5943cf0ed19a21b94df13729dbb925655548130caf37e3e22bebaed518e17');\nhashMap.set('apm','bdb6931cc03f4ac02ebfdb56c4b3483bb6c5250fa952545f1a25584d502bbffd');\nhashMap.set('argocd','cff9cd22257bc460ae4b9936570bf0ed5585f280a55d26629deaeeb0bfee8eb5');\nhashMap.set('asdf','430eb99b58171700c8a59c78b9e648575e9b176b781d90dd10a710f7b69015bb');\nhashMap.set('azure-pipelines','04a13dec4e08ba21004961c718072fde976226d65809fa3c838bf66ba93e5d5a');\nhashMap.set('batect','375d39b432013bedb1330cf40a2199dd822751b28578214f219e7bab98594b8d');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','4d4f1d9a6519ba552b316b396db13ff0654a2663d8ed976188899a2d57d306a2');\nhashMap.set('bazel-module','9fbba0339f9f7785d52ab85c5f0f6385003093c063483c13feccba13ae438bef');\nhashMap.set('bazelisk','770f75a746dc6ba90c518788d5987d7df4243ef9eee122d1bb0556a93d6e1b11');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','b8b404f53cd5d61c39153fddf93945e621471c4ac6aa9960c881cd868922bb4c');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','6789cc6499c77cdf44d4fb306198274bb72241e6d0ef7ceda7e916d7022d864c');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','6e4784dd98c1f86ef64cc8cbf3128df48aebf920032d7792b54fdedd3dd9d4d5');\nhashMap.set('cake','9ebd8b481220b30a8860121d26184540a1a2fcc05ef780df9295dea39b386fad');\nhashMap.set('cargo','32bddfcf1201495289921a2bf5f9b256b985b8b63a3985190676fb9f9f0f9b23');\nhashMap.set('cdnurl','9a81c8e3c6ad6c788498c99fc1067ffdfcd92a427c3afaf8c0130975d83131f2');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','f4e40388944652c8a19f8518771ac8d3f3c4ccf81ddef0e68b463aca833cb73c');\nhashMap.set('cocoapods','f832e2beef885bb3fd697ed9bb3e8cd742926bfec37ff41212edd2dbb4edb3ba');\nhashMap.set('composer','3976117beb9adeade088187965929d42f21f5da12c4614fd22aa92cad1083b19');\nhashMap.set('conan','8d46e9a30ae628e26118aea10a98d1b846f7c5d96d51ce24693437d555f6d125');\nhashMap.set('copier','197219e93857ad7e6701755ede245824329da08913ebdb23d1e5e854a169aafe');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','41e6a8b7b8bae08f07b3e4b69c8c095db5da984bb23c004cd1ebf755a6317794');\nhashMap.set('deps-edn','06783dbc8b9c7bb84e162d1f75b7db56dfa021cc6f809dfd2314cee8b64af08d');\nhashMap.set('devbox','a40050cc61bd9b5d500ec111abb17bb15d5f82ab5b7699f66f628307ba8382c9');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','fba87b82cb0f2bfd66526631fbe928b8153e7ca701a5790d02b944df17417bb9');\nhashMap.set('dockerfile','b5faeb8f31d238e0d05a4aeebf9a837273687908ab8078b34e738bb0e369c80c');\nhashMap.set('droneci','661d2a2d7295af8dd7a1234c7090c42a89306bd574c3adf1fc67782efaad3998');\nhashMap.set('fleet','ffa222820f72c4eb4cdc4c229ae8c50433bee96f3b974f0633d5a7d1f6427c97');\nhashMap.set('flux','842597c9083d82af99ef3d526101a3a53c4448414d2f53f7e969074757124811');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','f4e2c6ddf2fa93241665c5176faafb358eecfcb701e7478790c4d58853ed827a');\nhashMap.set('github-actions','431090d08a1da7ae6ae61c1b53c9d8e7a888f7de01d92efad8e6af54ea7d17ac');\nhashMap.set('gitlabci','a5e1e66ef461e1c1e71062f85f35a212417e23627f4b002810f9a98295d6e672');\nhashMap.set('gitlabci-include','8860a15ab516fde00694f9bd9bf56fce4addafe5a55b5ddb9a4ec477d301d351');\nhashMap.set('glasskube','93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30');\nhashMap.set('gleam','5e9b9f5f914afe5ed7b526c06c65111e3716d2dea9b0cbe7907bbc96db1064a3');\nhashMap.set('gomod','89899292f917777b79f8ce1714e54c4e61cf151fb75f87f1ddb1d1ccd6a4e6f7');\nhashMap.set('gradle','14ffeecba62452d47d3796e68753da745de2614b6e5ecc346da4f0067ed4bc6e');\nhashMap.set('gradle-wrapper','73ba30c34955fab7737454b5cff9aca6d1b5607d53c17c9e13d8ad96f6eaae87');\nhashMap.set('haskell-cabal','f158b7725e3143dfd2950e3de0bbccc2a61cd7eba87f7a54c5057e01252348e2');\nhashMap.set('helm-requirements','22f61344565f87ca3512c0ba8fac32627fde8ee919b7badae07b2116e285f049');\nhashMap.set('helm-values','0aa79bb0257d0d72e54dfd2653e59bfef63b97e46c035b7443593bdf6e6382aa');\nhashMap.set('helmfile','ab63e5bc2bb381939a6b75911947e3fc79d31827423ded07f61ea1c98d95a542');\nhashMap.set('helmsman','951deeb3355da751ef39c9e932b26ea749450e32e75759e4b5fc29359e100b37');\nhashMap.set('helmv3','b554064ec6461a3d18059629365a3bf87cbe38c88dfce253d97618701296452d');\nhashMap.set('hermit','0fb25b7766c3a264fbb765ff75b1542b24136c4c9f933696d4a5aecfed637071');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','dffe954a4e18c2dc4bfdaa12222fe8ddc3395869afd5afa603fc2b6264747984');\nhashMap.set('html','81fa6c2bf2b868596584a48b949645207a2aa3081951ed99183ee50b70b77d5f');\nhashMap.set('jenkins','7fda0e7e0f3d5e18088ccb3594f727f4cfc48b064706bdaaf1a0a075b6a2cff5');\nhashMap.set('jsonnet-bundler','4cedeb0394e5c38361d1868ff45b4f34747ab8c492378b6e63dcaf1f4f3c024d');\nhashMap.set('kotlin-script','95ebc844c040ca047321b207d525220e29774a2a1fe06f9639e8353c66908564');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','4a4321595a55de36669f3bcc6fb54236ad81c8f80ec9cbd3888f49a45fbe70e7');\nhashMap.set('leiningen','c8397e376f1717c2f771ae9ea3ba6b720d2422b133cf937e762c44e42be146a2');\nhashMap.set('maven','c110b99291c2a5bc82cf7a69330275e9bbd7dc8ba3e9e987611dfcffbe002d8d');\nhashMap.set('maven-wrapper','6e53b6e4abf1d20b75094c7a70d66b4a5ac39954f009aa401f5e55dada8be4d0');\nhashMap.set('meteor','4636a47ba4dcfff19fe662572ef7a40d17146be3c966e00ef437e1fc8de92776');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','59c691024c34cb4be4d9b4f811019ae9b22410df0da54977cdcecea261fbbbf5');\nhashMap.set('mix','0f79163dc2a1c896599d152be635c23beaf16812ae3d8fbfffec98c7bd0de872');\nhashMap.set('nix','9cbd96a29fe96e3df7418e422256380202f07970cf7f00b08388c181224a2b85');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','9686302b38f9d6ff899cc69590ec2b9677fd5451f52d227649c0e0812b15c6f9');\nhashMap.set('nuget','fb02247c67a198ffe414a44d23c7894bd114dcc53803334f82e39479e7b27f6f');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','d6567a733ef3983112b46fdccd7ceebfcd48411104e0c6b6e714d4310db48024');\nhashMap.set('pep621','5a01837b4bc0b575073d1d3d44d9cb030ad66ea2bfb0be830f83f53c30bdb277');\nhashMap.set('pep723','77022a0eae6a3cbb74a1e6d596db1276e379768e40448192b3fa81edd14ca73f');\nhashMap.set('pip-compile','a98dc76a002e1dc21662237f009ff8fea36236bb4e24cb82ee30c6a78f57271f');\nhashMap.set('pip_requirements','bf3a407f72abf711230247bef94ba5dc84c08a35107b0f017912fad66afa716a');\nhashMap.set('pip_setup','df18fba2bdcf48f3ca12a8f7e5cd28df31e2368d5528127277038ef4206eca79');\nhashMap.set('pipenv','baf237cd77173c1a7a9c7fa2a8bfb214f3c488ba0cc27f0e8f334df192e3a398');\nhashMap.set('pixi','e31c397982ffa34222b061f23f3b3683f42523dd5dca45ecce2448b0ebc55ea2');\nhashMap.set('poetry','e9dea5d591c87956b9f018414cb3dab8f2e13580a13be00550fdce198fdf08e6');\nhashMap.set('pre-commit','760f2c291ae084db889f722390798a0e2d431ccdc3bc676e73b14901ebea19ac');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','8e7c65dfd1999de4f7c44392e949a4d8f4701eb86df59d550e4657feb06b1872');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','40927b98dd2bac45dba60e66b5fd0e6b84b61d02db8be536fda7b14546a4feb7');\nhashMap.set('renovate-config','dfaf3f03ddaf70c332f7916106648f36dbfa6a36dd76d15dd27fa116ab3c174c');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','6ace53db02874d73620d2d872291839820a512a9529c42d174358c692e5db720');\nhashMap.set('sbt','e1eb5c7f0171a9bb1b6bd4a36a91039a31b6c84e0983d91d930be31a69506d9e');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','4a3a7c812d34739c07685691e7e64c7d3127f9d7d4aff99dc45a25df97ed9745');\nhashMap.set('smithy','9641b91d065ffb63be0dd888139a0402dba41e550f8b44c592db9daf52109100');\nhashMap.set('sveltos','60dd75bb53ace31217211100d622fdb65068c6162758b6ae7103a6ce8bdc9f90');\nhashMap.set('swift','cdf063debdbf36888523ff8cec6d2d1b0ec6f49b37b2fbcd80b0d4f6a31114e1');\nhashMap.set('tekton','33948f5bdf7553909fa63744adb26da97ddf366e9499bccab1250879570267c9');\nhashMap.set('terraform','6788a8569ba9c50c763ffa2bed952a4314ae8e696c29f93d3eb7c4a12d99ce20');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','300f8fb3c09667654412d2f5dd8ab4882e0f5d1d7a8bc39794993d2e7e58d1b7');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','f423bfa2b42a2bfc0e38a33ebd4f9d452473e7ed4e7ad6384a99eb9a35d97479');\nhashMap.set('travis','f3e2f38e699c390b00ff481be5e91dceaa81609e93caf9a4214933de759c84fc');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','48e2bff8d3a96e8011ee12776fe9c6e8aac4718ff47e891c294a8f12660cb1bb');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','416bcf61144b276b3112814c6e6d261aa29608f46fbb0516c471d35c16f8f0d7');\nhashMap.set('regex','20be5247fdc164173871a051acb0527da017d0c155c653d7563601f55e7b3ff5');"],"mappings":";AAAA,MAAa,0BAAU,IAAI,IAAoB;AAE/C,QAAQ,IAAI,WAAU,kEAAkE;AACxF,QAAQ,IAAI,kBAAiB,kEAAkE;AAC/F,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,QAAO,kEAAkE;AACrF,QAAQ,IAAI,mBAAkB,kEAAkE;AAChG,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,kBAAiB,kEAAkE;AAC/F,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,gBAAe,kEAAkE;AAC7F,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,uBAAsB,kEAAkE;AACpG,QAAQ,IAAI,WAAU,kEAAkE;AACxF,QAAQ,IAAI,aAAY,kEAAkE;AAC1F,QAAQ,IAAI,cAAa,kEAAkE;AAC3F,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,eAAc,kEAAkE;AAC5F,QAAQ,IAAI,WAAU,kEAAkE;AACxF,QAAQ,IAAI,QAAO,kEAAkE;AACrF,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,cAAa,kEAAkE;AAC3F,QAAQ,IAAI,aAAY,kEAAkE;AAC1F,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,cAAa,kEAAkE;AAC3F,QAAQ,IAAI,QAAO,kEAAkE;AACrF,QAAQ,IAAI,QAAO,kEAAkE;AACrF,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,gBAAe,kEAAkE;AAC7F,QAAQ,IAAI,kBAAiB,kEAAkE;AAC/F,QAAQ,IAAI,cAAa,kEAAkE;AAC3F,QAAQ,IAAI,WAAU,kEAAkE;AACxF,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,QAAO,kEAAkE;AACrF,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,kBAAiB,kEAAkE;AAC/F,QAAQ,IAAI,kBAAiB,kEAAkE;AAC/F,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,oBAAmB,kEAAkE;AACjG,QAAQ,IAAI,aAAY,kEAAkE;AAC1F,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,kBAAiB,kEAAkE;AAC/F,QAAQ,IAAI,iBAAgB,kEAAkE;AAC9F,QAAQ,IAAI,qBAAoB,kEAAkE;AAClG,QAAQ,IAAI,eAAc,kEAAkE;AAC5F,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,0BAAyB,kEAAkE;AACvG,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,QAAO,kEAAkE;AACrF,QAAQ,IAAI,WAAU,kEAAkE;AACxF,QAAQ,IAAI,mBAAkB,kEAAkE;AAChG,QAAQ,IAAI,iBAAgB,kEAAkE;AAC9F,QAAQ,IAAI,cAAa,kEAAkE;AAC3F,QAAQ,IAAI,aAAY,kEAAkE;AAC1F,QAAQ,IAAI,aAAY,kEAAkE;AAC1F,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,iBAAgB,kEAAkE;AAC9F,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,QAAO,kEAAkE;AACrF,QAAQ,IAAI,QAAO,kEAAkE;AACrF,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,QAAO,kEAAkE;AACrF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,eAAc,kEAAkE;AAC5F,QAAQ,IAAI,oBAAmB,kEAAkE;AACjG,QAAQ,IAAI,aAAY,kEAAkE;AAC1F,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,QAAO,kEAAkE;AACrF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,cAAa,kEAAkE;AAC3F,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,WAAU,kEAAkE;AACxF,QAAQ,IAAI,mBAAkB,kEAAkE;AAChG,QAAQ,IAAI,gBAAe,kEAAkE;AAC7F,QAAQ,IAAI,mBAAkB,kEAAkE;AAChG,QAAQ,IAAI,kBAAiB,kEAAkE;AAC/F,QAAQ,IAAI,OAAM,kEAAkE;AACpF,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,aAAY,kEAAkE;AAC1F,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,WAAU,kEAAkE;AACxF,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,aAAY,kEAAkE;AAC1F,QAAQ,IAAI,qBAAoB,kEAAkE;AAClG,QAAQ,IAAI,cAAa,kEAAkE;AAC3F,QAAQ,IAAI,sBAAqB,kEAAkE;AACnG,QAAQ,IAAI,iBAAgB,kEAAkE;AAC9F,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,SAAQ,kEAAkE;AACtF,QAAQ,IAAI,WAAU,kEAAkE;AACxF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,UAAS,kEAAkE;AACvF,QAAQ,IAAI,cAAa,kEAAkE;AAC3F,QAAQ,IAAI,YAAW,kEAAkE;AACzF,QAAQ,IAAI,WAAU,kEAAkE;AACxF,QAAQ,IAAI,SAAQ,kEAAkE"}
1
+ {"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','a52394a36ac5517f7330473c31d93aa05b2ce607c5e951b48f25a4693cd20a81');\nhashMap.set('ansible-galaxy','8e11293c8f61b4cbae77a3b1634a47213031c59df2c9833d89db65bf4e6edc64');\nhashMap.set('ant','2df5943cf0ed19a21b94df13729dbb925655548130caf37e3e22bebaed518e17');\nhashMap.set('apm','bdb6931cc03f4ac02ebfdb56c4b3483bb6c5250fa952545f1a25584d502bbffd');\nhashMap.set('argocd','cff9cd22257bc460ae4b9936570bf0ed5585f280a55d26629deaeeb0bfee8eb5');\nhashMap.set('asdf','430eb99b58171700c8a59c78b9e648575e9b176b781d90dd10a710f7b69015bb');\nhashMap.set('azure-pipelines','04a13dec4e08ba21004961c718072fde976226d65809fa3c838bf66ba93e5d5a');\nhashMap.set('batect','375d39b432013bedb1330cf40a2199dd822751b28578214f219e7bab98594b8d');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','4d4f1d9a6519ba552b316b396db13ff0654a2663d8ed976188899a2d57d306a2');\nhashMap.set('bazel-module','9fbba0339f9f7785d52ab85c5f0f6385003093c063483c13feccba13ae438bef');\nhashMap.set('bazelisk','770f75a746dc6ba90c518788d5987d7df4243ef9eee122d1bb0556a93d6e1b11');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','b8b404f53cd5d61c39153fddf93945e621471c4ac6aa9960c881cd868922bb4c');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','6789cc6499c77cdf44d4fb306198274bb72241e6d0ef7ceda7e916d7022d864c');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','6e4784dd98c1f86ef64cc8cbf3128df48aebf920032d7792b54fdedd3dd9d4d5');\nhashMap.set('cake','9ebd8b481220b30a8860121d26184540a1a2fcc05ef780df9295dea39b386fad');\nhashMap.set('cargo','32bddfcf1201495289921a2bf5f9b256b985b8b63a3985190676fb9f9f0f9b23');\nhashMap.set('cdnurl','9a81c8e3c6ad6c788498c99fc1067ffdfcd92a427c3afaf8c0130975d83131f2');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','f4e40388944652c8a19f8518771ac8d3f3c4ccf81ddef0e68b463aca833cb73c');\nhashMap.set('cocoapods','f832e2beef885bb3fd697ed9bb3e8cd742926bfec37ff41212edd2dbb4edb3ba');\nhashMap.set('composer','3976117beb9adeade088187965929d42f21f5da12c4614fd22aa92cad1083b19');\nhashMap.set('conan','8d46e9a30ae628e26118aea10a98d1b846f7c5d96d51ce24693437d555f6d125');\nhashMap.set('copier','197219e93857ad7e6701755ede245824329da08913ebdb23d1e5e854a169aafe');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','41e6a8b7b8bae08f07b3e4b69c8c095db5da984bb23c004cd1ebf755a6317794');\nhashMap.set('deps-edn','06783dbc8b9c7bb84e162d1f75b7db56dfa021cc6f809dfd2314cee8b64af08d');\nhashMap.set('devbox','a40050cc61bd9b5d500ec111abb17bb15d5f82ab5b7699f66f628307ba8382c9');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','fba87b82cb0f2bfd66526631fbe928b8153e7ca701a5790d02b944df17417bb9');\nhashMap.set('dockerfile','b5faeb8f31d238e0d05a4aeebf9a837273687908ab8078b34e738bb0e369c80c');\nhashMap.set('droneci','661d2a2d7295af8dd7a1234c7090c42a89306bd574c3adf1fc67782efaad3998');\nhashMap.set('fleet','ffa222820f72c4eb4cdc4c229ae8c50433bee96f3b974f0633d5a7d1f6427c97');\nhashMap.set('flux','842597c9083d82af99ef3d526101a3a53c4448414d2f53f7e969074757124811');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','f4e2c6ddf2fa93241665c5176faafb358eecfcb701e7478790c4d58853ed827a');\nhashMap.set('github-actions','dec545fc3bb004544ac804c17e5652c2a689af36051f3f3f8f5fdde6839aa0b5');\nhashMap.set('gitlabci','a5e1e66ef461e1c1e71062f85f35a212417e23627f4b002810f9a98295d6e672');\nhashMap.set('gitlabci-include','8860a15ab516fde00694f9bd9bf56fce4addafe5a55b5ddb9a4ec477d301d351');\nhashMap.set('glasskube','93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30');\nhashMap.set('gleam','5e9b9f5f914afe5ed7b526c06c65111e3716d2dea9b0cbe7907bbc96db1064a3');\nhashMap.set('gomod','89899292f917777b79f8ce1714e54c4e61cf151fb75f87f1ddb1d1ccd6a4e6f7');\nhashMap.set('gradle','14ffeecba62452d47d3796e68753da745de2614b6e5ecc346da4f0067ed4bc6e');\nhashMap.set('gradle-wrapper','73ba30c34955fab7737454b5cff9aca6d1b5607d53c17c9e13d8ad96f6eaae87');\nhashMap.set('haskell-cabal','f158b7725e3143dfd2950e3de0bbccc2a61cd7eba87f7a54c5057e01252348e2');\nhashMap.set('helm-requirements','22f61344565f87ca3512c0ba8fac32627fde8ee919b7badae07b2116e285f049');\nhashMap.set('helm-values','0aa79bb0257d0d72e54dfd2653e59bfef63b97e46c035b7443593bdf6e6382aa');\nhashMap.set('helmfile','ab63e5bc2bb381939a6b75911947e3fc79d31827423ded07f61ea1c98d95a542');\nhashMap.set('helmsman','951deeb3355da751ef39c9e932b26ea749450e32e75759e4b5fc29359e100b37');\nhashMap.set('helmv3','b554064ec6461a3d18059629365a3bf87cbe38c88dfce253d97618701296452d');\nhashMap.set('hermit','0fb25b7766c3a264fbb765ff75b1542b24136c4c9f933696d4a5aecfed637071');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','dffe954a4e18c2dc4bfdaa12222fe8ddc3395869afd5afa603fc2b6264747984');\nhashMap.set('html','81fa6c2bf2b868596584a48b949645207a2aa3081951ed99183ee50b70b77d5f');\nhashMap.set('jenkins','7fda0e7e0f3d5e18088ccb3594f727f4cfc48b064706bdaaf1a0a075b6a2cff5');\nhashMap.set('jsonnet-bundler','4cedeb0394e5c38361d1868ff45b4f34747ab8c492378b6e63dcaf1f4f3c024d');\nhashMap.set('kotlin-script','95ebc844c040ca047321b207d525220e29774a2a1fe06f9639e8353c66908564');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','4a4321595a55de36669f3bcc6fb54236ad81c8f80ec9cbd3888f49a45fbe70e7');\nhashMap.set('leiningen','c8397e376f1717c2f771ae9ea3ba6b720d2422b133cf937e762c44e42be146a2');\nhashMap.set('maven','c110b99291c2a5bc82cf7a69330275e9bbd7dc8ba3e9e987611dfcffbe002d8d');\nhashMap.set('maven-wrapper','6e53b6e4abf1d20b75094c7a70d66b4a5ac39954f009aa401f5e55dada8be4d0');\nhashMap.set('meteor','4636a47ba4dcfff19fe662572ef7a40d17146be3c966e00ef437e1fc8de92776');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','59c691024c34cb4be4d9b4f811019ae9b22410df0da54977cdcecea261fbbbf5');\nhashMap.set('mix','0f79163dc2a1c896599d152be635c23beaf16812ae3d8fbfffec98c7bd0de872');\nhashMap.set('nix','9cbd96a29fe96e3df7418e422256380202f07970cf7f00b08388c181224a2b85');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','9686302b38f9d6ff899cc69590ec2b9677fd5451f52d227649c0e0812b15c6f9');\nhashMap.set('nuget','fb02247c67a198ffe414a44d23c7894bd114dcc53803334f82e39479e7b27f6f');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','d6567a733ef3983112b46fdccd7ceebfcd48411104e0c6b6e714d4310db48024');\nhashMap.set('pep621','5a01837b4bc0b575073d1d3d44d9cb030ad66ea2bfb0be830f83f53c30bdb277');\nhashMap.set('pep723','77022a0eae6a3cbb74a1e6d596db1276e379768e40448192b3fa81edd14ca73f');\nhashMap.set('pip-compile','a98dc76a002e1dc21662237f009ff8fea36236bb4e24cb82ee30c6a78f57271f');\nhashMap.set('pip_requirements','bf3a407f72abf711230247bef94ba5dc84c08a35107b0f017912fad66afa716a');\nhashMap.set('pip_setup','df18fba2bdcf48f3ca12a8f7e5cd28df31e2368d5528127277038ef4206eca79');\nhashMap.set('pipenv','baf237cd77173c1a7a9c7fa2a8bfb214f3c488ba0cc27f0e8f334df192e3a398');\nhashMap.set('pixi','e31c397982ffa34222b061f23f3b3683f42523dd5dca45ecce2448b0ebc55ea2');\nhashMap.set('poetry','e9dea5d591c87956b9f018414cb3dab8f2e13580a13be00550fdce198fdf08e6');\nhashMap.set('pre-commit','760f2c291ae084db889f722390798a0e2d431ccdc3bc676e73b14901ebea19ac');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','8e7c65dfd1999de4f7c44392e949a4d8f4701eb86df59d550e4657feb06b1872');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','40927b98dd2bac45dba60e66b5fd0e6b84b61d02db8be536fda7b14546a4feb7');\nhashMap.set('renovate-config','dfaf3f03ddaf70c332f7916106648f36dbfa6a36dd76d15dd27fa116ab3c174c');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','6ace53db02874d73620d2d872291839820a512a9529c42d174358c692e5db720');\nhashMap.set('sbt','e1eb5c7f0171a9bb1b6bd4a36a91039a31b6c84e0983d91d930be31a69506d9e');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','4a3a7c812d34739c07685691e7e64c7d3127f9d7d4aff99dc45a25df97ed9745');\nhashMap.set('smithy','9641b91d065ffb63be0dd888139a0402dba41e550f8b44c592db9daf52109100');\nhashMap.set('sveltos','60dd75bb53ace31217211100d622fdb65068c6162758b6ae7103a6ce8bdc9f90');\nhashMap.set('swift','cdf063debdbf36888523ff8cec6d2d1b0ec6f49b37b2fbcd80b0d4f6a31114e1');\nhashMap.set('tekton','33948f5bdf7553909fa63744adb26da97ddf366e9499bccab1250879570267c9');\nhashMap.set('terraform','6788a8569ba9c50c763ffa2bed952a4314ae8e696c29f93d3eb7c4a12d99ce20');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','300f8fb3c09667654412d2f5dd8ab4882e0f5d1d7a8bc39794993d2e7e58d1b7');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','f423bfa2b42a2bfc0e38a33ebd4f9d452473e7ed4e7ad6384a99eb9a35d97479');\nhashMap.set('travis','f3e2f38e699c390b00ff481be5e91dceaa81609e93caf9a4214933de759c84fc');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','48e2bff8d3a96e8011ee12776fe9c6e8aac4718ff47e891c294a8f12660cb1bb');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','416bcf61144b276b3112814c6e6d261aa29608f46fbb0516c471d35c16f8f0d7');\nhashMap.set('regex','20be5247fdc164173871a051acb0527da017d0c155c653d7563601f55e7b3ff5');"],"mappings":"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"}
@@ -99,6 +99,16 @@ const TflintWith = z.object({ tflint_version: z.string().optional() }).transform
99
99
  }];
100
100
  return [parseValue(version)];
101
101
  });
102
+ /**
103
+ * An Action which pins a version of `slsa-framework/verifier`
104
+ */
105
+ const SlsaVerifierWith = z.object({
106
+ version: z.string().optional(),
107
+ repo: z.string().min(1).catch("slsa-framework/verifier")
108
+ }).transform(({ version, repo }) => [{
109
+ packageName: repo,
110
+ ...parseValue(version)
111
+ }]);
102
112
  const githubReleasesDynamicActions = {
103
113
  "conda-incubator/setup-miniconda": {
104
114
  datasource: GithubReleasesDatasource.id,
@@ -130,6 +140,26 @@ const githubReleasesDynamicActions = {
130
140
  packageName: "",
131
141
  withSchema: InstallBinaryWith
132
142
  },
143
+ "slsa-framework/actions/install/verifier": {
144
+ datasource: GithubReleasesDatasource.id,
145
+ packageName: "",
146
+ withSchema: SlsaVerifierWith
147
+ },
148
+ "slsa-framework/actions/verify/build": {
149
+ datasource: GithubReleasesDatasource.id,
150
+ packageName: "",
151
+ withSchema: SlsaVerifierWith
152
+ },
153
+ "slsa-framework/actions/verify/source": {
154
+ datasource: GithubReleasesDatasource.id,
155
+ packageName: "",
156
+ withSchema: SlsaVerifierWith
157
+ },
158
+ "slsa-framework/actions/verify/vsa": {
159
+ datasource: GithubReleasesDatasource.id,
160
+ packageName: "",
161
+ withSchema: SlsaVerifierWith
162
+ },
133
163
  "terraform-linters/setup-tflint": {
134
164
  datasource: GithubReleasesDatasource.id,
135
165
  depName: "tflint",
@@ -1 +1 @@
1
- {"version":3,"file":"github-releases-dynamic.js","names":[],"sources":["../../../../../lib/modules/manager/github-actions/known-actions/github-releases-dynamic.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { GithubReleasesDatasource } from '../../../datasource/github-releases/index.ts';\nimport * as npmVersioning from '../../../versioning/npm/index.ts';\nimport type { PackageDependency } from '../../types.ts';\nimport type { ActionSchema, KnownActionConfig } from '../types.ts';\nimport {\n actionsVersionsExtractVersion,\n parsePartialValue,\n parseValue,\n} from './utils.ts';\n\nconst InstallBinaryWith: ActionSchema = z\n .object({ repo: z.string(), tag: z.string() })\n .transform(({ repo, tag }) => [{ packageName: repo, ...parseValue(tag) }]);\n\n// `erlef/setup-beam` can yield up to 4 dependencies from a single step: OTP,\n// Elixir, Gleam, and rebar3. All inputs are optional, so only emit a\n// dependency for the ones a workflow actually sets.\n//\n// All 4 inputs accept \"values like `22.x`, or even `>22`\", so they need a\n// versioning which understands ranges. OTP is the exception: it releases\n// 4-component versions (e.g. `26.2.5.3`) which aren't valid semver, so it\n// keeps the default versioning and stays unfixed for now.\nconst ErlefSetupBeamWith: ActionSchema = z\n .object({\n 'otp-version': z.string().optional(),\n 'elixir-version': z.string().optional(),\n 'gleam-version': z.string().optional(),\n 'rebar3-version': z.string().optional(),\n })\n .transform(\n ({\n 'otp-version': otpVersion,\n 'elixir-version': elixirVersion,\n 'gleam-version': gleamVersion,\n 'rebar3-version': rebar3Version,\n }) => {\n const deps: PackageDependency[] = [];\n\n if (otpVersion) {\n deps.push({\n packageName: 'erlang/otp',\n // erlang/otp tags releases like `OTP-27.1.2`\n extractVersion: '^OTP-(?<version>.+)$',\n ...parseValue(otpVersion),\n });\n }\n\n if (elixirVersion) {\n deps.push({\n packageName: 'elixir-lang/elixir',\n versioning: npmVersioning.id,\n ...parseValue(elixirVersion),\n });\n }\n\n if (gleamVersion) {\n deps.push({\n packageName: 'gleam-lang/gleam',\n versioning: npmVersioning.id,\n ...parseValue(gleamVersion),\n });\n }\n\n if (rebar3Version) {\n deps.push({\n packageName: 'erlang/rebar3',\n versioning: npmVersioning.id,\n ...parseValue(rebar3Version),\n });\n }\n\n return deps;\n },\n );\n\n// `moonrepo/setup-toolchain` can yield up to 2 dependencies from a single\n// step: the `moon` binary and the `proto` binary. Both inputs are optional,\n// so only emit a dependency for the ones a workflow actually sets.\nconst MoonrepoSetupToolchainWith: ActionSchema = z\n .object({\n 'moon-version': z.string().optional(),\n 'proto-version': z.string().optional(),\n })\n .transform(\n ({ 'moon-version': moonVersion, 'proto-version': protoVersion }) => {\n const deps: PackageDependency[] = [];\n\n if (moonVersion) {\n deps.push({\n packageName: 'moonrepo/moon',\n ...parseValue(moonVersion),\n });\n }\n\n if (protoVersion) {\n deps.push({\n packageName: 'moonrepo/proto',\n ...parseValue(protoVersion),\n });\n }\n\n return deps;\n },\n );\n\n// `crystal-lang/install-crystal` can yield up to 2 dependencies from a\n// single step: the Crystal compiler itself, and the shards package manager.\n// Both inputs are optional, so only emit a dependency for the ones a\n// workflow actually sets.\n//\n// Both install \"a particular release (if the full version is specified), or\n// the latest patch version of a release series\", so a partial version such as\n// `1.2` needs to keep its precision.\nconst InstallCrystalWith: ActionSchema = z\n .object({\n crystal: z.string().optional(),\n shards: z.string().optional(),\n })\n .transform(({ crystal, shards }) => {\n const deps: PackageDependency[] = [];\n\n if (crystal) {\n deps.push({\n packageName: 'crystal-lang/crystal',\n ...parsePartialValue(crystal),\n });\n }\n\n if (shards) {\n deps.push({\n packageName: 'crystal-lang/shards',\n ...parsePartialValue(shards),\n });\n }\n\n return deps;\n });\n\n// `conda-incubator/setup-miniconda` exposes 6 separate version inputs\n// (`miniconda-version`, `miniforge-version`, `conda-version`,\n// `conda-build-version`, `python-version`, `mamba-version`), but only 2 map\n// onto a datasource we can reliably use: `miniforge-version` (GitHub\n// releases of `conda-forge/miniforge`) and `python-version` (the same\n// `actions/python-versions` releases already used for `actions/setup-python`).\n// The other 4 are versioned via anaconda.org channels or an installer\n// archive with no clean Renovate datasource, so they're intentionally not\n// tracked. Both supported inputs are optional, so only emit a dependency\n// for the ones a workflow actually sets.\nconst SetupMinicondaWith: ActionSchema = z\n .object({\n 'miniforge-version': z.string().optional(),\n 'python-version': z.string().optional(),\n })\n .transform(\n ({\n 'miniforge-version': miniforgeVersion,\n 'python-version': pythonVersion,\n }) => {\n const deps: PackageDependency[] = [];\n\n if (miniforgeVersion) {\n deps.push({\n datasource: GithubReleasesDatasource.id,\n depName: 'miniforge',\n packageName: 'conda-forge/miniforge',\n ...parseValue(miniforgeVersion),\n });\n }\n\n if (pythonVersion) {\n deps.push({\n datasource: GithubReleasesDatasource.id,\n depName: 'python',\n packageName: 'actions/python-versions',\n versioning: npmVersioning.id,\n extractVersion: actionsVersionsExtractVersion,\n ...parseValue(pythonVersion),\n });\n }\n\n return deps;\n },\n );\n\n// `'latest'` is a valid, documented value for `tflint_version` (it's also the\n// action's own default), but it isn't a version we can pin/bump, so treat it\n// as present-but-unsupported rather than as an invalid value.\nconst TflintWith: ActionSchema = z\n .object({ tflint_version: z.string().optional() })\n .transform(({ tflint_version: version }) => {\n if (version === 'latest') {\n return [\n {\n currentValue: version,\n depType: 'uses-with',\n skipStage: 'extract',\n skipReason: 'unsupported-version',\n },\n ];\n }\n return [parseValue(version)];\n });\n\nexport const githubReleasesDynamicActions: Record<string, KnownActionConfig> = {\n // https://github.com/conda-incubator/setup-miniconda\n 'conda-incubator/setup-miniconda': {\n datasource: GithubReleasesDatasource.id,\n packageName: '', // determined per dependency: miniforge-version, python-version\n withSchema: SetupMinicondaWith,\n },\n // https://github.com/crystal-lang/install-crystal\n 'crystal-lang/install-crystal': {\n datasource: GithubReleasesDatasource.id,\n packageName: '', // determined per dependency: crystal, shards\n withSchema: InstallCrystalWith,\n },\n // https://github.com/erlef/setup-beam\n 'erlef/setup-beam': {\n datasource: GithubReleasesDatasource.id,\n packageName: '', // determined per dependency: OTP, Elixir, Gleam, rebar3\n withSchema: ErlefSetupBeamWith,\n },\n 'jaxxstorm/action-install-gh-release': {\n datasource: GithubReleasesDatasource.id,\n packageName: '', // determined from `repo` input\n withSchema: InstallBinaryWith,\n },\n // https://github.com/moonrepo/setup-toolchain\n 'moonrepo/setup-toolchain': {\n datasource: GithubReleasesDatasource.id,\n packageName: '', // determined per dependency: moon-version, proto-version\n withSchema: MoonrepoSetupToolchainWith,\n },\n 'sigoden/install-binary': {\n datasource: GithubReleasesDatasource.id,\n packageName: '', // determined from `repo` input\n withSchema: InstallBinaryWith,\n },\n // https://github.com/terraform-linters/setup-tflint\n 'terraform-linters/setup-tflint': {\n datasource: GithubReleasesDatasource.id,\n depName: 'tflint',\n packageName: 'terraform-linters/tflint',\n withSchema: TflintWith,\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"github-releases-dynamic.js","names":[],"sources":["../../../../../lib/modules/manager/github-actions/known-actions/github-releases-dynamic.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { GithubReleasesDatasource } from '../../../datasource/github-releases/index.ts';\nimport * as npmVersioning from '../../../versioning/npm/index.ts';\nimport type { PackageDependency } from '../../types.ts';\nimport type { ActionSchema, KnownActionConfig } from '../types.ts';\nimport {\n actionsVersionsExtractVersion,\n parsePartialValue,\n parseValue,\n} from './utils.ts';\n\nconst InstallBinaryWith: ActionSchema = z\n .object({ repo: z.string(), tag: z.string() })\n .transform(({ repo, tag }) => [{ packageName: repo, ...parseValue(tag) }]);\n\n// `erlef/setup-beam` can yield up to 4 dependencies from a single step: OTP,\n// Elixir, Gleam, and rebar3. All inputs are optional, so only emit a\n// dependency for the ones a workflow actually sets.\n//\n// All 4 inputs accept \"values like `22.x`, or even `>22`\", so they need a\n// versioning which understands ranges. OTP is the exception: it releases\n// 4-component versions (e.g. `26.2.5.3`) which aren't valid semver, so it\n// keeps the default versioning and stays unfixed for now.\nconst ErlefSetupBeamWith: ActionSchema = z\n .object({\n 'otp-version': z.string().optional(),\n 'elixir-version': z.string().optional(),\n 'gleam-version': z.string().optional(),\n 'rebar3-version': z.string().optional(),\n })\n .transform(\n ({\n 'otp-version': otpVersion,\n 'elixir-version': elixirVersion,\n 'gleam-version': gleamVersion,\n 'rebar3-version': rebar3Version,\n }) => {\n const deps: PackageDependency[] = [];\n\n if (otpVersion) {\n deps.push({\n packageName: 'erlang/otp',\n // erlang/otp tags releases like `OTP-27.1.2`\n extractVersion: '^OTP-(?<version>.+)$',\n ...parseValue(otpVersion),\n });\n }\n\n if (elixirVersion) {\n deps.push({\n packageName: 'elixir-lang/elixir',\n versioning: npmVersioning.id,\n ...parseValue(elixirVersion),\n });\n }\n\n if (gleamVersion) {\n deps.push({\n packageName: 'gleam-lang/gleam',\n versioning: npmVersioning.id,\n ...parseValue(gleamVersion),\n });\n }\n\n if (rebar3Version) {\n deps.push({\n packageName: 'erlang/rebar3',\n versioning: npmVersioning.id,\n ...parseValue(rebar3Version),\n });\n }\n\n return deps;\n },\n );\n\n// `moonrepo/setup-toolchain` can yield up to 2 dependencies from a single\n// step: the `moon` binary and the `proto` binary. Both inputs are optional,\n// so only emit a dependency for the ones a workflow actually sets.\nconst MoonrepoSetupToolchainWith: ActionSchema = z\n .object({\n 'moon-version': z.string().optional(),\n 'proto-version': z.string().optional(),\n })\n .transform(\n ({ 'moon-version': moonVersion, 'proto-version': protoVersion }) => {\n const deps: PackageDependency[] = [];\n\n if (moonVersion) {\n deps.push({\n packageName: 'moonrepo/moon',\n ...parseValue(moonVersion),\n });\n }\n\n if (protoVersion) {\n deps.push({\n packageName: 'moonrepo/proto',\n ...parseValue(protoVersion),\n });\n }\n\n return deps;\n },\n );\n\n// `crystal-lang/install-crystal` can yield up to 2 dependencies from a\n// single step: the Crystal compiler itself, and the shards package manager.\n// Both inputs are optional, so only emit a dependency for the ones a\n// workflow actually sets.\n//\n// Both install \"a particular release (if the full version is specified), or\n// the latest patch version of a release series\", so a partial version such as\n// `1.2` needs to keep its precision.\nconst InstallCrystalWith: ActionSchema = z\n .object({\n crystal: z.string().optional(),\n shards: z.string().optional(),\n })\n .transform(({ crystal, shards }) => {\n const deps: PackageDependency[] = [];\n\n if (crystal) {\n deps.push({\n packageName: 'crystal-lang/crystal',\n ...parsePartialValue(crystal),\n });\n }\n\n if (shards) {\n deps.push({\n packageName: 'crystal-lang/shards',\n ...parsePartialValue(shards),\n });\n }\n\n return deps;\n });\n\n// `conda-incubator/setup-miniconda` exposes 6 separate version inputs\n// (`miniconda-version`, `miniforge-version`, `conda-version`,\n// `conda-build-version`, `python-version`, `mamba-version`), but only 2 map\n// onto a datasource we can reliably use: `miniforge-version` (GitHub\n// releases of `conda-forge/miniforge`) and `python-version` (the same\n// `actions/python-versions` releases already used for `actions/setup-python`).\n// The other 4 are versioned via anaconda.org channels or an installer\n// archive with no clean Renovate datasource, so they're intentionally not\n// tracked. Both supported inputs are optional, so only emit a dependency\n// for the ones a workflow actually sets.\nconst SetupMinicondaWith: ActionSchema = z\n .object({\n 'miniforge-version': z.string().optional(),\n 'python-version': z.string().optional(),\n })\n .transform(\n ({\n 'miniforge-version': miniforgeVersion,\n 'python-version': pythonVersion,\n }) => {\n const deps: PackageDependency[] = [];\n\n if (miniforgeVersion) {\n deps.push({\n datasource: GithubReleasesDatasource.id,\n depName: 'miniforge',\n packageName: 'conda-forge/miniforge',\n ...parseValue(miniforgeVersion),\n });\n }\n\n if (pythonVersion) {\n deps.push({\n datasource: GithubReleasesDatasource.id,\n depName: 'python',\n packageName: 'actions/python-versions',\n versioning: npmVersioning.id,\n extractVersion: actionsVersionsExtractVersion,\n ...parseValue(pythonVersion),\n });\n }\n\n return deps;\n },\n );\n\n// `'latest'` is a valid, documented value for `tflint_version` (it's also the\n// action's own default), but it isn't a version we can pin/bump, so treat it\n// as present-but-unsupported rather than as an invalid value.\nconst TflintWith: ActionSchema = z\n .object({ tflint_version: z.string().optional() })\n .transform(({ tflint_version: version }) => {\n if (version === 'latest') {\n return [\n {\n currentValue: version,\n depType: 'uses-with',\n skipStage: 'extract',\n skipReason: 'unsupported-version',\n },\n ];\n }\n return [parseValue(version)];\n });\n\n/**\n * An Action which pins a version of `slsa-framework/verifier`\n */\nconst SlsaVerifierWith: ActionSchema = z\n .object({\n version: z.string().optional(),\n repo: z.string().min(1).catch('slsa-framework/verifier'),\n })\n .transform(({ version, repo }) => [\n { packageName: repo, ...parseValue(version) },\n ]);\n\nexport const githubReleasesDynamicActions: Record<string, KnownActionConfig> = {\n // https://github.com/conda-incubator/setup-miniconda\n 'conda-incubator/setup-miniconda': {\n datasource: GithubReleasesDatasource.id,\n packageName: '', // determined per dependency: miniforge-version, python-version\n withSchema: SetupMinicondaWith,\n },\n // https://github.com/crystal-lang/install-crystal\n 'crystal-lang/install-crystal': {\n datasource: GithubReleasesDatasource.id,\n packageName: '', // determined per dependency: crystal, shards\n withSchema: InstallCrystalWith,\n },\n // https://github.com/erlef/setup-beam\n 'erlef/setup-beam': {\n datasource: GithubReleasesDatasource.id,\n packageName: '', // determined per dependency: OTP, Elixir, Gleam, rebar3\n withSchema: ErlefSetupBeamWith,\n },\n 'jaxxstorm/action-install-gh-release': {\n datasource: GithubReleasesDatasource.id,\n packageName: '', // determined from `repo` input\n withSchema: InstallBinaryWith,\n },\n // https://github.com/moonrepo/setup-toolchain\n 'moonrepo/setup-toolchain': {\n datasource: GithubReleasesDatasource.id,\n packageName: '', // determined per dependency: moon-version, proto-version\n withSchema: MoonrepoSetupToolchainWith,\n },\n 'sigoden/install-binary': {\n datasource: GithubReleasesDatasource.id,\n packageName: '', // determined from `repo` input\n withSchema: InstallBinaryWith,\n },\n // https://github.com/slsa-framework/actions/tree/main/install/verifier\n 'slsa-framework/actions/install/verifier': {\n datasource: GithubReleasesDatasource.id,\n packageName: '', // determined from `repo` input, defaults to slsa-framework/verifier\n withSchema: SlsaVerifierWith,\n },\n // https://github.com/slsa-framework/actions/tree/main/verify/build\n 'slsa-framework/actions/verify/build': {\n datasource: GithubReleasesDatasource.id,\n packageName: '', // determined from `repo` input, defaults to slsa-framework/verifier\n withSchema: SlsaVerifierWith,\n },\n // https://github.com/slsa-framework/actions/tree/main/verify/source\n 'slsa-framework/actions/verify/source': {\n datasource: GithubReleasesDatasource.id,\n packageName: '', // determined from `repo` input, defaults to slsa-framework/verifier\n withSchema: SlsaVerifierWith,\n },\n // https://github.com/slsa-framework/actions/tree/main/verify/vsa\n 'slsa-framework/actions/verify/vsa': {\n datasource: GithubReleasesDatasource.id,\n packageName: '', // determined from `repo` input, defaults to slsa-framework/verifier\n withSchema: SlsaVerifierWith,\n },\n // https://github.com/terraform-linters/setup-tflint\n 'terraform-linters/setup-tflint': {\n datasource: GithubReleasesDatasource.id,\n depName: 'tflint',\n packageName: 'terraform-linters/tflint',\n withSchema: TflintWith,\n },\n};\n"],"mappings":"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"}
@@ -237,6 +237,16 @@ const githubReleasesActions = {
237
237
  packageName: "sigstore/cosign",
238
238
  withSchema: valSchema("cosign-release")
239
239
  },
240
+ "slsa-framework/actions/attest/actions": {
241
+ datasource: GithubReleasesDatasource.id,
242
+ packageName: "slsa-framework/attester",
243
+ withSchema: valSchema("version")
244
+ },
245
+ "slsa-framework/actions/slsa_with_provenance": {
246
+ datasource: GithubReleasesDatasource.id,
247
+ packageName: "slsa-framework/source-tool",
248
+ withSchema: valSchema("version")
249
+ },
240
250
  "stCarolas/setup-maven": {
241
251
  datasource: GithubReleasesDatasource.id,
242
252
  depName: "maven",
@@ -1 +1 @@
1
- {"version":3,"file":"github-releases.js","names":["nodeVersioning.id","condaVersioning.id"],"sources":["../../../../../lib/modules/manager/github-actions/known-actions/github-releases.ts"],"sourcesContent":["import { GithubReleasesDatasource } from '../../../datasource/github-releases/index.ts';\nimport * as condaVersioning from '../../../versioning/conda/index.ts';\nimport * as nodeVersioning from '../../../versioning/node/index.ts';\nimport * as npmVersioning from '../../../versioning/npm/index.ts';\nimport type { KnownActionConfig } from '../types.ts';\nimport {\n actionsVersionsExtractVersion,\n partialValSchema,\n valSchema,\n} from './utils.ts';\n\nexport const githubReleasesActions: Record<string, KnownActionConfig> = {\n // https://github.com/actions/setup-go\n 'actions/setup-go': {\n datasource: GithubReleasesDatasource.id,\n depName: 'go',\n packageName: 'actions/go-versions',\n versioning: npmVersioning.id,\n extractVersion: actionsVersionsExtractVersion,\n withSchema: valSchema('go-version'),\n },\n // https://github.com/actions/setup-node\n 'actions/setup-node': {\n datasource: GithubReleasesDatasource.id,\n depName: 'node',\n packageName: 'actions/node-versions',\n versioning: nodeVersioning.id,\n extractVersion: actionsVersionsExtractVersion,\n withSchema: valSchema('node-version'),\n },\n // https://github.com/actions/setup-python\n 'actions/setup-python': {\n datasource: GithubReleasesDatasource.id,\n depName: 'python',\n packageName: 'actions/python-versions',\n versioning: npmVersioning.id,\n extractVersion: actionsVersionsExtractVersion,\n withSchema: valSchema('python-version'),\n },\n // https://github.com/aquaproj/aqua-installer\n 'aquaproj/aqua-installer': {\n datasource: GithubReleasesDatasource.id,\n depName: 'aqua',\n packageName: 'aquaproj/aqua',\n withSchema: valSchema('aqua_version'),\n },\n // https://github.com/aquasecurity/setup-trivy\n 'aquasecurity/setup-trivy': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'aquasecurity/trivy',\n },\n // https://github.com/aquasecurity/trivy-action\n 'aquasecurity/trivy-action': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'aquasecurity/trivy',\n },\n // https://github.com/astral-sh/ruff-action\n 'astral-sh/ruff-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'ruff',\n packageName: 'astral-sh/ruff',\n },\n // https://github.com/astral-sh/setup-uv\n 'astral-sh/setup-uv': {\n datasource: GithubReleasesDatasource.id,\n versioning: npmVersioning.id,\n packageName: 'astral-sh/uv',\n },\n 'azure/setup-helm': {\n datasource: GithubReleasesDatasource.id,\n depName: 'helm',\n packageName: 'helm/helm',\n },\n // https://github.com/azure/setup-kubectl\n 'azure/setup-kubectl': {\n datasource: GithubReleasesDatasource.id,\n depName: 'kubectl',\n packageName: 'kubernetes/kubernetes',\n },\n // https://github.com/bufbuild/buf-setup-action\n 'bufbuild/buf-setup-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'buf',\n packageName: 'bufbuild/buf',\n },\n // https://github.com/cargo-bins/cargo-binstall\n 'cargo-bins/cargo-binstall': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'cargo-bins/cargo-binstall',\n // the repo also publishes releases for its internal sub-crates (e.g.\n // `detect-targets-v0.1.91`, `binstalk-v0.28.81`) — only match the bare\n // main-tool release tag\n extractVersion: '^v(?<version>\\\\d+\\\\.\\\\d+\\\\.\\\\d+)$',\n },\n // https://github.com/cue-lang/setup-cue\n 'cue-lang/setup-cue': {\n datasource: GithubReleasesDatasource.id,\n depName: 'cue',\n packageName: 'cue-lang/cue',\n },\n // https://github.com/dagger/dagger-for-github\n 'dagger/dagger-for-github': {\n datasource: GithubReleasesDatasource.id,\n depName: 'dagger',\n packageName: 'dagger/dagger',\n // the repo also publishes per-SDK/component tags sharing the same\n // version (e.g. `sdk/typescript/v0.21.9`, `helm/chart/v0.21.9`) — only\n // match the bare release tag\n extractVersion: '^v(?<version>\\\\d+\\\\..*)$',\n },\n // https://github.com/denoland/setup-deno\n 'denoland/setup-deno': {\n datasource: GithubReleasesDatasource.id,\n depName: 'deno',\n packageName: 'denoland/deno',\n versioning: npmVersioning.id,\n withSchema: valSchema('deno-version'),\n },\n // https://github.com/docker/setup-buildx-action\n 'docker/setup-buildx-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'buildx',\n packageName: 'docker/buildx',\n },\n // https://github.com/docker/setup-compose-action\n 'docker/setup-compose-action': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'docker/compose',\n },\n // https://github.com/docker/setup-docker-action\n 'docker/setup-docker-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'docker',\n packageName: 'moby/moby',\n extractVersion: '^docker-(?<version>.+)$',\n },\n // https://github.com/extractions/setup-just\n 'extractions/setup-just': {\n datasource: GithubReleasesDatasource.id,\n depName: 'just',\n packageName: 'casey/just',\n withSchema: valSchema('just-version'),\n },\n // https://github.com/foundry-rs/foundry-toolchain\n 'foundry-rs/foundry-toolchain': {\n datasource: GithubReleasesDatasource.id,\n depName: 'foundry',\n packageName: 'foundry-rs/foundry',\n },\n // https://github.com/github/gh-aw-actions/tree/main/setup-cli\n 'github/gh-aw-actions/setup-cli': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'github/gh-aw',\n // A major-version channel such as `v1` installs the latest stable\n // release of that major, so preserve its precision.\n withSchema: partialValSchema('version'),\n },\n // https://github.com/GitTools/actions (there is no root-level Action, only\n // subpaths are usable; the sibling `GitTools/actions/gitreleasemanager/setup`\n // is a separate, unrelated Action)\n 'GitTools/actions/gitversion/setup': {\n datasource: GithubReleasesDatasource.id,\n depName: 'gitversion',\n packageName: 'GitTools/GitVersion',\n // `versionSpec` is documented as \"the form of 6.8.x or exact version\n // like 6.0.0\", so it may be a range\n versioning: npmVersioning.id,\n withSchema: valSchema('versionSpec'),\n },\n // https://github.com/golangci/golangci-lint-action\n 'golangci/golangci-lint-action': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'golangci/golangci-lint',\n // in the default `binary` install mode, `version` may be a partial\n // version such as `v2.3` rather than a pinned version\n withSchema: partialValSchema('version'),\n },\n // https://github.com/goreleaser/goreleaser-action\n 'goreleaser/goreleaser-action': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'goreleaser/goreleaser',\n // the default value (`~> v2`) is itself a range, not a pinned version\n versioning: npmVersioning.id,\n },\n // https://github.com/hashicorp/setup-packer\n 'hashicorp/setup-packer': {\n datasource: GithubReleasesDatasource.id,\n depName: 'packer',\n packageName: 'hashicorp/packer',\n },\n // https://github.com/hashicorp/setup-terraform\n 'hashicorp/setup-terraform': {\n datasource: GithubReleasesDatasource.id,\n depName: 'terraform',\n packageName: 'hashicorp/terraform',\n // `terraform_version` may be a constraint string (e.g. `<1.2.0`,\n // `~1.1.0`) rather than a full version\n versioning: npmVersioning.id,\n withSchema: valSchema('terraform_version'),\n },\n // https://github.com/helm/chart-releaser-action\n 'helm/chart-releaser-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'chart-releaser',\n packageName: 'helm/chart-releaser',\n },\n // https://github.com/helm/chart-testing-action\n 'helm/chart-testing-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'chart-testing',\n packageName: 'helm/chart-testing',\n },\n // https://github.com/j178/prek-action\n 'j178/prek-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'prek',\n packageName: 'j178/prek',\n // the value may be a semver range (e.g. `0.3.x`, `<=1.0.0`), not just a\n // pinned version\n versioning: npmVersioning.id,\n withSchema: valSchema('prek-version'),\n },\n // https://github.com/jfrog/setup-jfrog-cli\n 'jfrog/setup-jfrog-cli': {\n datasource: GithubReleasesDatasource.id,\n depName: 'jfrog-cli',\n packageName: 'jfrog/jfrog-cli',\n },\n // https://github.com/julia-actions/setup-julia\n 'julia-actions/setup-julia': {\n datasource: GithubReleasesDatasource.id,\n depName: 'julia',\n packageName: 'JuliaLang/julia',\n // the action resolves `version` with node's semver package, so the value\n // may be a partial version (e.g. `1.10`) or a range (e.g. `^1.6`) rather\n // than a pinned version\n versioning: npmVersioning.id,\n },\n // https://github.com/jwlawson/actions-setup-cmake\n 'jwlawson/actions-setup-cmake': {\n datasource: GithubReleasesDatasource.id,\n depName: 'cmake',\n packageName: 'Kitware/CMake',\n // `cmake-version` may be partly specified (e.g. `3.2`) or a wildcard\n // (e.g. `3.2.x`) rather than a full version\n versioning: npmVersioning.id,\n withSchema: valSchema('cmake-version'),\n },\n // https://github.com/mozilla-actions/sccache-action\n 'mozilla-actions/sccache-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'sccache',\n packageName: 'mozilla/sccache',\n },\n // https://github.com/opentofu/setup-opentofu\n 'opentofu/setup-opentofu': {\n datasource: GithubReleasesDatasource.id,\n depName: 'opentofu',\n packageName: 'opentofu/opentofu',\n // as with `hashicorp/setup-terraform` above, `tofu_version` may be a\n // constraint string rather than a full version\n versioning: npmVersioning.id,\n withSchema: valSchema('tofu_version'),\n },\n // https://github.com/peaceiris/actions-hugo\n 'peaceiris/actions-hugo': {\n datasource: GithubReleasesDatasource.id,\n depName: 'hugo',\n packageName: 'gohugoio/hugo',\n withSchema: valSchema('hugo-version'),\n },\n 'prefix-dev/setup-pixi': {\n datasource: GithubReleasesDatasource.id,\n versioning: condaVersioning.id,\n packageName: 'prefix-dev/pixi',\n withSchema: valSchema('pixi-version'),\n },\n // https://github.com/pulumi/actions\n 'pulumi/actions': {\n datasource: GithubReleasesDatasource.id,\n depName: 'pulumi',\n packageName: 'pulumi/pulumi',\n withSchema: valSchema('pulumi-version'),\n },\n // https://github.com/pypa/hatch/tree/install\n 'pypa/hatch': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'pypa/hatch',\n // Strip hatch- prefix from release tags\n extractVersion: '^hatch-(?<version>.+)$',\n },\n // https://github.com/raven-actions/actionlint\n 'raven-actions/actionlint': {\n datasource: GithubReleasesDatasource.id,\n depName: 'actionlint',\n packageName: 'rhysd/actionlint',\n },\n // https://github.com/reviewdog/action-setup\n 'reviewdog/action-setup': {\n datasource: GithubReleasesDatasource.id,\n depName: 'reviewdog',\n packageName: 'reviewdog/reviewdog',\n withSchema: valSchema('reviewdog_version'),\n },\n 'sigstore/cosign-installer': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'sigstore/cosign',\n withSchema: valSchema('cosign-release'),\n },\n // https://github.com/stCarolas/setup-maven\n 'stCarolas/setup-maven': {\n datasource: GithubReleasesDatasource.id,\n depName: 'maven',\n packageName: 'apache/maven',\n // apache/maven tags its releases as `maven-X.Y.Z`\n extractVersion: '^maven-(?<version>.+)$',\n // the input also documents range/glob specs (e.g. `10.x`, `>=10.15.0`),\n // not just pinned versions\n versioning: npmVersioning.id,\n withSchema: valSchema('maven-version'),\n },\n // https://github.com/subosito/flutter-action\n 'subosito/flutter-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'flutter',\n packageName: 'flutter/flutter',\n // `flutter-version` may be an x-range (e.g. `3.x`, `1.22.x`) used to\n // pick the latest release of that line, rather than a full version\n versioning: npmVersioning.id,\n withSchema: valSchema('flutter-version'),\n },\n // https://github.com/superfly/flyctl-actions (there is no root-level\n // Action for this purpose — the repo root has an unrelated action.yml, and\n // the real usable Action lives at the `setup-flyctl` subpath)\n 'superfly/flyctl-actions/setup-flyctl': {\n datasource: GithubReleasesDatasource.id,\n depName: 'flyctl',\n packageName: 'superfly/flyctl',\n },\n // https://github.com/swift-actions/setup-swift\n 'swift-actions/setup-swift': {\n datasource: GithubReleasesDatasource.id,\n depName: 'swift',\n packageName: 'swiftlang/swift',\n // swiftlang/swift tags releases like `swift-6.3.3-RELEASE`\n extractVersion: '^swift-(?<version>.+)-RELEASE$',\n // a partial `swift-version` such as `5.0` resolves to the latest\n // matching release, rather than a pinned version\n withSchema: partialValSchema('swift-version'),\n },\n 'UpCloudLtd/upcloud-cli-action': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'UpCloudLtd/upcloud-cli',\n },\n // https://github.com/WillAbides/setup-go-faster\n 'WillAbides/setup-go-faster': {\n datasource: GithubReleasesDatasource.id,\n depName: 'go',\n packageName: 'actions/go-versions',\n versioning: npmVersioning.id,\n extractVersion: actionsVersionsExtractVersion,\n withSchema: valSchema('go-version'),\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"github-releases.js","names":["nodeVersioning.id","condaVersioning.id"],"sources":["../../../../../lib/modules/manager/github-actions/known-actions/github-releases.ts"],"sourcesContent":["import { GithubReleasesDatasource } from '../../../datasource/github-releases/index.ts';\nimport * as condaVersioning from '../../../versioning/conda/index.ts';\nimport * as nodeVersioning from '../../../versioning/node/index.ts';\nimport * as npmVersioning from '../../../versioning/npm/index.ts';\nimport type { KnownActionConfig } from '../types.ts';\nimport {\n actionsVersionsExtractVersion,\n partialValSchema,\n valSchema,\n} from './utils.ts';\n\nexport const githubReleasesActions: Record<string, KnownActionConfig> = {\n // https://github.com/actions/setup-go\n 'actions/setup-go': {\n datasource: GithubReleasesDatasource.id,\n depName: 'go',\n packageName: 'actions/go-versions',\n versioning: npmVersioning.id,\n extractVersion: actionsVersionsExtractVersion,\n withSchema: valSchema('go-version'),\n },\n // https://github.com/actions/setup-node\n 'actions/setup-node': {\n datasource: GithubReleasesDatasource.id,\n depName: 'node',\n packageName: 'actions/node-versions',\n versioning: nodeVersioning.id,\n extractVersion: actionsVersionsExtractVersion,\n withSchema: valSchema('node-version'),\n },\n // https://github.com/actions/setup-python\n 'actions/setup-python': {\n datasource: GithubReleasesDatasource.id,\n depName: 'python',\n packageName: 'actions/python-versions',\n versioning: npmVersioning.id,\n extractVersion: actionsVersionsExtractVersion,\n withSchema: valSchema('python-version'),\n },\n // https://github.com/aquaproj/aqua-installer\n 'aquaproj/aqua-installer': {\n datasource: GithubReleasesDatasource.id,\n depName: 'aqua',\n packageName: 'aquaproj/aqua',\n withSchema: valSchema('aqua_version'),\n },\n // https://github.com/aquasecurity/setup-trivy\n 'aquasecurity/setup-trivy': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'aquasecurity/trivy',\n },\n // https://github.com/aquasecurity/trivy-action\n 'aquasecurity/trivy-action': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'aquasecurity/trivy',\n },\n // https://github.com/astral-sh/ruff-action\n 'astral-sh/ruff-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'ruff',\n packageName: 'astral-sh/ruff',\n },\n // https://github.com/astral-sh/setup-uv\n 'astral-sh/setup-uv': {\n datasource: GithubReleasesDatasource.id,\n versioning: npmVersioning.id,\n packageName: 'astral-sh/uv',\n },\n 'azure/setup-helm': {\n datasource: GithubReleasesDatasource.id,\n depName: 'helm',\n packageName: 'helm/helm',\n },\n // https://github.com/azure/setup-kubectl\n 'azure/setup-kubectl': {\n datasource: GithubReleasesDatasource.id,\n depName: 'kubectl',\n packageName: 'kubernetes/kubernetes',\n },\n // https://github.com/bufbuild/buf-setup-action\n 'bufbuild/buf-setup-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'buf',\n packageName: 'bufbuild/buf',\n },\n // https://github.com/cargo-bins/cargo-binstall\n 'cargo-bins/cargo-binstall': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'cargo-bins/cargo-binstall',\n // the repo also publishes releases for its internal sub-crates (e.g.\n // `detect-targets-v0.1.91`, `binstalk-v0.28.81`) — only match the bare\n // main-tool release tag\n extractVersion: '^v(?<version>\\\\d+\\\\.\\\\d+\\\\.\\\\d+)$',\n },\n // https://github.com/cue-lang/setup-cue\n 'cue-lang/setup-cue': {\n datasource: GithubReleasesDatasource.id,\n depName: 'cue',\n packageName: 'cue-lang/cue',\n },\n // https://github.com/dagger/dagger-for-github\n 'dagger/dagger-for-github': {\n datasource: GithubReleasesDatasource.id,\n depName: 'dagger',\n packageName: 'dagger/dagger',\n // the repo also publishes per-SDK/component tags sharing the same\n // version (e.g. `sdk/typescript/v0.21.9`, `helm/chart/v0.21.9`) — only\n // match the bare release tag\n extractVersion: '^v(?<version>\\\\d+\\\\..*)$',\n },\n // https://github.com/denoland/setup-deno\n 'denoland/setup-deno': {\n datasource: GithubReleasesDatasource.id,\n depName: 'deno',\n packageName: 'denoland/deno',\n versioning: npmVersioning.id,\n withSchema: valSchema('deno-version'),\n },\n // https://github.com/docker/setup-buildx-action\n 'docker/setup-buildx-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'buildx',\n packageName: 'docker/buildx',\n },\n // https://github.com/docker/setup-compose-action\n 'docker/setup-compose-action': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'docker/compose',\n },\n // https://github.com/docker/setup-docker-action\n 'docker/setup-docker-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'docker',\n packageName: 'moby/moby',\n extractVersion: '^docker-(?<version>.+)$',\n },\n // https://github.com/extractions/setup-just\n 'extractions/setup-just': {\n datasource: GithubReleasesDatasource.id,\n depName: 'just',\n packageName: 'casey/just',\n withSchema: valSchema('just-version'),\n },\n // https://github.com/foundry-rs/foundry-toolchain\n 'foundry-rs/foundry-toolchain': {\n datasource: GithubReleasesDatasource.id,\n depName: 'foundry',\n packageName: 'foundry-rs/foundry',\n },\n // https://github.com/github/gh-aw-actions/tree/main/setup-cli\n 'github/gh-aw-actions/setup-cli': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'github/gh-aw',\n // A major-version channel such as `v1` installs the latest stable\n // release of that major, so preserve its precision.\n withSchema: partialValSchema('version'),\n },\n // https://github.com/GitTools/actions (there is no root-level Action, only\n // subpaths are usable; the sibling `GitTools/actions/gitreleasemanager/setup`\n // is a separate, unrelated Action)\n 'GitTools/actions/gitversion/setup': {\n datasource: GithubReleasesDatasource.id,\n depName: 'gitversion',\n packageName: 'GitTools/GitVersion',\n // `versionSpec` is documented as \"the form of 6.8.x or exact version\n // like 6.0.0\", so it may be a range\n versioning: npmVersioning.id,\n withSchema: valSchema('versionSpec'),\n },\n // https://github.com/golangci/golangci-lint-action\n 'golangci/golangci-lint-action': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'golangci/golangci-lint',\n // in the default `binary` install mode, `version` may be a partial\n // version such as `v2.3` rather than a pinned version\n withSchema: partialValSchema('version'),\n },\n // https://github.com/goreleaser/goreleaser-action\n 'goreleaser/goreleaser-action': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'goreleaser/goreleaser',\n // the default value (`~> v2`) is itself a range, not a pinned version\n versioning: npmVersioning.id,\n },\n // https://github.com/hashicorp/setup-packer\n 'hashicorp/setup-packer': {\n datasource: GithubReleasesDatasource.id,\n depName: 'packer',\n packageName: 'hashicorp/packer',\n },\n // https://github.com/hashicorp/setup-terraform\n 'hashicorp/setup-terraform': {\n datasource: GithubReleasesDatasource.id,\n depName: 'terraform',\n packageName: 'hashicorp/terraform',\n // `terraform_version` may be a constraint string (e.g. `<1.2.0`,\n // `~1.1.0`) rather than a full version\n versioning: npmVersioning.id,\n withSchema: valSchema('terraform_version'),\n },\n // https://github.com/helm/chart-releaser-action\n 'helm/chart-releaser-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'chart-releaser',\n packageName: 'helm/chart-releaser',\n },\n // https://github.com/helm/chart-testing-action\n 'helm/chart-testing-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'chart-testing',\n packageName: 'helm/chart-testing',\n },\n // https://github.com/j178/prek-action\n 'j178/prek-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'prek',\n packageName: 'j178/prek',\n // the value may be a semver range (e.g. `0.3.x`, `<=1.0.0`), not just a\n // pinned version\n versioning: npmVersioning.id,\n withSchema: valSchema('prek-version'),\n },\n // https://github.com/jfrog/setup-jfrog-cli\n 'jfrog/setup-jfrog-cli': {\n datasource: GithubReleasesDatasource.id,\n depName: 'jfrog-cli',\n packageName: 'jfrog/jfrog-cli',\n },\n // https://github.com/julia-actions/setup-julia\n 'julia-actions/setup-julia': {\n datasource: GithubReleasesDatasource.id,\n depName: 'julia',\n packageName: 'JuliaLang/julia',\n // the action resolves `version` with node's semver package, so the value\n // may be a partial version (e.g. `1.10`) or a range (e.g. `^1.6`) rather\n // than a pinned version\n versioning: npmVersioning.id,\n },\n // https://github.com/jwlawson/actions-setup-cmake\n 'jwlawson/actions-setup-cmake': {\n datasource: GithubReleasesDatasource.id,\n depName: 'cmake',\n packageName: 'Kitware/CMake',\n // `cmake-version` may be partly specified (e.g. `3.2`) or a wildcard\n // (e.g. `3.2.x`) rather than a full version\n versioning: npmVersioning.id,\n withSchema: valSchema('cmake-version'),\n },\n // https://github.com/mozilla-actions/sccache-action\n 'mozilla-actions/sccache-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'sccache',\n packageName: 'mozilla/sccache',\n },\n // https://github.com/opentofu/setup-opentofu\n 'opentofu/setup-opentofu': {\n datasource: GithubReleasesDatasource.id,\n depName: 'opentofu',\n packageName: 'opentofu/opentofu',\n // as with `hashicorp/setup-terraform` above, `tofu_version` may be a\n // constraint string rather than a full version\n versioning: npmVersioning.id,\n withSchema: valSchema('tofu_version'),\n },\n // https://github.com/peaceiris/actions-hugo\n 'peaceiris/actions-hugo': {\n datasource: GithubReleasesDatasource.id,\n depName: 'hugo',\n packageName: 'gohugoio/hugo',\n withSchema: valSchema('hugo-version'),\n },\n 'prefix-dev/setup-pixi': {\n datasource: GithubReleasesDatasource.id,\n versioning: condaVersioning.id,\n packageName: 'prefix-dev/pixi',\n withSchema: valSchema('pixi-version'),\n },\n // https://github.com/pulumi/actions\n 'pulumi/actions': {\n datasource: GithubReleasesDatasource.id,\n depName: 'pulumi',\n packageName: 'pulumi/pulumi',\n withSchema: valSchema('pulumi-version'),\n },\n // https://github.com/pypa/hatch/tree/install\n 'pypa/hatch': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'pypa/hatch',\n // Strip hatch- prefix from release tags\n extractVersion: '^hatch-(?<version>.+)$',\n },\n // https://github.com/raven-actions/actionlint\n 'raven-actions/actionlint': {\n datasource: GithubReleasesDatasource.id,\n depName: 'actionlint',\n packageName: 'rhysd/actionlint',\n },\n // https://github.com/reviewdog/action-setup\n 'reviewdog/action-setup': {\n datasource: GithubReleasesDatasource.id,\n depName: 'reviewdog',\n packageName: 'reviewdog/reviewdog',\n withSchema: valSchema('reviewdog_version'),\n },\n 'sigstore/cosign-installer': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'sigstore/cosign',\n withSchema: valSchema('cosign-release'),\n },\n // https://github.com/slsa-framework/actions/tree/main/attest/actions\n 'slsa-framework/actions/attest/actions': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'slsa-framework/attester',\n withSchema: valSchema('version'),\n },\n // https://github.com/slsa-framework/actions/tree/main/slsa_with_provenance\n 'slsa-framework/actions/slsa_with_provenance': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'slsa-framework/source-tool',\n withSchema: valSchema('version'),\n },\n // https://github.com/stCarolas/setup-maven\n 'stCarolas/setup-maven': {\n datasource: GithubReleasesDatasource.id,\n depName: 'maven',\n packageName: 'apache/maven',\n // apache/maven tags its releases as `maven-X.Y.Z`\n extractVersion: '^maven-(?<version>.+)$',\n // the input also documents range/glob specs (e.g. `10.x`, `>=10.15.0`),\n // not just pinned versions\n versioning: npmVersioning.id,\n withSchema: valSchema('maven-version'),\n },\n // https://github.com/subosito/flutter-action\n 'subosito/flutter-action': {\n datasource: GithubReleasesDatasource.id,\n depName: 'flutter',\n packageName: 'flutter/flutter',\n // `flutter-version` may be an x-range (e.g. `3.x`, `1.22.x`) used to\n // pick the latest release of that line, rather than a full version\n versioning: npmVersioning.id,\n withSchema: valSchema('flutter-version'),\n },\n // https://github.com/superfly/flyctl-actions (there is no root-level\n // Action for this purpose — the repo root has an unrelated action.yml, and\n // the real usable Action lives at the `setup-flyctl` subpath)\n 'superfly/flyctl-actions/setup-flyctl': {\n datasource: GithubReleasesDatasource.id,\n depName: 'flyctl',\n packageName: 'superfly/flyctl',\n },\n // https://github.com/swift-actions/setup-swift\n 'swift-actions/setup-swift': {\n datasource: GithubReleasesDatasource.id,\n depName: 'swift',\n packageName: 'swiftlang/swift',\n // swiftlang/swift tags releases like `swift-6.3.3-RELEASE`\n extractVersion: '^swift-(?<version>.+)-RELEASE$',\n // a partial `swift-version` such as `5.0` resolves to the latest\n // matching release, rather than a pinned version\n withSchema: partialValSchema('swift-version'),\n },\n 'UpCloudLtd/upcloud-cli-action': {\n datasource: GithubReleasesDatasource.id,\n packageName: 'UpCloudLtd/upcloud-cli',\n },\n // https://github.com/WillAbides/setup-go-faster\n 'WillAbides/setup-go-faster': {\n datasource: GithubReleasesDatasource.id,\n depName: 'go',\n packageName: 'actions/go-versions',\n versioning: npmVersioning.id,\n extractVersion: actionsVersionsExtractVersion,\n withSchema: valSchema('go-version'),\n },\n};\n"],"mappings":"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"}
@@ -125,11 +125,6 @@ const allToolConfig = {
125
125
  packageName: "java?system=true",
126
126
  versioning: "npm"
127
127
  },
128
- "java-maven": {
129
- datasource: "java-version",
130
- packageName: "java?system=true",
131
- versioning: "maven"
132
- },
133
128
  jb: {
134
129
  datasource: "github-releases",
135
130
  packageName: "jsonnet-bundler/jsonnet-bundler",
@@ -1 +1 @@
1
- {"version":3,"file":"containerbase.js","names":["memCache.get"],"sources":["../../../lib/util/exec/containerbase.ts"],"sourcesContent":["import { isString } from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { GlobalConfig } from '../../config/global.ts';\nimport { logger } from '../../logger/index.ts';\nimport type { ReleaseResult } from '../../modules/datasource/index.ts';\nimport type { VersioningApi } from '../../modules/versioning/types.ts';\nimport { coerceArray } from '../array.ts';\nimport * as memCache from '../cache/memory/index.ts';\nimport { getEnv } from '../env.ts';\nimport { regEx } from '../regex.ts';\nimport type { Opt, ToolConfig, ToolConstraint, ToolName } from './types.ts';\n\nexport const allToolConfig: Record<ToolName, ToolConfig> = {\n apm: {\n datasource: 'github-releases',\n packageName: 'microsoft/apm',\n versioning: 'semver',\n extractVersion: '^v(?<version>.*)$',\n },\n bazelisk: {\n datasource: 'github-releases',\n packageName: 'bazelbuild/bazelisk',\n versioning: 'semver',\n },\n bun: {\n datasource: 'github-releases',\n packageName: 'oven-sh/bun',\n extractVersion: '^bun-v(?<version>.*)$',\n versioning: 'npm',\n },\n bundler: {\n datasource: 'rubygems',\n packageName: 'bundler',\n versioning: 'ruby',\n },\n cocoapods: {\n datasource: 'rubygems',\n packageName: 'cocoapods',\n versioning: 'ruby',\n },\n composer: {\n datasource: 'github-releases',\n packageName: 'containerbase/composer-prebuild',\n versioning: 'composer',\n },\n conan: {\n datasource: 'pypi',\n packageName: 'conan',\n versioning: 'pep440',\n },\n copier: {\n datasource: 'pypi',\n packageName: 'copier',\n versioning: 'pep440',\n },\n corepack: {\n datasource: 'npm',\n packageName: 'corepack',\n versioning: 'npm',\n },\n deno: {\n datasource: 'github-releases',\n packageName: 'denoland/deno',\n versioning: 'deno',\n },\n devbox: {\n datasource: 'github-releases',\n packageName: 'jetify-com/devbox',\n versioning: 'semver',\n },\n dotnet: {\n datasource: 'dotnet-version',\n packageName: 'dotnet-sdk',\n versioning: 'semver',\n },\n erlang: {\n datasource: 'github-releases',\n packageName: 'containerbase/erlang-prebuild',\n versioning: 'semver-coerced',\n },\n elixir: {\n datasource: 'github-releases',\n packageName: 'elixir-lang/elixir',\n versioning: 'semver',\n },\n flux: {\n datasource: 'github-releases',\n packageName: 'fluxcd/flux2',\n versioning: 'semver',\n },\n gh: {\n datasource: 'github-releases',\n packageName: 'cli/cli',\n versioning: 'semver',\n },\n gleam: {\n datasource: 'github-releases',\n packageName: 'gleam-lang/gleam',\n versioning: 'semver',\n },\n golang: {\n datasource: 'github-releases',\n packageName: 'containerbase/golang-prebuild',\n versioning: 'npm',\n },\n gradle: {\n datasource: 'gradle-version',\n packageName: 'gradle',\n versioning: 'gradle',\n },\n hashin: {\n datasource: 'pypi',\n packageName: 'hashin',\n versioning: 'pep440',\n },\n helm: {\n datasource: 'github-releases',\n packageName: 'helm/helm',\n versioning: 'semver',\n },\n helmfile: {\n datasource: 'github-releases',\n packageName: 'helmfile/helmfile',\n versioning: 'semver',\n },\n java: {\n datasource: 'java-version',\n packageName: 'java?system=true',\n versioning: 'npm',\n },\n /* not used in Renovate */\n 'java-maven': {\n datasource: 'java-version',\n packageName: 'java?system=true',\n versioning: 'maven',\n },\n jb: {\n datasource: 'github-releases',\n packageName: 'jsonnet-bundler/jsonnet-bundler',\n versioning: 'semver',\n },\n kustomize: {\n datasource: 'github-releases',\n packageName: 'kubernetes-sigs/kustomize',\n extractVersion: '^kustomize/v(?<version>.*)$',\n versioning: 'semver',\n },\n maven: {\n datasource: 'github-releases',\n packageName: 'containerbase/maven-prebuild',\n versioning: 'maven',\n },\n mise: {\n datasource: 'github-releases',\n packageName: 'jdx/mise',\n versioning: 'npm',\n },\n nix: {\n datasource: 'github-releases',\n packageName: 'containerbase/nix-prebuild',\n versioning: 'semver',\n },\n node: {\n datasource: 'github-releases',\n packageName: 'containerbase/node-prebuild',\n versioning: 'node',\n },\n npm: {\n datasource: 'npm',\n packageName: 'npm',\n versioning: 'npm',\n },\n pdm: {\n datasource: 'github-releases',\n packageName: 'pdm-project/pdm',\n versioning: 'semver',\n },\n php: {\n datasource: 'github-releases',\n packageName: 'containerbase/php-prebuild',\n versioning: 'composer',\n },\n 'pip-tools': {\n datasource: 'pypi',\n packageName: 'pip-tools',\n versioning: 'pep440',\n },\n pipenv: {\n datasource: 'pypi',\n packageName: 'pipenv',\n versioning: 'pep440',\n },\n pnpm: {\n datasource: 'npm',\n packageName: 'pnpm',\n versioning: 'npm',\n },\n pixi: {\n datasource: 'github-releases',\n packageName: 'prefix-dev/pixi',\n versioning: 'conda',\n extractVersion: '^v(?<version>.*)$',\n },\n poetry: {\n datasource: 'pypi',\n packageName: 'poetry',\n versioning: 'pep440',\n },\n python: {\n datasource: 'github-releases',\n packageName: 'containerbase/python-prebuild',\n versioning: 'python',\n },\n ruby: {\n datasource: 'github-releases',\n packageName: 'containerbase/ruby-prebuild',\n versioning: 'ruby',\n },\n rust: {\n datasource: 'rust-version',\n packageName: 'rust',\n versioning: 'rust-release-channel',\n },\n uv: {\n datasource: 'pypi',\n packageName: 'uv',\n versioning: 'pep440',\n },\n yarn: {\n datasource: 'npm',\n packageName: 'yarn',\n versioning: 'npm',\n },\n 'yarn-slim': {\n datasource: 'npm',\n packageName: 'yarn',\n versioning: 'npm',\n },\n dart: {\n datasource: 'dart-version',\n packageName: 'dart',\n versioning: 'npm',\n },\n flutter: {\n datasource: 'github-releases',\n packageName: 'containerbase/flutter-prebuild',\n versioning: 'npm',\n },\n vendir: {\n datasource: 'github-releases',\n packageName: 'carvel-dev/vendir',\n versioning: 'semver',\n },\n} as const;\n\nlet _getPkgReleases: Promise<\n typeof import('../../modules/datasource/index.ts')\n> | null = null;\n\nasync function getPkgReleases(\n toolConfig: ToolConfig,\n): Promise<ReleaseResult | null> {\n _getPkgReleases ??= import('../../modules/datasource/index.ts');\n const { getPkgReleases } = await _getPkgReleases;\n return getPkgReleases(toolConfig);\n}\n\nexport function getToolConfig(toolName: ToolName): ToolConfig {\n return allToolConfig[toolName];\n}\n\nexport function supportsDynamicInstall(toolName: ToolName): boolean {\n return !!allToolConfig[toolName];\n}\n\nexport function isContainerbase(): boolean {\n return !!getEnv().CONTAINERBASE;\n}\n\nexport function isDynamicInstall(\n toolConstraints?: Opt<ToolConstraint[]>,\n): boolean {\n if (GlobalConfig.get('binarySource') !== 'install') {\n return false;\n }\n if (!isContainerbase()) {\n logger.debug('Falling back to binarySource=global');\n return false;\n }\n return (\n !toolConstraints ||\n toolConstraints.every((toolConstraint) =>\n supportsDynamicInstall(toolConstraint.toolName),\n )\n );\n}\n\nfunction isStable(\n version: string,\n versioningApi: VersioningApi,\n latest?: string,\n): boolean {\n if (!versioningApi.isStable(version)) {\n return false;\n }\n if (isString(latest) && versioningApi.isGreaterThan(version, latest)) {\n return false;\n }\n return true;\n}\n\nexport async function resolveConstraint(\n toolConstraint: ToolConstraint,\n): Promise<string> {\n const { toolName } = toolConstraint;\n const toolConfig = allToolConfig[toolName];\n if (!toolConfig) {\n throw new Error(`Invalid tool to install: ${toolName}`);\n }\n\n const { get: getVersioning } =\n await import('../../modules/versioning/index.ts');\n const versioning = getVersioning(toolConfig.versioning);\n let constraint = toolConstraint.constraint;\n if (constraint) {\n if (versioning.isValid(constraint)) {\n if (versioning.isSingleVersion(constraint)) {\n return constraint.replace(regEx(/^=+/), '').trim();\n }\n } else {\n logger.warn(\n { toolName, constraint, versioning: toolConfig.versioning },\n 'Invalid tool constraint',\n );\n constraint = undefined;\n }\n }\n\n const pkgReleases = await getPkgReleases(toolConfig);\n const releases = coerceArray(pkgReleases?.releases);\n\n if (!releases?.length) {\n logger.warn({ toolConfig }, 'No tool releases found.');\n throw new Error('No tool releases found.');\n }\n\n const matchingReleases = releases.filter(\n (r) => !constraint || versioning.matches(r.version, constraint),\n );\n\n const stableMatchingVersion = matchingReleases\n .filter((r) => isStable(r.version, versioning, pkgReleases?.tags?.latest))\n .pop()?.version;\n if (stableMatchingVersion) {\n logger.debug(\n { toolName, constraint, resolvedVersion: stableMatchingVersion },\n 'Resolved stable matching version',\n );\n return stableMatchingVersion;\n }\n\n const unstableMatchingVersion = matchingReleases.pop()?.version;\n if (unstableMatchingVersion) {\n logger.debug(\n { toolName, constraint, resolvedVersion: unstableMatchingVersion },\n 'Resolved unstable matching version',\n );\n return unstableMatchingVersion;\n }\n\n const stableVersion = releases\n .filter((r) => isStable(r.version, versioning, pkgReleases?.tags?.latest))\n .pop()?.version;\n if (stableVersion) {\n logger.warn(\n { toolName, constraint, stableVersion },\n 'No matching tool versions found for constraint - using latest stable version',\n );\n }\n\n const highestVersion = releases.pop()!.version;\n logger.warn(\n { toolName, constraint, highestVersion },\n 'No matching or stable tool versions found - using an unstable version',\n );\n return highestVersion;\n}\n\n// Docker execs run in a fresh `--rm` container each time, so `memoize` must\n// stay false there - only the persistent-host (binarySource=install) path\n// can safely skip a tool it has already installed this run.\nexport async function generateInstallCommands(\n toolConstraints: Opt<ToolConstraint[]>,\n memoize = false,\n): Promise<string[]> {\n const installCommands: string[] = [];\n if (toolConstraints?.length) {\n for (const toolConstraint of toolConstraints) {\n const toolVersion = await resolveConstraint(toolConstraint);\n const { toolName } = toolConstraint;\n if (memoize) {\n const cacheKey = `containerbase-installed:${toolName}:${toolVersion}`;\n if (memCache.get<boolean | undefined>(cacheKey)) {\n continue;\n }\n memCache.set(cacheKey, true);\n }\n const installCommand = `install-tool ${toolName} ${quote(toolVersion)}`;\n installCommands.push(installCommand);\n }\n }\n return installCommands;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"containerbase.js","names":["memCache.get"],"sources":["../../../lib/util/exec/containerbase.ts"],"sourcesContent":["import { isString } from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { GlobalConfig } from '../../config/global.ts';\nimport { logger } from '../../logger/index.ts';\nimport type { ReleaseResult } from '../../modules/datasource/index.ts';\nimport type { VersioningApi } from '../../modules/versioning/types.ts';\nimport { coerceArray } from '../array.ts';\nimport * as memCache from '../cache/memory/index.ts';\nimport { getEnv } from '../env.ts';\nimport { regEx } from '../regex.ts';\nimport type { Opt, ToolConfig, ToolConstraint, ToolName } from './types.ts';\n\nexport const allToolConfig: Record<ToolName, ToolConfig> = {\n apm: {\n datasource: 'github-releases',\n packageName: 'microsoft/apm',\n versioning: 'semver',\n extractVersion: '^v(?<version>.*)$',\n },\n bazelisk: {\n datasource: 'github-releases',\n packageName: 'bazelbuild/bazelisk',\n versioning: 'semver',\n },\n bun: {\n datasource: 'github-releases',\n packageName: 'oven-sh/bun',\n extractVersion: '^bun-v(?<version>.*)$',\n versioning: 'npm',\n },\n bundler: {\n datasource: 'rubygems',\n packageName: 'bundler',\n versioning: 'ruby',\n },\n cocoapods: {\n datasource: 'rubygems',\n packageName: 'cocoapods',\n versioning: 'ruby',\n },\n composer: {\n datasource: 'github-releases',\n packageName: 'containerbase/composer-prebuild',\n versioning: 'composer',\n },\n conan: {\n datasource: 'pypi',\n packageName: 'conan',\n versioning: 'pep440',\n },\n copier: {\n datasource: 'pypi',\n packageName: 'copier',\n versioning: 'pep440',\n },\n corepack: {\n datasource: 'npm',\n packageName: 'corepack',\n versioning: 'npm',\n },\n deno: {\n datasource: 'github-releases',\n packageName: 'denoland/deno',\n versioning: 'deno',\n },\n devbox: {\n datasource: 'github-releases',\n packageName: 'jetify-com/devbox',\n versioning: 'semver',\n },\n dotnet: {\n datasource: 'dotnet-version',\n packageName: 'dotnet-sdk',\n versioning: 'semver',\n },\n erlang: {\n datasource: 'github-releases',\n packageName: 'containerbase/erlang-prebuild',\n versioning: 'semver-coerced',\n },\n elixir: {\n datasource: 'github-releases',\n packageName: 'elixir-lang/elixir',\n versioning: 'semver',\n },\n flux: {\n datasource: 'github-releases',\n packageName: 'fluxcd/flux2',\n versioning: 'semver',\n },\n gh: {\n datasource: 'github-releases',\n packageName: 'cli/cli',\n versioning: 'semver',\n },\n gleam: {\n datasource: 'github-releases',\n packageName: 'gleam-lang/gleam',\n versioning: 'semver',\n },\n golang: {\n datasource: 'github-releases',\n packageName: 'containerbase/golang-prebuild',\n versioning: 'npm',\n },\n gradle: {\n datasource: 'gradle-version',\n packageName: 'gradle',\n versioning: 'gradle',\n },\n hashin: {\n datasource: 'pypi',\n packageName: 'hashin',\n versioning: 'pep440',\n },\n helm: {\n datasource: 'github-releases',\n packageName: 'helm/helm',\n versioning: 'semver',\n },\n helmfile: {\n datasource: 'github-releases',\n packageName: 'helmfile/helmfile',\n versioning: 'semver',\n },\n java: {\n datasource: 'java-version',\n packageName: 'java?system=true',\n versioning: 'npm',\n },\n jb: {\n datasource: 'github-releases',\n packageName: 'jsonnet-bundler/jsonnet-bundler',\n versioning: 'semver',\n },\n kustomize: {\n datasource: 'github-releases',\n packageName: 'kubernetes-sigs/kustomize',\n extractVersion: '^kustomize/v(?<version>.*)$',\n versioning: 'semver',\n },\n maven: {\n datasource: 'github-releases',\n packageName: 'containerbase/maven-prebuild',\n versioning: 'maven',\n },\n mise: {\n datasource: 'github-releases',\n packageName: 'jdx/mise',\n versioning: 'npm',\n },\n nix: {\n datasource: 'github-releases',\n packageName: 'containerbase/nix-prebuild',\n versioning: 'semver',\n },\n node: {\n datasource: 'github-releases',\n packageName: 'containerbase/node-prebuild',\n versioning: 'node',\n },\n npm: {\n datasource: 'npm',\n packageName: 'npm',\n versioning: 'npm',\n },\n pdm: {\n datasource: 'github-releases',\n packageName: 'pdm-project/pdm',\n versioning: 'semver',\n },\n php: {\n datasource: 'github-releases',\n packageName: 'containerbase/php-prebuild',\n versioning: 'composer',\n },\n 'pip-tools': {\n datasource: 'pypi',\n packageName: 'pip-tools',\n versioning: 'pep440',\n },\n pipenv: {\n datasource: 'pypi',\n packageName: 'pipenv',\n versioning: 'pep440',\n },\n pnpm: {\n datasource: 'npm',\n packageName: 'pnpm',\n versioning: 'npm',\n },\n pixi: {\n datasource: 'github-releases',\n packageName: 'prefix-dev/pixi',\n versioning: 'conda',\n extractVersion: '^v(?<version>.*)$',\n },\n poetry: {\n datasource: 'pypi',\n packageName: 'poetry',\n versioning: 'pep440',\n },\n python: {\n datasource: 'github-releases',\n packageName: 'containerbase/python-prebuild',\n versioning: 'python',\n },\n ruby: {\n datasource: 'github-releases',\n packageName: 'containerbase/ruby-prebuild',\n versioning: 'ruby',\n },\n rust: {\n datasource: 'rust-version',\n packageName: 'rust',\n versioning: 'rust-release-channel',\n },\n uv: {\n datasource: 'pypi',\n packageName: 'uv',\n versioning: 'pep440',\n },\n yarn: {\n datasource: 'npm',\n packageName: 'yarn',\n versioning: 'npm',\n },\n 'yarn-slim': {\n datasource: 'npm',\n packageName: 'yarn',\n versioning: 'npm',\n },\n dart: {\n datasource: 'dart-version',\n packageName: 'dart',\n versioning: 'npm',\n },\n flutter: {\n datasource: 'github-releases',\n packageName: 'containerbase/flutter-prebuild',\n versioning: 'npm',\n },\n vendir: {\n datasource: 'github-releases',\n packageName: 'carvel-dev/vendir',\n versioning: 'semver',\n },\n} as const;\n\nlet _getPkgReleases: Promise<\n typeof import('../../modules/datasource/index.ts')\n> | null = null;\n\nasync function getPkgReleases(\n toolConfig: ToolConfig,\n): Promise<ReleaseResult | null> {\n _getPkgReleases ??= import('../../modules/datasource/index.ts');\n const { getPkgReleases } = await _getPkgReleases;\n return getPkgReleases(toolConfig);\n}\n\nexport function getToolConfig(toolName: ToolName): ToolConfig {\n return allToolConfig[toolName];\n}\n\nexport function supportsDynamicInstall(toolName: ToolName): boolean {\n return !!allToolConfig[toolName];\n}\n\nexport function isContainerbase(): boolean {\n return !!getEnv().CONTAINERBASE;\n}\n\nexport function isDynamicInstall(\n toolConstraints?: Opt<ToolConstraint[]>,\n): boolean {\n if (GlobalConfig.get('binarySource') !== 'install') {\n return false;\n }\n if (!isContainerbase()) {\n logger.debug('Falling back to binarySource=global');\n return false;\n }\n return (\n !toolConstraints ||\n toolConstraints.every((toolConstraint) =>\n supportsDynamicInstall(toolConstraint.toolName),\n )\n );\n}\n\nfunction isStable(\n version: string,\n versioningApi: VersioningApi,\n latest?: string,\n): boolean {\n if (!versioningApi.isStable(version)) {\n return false;\n }\n if (isString(latest) && versioningApi.isGreaterThan(version, latest)) {\n return false;\n }\n return true;\n}\n\nexport async function resolveConstraint(\n toolConstraint: ToolConstraint,\n): Promise<string> {\n const { toolName } = toolConstraint;\n const toolConfig = allToolConfig[toolName];\n if (!toolConfig) {\n throw new Error(`Invalid tool to install: ${toolName}`);\n }\n\n const { get: getVersioning } =\n await import('../../modules/versioning/index.ts');\n const versioning = getVersioning(toolConfig.versioning);\n let constraint = toolConstraint.constraint;\n if (constraint) {\n if (versioning.isValid(constraint)) {\n if (versioning.isSingleVersion(constraint)) {\n return constraint.replace(regEx(/^=+/), '').trim();\n }\n } else {\n logger.warn(\n { toolName, constraint, versioning: toolConfig.versioning },\n 'Invalid tool constraint',\n );\n constraint = undefined;\n }\n }\n\n const pkgReleases = await getPkgReleases(toolConfig);\n const releases = coerceArray(pkgReleases?.releases);\n\n if (!releases?.length) {\n logger.warn({ toolConfig }, 'No tool releases found.');\n throw new Error('No tool releases found.');\n }\n\n const matchingReleases = releases.filter(\n (r) => !constraint || versioning.matches(r.version, constraint),\n );\n\n const stableMatchingVersion = matchingReleases\n .filter((r) => isStable(r.version, versioning, pkgReleases?.tags?.latest))\n .pop()?.version;\n if (stableMatchingVersion) {\n logger.debug(\n { toolName, constraint, resolvedVersion: stableMatchingVersion },\n 'Resolved stable matching version',\n );\n return stableMatchingVersion;\n }\n\n const unstableMatchingVersion = matchingReleases.pop()?.version;\n if (unstableMatchingVersion) {\n logger.debug(\n { toolName, constraint, resolvedVersion: unstableMatchingVersion },\n 'Resolved unstable matching version',\n );\n return unstableMatchingVersion;\n }\n\n const stableVersion = releases\n .filter((r) => isStable(r.version, versioning, pkgReleases?.tags?.latest))\n .pop()?.version;\n if (stableVersion) {\n logger.warn(\n { toolName, constraint, stableVersion },\n 'No matching tool versions found for constraint - using latest stable version',\n );\n }\n\n const highestVersion = releases.pop()!.version;\n logger.warn(\n { toolName, constraint, highestVersion },\n 'No matching or stable tool versions found - using an unstable version',\n );\n return highestVersion;\n}\n\n// Docker execs run in a fresh `--rm` container each time, so `memoize` must\n// stay false there - only the persistent-host (binarySource=install) path\n// can safely skip a tool it has already installed this run.\nexport async function generateInstallCommands(\n toolConstraints: Opt<ToolConstraint[]>,\n memoize = false,\n): Promise<string[]> {\n const installCommands: string[] = [];\n if (toolConstraints?.length) {\n for (const toolConstraint of toolConstraints) {\n const toolVersion = await resolveConstraint(toolConstraint);\n const { toolName } = toolConstraint;\n if (memoize) {\n const cacheKey = `containerbase-installed:${toolName}:${toolVersion}`;\n if (memCache.get<boolean | undefined>(cacheKey)) {\n continue;\n }\n memCache.set(cacheKey, true);\n }\n const installCommand = `install-tool ${toolName} ${quote(toolVersion)}`;\n installCommands.push(installCommand);\n }\n }\n return installCommands;\n}\n"],"mappings":"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"}
@@ -56,8 +56,6 @@ export declare const toolDefinitions: [{
56
56
  readonly name: 'helmfile';
57
57
  }, {
58
58
  readonly name: 'java';
59
- }, {
60
- readonly name: 'java-maven';
61
59
  }, {
62
60
  readonly name: 'jb';
63
61
  }, {
@@ -29,7 +29,6 @@ const toolDefinitions = [
29
29
  { name: "helm" },
30
30
  { name: "helmfile" },
31
31
  { name: "java" },
32
- { name: "java-maven" },
33
32
  { name: "jb" },
34
33
  { name: "kustomize" },
35
34
  { name: "maven" },
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../lib/util/exec/types.ts"],"sourcesContent":["import { isString } from '@sindresorhus/is';\nimport type { Options as ExecaOptions } from 'execa';\nimport type { VersioningName } from '../../versioning-list.generated.ts';\n\nexport interface ConstraintDefinition {\n name: string;\n description?: string;\n}\n\n/**\n * A `tool` that Containerbase supports.\n *\n * TODO #41849 replace with upstream types\n */\nexport const toolDefinitions = [\n {\n name: 'apm',\n },\n {\n name: 'bazelisk',\n },\n {\n name: 'bun',\n },\n {\n name: 'bundler',\n },\n {\n name: 'cocoapods',\n },\n {\n name: 'composer',\n },\n {\n name: 'conan',\n },\n {\n name: 'copier',\n },\n {\n name: 'corepack',\n },\n {\n name: 'deno',\n },\n {\n name: 'devbox',\n },\n {\n name: 'dotnet',\n },\n {\n name: 'erlang',\n },\n {\n name: 'elixir',\n },\n {\n name: 'flux',\n },\n {\n name: 'gh',\n },\n {\n name: 'gleam',\n },\n {\n name: 'golang',\n },\n {\n name: 'gradle',\n },\n {\n name: 'hashin',\n },\n {\n name: 'helm',\n },\n {\n name: 'helmfile',\n },\n {\n name: 'java',\n },\n {\n name: 'java-maven',\n },\n {\n name: 'jb',\n },\n {\n name: 'kustomize',\n },\n {\n name: 'maven',\n },\n {\n name: 'mise',\n },\n {\n name: 'nix',\n },\n {\n name: 'node',\n },\n {\n name: 'npm',\n },\n {\n name: 'pdm',\n },\n {\n name: 'php',\n },\n {\n name: 'pip-tools',\n },\n {\n name: 'pipenv',\n },\n {\n name: 'pnpm',\n },\n {\n name: 'pixi',\n },\n {\n name: 'poetry',\n },\n {\n name: 'python',\n },\n {\n name: 'ruby',\n description: 'Also used in the `rubygems` Datasource',\n },\n {\n name: 'rust',\n },\n {\n name: 'uv',\n },\n {\n name: 'yarn',\n },\n {\n name: 'yarn-slim',\n },\n {\n name: 'dart',\n },\n {\n name: 'flutter',\n },\n {\n name: 'vendir',\n },\n] as const satisfies ConstraintDefinition[];\n\n/**\n * A `tool` that Containerbase supports.\n */\nexport type ToolName = (typeof toolDefinitions)[number]['name'];\n\n/**\n * A `tool` that Containerbase supports.\n */\nexport const toolNames: ToolName[] = toolDefinitions.map((t) => t.name);\n\nexport function isToolName(value: unknown): value is ToolName {\n return isString(value) && (toolNames as readonly string[]).includes(value);\n}\n\n/**\n * Additional constraints that can be specified for some Managers, but are **not** tools that Containerbase supports, with optional description.\n */\nexport const additionalConstraintDefinitions = [\n {\n name: 'ghActionsLock',\n description: `Used in the \\`github-actions\\` manager to specify a release tag for the [\\`github/gh-actions-lock\\`](https://github.com/github/gh-actions-lock) \\`gh\\` CLI extension, which regenerates \\`.github/workflows/actions.lock\\`.\n\nMust be a full release tag, prefixed with \\`v\\`, such as \\`v0.1.7\\`. Set it to an empty string to always install the latest release.`,\n },\n /**\n * @deprecated TODO remove in #42600\n */\n {\n name: 'go',\n description: `Used in the \\`gomod\\` manager to specify the version of the Go toolchain to use.\n\nIn precedence order:\n\n1. config: \\`constraints.go\\`\n1. \\`go.mod\\`: \\`toolchain\\` directive\n1. \\`go.mod\\`: \\`go\\` directive\n\nNOTE that the \\`constraints.golang\\` is not used (https://github.com/renovatebot/renovate/issues/42601)\n `,\n },\n {\n name: 'gomodMod',\n description: `Used in the \\`gomod\\` manager to specify a tag for [\\`github.com/marwan-at-work/mod\\`](https://github.com/marwan-at-work/mod).\n\nMust be prefixed with \\`v\\`.`,\n },\n {\n name: 'jenkins',\n description:\n 'Used in the `jenkins-plugins` datasource to specify a minimum version of Jenkins that a plugin must support.',\n },\n {\n name: 'pipTools',\n description:\n 'Used in the `pip-compile` manager to specify a version of `pip-tools` to use. @deprecated TODO remove in #42599',\n },\n {\n name: 'platform',\n description:\n 'Used in the `rubygems` datasource to specify the `platform` that the Gem dependency supports.',\n },\n {\n name: 'rubygems',\n description:\n 'Used in the `rubygems` datasource to specify the version of the `rubygems` tool that is needed to use this Gem.',\n },\n {\n name: 'vscode',\n description:\n 'Used in the `npm` manager to track the version of VSCode that the package is compatible with.',\n },\n {\n name: 'dotnet-sdk',\n description:\n 'Used in the `nuget` manager to track .NET SDK version required.',\n },\n {\n name: 'perl',\n description:\n 'Used in the `cpanfile` manager to track Perl version required.',\n },\n {\n name: '%goMod',\n description:\n 'Used in the `gomod` manager to determine the [minimum version of Go required to use this module](https://go.dev/ref/mod#go-mod-file-go).\\n\\nNote that this is prefixed with a `%` to explicitly note that this is not a tool that Containerbase knows.',\n },\n] as const satisfies ConstraintDefinition[];\n\n/**\n * Additional constraints that can be specified for some Managers, but are **not** tools that Containerbase supports.\n */\nexport type AdditionalConstraintName =\n (typeof additionalConstraintDefinitions)[number]['name'];\n\n/**\n * Additional constraints that can be specified for some Managers, but are **not** tools that Containerbase supports.\n */\nexport const additionalConstraintNames: AdditionalConstraintName[] =\n additionalConstraintDefinitions.map((c) => c.name);\n\nexport function isAdditionalConstraintName(\n value: unknown,\n): value is AdditionalConstraintName {\n return (\n isString(value) &&\n (additionalConstraintNames as readonly string[]).includes(value)\n );\n}\n\n/**\n * A name usable as a key in a `constraints` record, which may be tools that Containerbase supports.\n */\nexport type ConstraintName = ToolName | AdditionalConstraintName;\n\nexport function isConstraintName(value: unknown): value is ConstraintName {\n return isToolName(value) || isAdditionalConstraintName(value);\n}\n\nexport interface ToolConstraint {\n toolName: ToolName;\n constraint?: string | null;\n}\n\nexport interface ToolConfig {\n datasource: string;\n extractVersion?: string;\n packageName: string;\n versioning: VersioningName;\n}\n\nexport type Opt<T> = T | null | undefined;\n\nexport type VolumesPair = [string, string];\nexport type VolumeOption = Opt<string | VolumesPair>;\n\nexport interface DockerOptions {\n volumes?: Opt<VolumeOption[]>;\n envVars?: Opt<Opt<string>[]>;\n cwd?: Opt<string>;\n}\n\nexport type DataListener = (chunk: any) => void;\nexport interface OutputListeners {\n stdout?: DataListener[];\n stderr?: DataListener[];\n}\n\nexport interface OutputWriter {\n write(chunk: Buffer): void;\n toString(): string;\n}\n\nexport interface OutputWriters {\n stdout?: OutputWriter;\n stderr?: OutputWriter;\n}\n\n/** execa options producing text output, which excludes the binary encodings */\ntype TextExecaOptions = Extract<\n ExecaOptions,\n { readonly encoding?: 'utf8' | 'utf16le' }\n>;\n\nexport interface RawExecOptions extends TextExecaOptions {\n maxBuffer?: number | undefined;\n cwd?: string;\n outputListeners?: OutputListeners;\n outputWriters?: OutputWriters;\n}\n\nexport interface ExecResult {\n stdout: string;\n stderr: string;\n /**\n * The process' exit code in the case of a failure.\n *\n * This is only set if using `ignoreFailure` when executing a command\n *\n */\n exitCode?: number;\n}\n\nexport type ExtraEnv<T = unknown> = Record<string, T>;\n\nexport interface ExecOptions {\n cwd?: string;\n cwdFile?: string;\n env?: Opt<ExtraEnv>;\n extraEnv?: Opt<ExtraEnv>;\n docker?: Opt<DockerOptions>;\n toolConstraints?: Opt<ToolConstraint[]>;\n preCommands?: Opt<string[]>;\n ignoreStdout?: boolean;\n // Following are pass-through to child process\n maxBuffer?: number | undefined;\n timeout?: number | undefined;\n shell?: boolean | string | undefined;\n}\n\n/**\n * configuration that can be configured on a per-command basis, that doesn't make sense to be on the `RawExecOptions`\n */\nexport interface CommandWithOptions {\n command: string[];\n\n /** do not throw errors when a command fails, but do log that an error occurred */\n ignoreFailure?: boolean;\n\n /**\n * Execute the `command` within a shell\n *\n * WARNING this can result in security issues if this includes user-controlled commands\n * **/\n shell?: boolean | string;\n}\n"],"mappings":";;;;;;;AAcA,MAAa,kBAAkB;CAC7B,EACE,MAAM,MACR;CACA,EACE,MAAM,WACR;CACA,EACE,MAAM,MACR;CACA,EACE,MAAM,UACR;CACA,EACE,MAAM,YACR;CACA,EACE,MAAM,WACR;CACA,EACE,MAAM,QACR;CACA,EACE,MAAM,SACR;CACA,EACE,MAAM,WACR;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,SACR;CACA,EACE,MAAM,SACR;CACA,EACE,MAAM,SACR;CACA,EACE,MAAM,SACR;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,KACR;CACA,EACE,MAAM,QACR;CACA,EACE,MAAM,SACR;CACA,EACE,MAAM,SACR;CACA,EACE,MAAM,SACR;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,WACR;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,aACR;CACA,EACE,MAAM,KACR;CACA,EACE,MAAM,YACR;CACA,EACE,MAAM,QACR;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,MACR;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,MACR;CACA,EACE,MAAM,MACR;CACA,EACE,MAAM,MACR;CACA,EACE,MAAM,YACR;CACA,EACE,MAAM,SACR;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,SACR;CACA,EACE,MAAM,SACR;CACA;EACE,MAAM;EACN,aAAa;CACf;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,KACR;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,YACR;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,UACR;CACA,EACE,MAAM,SACR;AACF;;;;AAUA,MAAa,YAAwB,gBAAgB,KAAK,MAAM,EAAE,IAAI;AAEtE,SAAgB,WAAW,OAAmC;CAC5D,OAAO,SAAS,KAAK,KAAM,UAAgC,SAAS,KAAK;AAC3E;;;;AAKA,MAAa,kCAAkC;CAC7C;EACE,MAAM;EACN,aAAa;;;CAGf;;;;;CAIA;EACE,MAAM;EACN,aAAa;;;;;;;;;;CAUf;CACA;EACE,MAAM;EACN,aAAa;;;CAGf;CACA;EACE,MAAM;EACN,aACE;CACJ;CACA;EACE,MAAM;EACN,aACE;CACJ;CACA;EACE,MAAM;EACN,aACE;CACJ;CACA;EACE,MAAM;EACN,aACE;CACJ;CACA;EACE,MAAM;EACN,aACE;CACJ;CACA;EACE,MAAM;EACN,aACE;CACJ;CACA;EACE,MAAM;EACN,aACE;CACJ;CACA;EACE,MAAM;EACN,aACE;CACJ;AACF;;;;AAWA,MAAa,4BACX,gCAAgC,KAAK,MAAM,EAAE,IAAI;AAEnD,SAAgB,2BACd,OACmC;CACnC,OACE,SAAS,KAAK,KACb,0BAAgD,SAAS,KAAK;AAEnE;AAOA,SAAgB,iBAAiB,OAAyC;CACxE,OAAO,WAAW,KAAK,KAAK,2BAA2B,KAAK;AAC9D"}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../lib/util/exec/types.ts"],"sourcesContent":["import { isString } from '@sindresorhus/is';\nimport type { Options as ExecaOptions } from 'execa';\nimport type { VersioningName } from '../../versioning-list.generated.ts';\n\nexport interface ConstraintDefinition {\n name: string;\n description?: string;\n}\n\n/**\n * A `tool` that Containerbase supports.\n *\n * TODO #41849 replace with upstream types\n */\nexport const toolDefinitions = [\n {\n name: 'apm',\n },\n {\n name: 'bazelisk',\n },\n {\n name: 'bun',\n },\n {\n name: 'bundler',\n },\n {\n name: 'cocoapods',\n },\n {\n name: 'composer',\n },\n {\n name: 'conan',\n },\n {\n name: 'copier',\n },\n {\n name: 'corepack',\n },\n {\n name: 'deno',\n },\n {\n name: 'devbox',\n },\n {\n name: 'dotnet',\n },\n {\n name: 'erlang',\n },\n {\n name: 'elixir',\n },\n {\n name: 'flux',\n },\n {\n name: 'gh',\n },\n {\n name: 'gleam',\n },\n {\n name: 'golang',\n },\n {\n name: 'gradle',\n },\n {\n name: 'hashin',\n },\n {\n name: 'helm',\n },\n {\n name: 'helmfile',\n },\n {\n name: 'java',\n },\n {\n name: 'jb',\n },\n {\n name: 'kustomize',\n },\n {\n name: 'maven',\n },\n {\n name: 'mise',\n },\n {\n name: 'nix',\n },\n {\n name: 'node',\n },\n {\n name: 'npm',\n },\n {\n name: 'pdm',\n },\n {\n name: 'php',\n },\n {\n name: 'pip-tools',\n },\n {\n name: 'pipenv',\n },\n {\n name: 'pnpm',\n },\n {\n name: 'pixi',\n },\n {\n name: 'poetry',\n },\n {\n name: 'python',\n },\n {\n name: 'ruby',\n description: 'Also used in the `rubygems` Datasource',\n },\n {\n name: 'rust',\n },\n {\n name: 'uv',\n },\n {\n name: 'yarn',\n },\n {\n name: 'yarn-slim',\n },\n {\n name: 'dart',\n },\n {\n name: 'flutter',\n },\n {\n name: 'vendir',\n },\n] as const satisfies ConstraintDefinition[];\n\n/**\n * A `tool` that Containerbase supports.\n */\nexport type ToolName = (typeof toolDefinitions)[number]['name'];\n\n/**\n * A `tool` that Containerbase supports.\n */\nexport const toolNames: ToolName[] = toolDefinitions.map((t) => t.name);\n\nexport function isToolName(value: unknown): value is ToolName {\n return isString(value) && (toolNames as readonly string[]).includes(value);\n}\n\n/**\n * Additional constraints that can be specified for some Managers, but are **not** tools that Containerbase supports, with optional description.\n */\nexport const additionalConstraintDefinitions = [\n {\n name: 'ghActionsLock',\n description: `Used in the \\`github-actions\\` manager to specify a release tag for the [\\`github/gh-actions-lock\\`](https://github.com/github/gh-actions-lock) \\`gh\\` CLI extension, which regenerates \\`.github/workflows/actions.lock\\`.\n\nMust be a full release tag, prefixed with \\`v\\`, such as \\`v0.1.7\\`. Set it to an empty string to always install the latest release.`,\n },\n /**\n * @deprecated TODO remove in #42600\n */\n {\n name: 'go',\n description: `Used in the \\`gomod\\` manager to specify the version of the Go toolchain to use.\n\nIn precedence order:\n\n1. config: \\`constraints.go\\`\n1. \\`go.mod\\`: \\`toolchain\\` directive\n1. \\`go.mod\\`: \\`go\\` directive\n\nNOTE that the \\`constraints.golang\\` is not used (https://github.com/renovatebot/renovate/issues/42601)\n `,\n },\n {\n name: 'gomodMod',\n description: `Used in the \\`gomod\\` manager to specify a tag for [\\`github.com/marwan-at-work/mod\\`](https://github.com/marwan-at-work/mod).\n\nMust be prefixed with \\`v\\`.`,\n },\n {\n name: 'jenkins',\n description:\n 'Used in the `jenkins-plugins` datasource to specify a minimum version of Jenkins that a plugin must support.',\n },\n {\n name: 'pipTools',\n description:\n 'Used in the `pip-compile` manager to specify a version of `pip-tools` to use. @deprecated TODO remove in #42599',\n },\n {\n name: 'platform',\n description:\n 'Used in the `rubygems` datasource to specify the `platform` that the Gem dependency supports.',\n },\n {\n name: 'rubygems',\n description:\n 'Used in the `rubygems` datasource to specify the version of the `rubygems` tool that is needed to use this Gem.',\n },\n {\n name: 'vscode',\n description:\n 'Used in the `npm` manager to track the version of VSCode that the package is compatible with.',\n },\n {\n name: 'dotnet-sdk',\n description:\n 'Used in the `nuget` manager to track .NET SDK version required.',\n },\n {\n name: 'perl',\n description:\n 'Used in the `cpanfile` manager to track Perl version required.',\n },\n {\n name: '%goMod',\n description:\n 'Used in the `gomod` manager to determine the [minimum version of Go required to use this module](https://go.dev/ref/mod#go-mod-file-go).\\n\\nNote that this is prefixed with a `%` to explicitly note that this is not a tool that Containerbase knows.',\n },\n] as const satisfies ConstraintDefinition[];\n\n/**\n * Additional constraints that can be specified for some Managers, but are **not** tools that Containerbase supports.\n */\nexport type AdditionalConstraintName =\n (typeof additionalConstraintDefinitions)[number]['name'];\n\n/**\n * Additional constraints that can be specified for some Managers, but are **not** tools that Containerbase supports.\n */\nexport const additionalConstraintNames: AdditionalConstraintName[] =\n additionalConstraintDefinitions.map((c) => c.name);\n\nexport function isAdditionalConstraintName(\n value: unknown,\n): value is AdditionalConstraintName {\n return (\n isString(value) &&\n (additionalConstraintNames as readonly string[]).includes(value)\n );\n}\n\n/**\n * A name usable as a key in a `constraints` record, which may be tools that Containerbase supports.\n */\nexport type ConstraintName = ToolName | AdditionalConstraintName;\n\nexport function isConstraintName(value: unknown): value is ConstraintName {\n return isToolName(value) || isAdditionalConstraintName(value);\n}\n\nexport interface ToolConstraint {\n toolName: ToolName;\n constraint?: string | null;\n}\n\nexport interface ToolConfig {\n datasource: string;\n extractVersion?: string;\n packageName: string;\n versioning: VersioningName;\n}\n\nexport type Opt<T> = T | null | undefined;\n\nexport type VolumesPair = [string, string];\nexport type VolumeOption = Opt<string | VolumesPair>;\n\nexport interface DockerOptions {\n volumes?: Opt<VolumeOption[]>;\n envVars?: Opt<Opt<string>[]>;\n cwd?: Opt<string>;\n}\n\nexport type DataListener = (chunk: any) => void;\nexport interface OutputListeners {\n stdout?: DataListener[];\n stderr?: DataListener[];\n}\n\nexport interface OutputWriter {\n write(chunk: Buffer): void;\n toString(): string;\n}\n\nexport interface OutputWriters {\n stdout?: OutputWriter;\n stderr?: OutputWriter;\n}\n\n/** execa options producing text output, which excludes the binary encodings */\ntype TextExecaOptions = Extract<\n ExecaOptions,\n { readonly encoding?: 'utf8' | 'utf16le' }\n>;\n\nexport interface RawExecOptions extends TextExecaOptions {\n maxBuffer?: number | undefined;\n cwd?: string;\n outputListeners?: OutputListeners;\n outputWriters?: OutputWriters;\n}\n\nexport interface ExecResult {\n stdout: string;\n stderr: string;\n /**\n * The process' exit code in the case of a failure.\n *\n * This is only set if using `ignoreFailure` when executing a command\n *\n */\n exitCode?: number;\n}\n\nexport type ExtraEnv<T = unknown> = Record<string, T>;\n\nexport interface ExecOptions {\n cwd?: string;\n cwdFile?: string;\n env?: Opt<ExtraEnv>;\n extraEnv?: Opt<ExtraEnv>;\n docker?: Opt<DockerOptions>;\n toolConstraints?: Opt<ToolConstraint[]>;\n preCommands?: Opt<string[]>;\n ignoreStdout?: boolean;\n // Following are pass-through to child process\n maxBuffer?: number | undefined;\n timeout?: number | undefined;\n shell?: boolean | string | undefined;\n}\n\n/**\n * configuration that can be configured on a per-command basis, that doesn't make sense to be on the `RawExecOptions`\n */\nexport interface CommandWithOptions {\n command: string[];\n\n /** do not throw errors when a command fails, but do log that an error occurred */\n ignoreFailure?: boolean;\n\n /**\n * Execute the `command` within a shell\n *\n * WARNING this can result in security issues if this includes user-controlled commands\n * **/\n shell?: boolean | string;\n}\n"],"mappings":";;;;;;;AAcA,MAAa,kBAAkB;CAC7B,EACE,MAAM,MACR;CACA,EACE,MAAM,WACR;CACA,EACE,MAAM,MACR;CACA,EACE,MAAM,UACR;CACA,EACE,MAAM,YACR;CACA,EACE,MAAM,WACR;CACA,EACE,MAAM,QACR;CACA,EACE,MAAM,SACR;CACA,EACE,MAAM,WACR;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,SACR;CACA,EACE,MAAM,SACR;CACA,EACE,MAAM,SACR;CACA,EACE,MAAM,SACR;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,KACR;CACA,EACE,MAAM,QACR;CACA,EACE,MAAM,SACR;CACA,EACE,MAAM,SACR;CACA,EACE,MAAM,SACR;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,WACR;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,KACR;CACA,EACE,MAAM,YACR;CACA,EACE,MAAM,QACR;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,MACR;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,MACR;CACA,EACE,MAAM,MACR;CACA,EACE,MAAM,MACR;CACA,EACE,MAAM,YACR;CACA,EACE,MAAM,SACR;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,SACR;CACA,EACE,MAAM,SACR;CACA;EACE,MAAM;EACN,aAAa;CACf;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,KACR;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,YACR;CACA,EACE,MAAM,OACR;CACA,EACE,MAAM,UACR;CACA,EACE,MAAM,SACR;AACF;;;;AAUA,MAAa,YAAwB,gBAAgB,KAAK,MAAM,EAAE,IAAI;AAEtE,SAAgB,WAAW,OAAmC;CAC5D,OAAO,SAAS,KAAK,KAAM,UAAgC,SAAS,KAAK;AAC3E;;;;AAKA,MAAa,kCAAkC;CAC7C;EACE,MAAM;EACN,aAAa;;;CAGf;;;;;CAIA;EACE,MAAM;EACN,aAAa;;;;;;;;;;CAUf;CACA;EACE,MAAM;EACN,aAAa;;;CAGf;CACA;EACE,MAAM;EACN,aACE;CACJ;CACA;EACE,MAAM;EACN,aACE;CACJ;CACA;EACE,MAAM;EACN,aACE;CACJ;CACA;EACE,MAAM;EACN,aACE;CACJ;CACA;EACE,MAAM;EACN,aACE;CACJ;CACA;EACE,MAAM;EACN,aACE;CACJ;CACA;EACE,MAAM;EACN,aACE;CACJ;CACA;EACE,MAAM;EACN,aACE;CACJ;AACF;;;;AAWA,MAAa,4BACX,gCAAgC,KAAK,MAAM,EAAE,IAAI;AAEnD,SAAgB,2BACd,OACmC;CACnC,OACE,SAAS,KAAK,KACb,0BAAgD,SAAS,KAAK;AAEnE;AAOA,SAAgB,iBAAiB,OAAyC;CACxE,OAAO,WAAW,KAAK,KAAK,2BAA2B,KAAK;AAC9D"}
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": "44.142.1",
4
+ "version": "44.143.0",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "renovate": "dist/renovate.js",
@@ -117,7 +117,7 @@
117
117
  "@opentelemetry/semantic-conventions": "1.43.0",
118
118
  "@pnpm/parse-overrides": "1001.0.4",
119
119
  "@qnighy/marshal": "0.1.3",
120
- "@redis/client": "6.2.1",
120
+ "@redis/client": "6.3.0",
121
121
  "@renovatebot/base-image": "13.115.1",
122
122
  "@renovatebot/detect-tools": "4.0.21",
123
123
  "@renovatebot/good-enough-parser": "2.0.1",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$id": "https://docs.renovatebot.com/renovate-schema.json",
3
- "title": "JSON schema for Renovate 44.142.1 config files (https://renovatebot.com/)",
3
+ "title": "JSON schema for Renovate 44.143.0 config files (https://renovatebot.com/)",
4
4
  "$schema": "http://json-schema.org/draft-07/schema#",
5
- "x-renovate-version": "44.142.1",
5
+ "x-renovate-version": "44.143.0",
6
6
  "allowComments": true,
7
7
  "type": "object",
8
8
  "definitions": {
@@ -2169,10 +2169,6 @@
2169
2169
  "type": "string",
2170
2170
  "description": "A constraint for the `java` Containerbase tool"
2171
2171
  },
2172
- "java-maven": {
2173
- "type": "string",
2174
- "description": "A constraint for the `java-maven` Containerbase tool"
2175
- },
2176
2172
  "jb": {
2177
2173
  "type": "string",
2178
2174
  "description": "A constraint for the `jb` Containerbase tool"
@@ -5252,11 +5248,6 @@
5252
5248
  "description": "Install the `java` Containerbase tool",
5253
5249
  "additionalProperties": false
5254
5250
  },
5255
- "java-maven": {
5256
- "type": "object",
5257
- "description": "Install the `java-maven` Containerbase tool",
5258
- "additionalProperties": false
5259
- },
5260
5251
  "jb": {
5261
5252
  "type": "object",
5262
5253
  "description": "Install the `jb` Containerbase tool",