renovate 44.68.3 → 44.69.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/modules/datasource/helm/index.js +64 -1
- package/dist/modules/datasource/helm/index.js.map +1 -1
- package/dist/modules/manager/fingerprint.generated.js +1 -1
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/pixi/extract.js +3 -1
- package/dist/modules/manager/pixi/extract.js.map +1 -1
- package/dist/modules/manager/pixi/schema.js +2 -1
- package/dist/modules/manager/pixi/schema.js.map +1 -1
- package/dist/util/s3.d.ts +2 -2
- package/dist/util/s3.js +12 -9
- package/dist/util/s3.js.map +1 -1
- package/package.json +2 -2
- package/renovate-schema.json +2 -2
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import { logger } from "../../../logger/index.js";
|
|
2
2
|
import { ensureTrailingSlash } from "../../../util/url.js";
|
|
3
|
+
import { find } from "../../../util/host-rules.js";
|
|
4
|
+
import { parseSingleYaml } from "../../../util/yaml.js";
|
|
5
|
+
import { ExternalHostError } from "../../../types/errors/external-host-error.js";
|
|
3
6
|
import { id } from "../../versioning/helm/index.js";
|
|
4
7
|
import { withCache } from "../../../util/cache/package/with-cache.js";
|
|
5
8
|
import { Datasource } from "../datasource.js";
|
|
9
|
+
import { getS3Client, parseS3Url } from "../../../util/s3.js";
|
|
10
|
+
import { streamToString } from "../../../util/streams.js";
|
|
6
11
|
import { HelmRepository } from "./schema.js";
|
|
12
|
+
import { Readable } from "node:stream";
|
|
13
|
+
import { GetObjectCommand } from "@aws-sdk/client-s3";
|
|
7
14
|
//#region lib/modules/datasource/helm/index.ts
|
|
8
15
|
var HelmDatasource = class HelmDatasource extends Datasource {
|
|
9
16
|
static id = "helm";
|
|
@@ -18,7 +25,11 @@ var HelmDatasource = class HelmDatasource extends Datasource {
|
|
|
18
25
|
sourceUrlSupport = "package";
|
|
19
26
|
sourceUrlNote = "The source URL is determined from the `home` field or the `sources` field in the results.";
|
|
20
27
|
async _getRepositoryData(helmRepository) {
|
|
21
|
-
const
|
|
28
|
+
const baseUrl = ensureTrailingSlash(helmRepository);
|
|
29
|
+
const indexUrl = `${baseUrl}index.yaml`;
|
|
30
|
+
const s3Url = parseS3Url(indexUrl);
|
|
31
|
+
if (s3Url) return await getS3RepositoryData(s3Url, indexUrl);
|
|
32
|
+
const { val, err } = await this.http.getYamlSafe("index.yaml", { baseUrl }, HelmRepository).unwrap();
|
|
22
33
|
if (err) this.handleGenericErrors(err);
|
|
23
34
|
return val;
|
|
24
35
|
}
|
|
@@ -39,6 +50,58 @@ var HelmDatasource = class HelmDatasource extends Datasource {
|
|
|
39
50
|
return releases;
|
|
40
51
|
}
|
|
41
52
|
};
|
|
53
|
+
async function getS3RepositoryData(s3Url, indexUrl) {
|
|
54
|
+
const client = getS3Client(void 0, void 0, getS3Credentials(indexUrl));
|
|
55
|
+
let res;
|
|
56
|
+
try {
|
|
57
|
+
res = await client.send(new GetObjectCommand(s3Url));
|
|
58
|
+
} catch (err) {
|
|
59
|
+
throw classifyS3Error(err, indexUrl);
|
|
60
|
+
}
|
|
61
|
+
if (res.DeleteMarker) {
|
|
62
|
+
logger.debug({ indexUrl }, "Helm S3 lookup error: DeleteMarker encountered");
|
|
63
|
+
throw new Error(`No index.yaml found at ${indexUrl}`);
|
|
64
|
+
}
|
|
65
|
+
if (!(res.Body instanceof Readable)) {
|
|
66
|
+
logger.debug({ indexUrl }, "Helm S3 lookup error: unsupported Body type");
|
|
67
|
+
throw new Error(`Unsupported S3 response body for ${indexUrl}`);
|
|
68
|
+
}
|
|
69
|
+
return parseSingleYaml(await streamToString(res.Body), { customSchema: HelmRepository });
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Only a missing object means "this chart repository has no releases", so that
|
|
73
|
+
* error is rethrown as-is and the lookup resolves to `null`.
|
|
74
|
+
* Everything else becomes an `ExternalHostError` to abort the run, otherwise a
|
|
75
|
+
* transient S3 failure looks like a deleted chart and closes open PRs.
|
|
76
|
+
*/
|
|
77
|
+
function classifyS3Error(err, indexUrl) {
|
|
78
|
+
if (err.name === "NotFound" || err.name === "NoSuchKey") {
|
|
79
|
+
logger.debug({ indexUrl }, "Helm S3 lookup error: object not found");
|
|
80
|
+
return err;
|
|
81
|
+
}
|
|
82
|
+
if (err.name === "CredentialsProviderError" || err.$metadata?.httpStatusCode === 403) logger.debug({
|
|
83
|
+
indexUrl,
|
|
84
|
+
err
|
|
85
|
+
}, "Helm S3 lookup error: credentials error, check \"AWS_ACCESS_KEY_ID\" and \"AWS_SECRET_ACCESS_KEY\" variables or the matching `hostRules` entry");
|
|
86
|
+
else if (err.message === "Region is missing") logger.debug({ indexUrl }, "Helm S3 lookup error: missing region, check \"AWS_REGION\" variable");
|
|
87
|
+
else logger.debug({
|
|
88
|
+
indexUrl,
|
|
89
|
+
err
|
|
90
|
+
}, "Helm S3 lookup error: unknown error");
|
|
91
|
+
return new ExternalHostError(err, HelmDatasource.id);
|
|
92
|
+
}
|
|
93
|
+
function getS3Credentials(indexUrl) {
|
|
94
|
+
const { username, password, token } = find({
|
|
95
|
+
hostType: HelmDatasource.id,
|
|
96
|
+
url: indexUrl
|
|
97
|
+
});
|
|
98
|
+
if (!username || !password) return;
|
|
99
|
+
return {
|
|
100
|
+
accessKeyId: username,
|
|
101
|
+
secretAccessKey: password,
|
|
102
|
+
sessionToken: token
|
|
103
|
+
};
|
|
104
|
+
}
|
|
42
105
|
//#endregion
|
|
43
106
|
export { HelmDatasource };
|
|
44
107
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["helmVersioning.id"],"sources":["../../../../lib/modules/datasource/helm/index.ts"],"sourcesContent":["import { logger } from '../../../logger/index.ts';\nimport { withCache } from '../../../util/cache/package/with-cache.ts';\nimport { ensureTrailingSlash } from '../../../util/url.ts';\nimport * as helmVersioning from '../../versioning/helm/index.ts';\nimport { Datasource } from '../datasource.ts';\nimport type { GetReleasesConfig, ReleaseResult } from '../types.ts';\nimport { HelmRepository } from './schema.ts';\n\nexport class HelmDatasource extends Datasource {\n static readonly id = 'helm';\n\n constructor() {\n super(HelmDatasource.id);\n }\n\n override readonly defaultRegistryUrls = ['https://charts.helm.sh/stable'];\n\n override readonly defaultConfig = {\n commitMessageTopic: 'Helm release {{depName}}',\n };\n\n override readonly defaultVersioning = helmVersioning.id;\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'The release timstamp is determined from the `created` field in the results.';\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is determined from the `home` field or the `sources` field in the results.';\n\n private async _getRepositoryData(\n helmRepository: string,\n ): Promise<HelmRepository> {\n const { val, err } = await this.http\n .getYamlSafe(
|
|
1
|
+
{"version":3,"file":"index.js","names":["helmVersioning.id","hostRules.find"],"sources":["../../../../lib/modules/datasource/helm/index.ts"],"sourcesContent":["import { Readable } from 'node:stream';\nimport type {\n GetObjectCommandOutput,\n S3ClientConfig,\n} from '@aws-sdk/client-s3';\nimport { GetObjectCommand } from '@aws-sdk/client-s3';\nimport { logger } from '../../../logger/index.ts';\nimport { ExternalHostError } from '../../../types/errors/external-host-error.ts';\nimport { withCache } from '../../../util/cache/package/with-cache.ts';\nimport * as hostRules from '../../../util/host-rules.ts';\nimport type { S3UrlParts } from '../../../util/s3.ts';\nimport { getS3Client, parseS3Url } from '../../../util/s3.ts';\nimport { streamToString } from '../../../util/streams.ts';\nimport { ensureTrailingSlash } from '../../../util/url.ts';\nimport { parseSingleYaml } from '../../../util/yaml.ts';\nimport * as helmVersioning from '../../versioning/helm/index.ts';\nimport { Datasource } from '../datasource.ts';\nimport type { GetReleasesConfig, ReleaseResult } from '../types.ts';\nimport { HelmRepository } from './schema.ts';\n\nexport class HelmDatasource extends Datasource {\n static readonly id = 'helm';\n\n constructor() {\n super(HelmDatasource.id);\n }\n\n override readonly defaultRegistryUrls = ['https://charts.helm.sh/stable'];\n\n override readonly defaultConfig = {\n commitMessageTopic: 'Helm release {{depName}}',\n };\n\n override readonly defaultVersioning = helmVersioning.id;\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'The release timstamp is determined from the `created` field in the results.';\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is determined from the `home` field or the `sources` field in the results.';\n\n private async _getRepositoryData(\n helmRepository: string,\n ): Promise<HelmRepository> {\n const baseUrl = ensureTrailingSlash(helmRepository);\n const indexUrl = `${baseUrl}index.yaml`;\n\n const s3Url = parseS3Url(indexUrl);\n if (s3Url) {\n return await getS3RepositoryData(s3Url, indexUrl);\n }\n\n const { val, err } = await this.http\n .getYamlSafe('index.yaml', { baseUrl }, HelmRepository)\n .unwrap();\n\n if (err) {\n this.handleGenericErrors(err);\n }\n\n return val;\n }\n\n getRepositoryData(helmRepository: string): Promise<HelmRepository> {\n return withCache(\n {\n namespace: `datasource-${HelmDatasource.id}`,\n key: `repository-data:${helmRepository}`,\n },\n () => this._getRepositoryData(helmRepository),\n );\n }\n\n async getReleases({\n packageName,\n registryUrl: helmRepository,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n /* v8 ignore next -- should never happen */\n if (!helmRepository) {\n return null;\n }\n\n const repositoryData = await this.getRepositoryData(helmRepository);\n const releases = repositoryData[packageName];\n if (!releases) {\n logger.debug(\n { dependency: packageName },\n `Entry ${packageName} doesn't exist in index.yaml from ${helmRepository}`,\n );\n return null;\n }\n return releases;\n }\n}\n\nasync function getS3RepositoryData(\n s3Url: S3UrlParts,\n indexUrl: string,\n): Promise<HelmRepository> {\n const client = getS3Client(undefined, undefined, getS3Credentials(indexUrl));\n\n let res: GetObjectCommandOutput;\n try {\n res = await client.send(new GetObjectCommand(s3Url));\n } catch (err) {\n throw classifyS3Error(err, indexUrl);\n }\n\n if (res.DeleteMarker) {\n logger.debug(\n { indexUrl },\n 'Helm S3 lookup error: DeleteMarker encountered',\n );\n throw new Error(`No index.yaml found at ${indexUrl}`);\n }\n\n if (!(res.Body instanceof Readable)) {\n logger.debug({ indexUrl }, 'Helm S3 lookup error: unsupported Body type');\n throw new Error(`Unsupported S3 response body for ${indexUrl}`);\n }\n\n return parseSingleYaml(await streamToString(res.Body), {\n customSchema: HelmRepository,\n });\n}\n\n/**\n * Only a missing object means \"this chart repository has no releases\", so that\n * error is rethrown as-is and the lookup resolves to `null`.\n * Everything else becomes an `ExternalHostError` to abort the run, otherwise a\n * transient S3 failure looks like a deleted chart and closes open PRs.\n */\nfunction classifyS3Error(\n // `name` holds the S3 error code, `message` holds server-supplied prose\n err: Error & { $metadata?: { httpStatusCode?: number } },\n indexUrl: string,\n): Error {\n if (err.name === 'NotFound' || err.name === 'NoSuchKey') {\n logger.debug({ indexUrl }, 'Helm S3 lookup error: object not found');\n return err;\n }\n\n if (\n err.name === 'CredentialsProviderError' ||\n err.$metadata?.httpStatusCode === 403\n ) {\n logger.debug(\n { indexUrl, err },\n 'Helm S3 lookup error: credentials error, check \"AWS_ACCESS_KEY_ID\" and \"AWS_SECRET_ACCESS_KEY\" variables or the matching `hostRules` entry',\n );\n } else if (err.message === 'Region is missing') {\n // Thrown client-side by the SDK region resolver, so this string is stable\n logger.debug(\n { indexUrl },\n 'Helm S3 lookup error: missing region, check \"AWS_REGION\" variable',\n );\n } else {\n logger.debug({ indexUrl, err }, 'Helm S3 lookup error: unknown error');\n }\n\n return new ExternalHostError(err, HelmDatasource.id);\n}\n\nfunction getS3Credentials(\n indexUrl: string,\n): S3ClientConfig['credentials'] | undefined {\n const { username, password, token } = hostRules.find({\n hostType: HelmDatasource.id,\n url: indexUrl,\n });\n\n // Fall back to the default AWS credential provider chain\n if (!username || !password) {\n return undefined;\n }\n\n return {\n accessKeyId: username,\n secretAccessKey: password,\n sessionToken: token,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;AAoBA,IAAa,iBAAb,MAAa,uBAAuB,WAAW;CAC7C,OAAgB,KAAK;CAErB,cAAc;EACZ,MAAM,eAAe,EAAE;CACzB;CAEA,sBAAwC,CAAC,+BAA+B;CAExE,gBAAkC,EAChC,oBAAoB,2BACtB;CAEA,oBAAsCA;CAEtC,0BAA4C;CAC5C,uBACE;CACF,mBAAqC;CACrC,gBACE;CAEF,MAAc,mBACZ,gBACyB;EACzB,MAAM,UAAU,oBAAoB,cAAc;EAClD,MAAM,WAAW,GAAG,QAAQ;EAE5B,MAAM,QAAQ,WAAW,QAAQ;EACjC,IAAI,OACF,OAAO,MAAM,oBAAoB,OAAO,QAAQ;EAGlD,MAAM,EAAE,KAAK,QAAQ,MAAM,KAAK,KAC7B,YAAY,cAAc,EAAE,QAAQ,GAAG,cAAc,CAAC,CACtD,OAAO;EAEV,IAAI,KACF,KAAK,oBAAoB,GAAG;EAG9B,OAAO;CACT;CAEA,kBAAkB,gBAAiD;EACjE,OAAO,UACL;GACE,WAAW,cAAc,eAAe;GACxC,KAAK,mBAAmB;EAC1B,SACM,KAAK,mBAAmB,cAAc,CAC9C;CACF;CAEA,MAAM,YAAY,EAChB,aACA,aAAa,kBACsC;;EAEnD,IAAI,CAAC,gBACH,OAAO;EAIT,MAAM,YAAW,MADY,KAAK,kBAAkB,cAAc,EAAA,CAClC;EAChC,IAAI,CAAC,UAAU;GACb,OAAO,MACL,EAAE,YAAY,YAAY,GAC1B,SAAS,YAAY,oCAAoC,gBAC3D;GACA,OAAO;EACT;EACA,OAAO;CACT;AACF;AAEA,eAAe,oBACb,OACA,UACyB;CACzB,MAAM,SAAS,YAAY,KAAA,GAAW,KAAA,GAAW,iBAAiB,QAAQ,CAAC;CAE3E,IAAI;CACJ,IAAI;EACF,MAAM,MAAM,OAAO,KAAK,IAAI,iBAAiB,KAAK,CAAC;CACrD,SAAS,KAAK;EACZ,MAAM,gBAAgB,KAAK,QAAQ;CACrC;CAEA,IAAI,IAAI,cAAc;EACpB,OAAO,MACL,EAAE,SAAS,GACX,gDACF;EACA,MAAM,IAAI,MAAM,0BAA0B,UAAU;CACtD;CAEA,IAAI,EAAE,IAAI,gBAAgB,WAAW;EACnC,OAAO,MAAM,EAAE,SAAS,GAAG,6CAA6C;EACxE,MAAM,IAAI,MAAM,oCAAoC,UAAU;CAChE;CAEA,OAAO,gBAAgB,MAAM,eAAe,IAAI,IAAI,GAAG,EACrD,cAAc,eAChB,CAAC;AACH;;;;;;;AAQA,SAAS,gBAEP,KACA,UACO;CACP,IAAI,IAAI,SAAS,cAAc,IAAI,SAAS,aAAa;EACvD,OAAO,MAAM,EAAE,SAAS,GAAG,wCAAwC;EACnE,OAAO;CACT;CAEA,IACE,IAAI,SAAS,8BACb,IAAI,WAAW,mBAAmB,KAElC,OAAO,MACL;EAAE;EAAU;CAAI,GAChB,gJACF;MACK,IAAI,IAAI,YAAY,qBAEzB,OAAO,MACL,EAAE,SAAS,GACX,qEACF;MAEA,OAAO,MAAM;EAAE;EAAU;CAAI,GAAG,qCAAqC;CAGvE,OAAO,IAAI,kBAAkB,KAAK,eAAe,EAAE;AACrD;AAEA,SAAS,iBACP,UAC2C;CAC3C,MAAM,EAAE,UAAU,UAAU,UAAUC,KAAe;EACnD,UAAU,eAAe;EACzB,KAAK;CACP,CAAC;CAGD,IAAI,CAAC,YAAY,CAAC,UAChB;CAGF,OAAO;EACL,aAAa;EACb,iBAAiB;EACjB,cAAc;CAChB;AACF"}
|
|
@@ -86,7 +86,7 @@ hashMap.set("pip-compile", "ad43905a365c677315d2dcba725aef9b82c677d6ff30ee358f89
|
|
|
86
86
|
hashMap.set("pip_requirements", "953af0f3b41c2c1027327a8b1f37675c72892a8b03fdfbc3862ab63a1c3c72bf");
|
|
87
87
|
hashMap.set("pip_setup", "df18fba2bdcf48f3ca12a8f7e5cd28df31e2368d5528127277038ef4206eca79");
|
|
88
88
|
hashMap.set("pipenv", "fc2fd2e06753fada34958eb190c6d9236271b81a8a4cf1a354937a209cef06a9");
|
|
89
|
-
hashMap.set("pixi", "
|
|
89
|
+
hashMap.set("pixi", "eb3a49c742d7de368b631c0b4fc5ae1a011b5ce85752e6bdf870f24c3e548bc5");
|
|
90
90
|
hashMap.set("poetry", "33dfbd8bddcf2aca101be8c869cca7ba8d33a7224c7b86296718814fde8241cb");
|
|
91
91
|
hashMap.set("pre-commit", "a8fa968d6308947c8a6eedd799ea449e548e918971acdc250b627e86a446dc23");
|
|
92
92
|
hashMap.set("proto", "412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843");
|
|
@@ -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','0a264d6be73953d801510fdeff271e4071c274339569c6dab4e2a128eaf4869f');\nhashMap.set('ant','2df5943cf0ed19a21b94df13729dbb925655548130caf37e3e22bebaed518e17');\nhashMap.set('apm','146e023bced69a0625adfac29148a5254d9457ad5a48931c7047299f6452cb43');\nhashMap.set('argocd','5d35b1992e53130bf83b0e59a0f90ccd3a78919974c69044f306dc5d162f48ce');\nhashMap.set('asdf','430eb99b58171700c8a59c78b9e648575e9b176b781d90dd10a710f7b69015bb');\nhashMap.set('azure-pipelines','6bf7782e8a02fc87dc5d84aab59e517c09df51fd23cf57805e62207dbd5efdb5');\nhashMap.set('batect','375d39b432013bedb1330cf40a2199dd822751b28578214f219e7bab98594b8d');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','ef00591c6f09069550ef97ff7ff5e387b9dd3df51cdecc9ef941169b19315396');\nhashMap.set('bazel-module','65e6cb3d6c0d9b3b1fda22388b6c72148c518cd06e8c434b46e4645384381bad');\nhashMap.set('bazelisk','a83328e3c5b4c3f5af2e425f680b4852c08ef5c6d035a248e09577136cf3b14d');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','b8b404f53cd5d61c39153fddf93945e621471c4ac6aa9960c881cd868922bb4c');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','3d40239b69d462ab843562ff8ee5bfacbc46d4976d38d0af17d037973f174e3e');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','9c5b8a2e7b84a545bbd6cc74c1fd9422f167da67c41bcc9bfb4cc2098b41de0c');\nhashMap.set('cake','9ebd8b481220b30a8860121d26184540a1a2fcc05ef780df9295dea39b386fad');\nhashMap.set('cargo','e8f43c68e874a9f3e684c2f3323b77a2799c49a1a538495ae75fb3a3bdd1f786');\nhashMap.set('cdnurl','9a81c8e3c6ad6c788498c99fc1067ffdfcd92a427c3afaf8c0130975d83131f2');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','f4e40388944652c8a19f8518771ac8d3f3c4ccf81ddef0e68b463aca833cb73c');\nhashMap.set('cocoapods','f832e2beef885bb3fd697ed9bb3e8cd742926bfec37ff41212edd2dbb4edb3ba');\nhashMap.set('composer','3906e56e8decf5d5e51cccdb46d2ce4eb4ff8efc8b0596b859f0f7210e13ed45');\nhashMap.set('conan','1cfe3887dba15d974fbbad3c0f49b7b745a6bad194ff95f067976ce3ae47d2bf');\nhashMap.set('copier','d70688a4a74d7239229a69eb1e3c5af19da0a38d12b9324c92ff86776fa0dec7');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','bdb28fcfdc032e3ea75d2569213fef207fd18bcaa46a6e4ea933150e49df24bf');\nhashMap.set('deps-edn','7b6ac92be04b44fdf1da8755550a6417bb294908158119c8fff10adeb05048d2');\nhashMap.set('devbox','abca7468e2363c04b7e4b85bfdbc75e11ed38e9d3b84b9ccc6d1a4c34a8fc1fb');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','a9c27711356fbda8dd14f21e046936e1e43f18c5528325b468d89937f76fe1e7');\nhashMap.set('dockerfile','a83e9e93f31576697d45fd60a0b44f7d14a610752e695a62507624ab2dbb2162');\nhashMap.set('droneci','e2039bb37c2d63c53027b188d1f0faa7c8923dcbfe6cf3851fba8d4e9f43a358');\nhashMap.set('fleet','6b091fd5b8c2e9fc5d5b81ba34befec915d585d45cbc175c851ccc1555372925');\nhashMap.set('flux','70833dd068ea0a746a9392469e7904021562c7629428d0cd554603bad4eb6ce5');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','df8bb92b2906d8cddda2d4b302ee503f8002e3554d32d74cef2f584fe891f38f');\nhashMap.set('github-actions','28532556bb676239d3af375c21af30cfe392ff029f8a695391e0fc1203fc0cab');\nhashMap.set('gitlabci','a5e1e66ef461e1c1e71062f85f35a212417e23627f4b002810f9a98295d6e672');\nhashMap.set('gitlabci-include','8860a15ab516fde00694f9bd9bf56fce4addafe5a55b5ddb9a4ec477d301d351');\nhashMap.set('glasskube','93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30');\nhashMap.set('gleam','a3bd05c4814eb57872d39979a40342a8ee23e61a85e2ab25e84346e8215dadc1');\nhashMap.set('gomod','1ed58f0af452a6776ae1899466851bab659f8287c90cff96619068d8184048d5');\nhashMap.set('gradle','ef9db616bf60e9a3623fff0e41df274a457333a37f37c24f3841a3ca3a531449');\nhashMap.set('gradle-wrapper','77f7e75be2597b847fc821ff8ff5bb4b3e37ab3cc4e780e22ce75e0342becac8');\nhashMap.set('haskell-cabal','f158b7725e3143dfd2950e3de0bbccc2a61cd7eba87f7a54c5057e01252348e2');\nhashMap.set('helm-requirements','7ee9dace4c036dfe113c0c0e46369d8b83a739caa831660142ca98d3236a180a');\nhashMap.set('helm-values','01069e887d4f3b55ca62a3c0dc66d8620264e1426207be9eb240a10c1ad5e412');\nhashMap.set('helmfile','433d1d0fd4a81f191a0b553ab52419627b1d7aa0eb3099d53f7ae4a1d076c221');\nhashMap.set('helmsman','c4af380756eae8dc988d24c91e9749ce0a97b201daa55f59d2394c1c90d73779');\nhashMap.set('helmv3','cc9396b650a7226eeae1bed6b620cfb6d12e6a8ad52faf80b527ffaeb2b68066');\nhashMap.set('hermit','0fb25b7766c3a264fbb765ff75b1542b24136c4c9f933696d4a5aecfed637071');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','9c64a4f1475b1c2052372e566c9190f32ae8acd1c54313031d55ae8772388367');\nhashMap.set('html','81fa6c2bf2b868596584a48b949645207a2aa3081951ed99183ee50b70b77d5f');\nhashMap.set('jenkins','7bfb09418a132e052579196633bac78ac947cf93f1e70748ea1b3da929874b87');\nhashMap.set('jsonnet-bundler','06d163b939b258e1e2847a12a1249cb7d68d77c7bcf13c6d1a0a916744eba5cc');\nhashMap.set('kotlin-script','95ebc844c040ca047321b207d525220e29774a2a1fe06f9639e8353c66908564');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','558fcfe5b20f1eb4aba0d3c755a060bb4561611e99db7000786ce4edcd3f7894');\nhashMap.set('leiningen','a7295160ce901e08e12be75cb3aaf6b9a199de811eb60b618feb773f7c552bba');\nhashMap.set('maven','c110b99291c2a5bc82cf7a69330275e9bbd7dc8ba3e9e987611dfcffbe002d8d');\nhashMap.set('maven-wrapper','db967206d960b12d7c58d78132808d3c412087ababf5c59444262782e4434c6a');\nhashMap.set('meteor','4636a47ba4dcfff19fe662572ef7a40d17146be3c966e00ef437e1fc8de92776');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','bc13ff3b8b16a2e79f450017920e87da37fbfbf61fc8c95ddeaa7cfd4517b5b6');\nhashMap.set('mix','473bb870c00b270faae93c4614873f644ad516f762acf07f773b12a7b8e01d19');\nhashMap.set('nix','a9d4ae3f9f01abb71dc9ebc12a9cd8bec237ad9d2dabfbf4f5ffd59e56c9a612');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','e563e8a7ad94b90ca5a777e1a88af9638f2f8a9e2a142ed317c8ae5758d72cbd');\nhashMap.set('nuget','136bc3226e77b8fe65940454dc2c858fde86c2e0da6dbbdf71a5269ab137caee');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','d6567a733ef3983112b46fdccd7ceebfcd48411104e0c6b6e714d4310db48024');\nhashMap.set('pep621','2908e3287941e0d111b492140b56863915f8ed8601a7728de39ff9f878400210');\nhashMap.set('pep723','b96683163de63ed93207ec0538066705b1e58a1cd5b8bd11c63fc28b26bddba1');\nhashMap.set('pip-compile','ad43905a365c677315d2dcba725aef9b82c677d6ff30ee358f890f10faeb035f');\nhashMap.set('pip_requirements','953af0f3b41c2c1027327a8b1f37675c72892a8b03fdfbc3862ab63a1c3c72bf');\nhashMap.set('pip_setup','df18fba2bdcf48f3ca12a8f7e5cd28df31e2368d5528127277038ef4206eca79');\nhashMap.set('pipenv','fc2fd2e06753fada34958eb190c6d9236271b81a8a4cf1a354937a209cef06a9');\nhashMap.set('pixi','35630a711b242af39f01911835efc8fd19605e564e0e4ede5a18dab7e38fec3e');\nhashMap.set('poetry','33dfbd8bddcf2aca101be8c869cca7ba8d33a7224c7b86296718814fde8241cb');\nhashMap.set('pre-commit','a8fa968d6308947c8a6eedd799ea449e548e918971acdc250b627e86a446dc23');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','d0c11bb1076c7b84a3f30458d8747d5cdfd0126cc52a8d8218ab77c46287219b');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','e1fc88a4e14cd595e89bb3d79b4adf2add3ce5eb80f75276e712c32598cca53d');\nhashMap.set('renovate-config','ca60beee2e3b871ea1216fa9df9a501f7ed355fe7da29e12509e56a124a78e69');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','6ace53db02874d73620d2d872291839820a512a9529c42d174358c692e5db720');\nhashMap.set('sbt','2bb0c98d231bbd6c9043127bfc566a954e7e04fc8654b119c14438a63371e4a7');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','4a3a7c812d34739c07685691e7e64c7d3127f9d7d4aff99dc45a25df97ed9745');\nhashMap.set('smithy','9641b91d065ffb63be0dd888139a0402dba41e550f8b44c592db9daf52109100');\nhashMap.set('sveltos','e0b799487e3331b91de1fec7dfb975378340b883dc0aeb95b950d289eb4737c5');\nhashMap.set('swift','5ebd875ee7a541b4725f6263789ea9a7c77a4b7c40b2119f894e67b588cfa672');\nhashMap.set('tekton','33948f5bdf7553909fa63744adb26da97ddf366e9499bccab1250879570267c9');\nhashMap.set('terraform','369872bc79b8c0424d68345b2cec69d71534c0a4a42113af8ee7f04c32ad95a2');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','ffcbaa67dd65f064d43f8c121c1006115eab1879c4bd38de263b9b90a009c118');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','31247d37bc80aae17039bfa21bd989c5717730c5ef10cf2a6f09841576d012ec');\nhashMap.set('travis','04c94f72622003195c8ea8147c8fbd93003f444ec807ce33f2ada2384282db83');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','f07c508ef8bf0c6d74b4e3ebdc7573ab606ab7f0671f4d1e5f6002adaed84c9c');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','416bcf61144b276b3112814c6e6d261aa29608f46fbb0516c471d35c16f8f0d7');\nhashMap.set('regex','20be5247fdc164173871a051acb0527da017d0c155c653d7563601f55e7b3ff5');"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','a52394a36ac5517f7330473c31d93aa05b2ce607c5e951b48f25a4693cd20a81');\nhashMap.set('ansible-galaxy','0a264d6be73953d801510fdeff271e4071c274339569c6dab4e2a128eaf4869f');\nhashMap.set('ant','2df5943cf0ed19a21b94df13729dbb925655548130caf37e3e22bebaed518e17');\nhashMap.set('apm','146e023bced69a0625adfac29148a5254d9457ad5a48931c7047299f6452cb43');\nhashMap.set('argocd','5d35b1992e53130bf83b0e59a0f90ccd3a78919974c69044f306dc5d162f48ce');\nhashMap.set('asdf','430eb99b58171700c8a59c78b9e648575e9b176b781d90dd10a710f7b69015bb');\nhashMap.set('azure-pipelines','6bf7782e8a02fc87dc5d84aab59e517c09df51fd23cf57805e62207dbd5efdb5');\nhashMap.set('batect','375d39b432013bedb1330cf40a2199dd822751b28578214f219e7bab98594b8d');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','ef00591c6f09069550ef97ff7ff5e387b9dd3df51cdecc9ef941169b19315396');\nhashMap.set('bazel-module','65e6cb3d6c0d9b3b1fda22388b6c72148c518cd06e8c434b46e4645384381bad');\nhashMap.set('bazelisk','a83328e3c5b4c3f5af2e425f680b4852c08ef5c6d035a248e09577136cf3b14d');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','b8b404f53cd5d61c39153fddf93945e621471c4ac6aa9960c881cd868922bb4c');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','3d40239b69d462ab843562ff8ee5bfacbc46d4976d38d0af17d037973f174e3e');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','9c5b8a2e7b84a545bbd6cc74c1fd9422f167da67c41bcc9bfb4cc2098b41de0c');\nhashMap.set('cake','9ebd8b481220b30a8860121d26184540a1a2fcc05ef780df9295dea39b386fad');\nhashMap.set('cargo','e8f43c68e874a9f3e684c2f3323b77a2799c49a1a538495ae75fb3a3bdd1f786');\nhashMap.set('cdnurl','9a81c8e3c6ad6c788498c99fc1067ffdfcd92a427c3afaf8c0130975d83131f2');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','f4e40388944652c8a19f8518771ac8d3f3c4ccf81ddef0e68b463aca833cb73c');\nhashMap.set('cocoapods','f832e2beef885bb3fd697ed9bb3e8cd742926bfec37ff41212edd2dbb4edb3ba');\nhashMap.set('composer','3906e56e8decf5d5e51cccdb46d2ce4eb4ff8efc8b0596b859f0f7210e13ed45');\nhashMap.set('conan','1cfe3887dba15d974fbbad3c0f49b7b745a6bad194ff95f067976ce3ae47d2bf');\nhashMap.set('copier','d70688a4a74d7239229a69eb1e3c5af19da0a38d12b9324c92ff86776fa0dec7');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','bdb28fcfdc032e3ea75d2569213fef207fd18bcaa46a6e4ea933150e49df24bf');\nhashMap.set('deps-edn','7b6ac92be04b44fdf1da8755550a6417bb294908158119c8fff10adeb05048d2');\nhashMap.set('devbox','abca7468e2363c04b7e4b85bfdbc75e11ed38e9d3b84b9ccc6d1a4c34a8fc1fb');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','a9c27711356fbda8dd14f21e046936e1e43f18c5528325b468d89937f76fe1e7');\nhashMap.set('dockerfile','a83e9e93f31576697d45fd60a0b44f7d14a610752e695a62507624ab2dbb2162');\nhashMap.set('droneci','e2039bb37c2d63c53027b188d1f0faa7c8923dcbfe6cf3851fba8d4e9f43a358');\nhashMap.set('fleet','6b091fd5b8c2e9fc5d5b81ba34befec915d585d45cbc175c851ccc1555372925');\nhashMap.set('flux','70833dd068ea0a746a9392469e7904021562c7629428d0cd554603bad4eb6ce5');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','df8bb92b2906d8cddda2d4b302ee503f8002e3554d32d74cef2f584fe891f38f');\nhashMap.set('github-actions','28532556bb676239d3af375c21af30cfe392ff029f8a695391e0fc1203fc0cab');\nhashMap.set('gitlabci','a5e1e66ef461e1c1e71062f85f35a212417e23627f4b002810f9a98295d6e672');\nhashMap.set('gitlabci-include','8860a15ab516fde00694f9bd9bf56fce4addafe5a55b5ddb9a4ec477d301d351');\nhashMap.set('glasskube','93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30');\nhashMap.set('gleam','a3bd05c4814eb57872d39979a40342a8ee23e61a85e2ab25e84346e8215dadc1');\nhashMap.set('gomod','1ed58f0af452a6776ae1899466851bab659f8287c90cff96619068d8184048d5');\nhashMap.set('gradle','ef9db616bf60e9a3623fff0e41df274a457333a37f37c24f3841a3ca3a531449');\nhashMap.set('gradle-wrapper','77f7e75be2597b847fc821ff8ff5bb4b3e37ab3cc4e780e22ce75e0342becac8');\nhashMap.set('haskell-cabal','f158b7725e3143dfd2950e3de0bbccc2a61cd7eba87f7a54c5057e01252348e2');\nhashMap.set('helm-requirements','7ee9dace4c036dfe113c0c0e46369d8b83a739caa831660142ca98d3236a180a');\nhashMap.set('helm-values','01069e887d4f3b55ca62a3c0dc66d8620264e1426207be9eb240a10c1ad5e412');\nhashMap.set('helmfile','433d1d0fd4a81f191a0b553ab52419627b1d7aa0eb3099d53f7ae4a1d076c221');\nhashMap.set('helmsman','c4af380756eae8dc988d24c91e9749ce0a97b201daa55f59d2394c1c90d73779');\nhashMap.set('helmv3','cc9396b650a7226eeae1bed6b620cfb6d12e6a8ad52faf80b527ffaeb2b68066');\nhashMap.set('hermit','0fb25b7766c3a264fbb765ff75b1542b24136c4c9f933696d4a5aecfed637071');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','9c64a4f1475b1c2052372e566c9190f32ae8acd1c54313031d55ae8772388367');\nhashMap.set('html','81fa6c2bf2b868596584a48b949645207a2aa3081951ed99183ee50b70b77d5f');\nhashMap.set('jenkins','7bfb09418a132e052579196633bac78ac947cf93f1e70748ea1b3da929874b87');\nhashMap.set('jsonnet-bundler','06d163b939b258e1e2847a12a1249cb7d68d77c7bcf13c6d1a0a916744eba5cc');\nhashMap.set('kotlin-script','95ebc844c040ca047321b207d525220e29774a2a1fe06f9639e8353c66908564');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','558fcfe5b20f1eb4aba0d3c755a060bb4561611e99db7000786ce4edcd3f7894');\nhashMap.set('leiningen','a7295160ce901e08e12be75cb3aaf6b9a199de811eb60b618feb773f7c552bba');\nhashMap.set('maven','c110b99291c2a5bc82cf7a69330275e9bbd7dc8ba3e9e987611dfcffbe002d8d');\nhashMap.set('maven-wrapper','db967206d960b12d7c58d78132808d3c412087ababf5c59444262782e4434c6a');\nhashMap.set('meteor','4636a47ba4dcfff19fe662572ef7a40d17146be3c966e00ef437e1fc8de92776');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','bc13ff3b8b16a2e79f450017920e87da37fbfbf61fc8c95ddeaa7cfd4517b5b6');\nhashMap.set('mix','473bb870c00b270faae93c4614873f644ad516f762acf07f773b12a7b8e01d19');\nhashMap.set('nix','a9d4ae3f9f01abb71dc9ebc12a9cd8bec237ad9d2dabfbf4f5ffd59e56c9a612');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','e563e8a7ad94b90ca5a777e1a88af9638f2f8a9e2a142ed317c8ae5758d72cbd');\nhashMap.set('nuget','136bc3226e77b8fe65940454dc2c858fde86c2e0da6dbbdf71a5269ab137caee');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','d6567a733ef3983112b46fdccd7ceebfcd48411104e0c6b6e714d4310db48024');\nhashMap.set('pep621','2908e3287941e0d111b492140b56863915f8ed8601a7728de39ff9f878400210');\nhashMap.set('pep723','b96683163de63ed93207ec0538066705b1e58a1cd5b8bd11c63fc28b26bddba1');\nhashMap.set('pip-compile','ad43905a365c677315d2dcba725aef9b82c677d6ff30ee358f890f10faeb035f');\nhashMap.set('pip_requirements','953af0f3b41c2c1027327a8b1f37675c72892a8b03fdfbc3862ab63a1c3c72bf');\nhashMap.set('pip_setup','df18fba2bdcf48f3ca12a8f7e5cd28df31e2368d5528127277038ef4206eca79');\nhashMap.set('pipenv','fc2fd2e06753fada34958eb190c6d9236271b81a8a4cf1a354937a209cef06a9');\nhashMap.set('pixi','eb3a49c742d7de368b631c0b4fc5ae1a011b5ce85752e6bdf870f24c3e548bc5');\nhashMap.set('poetry','33dfbd8bddcf2aca101be8c869cca7ba8d33a7224c7b86296718814fde8241cb');\nhashMap.set('pre-commit','a8fa968d6308947c8a6eedd799ea449e548e918971acdc250b627e86a446dc23');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','d0c11bb1076c7b84a3f30458d8747d5cdfd0126cc52a8d8218ab77c46287219b');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','e1fc88a4e14cd595e89bb3d79b4adf2add3ce5eb80f75276e712c32598cca53d');\nhashMap.set('renovate-config','ca60beee2e3b871ea1216fa9df9a501f7ed355fe7da29e12509e56a124a78e69');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','6ace53db02874d73620d2d872291839820a512a9529c42d174358c692e5db720');\nhashMap.set('sbt','2bb0c98d231bbd6c9043127bfc566a954e7e04fc8654b119c14438a63371e4a7');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','4a3a7c812d34739c07685691e7e64c7d3127f9d7d4aff99dc45a25df97ed9745');\nhashMap.set('smithy','9641b91d065ffb63be0dd888139a0402dba41e550f8b44c592db9daf52109100');\nhashMap.set('sveltos','e0b799487e3331b91de1fec7dfb975378340b883dc0aeb95b950d289eb4737c5');\nhashMap.set('swift','5ebd875ee7a541b4725f6263789ea9a7c77a4b7c40b2119f894e67b588cfa672');\nhashMap.set('tekton','33948f5bdf7553909fa63744adb26da97ddf366e9499bccab1250879570267c9');\nhashMap.set('terraform','369872bc79b8c0424d68345b2cec69d71534c0a4a42113af8ee7f04c32ad95a2');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','ffcbaa67dd65f064d43f8c121c1006115eab1879c4bd38de263b9b90a009c118');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','31247d37bc80aae17039bfa21bd989c5717730c5ef10cf2a6f09841576d012ec');\nhashMap.set('travis','04c94f72622003195c8ea8147c8fbd93003f444ec807ce33f2ada2384282db83');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','f07c508ef8bf0c6d74b4e3ebdc7573ab606ab7f0671f4d1e5f6002adaed84c9c');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','416bcf61144b276b3112814c6e6d261aa29608f46fbb0516c471d35c16f8f0d7');\nhashMap.set('regex','20be5247fdc164173871a051acb0527da017d0c155c653d7563601f55e7b3ff5');"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { coerceArray } from "../../../util/array.js";
|
|
|
2
2
|
import { logger } from "../../../logger/index.js";
|
|
3
3
|
import { ensureTrailingSlash, isHttpUrl, joinUrlParts } from "../../../util/url.js";
|
|
4
4
|
import { getSiblingFileName, localPathExists } from "../../../util/fs/index.js";
|
|
5
|
+
import { coerceNumber } from "../../../util/number.js";
|
|
5
6
|
import { Result } from "../../../util/result.js";
|
|
6
7
|
import { defaultRegistryUrl } from "../../datasource/conda/common.js";
|
|
7
8
|
import { PixiFile, PixiPyProject } from "./schema.js";
|
|
@@ -106,7 +107,8 @@ function orderChannels(channels = []) {
|
|
|
106
107
|
};
|
|
107
108
|
return {
|
|
108
109
|
...channel,
|
|
109
|
-
|
|
110
|
+
priority: coerceNumber(channel.priority),
|
|
111
|
+
index
|
|
110
112
|
};
|
|
111
113
|
}).toSorted((a, b) => {
|
|
112
114
|
if (a.priority !== b.priority) return b.priority - a.priority;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","names":["defaultCondaRegistryApi"],"sources":["../../../../lib/modules/manager/pixi/extract.ts"],"sourcesContent":["import { isString } from '@sindresorhus/is';\nimport { z } from 'zod/v4';\n\nimport { logger } from '../../../logger/index.ts';\nimport { coerceArray } from '../../../util/array.ts';\nimport { getSiblingFileName, localPathExists } from '../../../util/fs/index.ts';\nimport { Result } from '../../../util/result.ts';\nimport {\n ensureTrailingSlash,\n isHttpUrl,\n joinUrlParts,\n} from '../../../util/url.ts';\nimport { defaultRegistryUrl as defaultCondaRegistryApi } from '../../datasource/conda/common.ts';\nimport type { RegistryStrategy } from '../../datasource/index.ts';\nimport type { PackageFileContent } from '../types.ts';\nimport {\n type Channels,\n type PixiConfig,\n PixiFile,\n type PixiPackageDependency,\n PixiPyProject,\n} from './schema.ts';\n\nexport function getUserPixiConfig(\n content: string,\n packageFile: string,\n): null | PixiConfig {\n if (\n packageFile === 'pyproject.toml' ||\n packageFile.endsWith('/pyproject.toml')\n ) {\n const { val, err } = Result.parse(content, PixiPyProject).unwrap();\n if (err) {\n logger.debug({ packageFile, err }, `error parsing ${packageFile}`);\n return null;\n }\n\n return val.tool?.pixi ?? null;\n }\n\n if (packageFile === 'pixi.toml' || packageFile.endsWith('/pixi.toml')) {\n const { val, err } = Result.parse(content, PixiFile).unwrap();\n if (err) {\n logger.debug({ packageFile, err }, `error parsing ${packageFile}`);\n return null;\n }\n\n return val;\n }\n\n const { val, err } = Result.parse(\n content,\n z.union([PixiFile, PixiPyProject.transform((p) => p.tool?.pixi)]),\n ).unwrap();\n\n if (err) {\n logger.debug({ packageFile, err }, `error parsing ${packageFile}`);\n return null;\n }\n return val ?? null;\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n): Promise<PackageFileContent | null> {\n logger.trace(`pixi.extractPackageFile(${packageFile})`);\n\n const val = getUserPixiConfig(content, packageFile);\n if (!val) {\n return null;\n }\n\n const lockfileName = getSiblingFileName(packageFile, 'pixi.lock');\n const lockFiles: string[] = [];\n if (await localPathExists(lockfileName)) {\n lockFiles.push(lockfileName);\n }\n\n const project = val.project;\n\n const channelPriority = project['channel-priority'];\n\n let registryStrategy: RegistryStrategy | undefined;\n\n if (channelPriority === 'disabled') {\n registryStrategy = 'merge';\n }\n\n // resolve channels and build registry urls for each channel with order\n const conda: PixiPackageDependency[] = [];\n\n for (const item of val.conda) {\n conda.push(\n addRegistryUrls({\n ...item,\n channels: project.channels,\n registryStrategy,\n }),\n );\n }\n\n for (const item of val.feature.conda) {\n conda.push(\n addRegistryUrls({\n ...item,\n registryStrategy,\n channels: [...coerceArray(item.channels), ...project.channels],\n }),\n );\n }\n\n return {\n lockFiles,\n deps: [conda, val.pypi, val.feature.pypi].flat(),\n };\n}\n\nfunction addRegistryUrls(item: PixiPackageDependency): PixiPackageDependency {\n const channels = orderChannels(item.channels);\n\n if (item.channel) {\n return {\n ...item,\n channels,\n registryUrls: [channelToRegistryUrl(item.channel)],\n };\n }\n\n if (channels.length === 0) {\n return {\n ...item,\n channels,\n skipStage: 'extract',\n skipReason: 'unknown-registry',\n };\n }\n\n const registryUrls: string[] = [];\n for (const channel of channels) {\n registryUrls.push(channelToRegistryUrl(channel));\n }\n\n return {\n ...item,\n channels,\n registryUrls,\n };\n}\n\nfunction channelToRegistryUrl(channel: string): string {\n if (isHttpUrl(channel)) {\n return ensureTrailingSlash(channel);\n }\n\n return ensureTrailingSlash(joinUrlParts(defaultCondaRegistryApi, channel));\n}\n\nfunction orderChannels(channels: Channels = []): string[] {\n return channels\n .map((channel, index) => {\n if (isString(channel)) {\n return { channel, priority: 0, index };\n }\n\n return { ...channel,
|
|
1
|
+
{"version":3,"file":"extract.js","names":["defaultCondaRegistryApi"],"sources":["../../../../lib/modules/manager/pixi/extract.ts"],"sourcesContent":["import { isString } from '@sindresorhus/is';\nimport { z } from 'zod/v4';\n\nimport { logger } from '../../../logger/index.ts';\nimport { coerceArray } from '../../../util/array.ts';\nimport { getSiblingFileName, localPathExists } from '../../../util/fs/index.ts';\nimport { coerceNumber } from '../../../util/number.ts';\nimport { Result } from '../../../util/result.ts';\nimport {\n ensureTrailingSlash,\n isHttpUrl,\n joinUrlParts,\n} from '../../../util/url.ts';\nimport { defaultRegistryUrl as defaultCondaRegistryApi } from '../../datasource/conda/common.ts';\nimport type { RegistryStrategy } from '../../datasource/index.ts';\nimport type { PackageFileContent } from '../types.ts';\nimport {\n type Channels,\n type PixiConfig,\n PixiFile,\n type PixiPackageDependency,\n PixiPyProject,\n} from './schema.ts';\n\nexport function getUserPixiConfig(\n content: string,\n packageFile: string,\n): null | PixiConfig {\n if (\n packageFile === 'pyproject.toml' ||\n packageFile.endsWith('/pyproject.toml')\n ) {\n const { val, err } = Result.parse(content, PixiPyProject).unwrap();\n if (err) {\n logger.debug({ packageFile, err }, `error parsing ${packageFile}`);\n return null;\n }\n\n return val.tool?.pixi ?? null;\n }\n\n if (packageFile === 'pixi.toml' || packageFile.endsWith('/pixi.toml')) {\n const { val, err } = Result.parse(content, PixiFile).unwrap();\n if (err) {\n logger.debug({ packageFile, err }, `error parsing ${packageFile}`);\n return null;\n }\n\n return val;\n }\n\n const { val, err } = Result.parse(\n content,\n z.union([PixiFile, PixiPyProject.transform((p) => p.tool?.pixi)]),\n ).unwrap();\n\n if (err) {\n logger.debug({ packageFile, err }, `error parsing ${packageFile}`);\n return null;\n }\n return val ?? null;\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n): Promise<PackageFileContent | null> {\n logger.trace(`pixi.extractPackageFile(${packageFile})`);\n\n const val = getUserPixiConfig(content, packageFile);\n if (!val) {\n return null;\n }\n\n const lockfileName = getSiblingFileName(packageFile, 'pixi.lock');\n const lockFiles: string[] = [];\n if (await localPathExists(lockfileName)) {\n lockFiles.push(lockfileName);\n }\n\n const project = val.project;\n\n const channelPriority = project['channel-priority'];\n\n let registryStrategy: RegistryStrategy | undefined;\n\n if (channelPriority === 'disabled') {\n registryStrategy = 'merge';\n }\n\n // resolve channels and build registry urls for each channel with order\n const conda: PixiPackageDependency[] = [];\n\n for (const item of val.conda) {\n conda.push(\n addRegistryUrls({\n ...item,\n channels: project.channels,\n registryStrategy,\n }),\n );\n }\n\n for (const item of val.feature.conda) {\n conda.push(\n addRegistryUrls({\n ...item,\n registryStrategy,\n channels: [...coerceArray(item.channels), ...project.channels],\n }),\n );\n }\n\n return {\n lockFiles,\n deps: [conda, val.pypi, val.feature.pypi].flat(),\n };\n}\n\nfunction addRegistryUrls(item: PixiPackageDependency): PixiPackageDependency {\n const channels = orderChannels(item.channels);\n\n if (item.channel) {\n return {\n ...item,\n channels,\n registryUrls: [channelToRegistryUrl(item.channel)],\n };\n }\n\n if (channels.length === 0) {\n return {\n ...item,\n channels,\n skipStage: 'extract',\n skipReason: 'unknown-registry',\n };\n }\n\n const registryUrls: string[] = [];\n for (const channel of channels) {\n registryUrls.push(channelToRegistryUrl(channel));\n }\n\n return {\n ...item,\n channels,\n registryUrls,\n };\n}\n\nfunction channelToRegistryUrl(channel: string): string {\n if (isHttpUrl(channel)) {\n return ensureTrailingSlash(channel);\n }\n\n return ensureTrailingSlash(joinUrlParts(defaultCondaRegistryApi, channel));\n}\n\nfunction orderChannels(channels: Channels = []): string[] {\n return channels\n .map((channel, index) => {\n if (isString(channel)) {\n return { channel, priority: 0, index };\n }\n\n return { ...channel, priority: coerceNumber(channel.priority), index };\n })\n .toSorted((a, b) => {\n // first based on priority then based on index\n if (a.priority !== b.priority) {\n return b.priority - a.priority;\n }\n\n return a.index - b.index;\n })\n .map((c) => c.channel);\n}\n"],"mappings":";;;;;;;;;;;AAwBA,SAAgB,kBACd,SACA,aACmB;CACnB,IACE,gBAAgB,oBAChB,YAAY,SAAS,iBAAiB,GACtC;EACA,MAAM,EAAE,KAAK,QAAQ,OAAO,MAAM,SAAS,aAAa,CAAC,CAAC,OAAO;EACjE,IAAI,KAAK;GACP,OAAO,MAAM;IAAE;IAAa;GAAI,GAAG,iBAAiB,aAAa;GACjE,OAAO;EACT;EAEA,OAAO,IAAI,MAAM,QAAQ;CAC3B;CAEA,IAAI,gBAAgB,eAAe,YAAY,SAAS,YAAY,GAAG;EACrE,MAAM,EAAE,KAAK,QAAQ,OAAO,MAAM,SAAS,QAAQ,CAAC,CAAC,OAAO;EAC5D,IAAI,KAAK;GACP,OAAO,MAAM;IAAE;IAAa;GAAI,GAAG,iBAAiB,aAAa;GACjE,OAAO;EACT;EAEA,OAAO;CACT;CAEA,MAAM,EAAE,KAAK,QAAQ,OAAO,MAC1B,SACA,EAAE,MAAM,CAAC,UAAU,cAAc,WAAW,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,CAClE,CAAC,CAAC,OAAO;CAET,IAAI,KAAK;EACP,OAAO,MAAM;GAAE;GAAa;EAAI,GAAG,iBAAiB,aAAa;EACjE,OAAO;CACT;CACA,OAAO,OAAO;AAChB;AAEA,eAAsB,mBACpB,SACA,aACoC;CACpC,OAAO,MAAM,2BAA2B,YAAY,EAAE;CAEtD,MAAM,MAAM,kBAAkB,SAAS,WAAW;CAClD,IAAI,CAAC,KACH,OAAO;CAGT,MAAM,eAAe,mBAAmB,aAAa,WAAW;CAChE,MAAM,YAAsB,CAAC;CAC7B,IAAI,MAAM,gBAAgB,YAAY,GACpC,UAAU,KAAK,YAAY;CAG7B,MAAM,UAAU,IAAI;CAEpB,MAAM,kBAAkB,QAAQ;CAEhC,IAAI;CAEJ,IAAI,oBAAoB,YACtB,mBAAmB;CAIrB,MAAM,QAAiC,CAAC;CAExC,KAAK,MAAM,QAAQ,IAAI,OACrB,MAAM,KACJ,gBAAgB;EACd,GAAG;EACH,UAAU,QAAQ;EAClB;CACF,CAAC,CACH;CAGF,KAAK,MAAM,QAAQ,IAAI,QAAQ,OAC7B,MAAM,KACJ,gBAAgB;EACd,GAAG;EACH;EACA,UAAU,CAAC,GAAG,YAAY,KAAK,QAAQ,GAAG,GAAG,QAAQ,QAAQ;CAC/D,CAAC,CACH;CAGF,OAAO;EACL;EACA,MAAM;GAAC;GAAO,IAAI;GAAM,IAAI,QAAQ;EAAI,CAAC,CAAC,KAAK;CACjD;AACF;AAEA,SAAS,gBAAgB,MAAoD;CAC3E,MAAM,WAAW,cAAc,KAAK,QAAQ;CAE5C,IAAI,KAAK,SACP,OAAO;EACL,GAAG;EACH;EACA,cAAc,CAAC,qBAAqB,KAAK,OAAO,CAAC;CACnD;CAGF,IAAI,SAAS,WAAW,GACtB,OAAO;EACL,GAAG;EACH;EACA,WAAW;EACX,YAAY;CACd;CAGF,MAAM,eAAyB,CAAC;CAChC,KAAK,MAAM,WAAW,UACpB,aAAa,KAAK,qBAAqB,OAAO,CAAC;CAGjD,OAAO;EACL,GAAG;EACH;EACA;CACF;AACF;AAEA,SAAS,qBAAqB,SAAyB;CACrD,IAAI,UAAU,OAAO,GACnB,OAAO,oBAAoB,OAAO;CAGpC,OAAO,oBAAoB,aAAaA,oBAAyB,OAAO,CAAC;AAC3E;AAEA,SAAS,cAAc,WAAqB,CAAC,GAAa;CACxD,OAAO,SACJ,KAAK,SAAS,UAAU;EACvB,IAAI,SAAS,OAAO,GAClB,OAAO;GAAE;GAAS,UAAU;GAAG;EAAM;EAGvC,OAAO;GAAE,GAAG;GAAS,UAAU,aAAa,QAAQ,QAAQ;GAAG;EAAM;CACvE,CAAC,CAAC,CACD,UAAU,GAAG,MAAM;EAElB,IAAI,EAAE,aAAa,EAAE,UACnB,OAAO,EAAE,WAAW,EAAE;EAGxB,OAAO,EAAE,QAAQ,EAAE;CACrB,CAAC,CAAC,CACD,KAAK,MAAM,EAAE,OAAO;AACzB"}
|
|
@@ -11,7 +11,8 @@ import { z } from "zod/v4";
|
|
|
11
11
|
//#region lib/modules/manager/pixi/schema.ts
|
|
12
12
|
const Channel = z.union([z.string(), z.object({
|
|
13
13
|
channel: z.string(),
|
|
14
|
-
priority: z.number()
|
|
14
|
+
priority: z.number().optional(),
|
|
15
|
+
"exclude-newer": z.string().optional()
|
|
15
16
|
})]);
|
|
16
17
|
function collectNamedPackages(packages) {
|
|
17
18
|
return Object.entries(packages).map(([depName, config]) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","names":["pep440VersionID","condaVersion.id"],"sources":["../../../../lib/modules/manager/pixi/schema.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { regEx } from '../../../util/regex.ts';\nimport { LooseRecord, Toml, Yaml } from '../../../util/schema-utils/index.ts';\nimport { CondaDatasource } from '../../datasource/conda//index.ts';\nimport { GitRefsDatasource } from '../../datasource/git-refs/index.ts';\nimport { PypiDatasource } from '../../datasource/pypi/index.ts';\nimport * as condaVersion from '../../versioning/conda//index.ts';\nimport { id as gitRefVersionID } from '../../versioning/git/index.ts';\nimport { id as pep440VersionID } from '../../versioning/pep440//index.ts';\nimport { PyProject } from '../pep621/schema.ts';\nimport type { PackageDependency } from '../types.ts';\n\nexport type Channels = z.infer<typeof Channel>[];\n\nconst Channel = z.union([\n z.string(),\n z.object({
|
|
1
|
+
{"version":3,"file":"schema.js","names":["pep440VersionID","condaVersion.id"],"sources":["../../../../lib/modules/manager/pixi/schema.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { regEx } from '../../../util/regex.ts';\nimport { LooseRecord, Toml, Yaml } from '../../../util/schema-utils/index.ts';\nimport { CondaDatasource } from '../../datasource/conda//index.ts';\nimport { GitRefsDatasource } from '../../datasource/git-refs/index.ts';\nimport { PypiDatasource } from '../../datasource/pypi/index.ts';\nimport * as condaVersion from '../../versioning/conda//index.ts';\nimport { id as gitRefVersionID } from '../../versioning/git/index.ts';\nimport { id as pep440VersionID } from '../../versioning/pep440//index.ts';\nimport { PyProject } from '../pep621/schema.ts';\nimport type { PackageDependency } from '../types.ts';\n\nexport type Channels = z.infer<typeof Channel>[];\n\nconst Channel = z.union([\n z.string(),\n z.object({\n channel: z.string(),\n priority: z.number().optional(),\n 'exclude-newer': z.string().optional(),\n }),\n]);\n\nexport interface PixiPackageDependency extends PackageDependency {\n channel?: string;\n channels?: Channels;\n}\n\nfunction collectNamedPackages(\n packages: Record<string, PackageDependency>,\n): PackageDependency[] {\n return Object.entries(packages).map(([depName, config]) => {\n return {\n ...config,\n depName,\n };\n });\n}\n\nconst PypiDependency = z\n .union([\n z.string().transform((version) => ({ version })),\n z.object({ version: z.string() }),\n ])\n .transform(({ version }) => {\n const dep: PixiPackageDependency = {\n currentValue: version,\n versioning: pep440VersionID,\n datasource: PypiDatasource.id,\n };\n if (version.startsWith('==')) {\n dep.currentVersion = version.replace(regEx(/^==\\s*/), '');\n }\n return dep;\n });\n\nconst PypiGitDependency = z\n .object({ git: z.string(), rev: z.optional(z.string()) })\n .transform(({ git, rev }) => {\n // empty ref default to HEAD, so do we not need to do anything\n if (!rev) {\n return {\n currentValue: rev,\n packageName: git,\n datasource: GitRefsDatasource.id,\n versioning: gitRefVersionID,\n skipStage: 'extract',\n skipReason: 'unspecified-version',\n } satisfies PixiPackageDependency;\n }\n\n return {\n currentValue: rev,\n packageName: git,\n datasource: GitRefsDatasource.id,\n versioning: gitRefVersionID,\n } satisfies PixiPackageDependency;\n });\n\nconst PypiDependencies = LooseRecord(\n z.string(),\n z.union([PypiDependency, PypiGitDependency]),\n).transform(collectNamedPackages);\n\nconst CondaDependency = z\n .union([\n z.string().transform((version) => ({ version, channel: undefined })),\n z.object({ version: z.string(), channel: z.optional(z.string()) }),\n ])\n .transform(({ version, channel }) => {\n return {\n currentValue: version,\n versioning: condaVersion.id,\n datasource: CondaDatasource.id,\n channel,\n } satisfies PixiPackageDependency;\n });\n\nconst CondaDependencies = LooseRecord(z.string(), CondaDependency).transform(\n collectNamedPackages,\n);\n\nconst Targets = LooseRecord(\n z.string(),\n z.object({\n dependencies: z.optional(CondaDependencies).default([]),\n 'pypi-dependencies': z.optional(PypiDependencies).default([]),\n }),\n).transform((val) => {\n const conda: PixiPackageDependency[] = [];\n const pypi: PixiPackageDependency[] = [];\n for (const value of Object.values(val)) {\n pypi.push(...value['pypi-dependencies']);\n\n conda.push(...value.dependencies);\n }\n\n return { pypi, conda };\n});\n\nconst Project = z.object({\n channels: z.array(Channel).default([]),\n 'requires-pixi': z.string().optional(),\n 'channel-priority': z\n .union([z.literal('strict'), z.literal('disabled')])\n .default('strict'),\n});\n\nconst DependenciesMixin = z\n .object({\n dependencies: z.optional(CondaDependencies).default([]),\n 'pypi-dependencies': z.optional(PypiDependencies).default([]),\n target: z.optional(Targets).default({ pypi: [], conda: [] }),\n })\n .transform(\n (\n val,\n ): { pypi: PixiPackageDependency[]; conda: PixiPackageDependency[] } => {\n return {\n conda: [...val.dependencies, ...val.target.conda],\n pypi: [...val['pypi-dependencies'], ...val.target.pypi],\n };\n },\n );\n\nconst Features = LooseRecord(\n z.string(),\n z\n .object({\n channels: z.array(Channel).optional(),\n })\n .and(DependenciesMixin),\n).transform(\n (\n features,\n ): {\n conda: PixiPackageDependency[];\n pypi: PixiPackageDependency[];\n } => {\n const pypi: PixiPackageDependency[] = [];\n const conda: PixiPackageDependency[] = [];\n\n for (const [name, feature] of Object.entries(features)) {\n conda.push(\n ...feature.conda.map((item) => {\n return {\n ...item,\n depType: `feature-${name}`,\n channels: feature.channels,\n };\n }),\n );\n\n pypi.push(\n ...feature.pypi.map((item) => ({\n depType: `feature-${name}`,\n ...item,\n })),\n );\n }\n\n return { pypi, conda };\n },\n);\n\nconst PixiWorkspace = z\n .object({\n workspace: Project,\n })\n .transform((val) => {\n return { project: val.workspace };\n });\n\nconst PixiProject = z.object({\n project: Project,\n});\n\n/**\n * `$` of `pixi.toml` or `$.tool.pixi` of `pyproject.toml`\n */\nexport const PixiConfig = z\n .union([PixiWorkspace, PixiProject])\n .and(z.object({ feature: Features.default({ pypi: [], conda: [] }) }))\n .and(DependenciesMixin);\n\nexport type PixiConfig = z.infer<typeof PixiConfig>;\n\nexport const PixiFile = Toml.pipe(PixiConfig);\n\nexport const PixiPyProject = Toml.pipe(\n PyProject.extend({\n tool: z\n .object({ pixi: PixiConfig.optional().catch(undefined) })\n .optional()\n .catch(undefined),\n }),\n);\n\nexport const Lockfile = Yaml.pipe(\n z.object({\n version: z.number(),\n }),\n);\n"],"mappings":"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"}
|
package/dist/util/s3.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { S3Client } from "@aws-sdk/client-s3";
|
|
1
|
+
import { S3Client, S3ClientConfig } from "@aws-sdk/client-s3";
|
|
2
2
|
//#region lib/util/s3.d.ts
|
|
3
|
-
declare function getS3Client(s3Endpoint?: string, s3PathStyle?: boolean): S3Client;
|
|
3
|
+
declare function getS3Client(s3Endpoint?: string, s3PathStyle?: boolean, credentials?: S3ClientConfig['credentials']): S3Client;
|
|
4
4
|
interface S3UrlParts {
|
|
5
5
|
Bucket: string;
|
|
6
6
|
Key: string;
|
package/dist/util/s3.js
CHANGED
|
@@ -4,17 +4,20 @@ import { isString, isUndefined } from "@sindresorhus/is";
|
|
|
4
4
|
import { S3Client } from "@aws-sdk/client-s3";
|
|
5
5
|
//#region lib/util/s3.ts
|
|
6
6
|
let s3Instance;
|
|
7
|
-
function getS3Client(s3Endpoint, s3PathStyle) {
|
|
8
|
-
if (
|
|
9
|
-
|
|
10
|
-
const forcePathStyle = isUndefined(s3PathStyle) ? !!GlobalConfig.get("s3PathStyle") : s3PathStyle;
|
|
11
|
-
s3Instance = new S3Client({
|
|
12
|
-
...endpoint && { endpoint },
|
|
13
|
-
...forcePathStyle && { forcePathStyle: true }
|
|
14
|
-
});
|
|
15
|
-
}
|
|
7
|
+
function getS3Client(s3Endpoint, s3PathStyle, credentials) {
|
|
8
|
+
if (credentials) return newS3Client(s3Endpoint, s3PathStyle, credentials);
|
|
9
|
+
s3Instance ??= newS3Client(s3Endpoint, s3PathStyle);
|
|
16
10
|
return s3Instance;
|
|
17
11
|
}
|
|
12
|
+
function newS3Client(s3Endpoint, s3PathStyle, credentials) {
|
|
13
|
+
const endpoint = s3Endpoint ?? GlobalConfig.get("s3Endpoint");
|
|
14
|
+
const forcePathStyle = isUndefined(s3PathStyle) ? !!GlobalConfig.get("s3PathStyle") : s3PathStyle;
|
|
15
|
+
return new S3Client({
|
|
16
|
+
...endpoint && { endpoint },
|
|
17
|
+
...forcePathStyle && { forcePathStyle: true },
|
|
18
|
+
...credentials && { credentials }
|
|
19
|
+
});
|
|
20
|
+
}
|
|
18
21
|
function parseS3Url(rawUrl) {
|
|
19
22
|
const parsedUrl = isString(rawUrl) ? parseUrl(rawUrl) : rawUrl;
|
|
20
23
|
if (parsedUrl === null) return null;
|
package/dist/util/s3.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3.js","names":[],"sources":["../../lib/util/s3.ts"],"sourcesContent":["// Singleton S3 instance initialized on-demand.\nimport { S3Client } from '@aws-sdk/client-s3';\nimport { isString, isUndefined } from '@sindresorhus/is';\nimport { GlobalConfig } from '../config/global.ts';\nimport { parseUrl } from './url.ts';\n\nlet s3Instance: S3Client | undefined;\nexport function getS3Client(\n // Only needed if GlobalConfig is not initialized due to some error\n s3Endpoint?: string,\n s3PathStyle?: boolean,\n): S3Client {\n if (
|
|
1
|
+
{"version":3,"file":"s3.js","names":[],"sources":["../../lib/util/s3.ts"],"sourcesContent":["// Singleton S3 instance initialized on-demand.\nimport type { S3ClientConfig } from '@aws-sdk/client-s3';\nimport { S3Client } from '@aws-sdk/client-s3';\nimport { isString, isUndefined } from '@sindresorhus/is';\nimport { GlobalConfig } from '../config/global.ts';\nimport { parseUrl } from './url.ts';\n\nlet s3Instance: S3Client | undefined;\nexport function getS3Client(\n // Only needed if GlobalConfig is not initialized due to some error\n s3Endpoint?: string,\n s3PathStyle?: boolean,\n credentials?: S3ClientConfig['credentials'],\n): S3Client {\n // Credentials come from host rules, so such clients must not be shared\n if (credentials) {\n return newS3Client(s3Endpoint, s3PathStyle, credentials);\n }\n\n s3Instance ??= newS3Client(s3Endpoint, s3PathStyle);\n return s3Instance;\n}\n\nfunction newS3Client(\n s3Endpoint: string | undefined,\n s3PathStyle: boolean | undefined,\n credentials?: S3ClientConfig['credentials'],\n): S3Client {\n const endpoint = s3Endpoint ?? GlobalConfig.get('s3Endpoint');\n const forcePathStyle = isUndefined(s3PathStyle)\n ? !!GlobalConfig.get('s3PathStyle')\n : s3PathStyle;\n return new S3Client({\n ...(endpoint && { endpoint }),\n ...(forcePathStyle && { forcePathStyle: true }),\n ...(credentials && { credentials }),\n });\n}\n\nexport interface S3UrlParts {\n Bucket: string;\n Key: string;\n}\n\nexport function parseS3Url(rawUrl: URL | string): S3UrlParts | null {\n const parsedUrl = isString(rawUrl) ? parseUrl(rawUrl) : rawUrl;\n if (parsedUrl === null) {\n return null;\n }\n if (parsedUrl.protocol !== 's3:') {\n return null;\n }\n return {\n Bucket: parsedUrl.host,\n Key: parsedUrl.pathname.substring(1),\n };\n}\n"],"mappings":";;;;;AAOA,IAAI;AACJ,SAAgB,YAEd,YACA,aACA,aACU;CAEV,IAAI,aACF,OAAO,YAAY,YAAY,aAAa,WAAW;CAGzD,eAAe,YAAY,YAAY,WAAW;CAClD,OAAO;AACT;AAEA,SAAS,YACP,YACA,aACA,aACU;CACV,MAAM,WAAW,cAAc,aAAa,IAAI,YAAY;CAC5D,MAAM,iBAAiB,YAAY,WAAW,IAC1C,CAAC,CAAC,aAAa,IAAI,aAAa,IAChC;CACJ,OAAO,IAAI,SAAS;EAClB,GAAI,YAAY,EAAE,SAAS;EAC3B,GAAI,kBAAkB,EAAE,gBAAgB,KAAK;EAC7C,GAAI,eAAe,EAAE,YAAY;CACnC,CAAC;AACH;AAOA,SAAgB,WAAW,QAAyC;CAClE,MAAM,YAAY,SAAS,MAAM,IAAI,SAAS,MAAM,IAAI;CACxD,IAAI,cAAc,MAChB,OAAO;CAET,IAAI,UAAU,aAAa,OACzB,OAAO;CAET,OAAO;EACL,QAAQ,UAAU;EAClB,KAAK,UAAU,SAAS,UAAU,CAAC;CACrC;AACF"}
|
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.
|
|
4
|
+
"version": "44.69.2",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"renovate": "dist/renovate.js",
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
"@renovatebot/good-enough-parser": "2.0.1",
|
|
123
123
|
"@renovatebot/osv-offline": "3.0.10",
|
|
124
124
|
"@renovatebot/pep440": "5.0.1",
|
|
125
|
-
"@renovatebot/pgp": "1.
|
|
125
|
+
"@renovatebot/pgp": "1.4.0",
|
|
126
126
|
"@renovatebot/ruby-semver": "5.0.0",
|
|
127
127
|
"@sindresorhus/is": "8.1.0",
|
|
128
128
|
"@yarnpkg/core": "4.9.1",
|
package/renovate-schema.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$id": "https://docs.renovatebot.com/renovate-schema.json",
|
|
3
|
-
"title": "JSON schema for Renovate 44.
|
|
3
|
+
"title": "JSON schema for Renovate 44.69.2 config files (https://renovatebot.com/)",
|
|
4
4
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
5
|
-
"x-renovate-version": "44.
|
|
5
|
+
"x-renovate-version": "44.69.2",
|
|
6
6
|
"allowComments": true,
|
|
7
7
|
"type": "object",
|
|
8
8
|
"definitions": {
|