renovate 42.66.13 → 42.67.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,11 +1,9 @@
1
- import { GithubHttp } from '../../../util/http/github';
2
1
  import { Datasource } from '../datasource';
3
2
  import type { GetReleasesConfig, ReleaseResult } from '../types';
4
3
  export declare class TypstDatasource extends Datasource {
5
4
  static readonly id = "typst";
6
5
  readonly defaultRegistryUrls: string[];
7
6
  defaultVersioning: string;
8
- githubHttp: GithubHttp;
9
7
  constructor();
10
- getReleases({ packageName, registryUrl, }: GetReleasesConfig): Promise<ReleaseResult | null>;
8
+ getReleases({ packageName, }: GetReleasesConfig): Promise<ReleaseResult | null>;
11
9
  }
@@ -5,61 +5,44 @@ const tslib_1 = require("tslib");
5
5
  const logger_1 = require("../../../logger");
6
6
  const decorator_1 = require("../../../util/cache/package/decorator");
7
7
  const package_http_cache_provider_1 = require("../../../util/http/cache/package-http-cache-provider");
8
- const github_1 = require("../../../util/http/github");
9
8
  const semver_coerced_1 = require("../../versioning/semver-coerced");
10
9
  const datasource_1 = require("../datasource");
11
10
  const schema_1 = require("./schema");
12
11
  class TypstDatasource extends datasource_1.Datasource {
13
12
  static id = 'typst';
14
- defaultRegistryUrls = ['https://api.github.com'];
13
+ defaultRegistryUrls = [
14
+ 'https://packages.typst.org/preview/index.json',
15
+ ];
15
16
  defaultVersioning = semver_coerced_1.id;
16
- githubHttp;
17
17
  constructor() {
18
18
  super(TypstDatasource.id);
19
- this.githubHttp = new github_1.GithubHttp(TypstDatasource.id);
20
19
  }
21
- async getReleases({ packageName, registryUrl, }) {
20
+ async getReleases({ packageName, }) {
22
21
  const [namespace, pkg] = packageName.split('/');
23
22
  if (namespace !== 'preview') {
24
23
  logger_1.logger.debug(`Unsupported namespace for @${packageName}`);
25
24
  return null;
26
25
  }
27
- const versionsUrl = `/repos/typst/packages/contents/packages/preview/${pkg}`;
26
+ const [registryUrl] = this.defaultRegistryUrls;
28
27
  const cacheProvider = new package_http_cache_provider_1.PackageHttpCacheProvider({
29
28
  namespace: 'datasource-typst:cache-provider',
30
29
  checkAuthorizationHeader: false,
31
30
  checkCacheControlHeader: false,
32
- softTtlMinutes: 180,
33
31
  });
34
- const { body: versions } = await this.githubHttp.getJson(versionsUrl, {
35
- cacheProvider,
36
- baseUrl: registryUrl,
37
- }, schema_1.Versions);
38
- const latestRelease = versions
39
- .sort((x, y) => semver_coerced_1.api.sortVersions(x, y))
40
- .at(-1);
41
- if (!latestRelease) {
32
+ const { body: registry } = await this.http.getJson(registryUrl, { cacheProvider }, schema_1.Registry);
33
+ const result = registry[pkg];
34
+ if (!result) {
42
35
  return null;
43
36
  }
44
- const releases = versions.map((version) => ({ version }));
45
- const result = { releases };
46
- const manifestUrl = `/repos/typst/packages/contents/packages/preview/${pkg}/${latestRelease}/typst.toml`;
47
- const { body: sourceUrl } = await this.githubHttp.getJson(manifestUrl, {
48
- cacheProvider,
49
- baseUrl: registryUrl,
50
- }, schema_1.SourceUrl);
51
- if (sourceUrl) {
52
- result.sourceUrl = sourceUrl;
53
- }
37
+ result.registryUrl = registryUrl;
54
38
  return result;
55
39
  }
56
40
  }
57
41
  exports.TypstDatasource = TypstDatasource;
58
42
  tslib_1.__decorate([
59
43
  (0, decorator_1.cache)({
60
- namespace: `datasource-${TypstDatasource.id}:releases`,
44
+ namespace: `datasource-${TypstDatasource.id}:registry-releases`,
61
45
  key: ({ packageName }) => packageName,
62
- ttlMinutes: 180,
63
46
  })
64
47
  ], TypstDatasource.prototype, "getReleases", null);
65
48
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/typst/index.ts"],"names":[],"mappings":";;;;AAAA,4CAAyC;AACzC,qEAA8D;AAC9D,sGAAgG;AAChG,sDAAuD;AACvD,oEAGyC;AACzC,8CAA2C;AAE3C,qCAA+C;AAE/C,MAAa,eAAgB,SAAQ,uBAAU;IAC7C,MAAM,CAAU,EAAE,GAAG,OAAO,CAAC;IAEX,mBAAmB,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAE1D,iBAAiB,GAAG,mBAAM,CAAC;IAEpC,UAAU,CAAa;IAEvB;QACE,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAU,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IAOc,AAAN,KAAK,CAAC,WAAW,CAAC,EACzB,WAAW,EACX,WAAW,GACO;QAClB,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,eAAM,CAAC,KAAK,CAAC,8BAA8B,WAAW,EAAE,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,WAAW,GAAG,mDAAmD,GAAG,EAAE,CAAC;QAE7E,MAAM,aAAa,GAAG,IAAI,sDAAwB,CAAC;YACjD,SAAS,EAAE,iCAAiC;YAC5C,wBAAwB,EAAE,KAAK;YAC/B,uBAAuB,EAAE,KAAK;YAC9B,cAAc,EAAE,GAAG;SACpB,CAAC,CAAC;QAEH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CACtD,WAAW,EACX;YACE,aAAa;YACb,OAAO,EAAE,WAAW;SACrB,EACD,iBAAQ,CACT,CAAC;QAEF,MAAM,aAAa,GAAG,QAAQ;aAC3B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAS,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC5C,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEV,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,QAAQ,GAAc,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACrE,MAAM,MAAM,GAAkB,EAAE,QAAQ,EAAE,CAAC;QAE3C,MAAM,WAAW,GAAG,mDAAmD,GAAG,IAAI,aAAa,aAAa,CAAC;QACzG,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CACvD,WAAW,EACX;YACE,aAAa;YACb,OAAO,EAAE,WAAW;SACrB,EACD,kBAAS,CACV,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;;AAxEH,0CAyEC;AAtDgB;IALd,IAAA,iBAAK,EAAC;QACL,SAAS,EAAE,cAAc,eAAe,CAAC,EAAE,WAAW;QACtD,GAAG,EAAE,CAAC,EAAE,WAAW,EAAqB,EAAE,EAAE,CAAC,WAAW;QACxD,UAAU,EAAE,GAAG;KAChB,CAAC;kDAsDD","sourcesContent":["import { logger } from '../../../logger';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { PackageHttpCacheProvider } from '../../../util/http/cache/package-http-cache-provider';\nimport { GithubHttp } from '../../../util/http/github';\nimport {\n id as semver,\n api as semverApi,\n} from '../../versioning/semver-coerced';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, Release, ReleaseResult } from '../types';\nimport { SourceUrl, Versions } from './schema';\n\nexport class TypstDatasource extends Datasource {\n static readonly id = 'typst';\n\n override readonly defaultRegistryUrls = ['https://api.github.com'];\n\n override defaultVersioning = semver;\n\n githubHttp: GithubHttp;\n\n constructor() {\n super(TypstDatasource.id);\n this.githubHttp = new GithubHttp(TypstDatasource.id);\n }\n\n @cache({\n namespace: `datasource-${TypstDatasource.id}:releases`,\n key: ({ packageName }: GetReleasesConfig) => packageName,\n ttlMinutes: 180,\n })\n override async getReleases({\n packageName,\n registryUrl,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n const [namespace, pkg] = packageName.split('/');\n if (namespace !== 'preview') {\n logger.debug(`Unsupported namespace for @${packageName}`);\n return null;\n }\n\n const versionsUrl = `/repos/typst/packages/contents/packages/preview/${pkg}`;\n\n const cacheProvider = new PackageHttpCacheProvider({\n namespace: 'datasource-typst:cache-provider',\n checkAuthorizationHeader: false,\n checkCacheControlHeader: false,\n softTtlMinutes: 180,\n });\n\n const { body: versions } = await this.githubHttp.getJson(\n versionsUrl,\n {\n cacheProvider,\n baseUrl: registryUrl,\n },\n Versions,\n );\n\n const latestRelease = versions\n .sort((x, y) => semverApi.sortVersions(x, y))\n .at(-1);\n\n if (!latestRelease) {\n return null;\n }\n const releases: Release[] = versions.map((version) => ({ version }));\n const result: ReleaseResult = { releases };\n\n const manifestUrl = `/repos/typst/packages/contents/packages/preview/${pkg}/${latestRelease}/typst.toml`;\n const { body: sourceUrl } = await this.githubHttp.getJson(\n manifestUrl,\n {\n cacheProvider,\n baseUrl: registryUrl,\n },\n SourceUrl,\n );\n\n if (sourceUrl) {\n result.sourceUrl = sourceUrl;\n }\n\n return result;\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/typst/index.ts"],"names":[],"mappings":";;;;AAAA,4CAAyC;AACzC,qEAA8D;AAC9D,sGAAgG;AAChG,oEAA+D;AAC/D,8CAA2C;AAE3C,qCAAoC;AAEpC,MAAa,eAAgB,SAAQ,uBAAU;IAC7C,MAAM,CAAU,EAAE,GAAG,OAAO,CAAC;IAEX,mBAAmB,GAAG;QACtC,+CAA+C;KAChD,CAAC;IAEO,iBAAiB,GAAG,mBAAM,CAAC;IAEpC;QACE,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAMc,AAAN,KAAK,CAAC,WAAW,CAAC,EACzB,WAAW,GACO;QAClB,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,eAAM,CAAC,KAAK,CAAC,8BAA8B,WAAW,EAAE,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAE/C,MAAM,aAAa,GAAG,IAAI,sDAAwB,CAAC;YACjD,SAAS,EAAE,iCAAiC;YAC5C,wBAAwB,EAAE,KAAK;YAC/B,uBAAuB,EAAE,KAAK;SAC/B,CAAC,CAAC;QAEH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAChD,WAAW,EACX,EAAE,aAAa,EAAE,EACjB,iBAAQ,CACT,CAAC;QAEF,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;;AA/CH,0CAgDC;AA/BgB;IAJd,IAAA,iBAAK,EAAC;QACL,SAAS,EAAE,cAAc,eAAe,CAAC,EAAE,oBAAoB;QAC/D,GAAG,EAAE,CAAC,EAAE,WAAW,EAAqB,EAAE,EAAE,CAAC,WAAW;KACzD,CAAC;kDA+BD","sourcesContent":["import { logger } from '../../../logger';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { PackageHttpCacheProvider } from '../../../util/http/cache/package-http-cache-provider';\nimport { id as semver } from '../../versioning/semver-coerced';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, ReleaseResult } from '../types';\nimport { Registry } from './schema';\n\nexport class TypstDatasource extends Datasource {\n static readonly id = 'typst';\n\n override readonly defaultRegistryUrls = [\n 'https://packages.typst.org/preview/index.json',\n ];\n\n override defaultVersioning = semver;\n\n constructor() {\n super(TypstDatasource.id);\n }\n\n @cache({\n namespace: `datasource-${TypstDatasource.id}:registry-releases`,\n key: ({ packageName }: GetReleasesConfig) => packageName,\n })\n override async getReleases({\n packageName,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n const [namespace, pkg] = packageName.split('/');\n if (namespace !== 'preview') {\n logger.debug(`Unsupported namespace for @${packageName}`);\n return null;\n }\n\n const [registryUrl] = this.defaultRegistryUrls;\n\n const cacheProvider = new PackageHttpCacheProvider({\n namespace: 'datasource-typst:cache-provider',\n checkAuthorizationHeader: false,\n checkCacheControlHeader: false,\n });\n\n const { body: registry } = await this.http.getJson(\n registryUrl,\n { cacheProvider },\n Registry,\n );\n\n const result = registry[pkg];\n if (!result) {\n return null;\n }\n\n result.registryUrl = registryUrl;\n return result;\n }\n}\n"]}
@@ -1,31 +1,8 @@
1
1
  import { z } from 'zod';
2
- export declare const Versions: z.ZodEffects<z.ZodArray<z.ZodAny, "many">, string[], any[]>;
3
- export declare const SourceUrl: z.ZodCatch<z.ZodOptional<z.ZodPipeline<z.ZodPipeline<z.ZodEffects<z.ZodObject<{
4
- content: z.ZodString;
5
- }, "strip", z.ZodTypeAny, {
6
- content: string;
7
- }, {
8
- content: string;
9
- }>, string, {
10
- content: string;
11
- }>, z.ZodEffects<z.ZodString, unknown, string>>, z.ZodEffects<z.ZodObject<{
12
- package: z.ZodObject<{
13
- repository: z.ZodString;
14
- }, "strip", z.ZodTypeAny, {
15
- repository: string;
16
- }, {
17
- repository: string;
18
- }>;
19
- }, "strip", z.ZodTypeAny, {
20
- package: {
21
- repository: string;
22
- };
23
- }, {
24
- package: {
25
- repository: string;
26
- };
27
- }>, string, {
28
- package: {
29
- repository: string;
30
- };
31
- }>>>>;
2
+ import type { ReleaseResult } from '../types';
3
+ export declare const Registry: z.ZodEffects<z.ZodEffects<z.ZodArray<z.ZodAny, "many">, {
4
+ packageName: string;
5
+ version: string;
6
+ sourceUrl: string;
7
+ releaseTimestamp: import("../../../util/timestamp").Timestamp | null;
8
+ }[], any[]>, Record<string, ReleaseResult>, any[]>;
@@ -1,28 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SourceUrl = exports.Versions = void 0;
3
+ exports.Registry = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const schema_utils_1 = require("../../../util/schema-utils");
6
- const string_1 = require("../../../util/string");
7
- const semver_coerced_1 = require("../../versioning/semver-coerced");
8
- exports.Versions = (0, schema_utils_1.LooseArray)(zod_1.z
6
+ const timestamp_1 = require("../../../util/timestamp");
7
+ const ReleaseItem = zod_1.z
9
8
  .object({
10
- type: zod_1.z.literal('dir'),
11
- name: zod_1.z.string(),
9
+ name: zod_1.z.string().min(1),
10
+ version: zod_1.z.string().min(1),
11
+ repository: zod_1.z.string().url(),
12
+ updatedAt: zod_1.z.number(),
12
13
  })
13
- .transform(({ name }) => name)
14
- .refine((version) => semver_coerced_1.api.isValid(version)));
15
- exports.SourceUrl = zod_1.z
16
- .object({ content: zod_1.z.string() })
17
- .transform(({ content }) => (0, string_1.fromBase64)(content))
18
- .pipe(schema_utils_1.Toml)
19
- .pipe(zod_1.z
20
- .object({
21
- package: zod_1.z.object({
22
- repository: zod_1.z.string(),
23
- }),
24
- })
25
- .transform((data) => data.package.repository))
26
- .optional()
27
- .catch(undefined);
14
+ .transform(({ name: packageName, version, repository: sourceUrl, updatedAt }) => {
15
+ const releaseTimestamp = (0, timestamp_1.asTimestamp)(updatedAt);
16
+ return { packageName, version, sourceUrl, releaseTimestamp };
17
+ });
18
+ exports.Registry = (0, schema_utils_1.LooseArray)(ReleaseItem).transform((items) => {
19
+ const result = {};
20
+ for (const item of items) {
21
+ const { packageName, sourceUrl, ...release } = item;
22
+ result[packageName] ??= { releases: [] };
23
+ result[packageName].releases.push(release);
24
+ result[packageName].sourceUrl = sourceUrl;
25
+ }
26
+ return result;
27
+ });
28
28
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/typst/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,6DAA8D;AAC9D,iDAAkD;AAClD,oEAAgE;AAEnD,QAAA,QAAQ,GAAG,IAAA,yBAAU,EAChC,OAAC;KACE,MAAM,CAAC;IACN,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACtB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;CACjB,CAAC;KACD,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;KAC7B,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAChD,CAAC;AAEW,QAAA,SAAS,GAAG,OAAC;KACvB,MAAM,CAAC,EAAE,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC;KAC/B,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,IAAA,mBAAU,EAAC,OAAO,CAAC,CAAC;KAC/C,IAAI,CAAC,mBAAI,CAAC;KACV,IAAI,CACH,OAAC;KACE,MAAM,CAAC;IACN,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC;QAChB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;KACvB,CAAC;CACH,CAAC;KACD,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAChD;KACA,QAAQ,EAAE;KACV,KAAK,CAAC,SAAS,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { LooseArray, Toml } from '../../../util/schema-utils';\nimport { fromBase64 } from '../../../util/string';\nimport { api as semver } from '../../versioning/semver-coerced';\n\nexport const Versions = LooseArray(\n z\n .object({\n type: z.literal('dir'),\n name: z.string(),\n })\n .transform(({ name }) => name)\n .refine((version) => semver.isValid(version)),\n);\n\nexport const SourceUrl = z\n .object({ content: z.string() })\n .transform(({ content }) => fromBase64(content))\n .pipe(Toml)\n .pipe(\n z\n .object({\n package: z.object({\n repository: z.string(),\n }),\n })\n .transform((data) => data.package.repository),\n )\n .optional()\n .catch(undefined);\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/typst/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,6DAAwD;AACxD,uDAAsD;AAGtD,MAAM,WAAW,GAAG,OAAC;KAClB,MAAM,CAAC;IACN,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC5B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;CACtB,CAAC;KACD,SAAS,CACR,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE;IACnE,MAAM,gBAAgB,GAAG,IAAA,uBAAW,EAAC,SAAS,CAAC,CAAC;IAChD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;AAC/D,CAAC,CACF,CAAC;AAES,QAAA,QAAQ,GAAG,IAAA,yBAAU,EAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;IAClE,MAAM,MAAM,GAAkC,EAAE,CAAC;IACjD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;QACpD,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACzC,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { LooseArray } from '../../../util/schema-utils';\nimport { asTimestamp } from '../../../util/timestamp';\nimport type { ReleaseResult } from '../types';\n\nconst ReleaseItem = z\n .object({\n name: z.string().min(1),\n version: z.string().min(1),\n repository: z.string().url(),\n updatedAt: z.number(),\n })\n .transform(\n ({ name: packageName, version, repository: sourceUrl, updatedAt }) => {\n const releaseTimestamp = asTimestamp(updatedAt);\n return { packageName, version, sourceUrl, releaseTimestamp };\n },\n );\n\nexport const Registry = LooseArray(ReleaseItem).transform((items) => {\n const result: Record<string, ReleaseResult> = {};\n for (const item of items) {\n const { packageName, sourceUrl, ...release } = item;\n result[packageName] ??= { releases: [] };\n result[packageName].releases.push(release);\n result[packageName].sourceUrl = sourceUrl;\n }\n return result;\n});\n"]}
@@ -17,23 +17,23 @@ exports.hashMap.set('bitbucket-pipelines', '98c0d715a7eb4e41b8231091b83385f32596
17
17
  exports.hashMap.set('bitrise', 'd18d2dcd356e19c4cd94912511a88636198c23b64e54f31da273be11044970cf');
18
18
  exports.hashMap.set('buildkite', 'ac713ce38da057ff3ceb08d092291356dfc74f5b33b75f010bb9db1a211439c0');
19
19
  exports.hashMap.set('buildpacks', 'cc8bbe937416a012df36a5c7ab01ae3cdedbed03615549bbe9f0f27fa40a150b');
20
- exports.hashMap.set('bun', '940ad758faff772794f754d190725e9339e9139a0df0f5e16f46884ef31d0cfc');
20
+ exports.hashMap.set('bun', '512695cbae4bf6bd17bad3c176b6e715d2cf0d7cbe5bef49da7f44f350161f6b');
21
21
  exports.hashMap.set('bun-version', '49194d7fcb6b7bdd7e7a1264f71532bb2be8142d48478bf74716f7a9d4b306b9');
22
- exports.hashMap.set('bundler', '5aa8dde194ca7ad7f6d5163ed088a906b40a0bba2b3f4d49e935e9a798075dc9');
22
+ exports.hashMap.set('bundler', '7df6f082c34b90b660b70197906fdc3ad299e6650999bb3f8a0fddb7edeb398e');
23
23
  exports.hashMap.set('cake', 'a04160b352550cb470acb62f9a532361842c12f2ffbcd473bffca3de024522d9');
24
- exports.hashMap.set('cargo', 'ec8d7b17e48d4a2ff85eb7ac7e7c505e6a49157bcd986a6a74e42d974f7cb246');
24
+ exports.hashMap.set('cargo', 'cb40160bbf58992082972cae131d2d2aee542b3a859e82aadaffa6715e7c3d16');
25
25
  exports.hashMap.set('cdnurl', '70281459e771df007787fc25dba16e4d5109865f97209dcf4f572ddd287d538a');
26
26
  exports.hashMap.set('circleci', 'c7c7a1b71385f0ea7cf1e9fc24c37a1d5dabf13d6952e1e3b2179861b55f4e44');
27
27
  exports.hashMap.set('cloudbuild', 'e4f926bfb907220e97dce98335837c52b4e0fe66d813593a7e572736acfc53f7');
28
- exports.hashMap.set('cocoapods', 'a3be5ff98669b788cc796ac8f51111fa5cbf98dc9f0998c6856727ac9060c3ad');
29
- exports.hashMap.set('composer', '1d40f203496d4e8ce32024ea6978558e1bc78f1491e5d50e432e54b7a08d6f9c');
28
+ exports.hashMap.set('cocoapods', 'd7d6e783d6886d3eb0b35ed9060a89175e402bd0fa22477092bbc93d1fe23063');
29
+ exports.hashMap.set('composer', '35f91e3dcc754668a42b18f5c2c9bd5a337d83eef1b80845fed8fd453074d020');
30
30
  exports.hashMap.set('conan', '4df92ebfa53ec6b7103030316ff70822d18f73cca8c71f2dca1d71c0d00b9353');
31
31
  exports.hashMap.set('copier', '34a3f985c82673bb7a2828ef644e271e5031da873e8cd44bf992a1826b3e40db');
32
32
  exports.hashMap.set('cpanfile', '9b354db9666eee2485b27e44a6e61eaadc86ec2f2c6af9bb7bbc9fab54f31642');
33
33
  exports.hashMap.set('crossplane', '76261ff27b38f9850ee1a3a7e95168abefd96b4736f2cf04a7343e16827b42d8');
34
34
  exports.hashMap.set('crow', 'ffce0c24358c3097e3935bffc38ef3eff143dbbc589c1b75a6d3635a62fdeea4');
35
35
  exports.hashMap.set('deps-edn', '306376e0f00f47ea416dba972e6347f44c78228e298e4ed766635018e26f698a');
36
- exports.hashMap.set('devbox', '2c8e171fcb1746e96b7f6b74fe7c6e7a48598b7af14ad76752947739dd88b92f');
36
+ exports.hashMap.set('devbox', 'b68922e2fb0de5f689cafd41f02a3c71c6259cc9888a678877c981cd56d9c296');
37
37
  exports.hashMap.set('devcontainer', 'e9982b5ff8aeac8fefb40dc363d3ab35f58af8c08b91eb45d22937a8c60447bb');
38
38
  exports.hashMap.set('docker-compose', '0c867e3aa14ae7dfc673eef348b2086ae2e36cbebfd1827e031a8030f9295276');
39
39
  exports.hashMap.set('dockerfile', 'afbfa832a5d63c972c02445de3cd14fc9cf2e6bab797b0b7c930b16f5f267462');
@@ -46,39 +46,39 @@ exports.hashMap.set('github-actions', 'bbc568ece7c04ce5c7c94476ccb15689d8e6a1d55
46
46
  exports.hashMap.set('gitlabci', '1f2e3e3a3013488e68d2aa0e39d80ee3bfbc9a01d817874f4c8195f8aff1fac9');
47
47
  exports.hashMap.set('gitlabci-include', '5bc01de9b40ecc8888a37690152f4a2f9cacc509b9cb5902aac024ca7a7c8e65');
48
48
  exports.hashMap.set('glasskube', 'fd415356a866ad174a5b70522d662e4289a2c5d5e34c55d57542b0d8968f1645');
49
- exports.hashMap.set('gleam', '8be0140c0a26de7c588c03c2aa5c9f8bc1ffa2a6c9b46a70d23d90581392a3cf');
49
+ exports.hashMap.set('gleam', 'a4621cc86a42890a41c31e957726e02514257f4e91896d92f238ac07ab81cebb');
50
50
  exports.hashMap.set('gomod', '7c9240c54e09aa30b83d5b02e08e0b93054f9685ce02103a342f7b8aacd5406b');
51
- exports.hashMap.set('gradle', 'a4659b0ed40a6818fe7e79b57d53f5bb85d78efceb65a29f7f81f5785351796a');
52
- exports.hashMap.set('gradle-wrapper', '8035248857cd8c32b382ee6411e67799885feac6c6c43f26d48d9dad8d004e76');
51
+ exports.hashMap.set('gradle', 'c8f9cb559d8bed3157a8288558ce36228c37a006f3c613da518b68a9e3f5c9a9');
52
+ exports.hashMap.set('gradle-wrapper', 'd691572ff7a998162d20527dcc70b3fbf569442da0aa8156fdbce04376c537b1');
53
53
  exports.hashMap.set('haskell-cabal', 'a2bf118238529952d0f2f352112dfbc86fb5533ef819625161a130f39c8ca713');
54
54
  exports.hashMap.set('helm-requirements', '8f643d415ab0cfbef05bce4dce9812eef47bddb7b8b67a191e6a4230489e652f');
55
55
  exports.hashMap.set('helm-values', 'fbd4a0b4bdda8a71dc38ac8916287f73e2b7de5ef122096a5b5d525c1a3306cd');
56
56
  exports.hashMap.set('helmfile', 'd5a965244170f3dede0c74cbfc8447547c740e5ccc41423cb8fd6ed6b154a552');
57
57
  exports.hashMap.set('helmsman', '734fa89740fd5140ca3e39204872aba3451c05cd17f0b5e2b635934ed7b1710b');
58
- exports.hashMap.set('helmv3', '8f60a3ec95fded429df5a4bc4a0e8df536d55b85c8e744767101a3bbce57c41f');
59
- exports.hashMap.set('hermit', 'c7bc14921a07e0ca5dcf02d0c1103702ee9262568097a2f50533aaee94af0158');
58
+ exports.hashMap.set('helmv3', '14b651f9f2098dab608747e09fafddff22f47e3725281c005f2480e1b7f2cf12');
59
+ exports.hashMap.set('hermit', '4fff70ffcae503c3009227601a7a429a55b0d3f8748d49f4fbd69845fea38dc1');
60
60
  exports.hashMap.set('homebrew', '47393bd17f23eab1d465925b8f13bbda75226e5e5f7c55ffa52a11cbed03d742');
61
61
  exports.hashMap.set('html', '226a9084e10ebf754906386159db08667394f5432105249bdb30d9c60af9fb56');
62
62
  exports.hashMap.set('jenkins', '309db014e3590e1cd6d53ede2755395c82e5cd4b880425daf52a6ab60e0d6a42');
63
- exports.hashMap.set('jsonnet-bundler', 'f8e905391544e5d0464849d84e43a0143cbacdb2dacd7e5ae4278f8a25db583a');
63
+ exports.hashMap.set('jsonnet-bundler', '43f4e3a3a6019a7b87ad57c0c9cb3e591eb56306609d23a1451dc5a3c4b3e1a9');
64
64
  exports.hashMap.set('kotlin-script', '7d3376b11fc1dfcc87bd6a130b8c7d5158915fdf8ea8f64e83fdb1f7dd62e22c');
65
65
  exports.hashMap.set('kubernetes', '62cfa6c77593b48290f3c26a2f390c4bdfe8ab3cfb79e358b10d8aece689a999');
66
66
  exports.hashMap.set('kustomize', '347ab9066fbe7bb8365443280052c5240142488d205a182d4f8fb3bf096d954b');
67
67
  exports.hashMap.set('leiningen', '0598d2f53cfc92076d47186245a7b591d2b0df157609a7f55a37b54ab2d32a77');
68
68
  exports.hashMap.set('maven', '5592ee2784417aa586aca86efa13e142c4fdf544bd0deea691c596788a9c48c7');
69
- exports.hashMap.set('maven-wrapper', '95f7c3473b9cf82dc57bf8352e8d9dd131c92ef0365db5a97a1e16bda4d19481');
69
+ exports.hashMap.set('maven-wrapper', 'd4583f7a45ecccc76a564bc83db9d73c58eb7184613f40cbfd67969f1f5c40e0');
70
70
  exports.hashMap.set('meteor', 'a9785d85b3520ed9e763c800730f36b95747795699758ecbe1395133c5b0040e');
71
71
  exports.hashMap.set('mint', '7072e37f18bb57500018406eb8711b2615b1916f073867f30653cdd4a99dab81');
72
72
  exports.hashMap.set('mise', 'd84dcf05c3a23985e20aeca65a51552c808c954196fb4eae1de319c11f539ad9');
73
- exports.hashMap.set('mix', '6f7951fd86e7abcd7d7703893a5cc2c49f907a0d36e75c8a939c9995728e51e4');
73
+ exports.hashMap.set('mix', '5734548e8e672a270caa6c5ed958d7e00d568b8bcf95030ea2d9e73a4b817889');
74
74
  exports.hashMap.set('nix', '169443a1fe51757a040ac60f2aeae57fbd2dd8ec0f82cedb7aa880e327995c95');
75
75
  exports.hashMap.set('nodenv', 'd159174d53e39af2013443cf86df88e14aac79a5a8d602180af229dcb2ddeda9');
76
- exports.hashMap.set('npm', '8338c6031baa743a74261a053f0fccc592b13fff8d63aacb6f4a57ced5472ea6');
76
+ exports.hashMap.set('npm', '53ea905e415da966cc713c850e325ffa9c69ab03cc0fc4edf70dd6ff8f50e298');
77
77
  exports.hashMap.set('nuget', 'f366c8d11da898ab9012bbec7511354890032f8afd87db944561cffe479c367c');
78
78
  exports.hashMap.set('nvm', '2d7a15f668d33a31302af960c3bc137b86d0284b1ea16c528d334e46a468b0d4');
79
79
  exports.hashMap.set('ocb', 'bff1864d0937341790cfe08833c39642f785844762669f5753ff057bada923ab');
80
80
  exports.hashMap.set('osgi', 'dae012cd486843eb53da4b032105e54d18f4e7537bd59c5321313950dd108a95');
81
- exports.hashMap.set('pep621', 'ba7f3ab827d845541e803b3da9bb8929a7e96b2d190713401ed72a5d2a08247c');
81
+ exports.hashMap.set('pep621', '3f7c61b16393a59cc2e1819998a5e5128af2c55cda37145703a085360b1dde22');
82
82
  exports.hashMap.set('pep723', 'bf07d466ea1bc9513c8d2cb475fcca3bc9b61f2184bd9af0a7a28d45b6f57ecd');
83
83
  exports.hashMap.set('pip-compile', 'c433dd0445137e632dbf3144f337b925a9dd7f27f29ba0945a696adfb74e4066');
84
84
  exports.hashMap.set('pip_requirements', '16598617b0bd1beef3031d2529c634be601ecf572678f205589bf4d1ce7132f6');
@@ -109,7 +109,7 @@ exports.hashMap.set('travis', '30174e78a6297e44db1c030ea2e111084e14b1eac220f5225
109
109
  exports.hashMap.set('typst', 'd0e2b7cbf2ac47d55bd41fd4503251a4f606861dc60d812eff7532371ae2a8cb');
110
110
  exports.hashMap.set('unity3d', '9a61f8db397bc962f03a1d82045805ffa89863894e26824ecbeffcbf66b3ba3d');
111
111
  exports.hashMap.set('velaci', '9ad5d5d2584b9c189c4edcd25ad9103926bd4ba850a419a3b5e4aba9682817c3');
112
- exports.hashMap.set('vendir', 'c281fb3cb9d8504f919eef08d40dc525dda9a689c2760d58b4bab0f746f32f17');
112
+ exports.hashMap.set('vendir', 'e07029018d1f00d399227e59da1e73ee78168f224520f3e1da6943cd4be7e7c6');
113
113
  exports.hashMap.set('woodpecker', 'eaaa0a3bcfd0dc60c0990f2a1d7acf19c4f86ce4641ab3cf0a31f2bf46fc61b8');
114
114
  exports.hashMap.set('jsonata', 'b8a0369f94be06f2109b7d233d8165a3e03d93498c43353720eb03b1eaa43e7b');
115
115
  exports.hashMap.set('regex', '3208bf2bf488d346e58c79c784eaddfc089f8a6b6b3df2263ab2fec8e3ec83c1');
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint.generated.js","sourceRoot":"","sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"names":[],"mappings":"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","sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','4c234d79f768392545924fa9b139f8d177f15b6aa46776cf063860a1d36e48c7');\nhashMap.set('ansible-galaxy','a211e40f5c8613986ac16bc8d5389ea23d145cd643091d1b951a7f65926e99ff');\nhashMap.set('argocd','8619ed756b6f7249ea836e14e8f8660ee5f971992e3862d43f19d42f10762560');\nhashMap.set('asdf','e7f29eb8157e6ca5928890a0cc2fc88d57ddcf7b426dad1c4f15386858d3cd6a');\nhashMap.set('azure-pipelines','0b741b2629f6d94589524ce9b3886765e5c5648c9b6d707bb0b5fede276f9c09');\nhashMap.set('batect','523e8d7a309b4814a02819371313b2dac3764eab64cabfaf1d58b6e89de4ce43');\nhashMap.set('batect-wrapper','90941650f810adb3d7abe476da7221ff3434aa9d09ffc3d310e35108f360f364');\nhashMap.set('bazel','19e8ee20f9882e3023b2126d4b8335693cae9fb2b908f59803bbdfd432055d28');\nhashMap.set('bazel-module','4e3d00184b146e5c0ad69433697076f722afe933701ab08676af13e47d289eac');\nhashMap.set('bazelisk','6fbef61d534724ff259ea6e4fc1cd0a3d5a46d740c375128fa59b225daddd39f');\nhashMap.set('bicep','fbbd74998411012cfba829526701109d1fc184ade0cb11a28e4ca2956174b0f1');\nhashMap.set('bitbucket-pipelines','98c0d715a7eb4e41b8231091b83385f325966373f37dc7d6bc10b1febb6f605e');\nhashMap.set('bitrise','d18d2dcd356e19c4cd94912511a88636198c23b64e54f31da273be11044970cf');\nhashMap.set('buildkite','ac713ce38da057ff3ceb08d092291356dfc74f5b33b75f010bb9db1a211439c0');\nhashMap.set('buildpacks','cc8bbe937416a012df36a5c7ab01ae3cdedbed03615549bbe9f0f27fa40a150b');\nhashMap.set('bun','940ad758faff772794f754d190725e9339e9139a0df0f5e16f46884ef31d0cfc');\nhashMap.set('bun-version','49194d7fcb6b7bdd7e7a1264f71532bb2be8142d48478bf74716f7a9d4b306b9');\nhashMap.set('bundler','5aa8dde194ca7ad7f6d5163ed088a906b40a0bba2b3f4d49e935e9a798075dc9');\nhashMap.set('cake','a04160b352550cb470acb62f9a532361842c12f2ffbcd473bffca3de024522d9');\nhashMap.set('cargo','ec8d7b17e48d4a2ff85eb7ac7e7c505e6a49157bcd986a6a74e42d974f7cb246');\nhashMap.set('cdnurl','70281459e771df007787fc25dba16e4d5109865f97209dcf4f572ddd287d538a');\nhashMap.set('circleci','c7c7a1b71385f0ea7cf1e9fc24c37a1d5dabf13d6952e1e3b2179861b55f4e44');\nhashMap.set('cloudbuild','e4f926bfb907220e97dce98335837c52b4e0fe66d813593a7e572736acfc53f7');\nhashMap.set('cocoapods','a3be5ff98669b788cc796ac8f51111fa5cbf98dc9f0998c6856727ac9060c3ad');\nhashMap.set('composer','1d40f203496d4e8ce32024ea6978558e1bc78f1491e5d50e432e54b7a08d6f9c');\nhashMap.set('conan','4df92ebfa53ec6b7103030316ff70822d18f73cca8c71f2dca1d71c0d00b9353');\nhashMap.set('copier','34a3f985c82673bb7a2828ef644e271e5031da873e8cd44bf992a1826b3e40db');\nhashMap.set('cpanfile','9b354db9666eee2485b27e44a6e61eaadc86ec2f2c6af9bb7bbc9fab54f31642');\nhashMap.set('crossplane','76261ff27b38f9850ee1a3a7e95168abefd96b4736f2cf04a7343e16827b42d8');\nhashMap.set('crow','ffce0c24358c3097e3935bffc38ef3eff143dbbc589c1b75a6d3635a62fdeea4');\nhashMap.set('deps-edn','306376e0f00f47ea416dba972e6347f44c78228e298e4ed766635018e26f698a');\nhashMap.set('devbox','2c8e171fcb1746e96b7f6b74fe7c6e7a48598b7af14ad76752947739dd88b92f');\nhashMap.set('devcontainer','e9982b5ff8aeac8fefb40dc363d3ab35f58af8c08b91eb45d22937a8c60447bb');\nhashMap.set('docker-compose','0c867e3aa14ae7dfc673eef348b2086ae2e36cbebfd1827e031a8030f9295276');\nhashMap.set('dockerfile','afbfa832a5d63c972c02445de3cd14fc9cf2e6bab797b0b7c930b16f5f267462');\nhashMap.set('droneci','f2a98fcece07b462baaceb28cd6904e080cb1ab0727fcd7403bea5ffd2e05239');\nhashMap.set('fleet','642e8e7ab739fba65bce7222b6f3e80fe44806c4190c8e93c5bcab23d44e9fd4');\nhashMap.set('flux','3b87b351f98c11ca0e6cb275deb708dc9bf601a7e578f7a3a7e83fe6e15eb540');\nhashMap.set('fvm','aa154dd5ffe3caced30713a9a55967360b7a0f35edd2fc06bd6f3e73c5c87570');\nhashMap.set('git-submodules','b5d78ab86025516b8cc52ede93b390c45a1a46e7ca338e1d2b7f1d57481ebf43');\nhashMap.set('github-actions','bbc568ece7c04ce5c7c94476ccb15689d8e6a1d555099d88a6a072ed4eb7150a');\nhashMap.set('gitlabci','1f2e3e3a3013488e68d2aa0e39d80ee3bfbc9a01d817874f4c8195f8aff1fac9');\nhashMap.set('gitlabci-include','5bc01de9b40ecc8888a37690152f4a2f9cacc509b9cb5902aac024ca7a7c8e65');\nhashMap.set('glasskube','fd415356a866ad174a5b70522d662e4289a2c5d5e34c55d57542b0d8968f1645');\nhashMap.set('gleam','8be0140c0a26de7c588c03c2aa5c9f8bc1ffa2a6c9b46a70d23d90581392a3cf');\nhashMap.set('gomod','7c9240c54e09aa30b83d5b02e08e0b93054f9685ce02103a342f7b8aacd5406b');\nhashMap.set('gradle','a4659b0ed40a6818fe7e79b57d53f5bb85d78efceb65a29f7f81f5785351796a');\nhashMap.set('gradle-wrapper','8035248857cd8c32b382ee6411e67799885feac6c6c43f26d48d9dad8d004e76');\nhashMap.set('haskell-cabal','a2bf118238529952d0f2f352112dfbc86fb5533ef819625161a130f39c8ca713');\nhashMap.set('helm-requirements','8f643d415ab0cfbef05bce4dce9812eef47bddb7b8b67a191e6a4230489e652f');\nhashMap.set('helm-values','fbd4a0b4bdda8a71dc38ac8916287f73e2b7de5ef122096a5b5d525c1a3306cd');\nhashMap.set('helmfile','d5a965244170f3dede0c74cbfc8447547c740e5ccc41423cb8fd6ed6b154a552');\nhashMap.set('helmsman','734fa89740fd5140ca3e39204872aba3451c05cd17f0b5e2b635934ed7b1710b');\nhashMap.set('helmv3','8f60a3ec95fded429df5a4bc4a0e8df536d55b85c8e744767101a3bbce57c41f');\nhashMap.set('hermit','c7bc14921a07e0ca5dcf02d0c1103702ee9262568097a2f50533aaee94af0158');\nhashMap.set('homebrew','47393bd17f23eab1d465925b8f13bbda75226e5e5f7c55ffa52a11cbed03d742');\nhashMap.set('html','226a9084e10ebf754906386159db08667394f5432105249bdb30d9c60af9fb56');\nhashMap.set('jenkins','309db014e3590e1cd6d53ede2755395c82e5cd4b880425daf52a6ab60e0d6a42');\nhashMap.set('jsonnet-bundler','f8e905391544e5d0464849d84e43a0143cbacdb2dacd7e5ae4278f8a25db583a');\nhashMap.set('kotlin-script','7d3376b11fc1dfcc87bd6a130b8c7d5158915fdf8ea8f64e83fdb1f7dd62e22c');\nhashMap.set('kubernetes','62cfa6c77593b48290f3c26a2f390c4bdfe8ab3cfb79e358b10d8aece689a999');\nhashMap.set('kustomize','347ab9066fbe7bb8365443280052c5240142488d205a182d4f8fb3bf096d954b');\nhashMap.set('leiningen','0598d2f53cfc92076d47186245a7b591d2b0df157609a7f55a37b54ab2d32a77');\nhashMap.set('maven','5592ee2784417aa586aca86efa13e142c4fdf544bd0deea691c596788a9c48c7');\nhashMap.set('maven-wrapper','95f7c3473b9cf82dc57bf8352e8d9dd131c92ef0365db5a97a1e16bda4d19481');\nhashMap.set('meteor','a9785d85b3520ed9e763c800730f36b95747795699758ecbe1395133c5b0040e');\nhashMap.set('mint','7072e37f18bb57500018406eb8711b2615b1916f073867f30653cdd4a99dab81');\nhashMap.set('mise','d84dcf05c3a23985e20aeca65a51552c808c954196fb4eae1de319c11f539ad9');\nhashMap.set('mix','6f7951fd86e7abcd7d7703893a5cc2c49f907a0d36e75c8a939c9995728e51e4');\nhashMap.set('nix','169443a1fe51757a040ac60f2aeae57fbd2dd8ec0f82cedb7aa880e327995c95');\nhashMap.set('nodenv','d159174d53e39af2013443cf86df88e14aac79a5a8d602180af229dcb2ddeda9');\nhashMap.set('npm','8338c6031baa743a74261a053f0fccc592b13fff8d63aacb6f4a57ced5472ea6');\nhashMap.set('nuget','f366c8d11da898ab9012bbec7511354890032f8afd87db944561cffe479c367c');\nhashMap.set('nvm','2d7a15f668d33a31302af960c3bc137b86d0284b1ea16c528d334e46a468b0d4');\nhashMap.set('ocb','bff1864d0937341790cfe08833c39642f785844762669f5753ff057bada923ab');\nhashMap.set('osgi','dae012cd486843eb53da4b032105e54d18f4e7537bd59c5321313950dd108a95');\nhashMap.set('pep621','ba7f3ab827d845541e803b3da9bb8929a7e96b2d190713401ed72a5d2a08247c');\nhashMap.set('pep723','bf07d466ea1bc9513c8d2cb475fcca3bc9b61f2184bd9af0a7a28d45b6f57ecd');\nhashMap.set('pip-compile','c433dd0445137e632dbf3144f337b925a9dd7f27f29ba0945a696adfb74e4066');\nhashMap.set('pip_requirements','16598617b0bd1beef3031d2529c634be601ecf572678f205589bf4d1ce7132f6');\nhashMap.set('pip_setup','31b330d9666d61474326a761a3ce1479f9a189ef6838ecfee78843ff4c80af73');\nhashMap.set('pipenv','e689b0c7680c26169b45ca17c90ced26281aea4c9b7ce01aff42c6169c567a92');\nhashMap.set('pixi','ad1d3689a4f4815be8b579ec7455d4c20f1a7602accd45f451ee554f4bd9d1fd');\nhashMap.set('poetry','8e346ddbee9d8b2e19447cebb0d691eb03b05a852c50d7e9b2d9789857330e1a');\nhashMap.set('pre-commit','64efc3146f0981751a584a29bdcfe6701cc17849c7bc2bc87b238315d843524a');\nhashMap.set('pub','a2e38469167f49a34503e25816c7b9dd113b65bd10a3ad3fa325ac4ce571a453');\nhashMap.set('puppet','34f7e3916780e8ed352b65864bad91bf66547e29f91ee8fca7fd6e8fcd2621fd');\nhashMap.set('pyenv','4e520570d9a1407864aa7c5461d4008372d889254067e405cee2212d0ef8990b');\nhashMap.set('quadlet','972bb8017f8c7811a74b91b56cfcd9d6f1aef1c026c9a8b956cecc63d95b0bb2');\nhashMap.set('renovate-config-presets','27f100d67e2a1ad20cfd4aa3f1db1f1c34f62910929695f381160b3835a7fa65');\nhashMap.set('ruby-version','4aac2178a20ccdf8136363030e5156017f3d44368b4192b3280997df596dcacc');\nhashMap.set('runtime-version','dbf80ce2a5f07dd34bc9a008159b4f08052cc6fd0d92cbd2aeb0026c8008fa72');\nhashMap.set('sbt','dc1ec4aeeb5e012c7a595478873ad67e2dee6e2af951b12b9e9057cb64f2258d');\nhashMap.set('scalafmt','8a54fef703269ed31ce28887e62b0b838a13359e86fa77c7f4dceb89fda0f352');\nhashMap.set('setup-cfg','9a778d8a58f643fff1d23d750dfebed21e45bce99bfdcdc3de39795a407d983f');\nhashMap.set('sveltos','a69f9e206526af08685e20a72344b22d856f2effd882e67333a153a989a0a047');\nhashMap.set('swift','966398303fb2b86c14cede8e4a7bfc7810d3100c39a60ac9e01e56b181df3970');\nhashMap.set('tekton','eb8fb6a25ca7fd0d304f67d5ab2e93ddd8b34854553130003ce3340ca7b3bba1');\nhashMap.set('terraform','61b56a155559e0c1db92f8ed7726b475bf2071804053eba694fcc70fd139e007');\nhashMap.set('terraform-version','b08480f326c45daf3daeccc2d2f593a723c30a50437a66ac2290d671b427a355');\nhashMap.set('terragrunt','b32d2317bf2cf032243c417463f3760e4decf820d2e5332e6415e16dcf05e9ab');\nhashMap.set('terragrunt-version','45f221b13a193a42687f318e10cf1558079e28c970e91ce25c370f35f88f2f58');\nhashMap.set('tflint-plugin','719408f35a233216562aa62fb8126145a3450b69f917c8fcdf2f3b2c05a9898b');\nhashMap.set('travis','30174e78a6297e44db1c030ea2e111084e14b1eac220f522522c77d684a76285');\nhashMap.set('typst','d0e2b7cbf2ac47d55bd41fd4503251a4f606861dc60d812eff7532371ae2a8cb');\nhashMap.set('unity3d','9a61f8db397bc962f03a1d82045805ffa89863894e26824ecbeffcbf66b3ba3d');\nhashMap.set('velaci','9ad5d5d2584b9c189c4edcd25ad9103926bd4ba850a419a3b5e4aba9682817c3');\nhashMap.set('vendir','c281fb3cb9d8504f919eef08d40dc525dda9a689c2760d58b4bab0f746f32f17');\nhashMap.set('woodpecker','eaaa0a3bcfd0dc60c0990f2a1d7acf19c4f86ce4641ab3cf0a31f2bf46fc61b8');\nhashMap.set('jsonata','b8a0369f94be06f2109b7d233d8165a3e03d93498c43353720eb03b1eaa43e7b');\nhashMap.set('regex','3208bf2bf488d346e58c79c784eaddfc089f8a6b6b3df2263ab2fec8e3ec83c1');"]}
1
+ {"version":3,"file":"fingerprint.generated.js","sourceRoot":"","sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"names":[],"mappings":"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","sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','4c234d79f768392545924fa9b139f8d177f15b6aa46776cf063860a1d36e48c7');\nhashMap.set('ansible-galaxy','a211e40f5c8613986ac16bc8d5389ea23d145cd643091d1b951a7f65926e99ff');\nhashMap.set('argocd','8619ed756b6f7249ea836e14e8f8660ee5f971992e3862d43f19d42f10762560');\nhashMap.set('asdf','e7f29eb8157e6ca5928890a0cc2fc88d57ddcf7b426dad1c4f15386858d3cd6a');\nhashMap.set('azure-pipelines','0b741b2629f6d94589524ce9b3886765e5c5648c9b6d707bb0b5fede276f9c09');\nhashMap.set('batect','523e8d7a309b4814a02819371313b2dac3764eab64cabfaf1d58b6e89de4ce43');\nhashMap.set('batect-wrapper','90941650f810adb3d7abe476da7221ff3434aa9d09ffc3d310e35108f360f364');\nhashMap.set('bazel','19e8ee20f9882e3023b2126d4b8335693cae9fb2b908f59803bbdfd432055d28');\nhashMap.set('bazel-module','4e3d00184b146e5c0ad69433697076f722afe933701ab08676af13e47d289eac');\nhashMap.set('bazelisk','6fbef61d534724ff259ea6e4fc1cd0a3d5a46d740c375128fa59b225daddd39f');\nhashMap.set('bicep','fbbd74998411012cfba829526701109d1fc184ade0cb11a28e4ca2956174b0f1');\nhashMap.set('bitbucket-pipelines','98c0d715a7eb4e41b8231091b83385f325966373f37dc7d6bc10b1febb6f605e');\nhashMap.set('bitrise','d18d2dcd356e19c4cd94912511a88636198c23b64e54f31da273be11044970cf');\nhashMap.set('buildkite','ac713ce38da057ff3ceb08d092291356dfc74f5b33b75f010bb9db1a211439c0');\nhashMap.set('buildpacks','cc8bbe937416a012df36a5c7ab01ae3cdedbed03615549bbe9f0f27fa40a150b');\nhashMap.set('bun','512695cbae4bf6bd17bad3c176b6e715d2cf0d7cbe5bef49da7f44f350161f6b');\nhashMap.set('bun-version','49194d7fcb6b7bdd7e7a1264f71532bb2be8142d48478bf74716f7a9d4b306b9');\nhashMap.set('bundler','7df6f082c34b90b660b70197906fdc3ad299e6650999bb3f8a0fddb7edeb398e');\nhashMap.set('cake','a04160b352550cb470acb62f9a532361842c12f2ffbcd473bffca3de024522d9');\nhashMap.set('cargo','cb40160bbf58992082972cae131d2d2aee542b3a859e82aadaffa6715e7c3d16');\nhashMap.set('cdnurl','70281459e771df007787fc25dba16e4d5109865f97209dcf4f572ddd287d538a');\nhashMap.set('circleci','c7c7a1b71385f0ea7cf1e9fc24c37a1d5dabf13d6952e1e3b2179861b55f4e44');\nhashMap.set('cloudbuild','e4f926bfb907220e97dce98335837c52b4e0fe66d813593a7e572736acfc53f7');\nhashMap.set('cocoapods','d7d6e783d6886d3eb0b35ed9060a89175e402bd0fa22477092bbc93d1fe23063');\nhashMap.set('composer','35f91e3dcc754668a42b18f5c2c9bd5a337d83eef1b80845fed8fd453074d020');\nhashMap.set('conan','4df92ebfa53ec6b7103030316ff70822d18f73cca8c71f2dca1d71c0d00b9353');\nhashMap.set('copier','34a3f985c82673bb7a2828ef644e271e5031da873e8cd44bf992a1826b3e40db');\nhashMap.set('cpanfile','9b354db9666eee2485b27e44a6e61eaadc86ec2f2c6af9bb7bbc9fab54f31642');\nhashMap.set('crossplane','76261ff27b38f9850ee1a3a7e95168abefd96b4736f2cf04a7343e16827b42d8');\nhashMap.set('crow','ffce0c24358c3097e3935bffc38ef3eff143dbbc589c1b75a6d3635a62fdeea4');\nhashMap.set('deps-edn','306376e0f00f47ea416dba972e6347f44c78228e298e4ed766635018e26f698a');\nhashMap.set('devbox','b68922e2fb0de5f689cafd41f02a3c71c6259cc9888a678877c981cd56d9c296');\nhashMap.set('devcontainer','e9982b5ff8aeac8fefb40dc363d3ab35f58af8c08b91eb45d22937a8c60447bb');\nhashMap.set('docker-compose','0c867e3aa14ae7dfc673eef348b2086ae2e36cbebfd1827e031a8030f9295276');\nhashMap.set('dockerfile','afbfa832a5d63c972c02445de3cd14fc9cf2e6bab797b0b7c930b16f5f267462');\nhashMap.set('droneci','f2a98fcece07b462baaceb28cd6904e080cb1ab0727fcd7403bea5ffd2e05239');\nhashMap.set('fleet','642e8e7ab739fba65bce7222b6f3e80fe44806c4190c8e93c5bcab23d44e9fd4');\nhashMap.set('flux','3b87b351f98c11ca0e6cb275deb708dc9bf601a7e578f7a3a7e83fe6e15eb540');\nhashMap.set('fvm','aa154dd5ffe3caced30713a9a55967360b7a0f35edd2fc06bd6f3e73c5c87570');\nhashMap.set('git-submodules','b5d78ab86025516b8cc52ede93b390c45a1a46e7ca338e1d2b7f1d57481ebf43');\nhashMap.set('github-actions','bbc568ece7c04ce5c7c94476ccb15689d8e6a1d555099d88a6a072ed4eb7150a');\nhashMap.set('gitlabci','1f2e3e3a3013488e68d2aa0e39d80ee3bfbc9a01d817874f4c8195f8aff1fac9');\nhashMap.set('gitlabci-include','5bc01de9b40ecc8888a37690152f4a2f9cacc509b9cb5902aac024ca7a7c8e65');\nhashMap.set('glasskube','fd415356a866ad174a5b70522d662e4289a2c5d5e34c55d57542b0d8968f1645');\nhashMap.set('gleam','a4621cc86a42890a41c31e957726e02514257f4e91896d92f238ac07ab81cebb');\nhashMap.set('gomod','7c9240c54e09aa30b83d5b02e08e0b93054f9685ce02103a342f7b8aacd5406b');\nhashMap.set('gradle','c8f9cb559d8bed3157a8288558ce36228c37a006f3c613da518b68a9e3f5c9a9');\nhashMap.set('gradle-wrapper','d691572ff7a998162d20527dcc70b3fbf569442da0aa8156fdbce04376c537b1');\nhashMap.set('haskell-cabal','a2bf118238529952d0f2f352112dfbc86fb5533ef819625161a130f39c8ca713');\nhashMap.set('helm-requirements','8f643d415ab0cfbef05bce4dce9812eef47bddb7b8b67a191e6a4230489e652f');\nhashMap.set('helm-values','fbd4a0b4bdda8a71dc38ac8916287f73e2b7de5ef122096a5b5d525c1a3306cd');\nhashMap.set('helmfile','d5a965244170f3dede0c74cbfc8447547c740e5ccc41423cb8fd6ed6b154a552');\nhashMap.set('helmsman','734fa89740fd5140ca3e39204872aba3451c05cd17f0b5e2b635934ed7b1710b');\nhashMap.set('helmv3','14b651f9f2098dab608747e09fafddff22f47e3725281c005f2480e1b7f2cf12');\nhashMap.set('hermit','4fff70ffcae503c3009227601a7a429a55b0d3f8748d49f4fbd69845fea38dc1');\nhashMap.set('homebrew','47393bd17f23eab1d465925b8f13bbda75226e5e5f7c55ffa52a11cbed03d742');\nhashMap.set('html','226a9084e10ebf754906386159db08667394f5432105249bdb30d9c60af9fb56');\nhashMap.set('jenkins','309db014e3590e1cd6d53ede2755395c82e5cd4b880425daf52a6ab60e0d6a42');\nhashMap.set('jsonnet-bundler','43f4e3a3a6019a7b87ad57c0c9cb3e591eb56306609d23a1451dc5a3c4b3e1a9');\nhashMap.set('kotlin-script','7d3376b11fc1dfcc87bd6a130b8c7d5158915fdf8ea8f64e83fdb1f7dd62e22c');\nhashMap.set('kubernetes','62cfa6c77593b48290f3c26a2f390c4bdfe8ab3cfb79e358b10d8aece689a999');\nhashMap.set('kustomize','347ab9066fbe7bb8365443280052c5240142488d205a182d4f8fb3bf096d954b');\nhashMap.set('leiningen','0598d2f53cfc92076d47186245a7b591d2b0df157609a7f55a37b54ab2d32a77');\nhashMap.set('maven','5592ee2784417aa586aca86efa13e142c4fdf544bd0deea691c596788a9c48c7');\nhashMap.set('maven-wrapper','d4583f7a45ecccc76a564bc83db9d73c58eb7184613f40cbfd67969f1f5c40e0');\nhashMap.set('meteor','a9785d85b3520ed9e763c800730f36b95747795699758ecbe1395133c5b0040e');\nhashMap.set('mint','7072e37f18bb57500018406eb8711b2615b1916f073867f30653cdd4a99dab81');\nhashMap.set('mise','d84dcf05c3a23985e20aeca65a51552c808c954196fb4eae1de319c11f539ad9');\nhashMap.set('mix','5734548e8e672a270caa6c5ed958d7e00d568b8bcf95030ea2d9e73a4b817889');\nhashMap.set('nix','169443a1fe51757a040ac60f2aeae57fbd2dd8ec0f82cedb7aa880e327995c95');\nhashMap.set('nodenv','d159174d53e39af2013443cf86df88e14aac79a5a8d602180af229dcb2ddeda9');\nhashMap.set('npm','53ea905e415da966cc713c850e325ffa9c69ab03cc0fc4edf70dd6ff8f50e298');\nhashMap.set('nuget','f366c8d11da898ab9012bbec7511354890032f8afd87db944561cffe479c367c');\nhashMap.set('nvm','2d7a15f668d33a31302af960c3bc137b86d0284b1ea16c528d334e46a468b0d4');\nhashMap.set('ocb','bff1864d0937341790cfe08833c39642f785844762669f5753ff057bada923ab');\nhashMap.set('osgi','dae012cd486843eb53da4b032105e54d18f4e7537bd59c5321313950dd108a95');\nhashMap.set('pep621','3f7c61b16393a59cc2e1819998a5e5128af2c55cda37145703a085360b1dde22');\nhashMap.set('pep723','bf07d466ea1bc9513c8d2cb475fcca3bc9b61f2184bd9af0a7a28d45b6f57ecd');\nhashMap.set('pip-compile','c433dd0445137e632dbf3144f337b925a9dd7f27f29ba0945a696adfb74e4066');\nhashMap.set('pip_requirements','16598617b0bd1beef3031d2529c634be601ecf572678f205589bf4d1ce7132f6');\nhashMap.set('pip_setup','31b330d9666d61474326a761a3ce1479f9a189ef6838ecfee78843ff4c80af73');\nhashMap.set('pipenv','e689b0c7680c26169b45ca17c90ced26281aea4c9b7ce01aff42c6169c567a92');\nhashMap.set('pixi','ad1d3689a4f4815be8b579ec7455d4c20f1a7602accd45f451ee554f4bd9d1fd');\nhashMap.set('poetry','8e346ddbee9d8b2e19447cebb0d691eb03b05a852c50d7e9b2d9789857330e1a');\nhashMap.set('pre-commit','64efc3146f0981751a584a29bdcfe6701cc17849c7bc2bc87b238315d843524a');\nhashMap.set('pub','a2e38469167f49a34503e25816c7b9dd113b65bd10a3ad3fa325ac4ce571a453');\nhashMap.set('puppet','34f7e3916780e8ed352b65864bad91bf66547e29f91ee8fca7fd6e8fcd2621fd');\nhashMap.set('pyenv','4e520570d9a1407864aa7c5461d4008372d889254067e405cee2212d0ef8990b');\nhashMap.set('quadlet','972bb8017f8c7811a74b91b56cfcd9d6f1aef1c026c9a8b956cecc63d95b0bb2');\nhashMap.set('renovate-config-presets','27f100d67e2a1ad20cfd4aa3f1db1f1c34f62910929695f381160b3835a7fa65');\nhashMap.set('ruby-version','4aac2178a20ccdf8136363030e5156017f3d44368b4192b3280997df596dcacc');\nhashMap.set('runtime-version','dbf80ce2a5f07dd34bc9a008159b4f08052cc6fd0d92cbd2aeb0026c8008fa72');\nhashMap.set('sbt','dc1ec4aeeb5e012c7a595478873ad67e2dee6e2af951b12b9e9057cb64f2258d');\nhashMap.set('scalafmt','8a54fef703269ed31ce28887e62b0b838a13359e86fa77c7f4dceb89fda0f352');\nhashMap.set('setup-cfg','9a778d8a58f643fff1d23d750dfebed21e45bce99bfdcdc3de39795a407d983f');\nhashMap.set('sveltos','a69f9e206526af08685e20a72344b22d856f2effd882e67333a153a989a0a047');\nhashMap.set('swift','966398303fb2b86c14cede8e4a7bfc7810d3100c39a60ac9e01e56b181df3970');\nhashMap.set('tekton','eb8fb6a25ca7fd0d304f67d5ab2e93ddd8b34854553130003ce3340ca7b3bba1');\nhashMap.set('terraform','61b56a155559e0c1db92f8ed7726b475bf2071804053eba694fcc70fd139e007');\nhashMap.set('terraform-version','b08480f326c45daf3daeccc2d2f593a723c30a50437a66ac2290d671b427a355');\nhashMap.set('terragrunt','b32d2317bf2cf032243c417463f3760e4decf820d2e5332e6415e16dcf05e9ab');\nhashMap.set('terragrunt-version','45f221b13a193a42687f318e10cf1558079e28c970e91ce25c370f35f88f2f58');\nhashMap.set('tflint-plugin','719408f35a233216562aa62fb8126145a3450b69f917c8fcdf2f3b2c05a9898b');\nhashMap.set('travis','30174e78a6297e44db1c030ea2e111084e14b1eac220f522522c77d684a76285');\nhashMap.set('typst','d0e2b7cbf2ac47d55bd41fd4503251a4f606861dc60d812eff7532371ae2a8cb');\nhashMap.set('unity3d','9a61f8db397bc962f03a1d82045805ffa89863894e26824ecbeffcbf66b3ba3d');\nhashMap.set('velaci','9ad5d5d2584b9c189c4edcd25ad9103926bd4ba850a419a3b5e4aba9682817c3');\nhashMap.set('vendir','e07029018d1f00d399227e59da1e73ee78168f224520f3e1da6943cd4be7e7c6');\nhashMap.set('woodpecker','eaaa0a3bcfd0dc60c0990f2a1d7acf19c4f86ce4641ab3cf0a31f2bf46fc61b8');\nhashMap.set('jsonata','b8a0369f94be06f2109b7d233d8165a3e03d93498c43353720eb03b1eaa43e7b');\nhashMap.set('regex','3208bf2bf488d346e58c79c784eaddfc089f8a6b6b3df2263ab2fec8e3ec83c1');"]}
@@ -77,14 +77,14 @@ export declare const GithubFile: z.ZodObject<{
77
77
  }, "strip", z.ZodTypeAny, {
78
78
  path: string;
79
79
  content: string;
80
- encoding: string;
81
80
  name: string;
81
+ encoding: string;
82
82
  type: "file";
83
83
  }, {
84
84
  path: string;
85
85
  content: string;
86
- encoding: string;
87
86
  name: string;
87
+ encoding: string;
88
88
  type: "file";
89
89
  }>;
90
90
  export type GithubFile = z.infer<typeof GithubFile>;
@@ -129,14 +129,14 @@ export declare const GithubElement: z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodObj
129
129
  }, "strip", z.ZodTypeAny, {
130
130
  path: string;
131
131
  content: string;
132
- encoding: string;
133
132
  name: string;
133
+ encoding: string;
134
134
  type: "file";
135
135
  }, {
136
136
  path: string;
137
137
  content: string;
138
- encoding: string;
139
138
  name: string;
139
+ encoding: string;
140
140
  type: "file";
141
141
  }>, z.ZodObject<{
142
142
  name: z.ZodString;
@@ -190,14 +190,14 @@ export declare const GithubContentResponse: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z
190
190
  }, "strip", z.ZodTypeAny, {
191
191
  path: string;
192
192
  content: string;
193
- encoding: string;
194
193
  name: string;
194
+ encoding: string;
195
195
  type: "file";
196
196
  }, {
197
197
  path: string;
198
198
  content: string;
199
- encoding: string;
200
199
  name: string;
200
+ encoding: string;
201
201
  type: "file";
202
202
  }>, z.ZodObject<{
203
203
  name: z.ZodString;
@@ -249,14 +249,14 @@ export declare const GithubContentResponse: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z
249
249
  }, "strip", z.ZodTypeAny, {
250
250
  path: string;
251
251
  content: string;
252
- encoding: string;
253
252
  name: string;
253
+ encoding: string;
254
254
  type: "file";
255
255
  }, {
256
256
  path: string;
257
257
  content: string;
258
- encoding: string;
259
258
  name: string;
259
+ encoding: string;
260
260
  type: "file";
261
261
  }>, z.ZodObject<{
262
262
  name: z.ZodString;
@@ -31,7 +31,7 @@ class LocalFs {
31
31
  try {
32
32
  // fetch file list using git
33
33
  const maxBuffer = 10 * 1024 * 1024; // 10 MiB in bytes
34
- const stdout = (await (0, common_1.rawExec)('git ls-files', { encoding: 'utf-8', maxBuffer })).stdout;
34
+ const stdout = (await (0, common_1.rawExec)('git ls-files', { maxBuffer })).stdout;
35
35
  logger_1.logger.debug('Got file list using git');
36
36
  fileList = stdout.split('\n');
37
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scm.js","sourceRoot":"","sources":["../../../../lib/modules/platform/local/scm.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAC5B,4CAAyC;AACzC,sDAAoD;AAIpD,IAAI,QAA8B,CAAC;AACnC,MAAa,OAAO;IAClB,kBAAkB,CAAC,UAAkB,EAAE,UAAkB;QACvD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,gBAAgB,CAAC,UAAkB,EAAE,UAAkB;QACrD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,kBAAkB,CAAC,UAAkB,EAAE,MAAc;QACnD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,YAAY,CAAC,UAAkB;QAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,eAAe,CAAC,UAAkB;QAChC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,YAAY,CAAC,UAAkB;QAC7B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,aAAa,CACX,YAA+B;QAE/B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,4BAA4B;YAC5B,MAAM,SAAS,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,kBAAkB;YACtD,MAAM,MAAM,GAAG,CACb,MAAM,IAAA,gBAAO,EAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAChE,CAAC,MAAM,CAAC;YACT,eAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACxC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,eAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACtE,QAAQ,KAAK,MAAM,IAAA,WAAI,EAAC,IAAI,EAAE;gBAC5B,GAAG,EAAE,IAAI;gBACT,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,cAAc,CAAC,UAAkB;QAC/B,mDAAmD;QACnD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAmB,CAAC,CAAC;IAC9C,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AAzDD,0BAyDC","sourcesContent":["import { glob } from 'glob';\nimport { logger } from '../../../logger';\nimport { rawExec } from '../../../util/exec/common';\nimport type { CommitFilesConfig, LongCommitSha } from '../../../util/git/types';\nimport type { PlatformScm } from '../types';\n\nlet fileList: string[] | undefined;\nexport class LocalFs implements PlatformScm {\n isBranchBehindBase(branchName: string, baseBranch: string): Promise<boolean> {\n return Promise.resolve(false);\n }\n isBranchModified(branchName: string, baseBranch: string): Promise<boolean> {\n return Promise.resolve(false);\n }\n isBranchConflicted(baseBranch: string, branch: string): Promise<boolean> {\n return Promise.resolve(false);\n }\n branchExists(branchName: string): Promise<boolean> {\n return Promise.resolve(true);\n }\n getBranchCommit(branchName: string): Promise<LongCommitSha | null> {\n return Promise.resolve(null);\n }\n deleteBranch(branchName: string): Promise<void> {\n return Promise.resolve();\n }\n commitAndPush(\n commitConfig: CommitFilesConfig,\n ): Promise<LongCommitSha | null> {\n return Promise.resolve(null);\n }\n\n async getFileList(): Promise<string[]> {\n try {\n // fetch file list using git\n const maxBuffer = 10 * 1024 * 1024; // 10 MiB in bytes\n const stdout = (\n await rawExec('git ls-files', { encoding: 'utf-8', maxBuffer })\n ).stdout;\n logger.debug('Got file list using git');\n fileList = stdout.split('\\n');\n } catch {\n logger.debug('Could not get file list using git, using glob instead');\n fileList ??= await glob('**', {\n dot: true,\n nodir: true,\n });\n }\n\n return fileList;\n }\n\n checkoutBranch(branchName: string): Promise<LongCommitSha> {\n // We don't care about the commit sha in local mode\n return Promise.resolve('' as LongCommitSha);\n }\n\n mergeAndPush(branchName: string): Promise<void> {\n return Promise.resolve();\n }\n\n mergeToLocal(branchName: string): Promise<void> {\n return Promise.resolve();\n }\n}\n"]}
1
+ {"version":3,"file":"scm.js","sourceRoot":"","sources":["../../../../lib/modules/platform/local/scm.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAC5B,4CAAyC;AACzC,sDAAoD;AAIpD,IAAI,QAA8B,CAAC;AACnC,MAAa,OAAO;IAClB,kBAAkB,CAAC,UAAkB,EAAE,UAAkB;QACvD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,gBAAgB,CAAC,UAAkB,EAAE,UAAkB;QACrD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,kBAAkB,CAAC,UAAkB,EAAE,MAAc;QACnD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,YAAY,CAAC,UAAkB;QAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,eAAe,CAAC,UAAkB;QAChC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,YAAY,CAAC,UAAkB;QAC7B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,aAAa,CACX,YAA+B;QAE/B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,4BAA4B;YAC5B,MAAM,SAAS,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,kBAAkB;YACtD,MAAM,MAAM,GAAG,CAAC,MAAM,IAAA,gBAAO,EAAC,cAAc,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YACrE,eAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACxC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,eAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACtE,QAAQ,KAAK,MAAM,IAAA,WAAI,EAAC,IAAI,EAAE;gBAC5B,GAAG,EAAE,IAAI;gBACT,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,cAAc,CAAC,UAAkB;QAC/B,mDAAmD;QACnD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAmB,CAAC,CAAC;IAC9C,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,YAAY,CAAC,UAAkB;QAC7B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AAvDD,0BAuDC","sourcesContent":["import { glob } from 'glob';\nimport { logger } from '../../../logger';\nimport { rawExec } from '../../../util/exec/common';\nimport type { CommitFilesConfig, LongCommitSha } from '../../../util/git/types';\nimport type { PlatformScm } from '../types';\n\nlet fileList: string[] | undefined;\nexport class LocalFs implements PlatformScm {\n isBranchBehindBase(branchName: string, baseBranch: string): Promise<boolean> {\n return Promise.resolve(false);\n }\n isBranchModified(branchName: string, baseBranch: string): Promise<boolean> {\n return Promise.resolve(false);\n }\n isBranchConflicted(baseBranch: string, branch: string): Promise<boolean> {\n return Promise.resolve(false);\n }\n branchExists(branchName: string): Promise<boolean> {\n return Promise.resolve(true);\n }\n getBranchCommit(branchName: string): Promise<LongCommitSha | null> {\n return Promise.resolve(null);\n }\n deleteBranch(branchName: string): Promise<void> {\n return Promise.resolve();\n }\n commitAndPush(\n commitConfig: CommitFilesConfig,\n ): Promise<LongCommitSha | null> {\n return Promise.resolve(null);\n }\n\n async getFileList(): Promise<string[]> {\n try {\n // fetch file list using git\n const maxBuffer = 10 * 1024 * 1024; // 10 MiB in bytes\n const stdout = (await rawExec('git ls-files', { maxBuffer })).stdout;\n logger.debug('Got file list using git');\n fileList = stdout.split('\\n');\n } catch {\n logger.debug('Could not get file list using git, using glob instead');\n fileList ??= await glob('**', {\n dot: true,\n nodir: true,\n });\n }\n\n return fileList;\n }\n\n checkoutBranch(branchName: string): Promise<LongCommitSha> {\n // We don't care about the commit sha in local mode\n return Promise.resolve('' as LongCommitSha);\n }\n\n mergeAndPush(branchName: string): Promise<void> {\n return Promise.resolve();\n }\n\n mergeToLocal(branchName: string): Promise<void> {\n return Promise.resolve();\n }\n}\n"]}
@@ -1,3 +1,3 @@
1
- export declare const packageCacheNamespaces: readonly ["_test-namespace", "changelog-bitbucket-notes@v2", "changelog-bitbucket-release", "changelog-bitbucket-server-notes@v2", "changelog-bitbucket-server-release", "changelog-forgejo-notes@v2", "changelog-forgejo-release", "changelog-gitea-notes@v2", "changelog-gitea-release", "changelog-github-notes@v2", "changelog-github-release", "changelog-gitlab-notes@v2", "changelog-gitlab-release", "datasource-artifactory", "datasource-aws-machine-image", "datasource-aws-rds", "datasource-aws-eks-addon", "datasource-azure-bicep-resource", "datasource-azure-pipelines-tasks", "datasource-azure-tags", "datasource-bazel", "datasource-bitbucket-tags", "datasource-bitbucket-server-tags", "datasource-bitrise", "datasource-buildpacks-registry", "datasource-cdnjs", "datasource-conan", "datasource-conda", "datasource-cpan", "datasource-crate-metadata", "datasource-crate", "datasource-deb", "datasource-deno", "datasource-docker-architecture", "datasource-docker-hub-cache", "datasource-docker-digest", "datasource-docker-hub-tags", "datasource-docker-imageconfig", "datasource-docker-labels", "datasource-docker-releases-v2", "datasource-docker-tags", "datasource-dotnet-version", "datasource-endoflife-date", "datasource-galaxy-collection", "datasource-galaxy", "datasource-git-refs", "datasource-git-tags", "datasource-git", "datasource-forgejo-releases", "datasource-forgejo-tags", "datasource-gitea-releases", "datasource-gitea-tags", "datasource-github-release-attachments", "datasource-gitlab-packages", "datasource-gitlab-releases", "datasource-gitlab-tags", "datasource-glasskube-packages", "datasource-go-direct", "datasource-go-proxy", "datasource-go", "datasource-golang-version", "datasource-gradle-version", "datasource-helm", "datasource-hermit", "datasource-hex", "datasource-hexpm-bob", "datasource-java-version", "datasource-jenkins-plugins", "datasource-jsr", "datasource-maven:cache-provider", "datasource-maven:postprocess-reject", "datasource-nextcloud", "datasource-node-version", "datasource-npm:cache-provider", "datasource-nuget-v3", "datasource-orb", "datasource-packagist", "datasource-pod", "datasource-python-version", "datasource-repology", "datasource-rpm", "datasource-ruby-version", "datasource-rubygems", "datasource-sbt-package", "datasource-terraform-module", "datasource-terraform-provider", "datasource-terraform", "datasource-typst:cache-provider", "datasource-typst:releases", "datasource-unity3d", "datasource-unity3d-packages", "github-branches-datasource-v1", "github-releases-datasource-v2", "github-tags-datasource-v2", "merge-confidence", "preset", "terraform-provider-hash", "url-sha256"];
1
+ export declare const packageCacheNamespaces: readonly ["_test-namespace", "changelog-bitbucket-notes@v2", "changelog-bitbucket-release", "changelog-bitbucket-server-notes@v2", "changelog-bitbucket-server-release", "changelog-forgejo-notes@v2", "changelog-forgejo-release", "changelog-gitea-notes@v2", "changelog-gitea-release", "changelog-github-notes@v2", "changelog-github-release", "changelog-gitlab-notes@v2", "changelog-gitlab-release", "datasource-artifactory", "datasource-aws-machine-image", "datasource-aws-rds", "datasource-aws-eks-addon", "datasource-azure-bicep-resource", "datasource-azure-pipelines-tasks", "datasource-azure-tags", "datasource-bazel", "datasource-bitbucket-tags", "datasource-bitbucket-server-tags", "datasource-bitrise", "datasource-buildpacks-registry", "datasource-cdnjs", "datasource-conan", "datasource-conda", "datasource-cpan", "datasource-crate-metadata", "datasource-crate", "datasource-deb", "datasource-deno", "datasource-docker-architecture", "datasource-docker-hub-cache", "datasource-docker-digest", "datasource-docker-hub-tags", "datasource-docker-imageconfig", "datasource-docker-labels", "datasource-docker-releases-v2", "datasource-docker-tags", "datasource-dotnet-version", "datasource-endoflife-date", "datasource-galaxy-collection", "datasource-galaxy", "datasource-git-refs", "datasource-git-tags", "datasource-git", "datasource-forgejo-releases", "datasource-forgejo-tags", "datasource-gitea-releases", "datasource-gitea-tags", "datasource-github-release-attachments", "datasource-gitlab-packages", "datasource-gitlab-releases", "datasource-gitlab-tags", "datasource-glasskube-packages", "datasource-go-direct", "datasource-go-proxy", "datasource-go", "datasource-golang-version", "datasource-gradle-version", "datasource-helm", "datasource-hermit", "datasource-hex", "datasource-hexpm-bob", "datasource-java-version", "datasource-jenkins-plugins", "datasource-jsr", "datasource-maven:cache-provider", "datasource-maven:postprocess-reject", "datasource-nextcloud", "datasource-node-version", "datasource-npm:cache-provider", "datasource-nuget-v3", "datasource-orb", "datasource-packagist", "datasource-pod", "datasource-python-version", "datasource-repology", "datasource-rpm", "datasource-ruby-version", "datasource-rubygems", "datasource-sbt-package", "datasource-terraform-module", "datasource-terraform-provider", "datasource-terraform", "datasource-typst:cache-provider", "datasource-typst:registry-releases", "datasource-unity3d", "datasource-unity3d-packages", "github-branches-datasource-v1", "github-releases-datasource-v2", "github-tags-datasource-v2", "merge-confidence", "preset", "terraform-provider-hash", "url-sha256"];
2
2
  export type PackageCacheNamespace = (typeof packageCacheNamespaces)[number] | `datasource-releases-${string}`;
3
3
  export type CombinedKey = `datasource-mem:pkg-fetch:${PackageCacheNamespace}:${string}`;
@@ -96,7 +96,7 @@ exports.packageCacheNamespaces = [
96
96
  'datasource-terraform-provider',
97
97
  'datasource-terraform',
98
98
  'datasource-typst:cache-provider',
99
- 'datasource-typst:releases',
99
+ 'datasource-typst:registry-releases',
100
100
  'datasource-unity3d',
101
101
  'datasource-unity3d-packages',
102
102
  'github-branches-datasource-v1',
@@ -1 +1 @@
1
- {"version":3,"file":"namespaces.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/namespaces.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iFAAiF;AACpE,QAAA,sBAAsB,GAAG;IACpC,iBAAiB;IACjB,8BAA8B;IAC9B,6BAA6B;IAC7B,qCAAqC;IACrC,oCAAoC;IACpC,4BAA4B;IAC5B,2BAA2B;IAC3B,0BAA0B;IAC1B,yBAAyB;IACzB,2BAA2B;IAC3B,0BAA0B;IAC1B,2BAA2B;IAC3B,0BAA0B;IAC1B,wBAAwB;IACxB,8BAA8B;IAC9B,oBAAoB;IACpB,0BAA0B;IAC1B,iCAAiC;IACjC,kCAAkC;IAClC,uBAAuB;IACvB,kBAAkB;IAClB,2BAA2B;IAC3B,kCAAkC;IAClC,oBAAoB;IACpB,gCAAgC;IAChC,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,2BAA2B;IAC3B,kBAAkB;IAClB,gBAAgB;IAChB,iBAAiB;IACjB,gCAAgC;IAChC,6BAA6B;IAC7B,0BAA0B;IAC1B,4BAA4B;IAC5B,+BAA+B;IAC/B,0BAA0B;IAC1B,+BAA+B;IAC/B,wBAAwB;IACxB,2BAA2B;IAC3B,2BAA2B;IAC3B,8BAA8B;IAC9B,mBAAmB;IACnB,qBAAqB;IACrB,qBAAqB;IACrB,gBAAgB;IAChB,6BAA6B;IAC7B,yBAAyB;IACzB,2BAA2B;IAC3B,uBAAuB;IACvB,uCAAuC;IACvC,4BAA4B;IAC5B,4BAA4B;IAC5B,wBAAwB;IACxB,+BAA+B;IAC/B,sBAAsB;IACtB,qBAAqB;IACrB,eAAe;IACf,2BAA2B;IAC3B,2BAA2B;IAC3B,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAChB,sBAAsB;IACtB,yBAAyB;IACzB,4BAA4B;IAC5B,gBAAgB;IAChB,iCAAiC;IACjC,qCAAqC;IACrC,sBAAsB;IACtB,yBAAyB;IACzB,+BAA+B;IAC/B,qBAAqB;IACrB,gBAAgB;IAChB,sBAAsB;IACtB,gBAAgB;IAChB,2BAA2B;IAC3B,qBAAqB;IACrB,gBAAgB;IAChB,yBAAyB;IACzB,qBAAqB;IACrB,wBAAwB;IACxB,6BAA6B;IAC7B,+BAA+B;IAC/B,sBAAsB;IACtB,iCAAiC;IACjC,2BAA2B;IAC3B,oBAAoB;IACpB,6BAA6B;IAC7B,+BAA+B;IAC/B,+BAA+B;IAC/B,2BAA2B;IAC3B,kBAAkB;IAClB,QAAQ;IACR,yBAAyB;IACzB,YAAY;CACJ,CAAC,CAAC,iFAAiF","sourcesContent":["/* IMPORTANT:\n * These namespaces below are used as part of the cacheTtlOverride feature\n * It's OK to add to them (e.g. for new datasources) but we should avoid\n * backwards-incompatible changes in non-major releases\n */\n\n/* v8 ignore next -- BTW don't forget to update `self-hosted-configuration.md` */\nexport const packageCacheNamespaces = [\n '_test-namespace',\n 'changelog-bitbucket-notes@v2',\n 'changelog-bitbucket-release',\n 'changelog-bitbucket-server-notes@v2',\n 'changelog-bitbucket-server-release',\n 'changelog-forgejo-notes@v2',\n 'changelog-forgejo-release',\n 'changelog-gitea-notes@v2',\n 'changelog-gitea-release',\n 'changelog-github-notes@v2',\n 'changelog-github-release',\n 'changelog-gitlab-notes@v2',\n 'changelog-gitlab-release',\n 'datasource-artifactory',\n 'datasource-aws-machine-image',\n 'datasource-aws-rds',\n 'datasource-aws-eks-addon',\n 'datasource-azure-bicep-resource',\n 'datasource-azure-pipelines-tasks',\n 'datasource-azure-tags',\n 'datasource-bazel',\n 'datasource-bitbucket-tags',\n 'datasource-bitbucket-server-tags',\n 'datasource-bitrise',\n 'datasource-buildpacks-registry',\n 'datasource-cdnjs',\n 'datasource-conan',\n 'datasource-conda',\n 'datasource-cpan',\n 'datasource-crate-metadata',\n 'datasource-crate',\n 'datasource-deb',\n 'datasource-deno',\n 'datasource-docker-architecture',\n 'datasource-docker-hub-cache',\n 'datasource-docker-digest',\n 'datasource-docker-hub-tags',\n 'datasource-docker-imageconfig',\n 'datasource-docker-labels',\n 'datasource-docker-releases-v2',\n 'datasource-docker-tags',\n 'datasource-dotnet-version',\n 'datasource-endoflife-date',\n 'datasource-galaxy-collection',\n 'datasource-galaxy',\n 'datasource-git-refs',\n 'datasource-git-tags',\n 'datasource-git',\n 'datasource-forgejo-releases',\n 'datasource-forgejo-tags',\n 'datasource-gitea-releases',\n 'datasource-gitea-tags',\n 'datasource-github-release-attachments',\n 'datasource-gitlab-packages',\n 'datasource-gitlab-releases',\n 'datasource-gitlab-tags',\n 'datasource-glasskube-packages',\n 'datasource-go-direct',\n 'datasource-go-proxy',\n 'datasource-go',\n 'datasource-golang-version',\n 'datasource-gradle-version',\n 'datasource-helm',\n 'datasource-hermit',\n 'datasource-hex',\n 'datasource-hexpm-bob',\n 'datasource-java-version',\n 'datasource-jenkins-plugins',\n 'datasource-jsr',\n 'datasource-maven:cache-provider',\n 'datasource-maven:postprocess-reject',\n 'datasource-nextcloud',\n 'datasource-node-version',\n 'datasource-npm:cache-provider',\n 'datasource-nuget-v3',\n 'datasource-orb',\n 'datasource-packagist',\n 'datasource-pod',\n 'datasource-python-version',\n 'datasource-repology',\n 'datasource-rpm',\n 'datasource-ruby-version',\n 'datasource-rubygems',\n 'datasource-sbt-package',\n 'datasource-terraform-module',\n 'datasource-terraform-provider',\n 'datasource-terraform',\n 'datasource-typst:cache-provider',\n 'datasource-typst:releases',\n 'datasource-unity3d',\n 'datasource-unity3d-packages',\n 'github-branches-datasource-v1',\n 'github-releases-datasource-v2',\n 'github-tags-datasource-v2',\n 'merge-confidence',\n 'preset',\n 'terraform-provider-hash',\n 'url-sha256',\n] as const; /* v8 ignore stop -- BTW don't forget to update `self-hosted-configuration.md` */\n\nexport type PackageCacheNamespace =\n | (typeof packageCacheNamespaces)[number]\n | `datasource-releases-${string}`;\n\nexport type CombinedKey =\n `datasource-mem:pkg-fetch:${PackageCacheNamespace}:${string}`;\n"]}
1
+ {"version":3,"file":"namespaces.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/namespaces.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iFAAiF;AACpE,QAAA,sBAAsB,GAAG;IACpC,iBAAiB;IACjB,8BAA8B;IAC9B,6BAA6B;IAC7B,qCAAqC;IACrC,oCAAoC;IACpC,4BAA4B;IAC5B,2BAA2B;IAC3B,0BAA0B;IAC1B,yBAAyB;IACzB,2BAA2B;IAC3B,0BAA0B;IAC1B,2BAA2B;IAC3B,0BAA0B;IAC1B,wBAAwB;IACxB,8BAA8B;IAC9B,oBAAoB;IACpB,0BAA0B;IAC1B,iCAAiC;IACjC,kCAAkC;IAClC,uBAAuB;IACvB,kBAAkB;IAClB,2BAA2B;IAC3B,kCAAkC;IAClC,oBAAoB;IACpB,gCAAgC;IAChC,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,2BAA2B;IAC3B,kBAAkB;IAClB,gBAAgB;IAChB,iBAAiB;IACjB,gCAAgC;IAChC,6BAA6B;IAC7B,0BAA0B;IAC1B,4BAA4B;IAC5B,+BAA+B;IAC/B,0BAA0B;IAC1B,+BAA+B;IAC/B,wBAAwB;IACxB,2BAA2B;IAC3B,2BAA2B;IAC3B,8BAA8B;IAC9B,mBAAmB;IACnB,qBAAqB;IACrB,qBAAqB;IACrB,gBAAgB;IAChB,6BAA6B;IAC7B,yBAAyB;IACzB,2BAA2B;IAC3B,uBAAuB;IACvB,uCAAuC;IACvC,4BAA4B;IAC5B,4BAA4B;IAC5B,wBAAwB;IACxB,+BAA+B;IAC/B,sBAAsB;IACtB,qBAAqB;IACrB,eAAe;IACf,2BAA2B;IAC3B,2BAA2B;IAC3B,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAChB,sBAAsB;IACtB,yBAAyB;IACzB,4BAA4B;IAC5B,gBAAgB;IAChB,iCAAiC;IACjC,qCAAqC;IACrC,sBAAsB;IACtB,yBAAyB;IACzB,+BAA+B;IAC/B,qBAAqB;IACrB,gBAAgB;IAChB,sBAAsB;IACtB,gBAAgB;IAChB,2BAA2B;IAC3B,qBAAqB;IACrB,gBAAgB;IAChB,yBAAyB;IACzB,qBAAqB;IACrB,wBAAwB;IACxB,6BAA6B;IAC7B,+BAA+B;IAC/B,sBAAsB;IACtB,iCAAiC;IACjC,oCAAoC;IACpC,oBAAoB;IACpB,6BAA6B;IAC7B,+BAA+B;IAC/B,+BAA+B;IAC/B,2BAA2B;IAC3B,kBAAkB;IAClB,QAAQ;IACR,yBAAyB;IACzB,YAAY;CACJ,CAAC,CAAC,iFAAiF","sourcesContent":["/* IMPORTANT:\n * These namespaces below are used as part of the cacheTtlOverride feature\n * It's OK to add to them (e.g. for new datasources) but we should avoid\n * backwards-incompatible changes in non-major releases\n */\n\n/* v8 ignore next -- BTW don't forget to update `self-hosted-configuration.md` */\nexport const packageCacheNamespaces = [\n '_test-namespace',\n 'changelog-bitbucket-notes@v2',\n 'changelog-bitbucket-release',\n 'changelog-bitbucket-server-notes@v2',\n 'changelog-bitbucket-server-release',\n 'changelog-forgejo-notes@v2',\n 'changelog-forgejo-release',\n 'changelog-gitea-notes@v2',\n 'changelog-gitea-release',\n 'changelog-github-notes@v2',\n 'changelog-github-release',\n 'changelog-gitlab-notes@v2',\n 'changelog-gitlab-release',\n 'datasource-artifactory',\n 'datasource-aws-machine-image',\n 'datasource-aws-rds',\n 'datasource-aws-eks-addon',\n 'datasource-azure-bicep-resource',\n 'datasource-azure-pipelines-tasks',\n 'datasource-azure-tags',\n 'datasource-bazel',\n 'datasource-bitbucket-tags',\n 'datasource-bitbucket-server-tags',\n 'datasource-bitrise',\n 'datasource-buildpacks-registry',\n 'datasource-cdnjs',\n 'datasource-conan',\n 'datasource-conda',\n 'datasource-cpan',\n 'datasource-crate-metadata',\n 'datasource-crate',\n 'datasource-deb',\n 'datasource-deno',\n 'datasource-docker-architecture',\n 'datasource-docker-hub-cache',\n 'datasource-docker-digest',\n 'datasource-docker-hub-tags',\n 'datasource-docker-imageconfig',\n 'datasource-docker-labels',\n 'datasource-docker-releases-v2',\n 'datasource-docker-tags',\n 'datasource-dotnet-version',\n 'datasource-endoflife-date',\n 'datasource-galaxy-collection',\n 'datasource-galaxy',\n 'datasource-git-refs',\n 'datasource-git-tags',\n 'datasource-git',\n 'datasource-forgejo-releases',\n 'datasource-forgejo-tags',\n 'datasource-gitea-releases',\n 'datasource-gitea-tags',\n 'datasource-github-release-attachments',\n 'datasource-gitlab-packages',\n 'datasource-gitlab-releases',\n 'datasource-gitlab-tags',\n 'datasource-glasskube-packages',\n 'datasource-go-direct',\n 'datasource-go-proxy',\n 'datasource-go',\n 'datasource-golang-version',\n 'datasource-gradle-version',\n 'datasource-helm',\n 'datasource-hermit',\n 'datasource-hex',\n 'datasource-hexpm-bob',\n 'datasource-java-version',\n 'datasource-jenkins-plugins',\n 'datasource-jsr',\n 'datasource-maven:cache-provider',\n 'datasource-maven:postprocess-reject',\n 'datasource-nextcloud',\n 'datasource-node-version',\n 'datasource-npm:cache-provider',\n 'datasource-nuget-v3',\n 'datasource-orb',\n 'datasource-packagist',\n 'datasource-pod',\n 'datasource-python-version',\n 'datasource-repology',\n 'datasource-rpm',\n 'datasource-ruby-version',\n 'datasource-rubygems',\n 'datasource-sbt-package',\n 'datasource-terraform-module',\n 'datasource-terraform-provider',\n 'datasource-terraform',\n 'datasource-typst:cache-provider',\n 'datasource-typst:registry-releases',\n 'datasource-unity3d',\n 'datasource-unity3d-packages',\n 'github-branches-datasource-v1',\n 'github-releases-datasource-v2',\n 'github-tags-datasource-v2',\n 'merge-confidence',\n 'preset',\n 'terraform-provider-hash',\n 'url-sha256',\n] as const; /* v8 ignore stop -- BTW don't forget to update `self-hosted-configuration.md` */\n\nexport type PackageCacheNamespace =\n | (typeof packageCacheNamespaces)[number]\n | `datasource-releases-${string}`;\n\nexport type CombinedKey =\n `datasource-mem:pkg-fetch:${PackageCacheNamespace}:${string}`;\n"]}
@@ -26,9 +26,7 @@ async function prefetchDockerImage(taggedImage) {
26
26
  }
27
27
  else {
28
28
  logger_1.logger.debug(`Fetching Docker image: ${taggedImage}`);
29
- const res = await (0, common_1.rawExec)(`docker pull ${taggedImage}`, {
30
- encoding: 'utf-8',
31
- });
29
+ const res = await (0, common_1.rawExec)(`docker pull ${taggedImage}`, {});
32
30
  const imageDigest = digestRegex.exec(res?.stdout)?.[1] ?? 'unknown';
33
31
  logger_1.logger.debug(`Finished fetching Docker image ${taggedImage}@${imageDigest}`);
34
32
  prefetchedImages.set(taggedImage, imageDigest);
@@ -109,16 +107,12 @@ async function removeDockerContainer(image, prefix) {
109
107
  const containerName = getContainerName(image, prefix);
110
108
  let cmd = `docker ps --filter name=${containerName} -aq`;
111
109
  try {
112
- const res = await (0, common_1.rawExec)(cmd, {
113
- encoding: 'utf-8',
114
- });
110
+ const res = await (0, common_1.rawExec)(cmd, {});
115
111
  const containerId = res?.stdout?.trim() || '';
116
112
  if (containerId.length) {
117
113
  logger_1.logger.debug(`Removing container with ID: ${containerId}`);
118
114
  cmd = `docker rm -f ${containerId}`;
119
- await (0, common_1.rawExec)(cmd, {
120
- encoding: 'utf-8',
121
- });
115
+ await (0, common_1.rawExec)(cmd, {});
122
116
  }
123
117
  else {
124
118
  logger_1.logger.trace({ image, containerName }, 'No running containers to remove');
@@ -135,9 +129,7 @@ async function removeDanglingContainers() {
135
129
  try {
136
130
  const containerLabel = getContainerLabel(global_1.GlobalConfig.get('dockerChildPrefix'));
137
131
  logger_1.logger.debug(`Removing dangling child containers with label ${containerLabel}`);
138
- const res = await (0, common_1.rawExec)(`docker ps --filter label=${containerLabel} -aq`, {
139
- encoding: 'utf-8',
140
- });
132
+ const res = await (0, common_1.rawExec)(`docker ps --filter label=${containerLabel} -aq`, {});
141
133
  if (res?.stdout?.trim().length) {
142
134
  const containerIds = res.stdout
143
135
  .trim()
@@ -145,9 +137,7 @@ async function removeDanglingContainers() {
145
137
  .map((container) => container.trim())
146
138
  .filter(Boolean);
147
139
  logger_1.logger.debug({ containerIds }, 'Removing dangling child containers');
148
- await (0, common_1.rawExec)(`docker rm -f ${containerIds.join(' ')}`, {
149
- encoding: 'utf-8',
150
- });
140
+ await (0, common_1.rawExec)(`docker rm -f ${containerIds.join(' ')}`, {});
151
141
  }
152
142
  else {
153
143
  logger_1.logger.debug('No dangling containers to remove');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/util/exec/docker/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNonEmptyString, isString } from '@sindresorhus/is';\nimport { GlobalConfig } from '../../../config/global';\nimport { SYSTEM_INSUFFICIENT_MEMORY } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { getPkgReleases } from '../../../modules/datasource';\nimport * as allVersioning from '../../../modules/versioning';\nimport { newlineRegex, regEx } from '../../regex';\nimport { uniq } from '../../uniq';\nimport { rawExec } from '../common';\nimport type { DockerOptions, Opt, VolumeOption, VolumesPair } from '../types';\n\nconst prefetchedImages = new Map<string, string>();\n\nconst digestRegex = regEx('Digest: (.*?)\\n');\n\nexport const sideCarImage = 'sidecar';\n\nexport async function prefetchDockerImage(taggedImage: string): Promise<void> {\n if (prefetchedImages.has(taggedImage)) {\n logger.debug(\n `Docker image is already prefetched: ${taggedImage}@${prefetchedImages.get(\n taggedImage,\n )!}`,\n );\n } else {\n logger.debug(`Fetching Docker image: ${taggedImage}`);\n const res = await rawExec(`docker pull ${taggedImage}`, {\n encoding: 'utf-8',\n });\n const imageDigest = digestRegex.exec(res?.stdout)?.[1] ?? 'unknown';\n logger.debug(\n `Finished fetching Docker image ${taggedImage}@${imageDigest}`,\n );\n prefetchedImages.set(taggedImage, imageDigest);\n }\n}\n\nexport function resetPrefetchedImages(): void {\n prefetchedImages.clear();\n}\n\nfunction expandVolumeOption(x: VolumeOption): VolumesPair | null {\n if (isNonEmptyString(x)) {\n return [x, x];\n }\n if (Array.isArray(x) && x.length === 2) {\n const [from, to] = x;\n if (isNonEmptyString(from) && isNonEmptyString(to)) {\n return [from, to];\n }\n }\n return null;\n}\n\nfunction volumesEql(x: VolumesPair, y: VolumesPair): boolean {\n const [xFrom, xTo] = x;\n const [yFrom, yTo] = y;\n return xFrom === yFrom && xTo === yTo;\n}\n\nfunction prepareVolumes(volumes: VolumeOption[]): string[] {\n const expanded: (VolumesPair | null)[] = volumes.map(expandVolumeOption);\n const filtered: VolumesPair[] = expanded.filter(\n (vol): vol is VolumesPair => vol !== null,\n );\n const unique: VolumesPair[] = uniq<VolumesPair>(filtered, volumesEql);\n return unique.map(([from, to]) => `-v \"${from}\":\"${to}\"`);\n}\n\nfunction prepareCommands(commands: Opt<string>[]): string[] {\n return commands.filter<string>((command): command is string =>\n isString(command),\n );\n}\n\nexport async function getDockerTag(\n packageName: string,\n constraint: string,\n versioning: string,\n): Promise<string> {\n const versioningApi = allVersioning.get(versioning);\n\n if (!versioningApi.isValid(constraint)) {\n logger.warn(\n { versioning, constraint },\n `Invalid Docker image version constraint`,\n );\n return 'latest';\n }\n\n logger.debug(\n { packageName, versioning, constraint },\n `Found version constraint - checking for a compatible image to use`,\n );\n const imageReleases = await getPkgReleases({\n datasource: 'docker',\n packageName,\n versioning,\n });\n if (imageReleases?.releases) {\n let versions = imageReleases.releases.map((release) => release.version);\n versions = versions.filter(\n (version) =>\n versioningApi.isVersion(version) &&\n versioningApi.matches(version, constraint),\n );\n // Prefer stable versions over unstable, even if the range satisfies both types\n if (!versions.every((version) => versioningApi.isStable(version))) {\n logger.debug('Filtering out unstable versions');\n versions = versions.filter((version) => versioningApi.isStable(version));\n }\n const version = versions\n .sort(versioningApi.sortVersions.bind(versioningApi))\n .pop();\n if (version) {\n logger.debug(\n { packageName, versioning, constraint, version },\n `Found compatible image version`,\n );\n return version;\n }\n } else {\n logger.error({ packageName }, `Docker exec: no releases found`);\n return 'latest';\n }\n logger.warn(\n { packageName, constraint, versioning },\n 'Failed to find a tag satisfying constraint, using \"latest\" tag instead',\n );\n return 'latest';\n}\n\nfunction getContainerName(image: string, prefix?: string): string {\n return `${prefix ?? 'renovate_'}${image}`.replace(regEx(/\\//g), '_');\n}\n\nfunction getContainerLabel(prefix: string | undefined): string {\n return `${prefix ?? 'renovate_'}child`;\n}\n\nexport async function removeDockerContainer(\n image: string,\n prefix: string,\n): Promise<void> {\n const containerName = getContainerName(image, prefix);\n let cmd = `docker ps --filter name=${containerName} -aq`;\n try {\n const res = await rawExec(cmd, {\n encoding: 'utf-8',\n });\n const containerId = res?.stdout?.trim() || '';\n if (containerId.length) {\n logger.debug(`Removing container with ID: ${containerId}`);\n cmd = `docker rm -f ${containerId}`;\n await rawExec(cmd, {\n encoding: 'utf-8',\n });\n } else {\n logger.trace({ image, containerName }, 'No running containers to remove');\n }\n } catch (err) {\n logger.warn(\n { image, containerName, cmd, err },\n 'Could not remove Docker container',\n );\n }\n}\n\nexport async function removeDanglingContainers(): Promise<void> {\n if (GlobalConfig.get('binarySource') !== 'docker') {\n return;\n }\n\n try {\n const containerLabel = getContainerLabel(\n GlobalConfig.get('dockerChildPrefix'),\n );\n logger.debug(\n `Removing dangling child containers with label ${containerLabel}`,\n );\n const res = await rawExec(\n `docker ps --filter label=${containerLabel} -aq`,\n {\n encoding: 'utf-8',\n },\n );\n if (res?.stdout?.trim().length) {\n const containerIds = res.stdout\n .trim()\n .split(newlineRegex)\n .map((container) => container.trim())\n .filter(Boolean);\n logger.debug({ containerIds }, 'Removing dangling child containers');\n await rawExec(`docker rm -f ${containerIds.join(' ')}`, {\n encoding: 'utf-8',\n });\n } else {\n logger.debug('No dangling containers to remove');\n }\n } catch (err) {\n if (err.errno === 'ENOMEM') {\n throw new Error(SYSTEM_INSUFFICIENT_MEMORY);\n }\n if (err.stderr?.includes('Cannot connect to the Docker daemon')) {\n logger.info('No docker daemon found');\n } else {\n logger.warn({ err }, 'Error removing dangling containers');\n }\n }\n}\n\nexport async function generateDockerCommand(\n commands: string[],\n preCommands: string[],\n options: DockerOptions,\n): Promise<string> {\n const { envVars, cwd } = options;\n let image = sideCarImage;\n const volumes = options.volumes ?? [];\n const {\n localDir,\n cacheDir,\n containerbaseDir,\n dockerUser,\n dockerChildPrefix,\n dockerCliOptions,\n dockerSidecarImage,\n } = GlobalConfig.get();\n const result = ['docker run --rm'];\n const containerName = getContainerName(image, dockerChildPrefix);\n const containerLabel = getContainerLabel(dockerChildPrefix);\n result.push(`--name=${containerName}`);\n result.push(`--label=${containerLabel}`);\n if (dockerUser) {\n result.push(`--user=${dockerUser}`);\n }\n if (dockerCliOptions) {\n result.push(dockerCliOptions);\n }\n\n const volumeDirs: VolumeOption[] = [localDir, cacheDir];\n if (containerbaseDir) {\n if (cacheDir && containerbaseDir.startsWith(cacheDir)) {\n logger.debug('containerbaseDir is inside cacheDir');\n } else {\n logger.debug('containerbaseDir is separate from cacheDir');\n volumeDirs.push(containerbaseDir);\n }\n } else {\n logger.debug('containerbaseDir is missing');\n }\n volumeDirs.push(...volumes);\n result.push(...prepareVolumes(volumeDirs));\n\n if (envVars) {\n result.push(\n ...uniq(envVars)\n .filter(isString)\n .map((e) => `-e ${e}`),\n );\n }\n\n if (cwd) {\n result.push(`-w \"${cwd}\"`);\n }\n\n // TODO: #22198\n image = dockerSidecarImage!;\n\n // TODO: add constraint: const tag = getDockerTag(image, sideCarImageVersion, 'semver');\n logger.debug(\n { image /*, tagConstraint: sideCarImageVersion, tag */ },\n 'Resolved tag constraint',\n );\n\n const taggedImage = image; // TODO: tag ? `${image}:${tag}` : `${image}`;\n await prefetchDockerImage(taggedImage);\n result.push(taggedImage);\n\n const bashCommand = [...prepareCommands(preCommands), ...commands].join(\n ' && ',\n );\n result.push(`bash -l -c \"${bashCommand.replace(regEx(/\"/g), '\\\\\"')}\"`); // lgtm [js/incomplete-sanitization]\n\n return result.join(' ');\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/util/exec/docker/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNonEmptyString, isString } from '@sindresorhus/is';\nimport { GlobalConfig } from '../../../config/global';\nimport { SYSTEM_INSUFFICIENT_MEMORY } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { getPkgReleases } from '../../../modules/datasource';\nimport * as allVersioning from '../../../modules/versioning';\nimport { newlineRegex, regEx } from '../../regex';\nimport { uniq } from '../../uniq';\nimport { rawExec } from '../common';\nimport type { DockerOptions, Opt, VolumeOption, VolumesPair } from '../types';\n\nconst prefetchedImages = new Map<string, string>();\n\nconst digestRegex = regEx('Digest: (.*?)\\n');\n\nexport const sideCarImage = 'sidecar';\n\nexport async function prefetchDockerImage(taggedImage: string): Promise<void> {\n if (prefetchedImages.has(taggedImage)) {\n logger.debug(\n `Docker image is already prefetched: ${taggedImage}@${prefetchedImages.get(\n taggedImage,\n )!}`,\n );\n } else {\n logger.debug(`Fetching Docker image: ${taggedImage}`);\n const res = await rawExec(`docker pull ${taggedImage}`, {});\n const imageDigest = digestRegex.exec(res?.stdout)?.[1] ?? 'unknown';\n logger.debug(\n `Finished fetching Docker image ${taggedImage}@${imageDigest}`,\n );\n prefetchedImages.set(taggedImage, imageDigest);\n }\n}\n\nexport function resetPrefetchedImages(): void {\n prefetchedImages.clear();\n}\n\nfunction expandVolumeOption(x: VolumeOption): VolumesPair | null {\n if (isNonEmptyString(x)) {\n return [x, x];\n }\n if (Array.isArray(x) && x.length === 2) {\n const [from, to] = x;\n if (isNonEmptyString(from) && isNonEmptyString(to)) {\n return [from, to];\n }\n }\n return null;\n}\n\nfunction volumesEql(x: VolumesPair, y: VolumesPair): boolean {\n const [xFrom, xTo] = x;\n const [yFrom, yTo] = y;\n return xFrom === yFrom && xTo === yTo;\n}\n\nfunction prepareVolumes(volumes: VolumeOption[]): string[] {\n const expanded: (VolumesPair | null)[] = volumes.map(expandVolumeOption);\n const filtered: VolumesPair[] = expanded.filter(\n (vol): vol is VolumesPair => vol !== null,\n );\n const unique: VolumesPair[] = uniq<VolumesPair>(filtered, volumesEql);\n return unique.map(([from, to]) => `-v \"${from}\":\"${to}\"`);\n}\n\nfunction prepareCommands(commands: Opt<string>[]): string[] {\n return commands.filter<string>((command): command is string =>\n isString(command),\n );\n}\n\nexport async function getDockerTag(\n packageName: string,\n constraint: string,\n versioning: string,\n): Promise<string> {\n const versioningApi = allVersioning.get(versioning);\n\n if (!versioningApi.isValid(constraint)) {\n logger.warn(\n { versioning, constraint },\n `Invalid Docker image version constraint`,\n );\n return 'latest';\n }\n\n logger.debug(\n { packageName, versioning, constraint },\n `Found version constraint - checking for a compatible image to use`,\n );\n const imageReleases = await getPkgReleases({\n datasource: 'docker',\n packageName,\n versioning,\n });\n if (imageReleases?.releases) {\n let versions = imageReleases.releases.map((release) => release.version);\n versions = versions.filter(\n (version) =>\n versioningApi.isVersion(version) &&\n versioningApi.matches(version, constraint),\n );\n // Prefer stable versions over unstable, even if the range satisfies both types\n if (!versions.every((version) => versioningApi.isStable(version))) {\n logger.debug('Filtering out unstable versions');\n versions = versions.filter((version) => versioningApi.isStable(version));\n }\n const version = versions\n .sort(versioningApi.sortVersions.bind(versioningApi))\n .pop();\n if (version) {\n logger.debug(\n { packageName, versioning, constraint, version },\n `Found compatible image version`,\n );\n return version;\n }\n } else {\n logger.error({ packageName }, `Docker exec: no releases found`);\n return 'latest';\n }\n logger.warn(\n { packageName, constraint, versioning },\n 'Failed to find a tag satisfying constraint, using \"latest\" tag instead',\n );\n return 'latest';\n}\n\nfunction getContainerName(image: string, prefix?: string): string {\n return `${prefix ?? 'renovate_'}${image}`.replace(regEx(/\\//g), '_');\n}\n\nfunction getContainerLabel(prefix: string | undefined): string {\n return `${prefix ?? 'renovate_'}child`;\n}\n\nexport async function removeDockerContainer(\n image: string,\n prefix: string,\n): Promise<void> {\n const containerName = getContainerName(image, prefix);\n let cmd = `docker ps --filter name=${containerName} -aq`;\n try {\n const res = await rawExec(cmd, {});\n const containerId = res?.stdout?.trim() || '';\n if (containerId.length) {\n logger.debug(`Removing container with ID: ${containerId}`);\n cmd = `docker rm -f ${containerId}`;\n await rawExec(cmd, {});\n } else {\n logger.trace({ image, containerName }, 'No running containers to remove');\n }\n } catch (err) {\n logger.warn(\n { image, containerName, cmd, err },\n 'Could not remove Docker container',\n );\n }\n}\n\nexport async function removeDanglingContainers(): Promise<void> {\n if (GlobalConfig.get('binarySource') !== 'docker') {\n return;\n }\n\n try {\n const containerLabel = getContainerLabel(\n GlobalConfig.get('dockerChildPrefix'),\n );\n logger.debug(\n `Removing dangling child containers with label ${containerLabel}`,\n );\n const res = await rawExec(\n `docker ps --filter label=${containerLabel} -aq`,\n {},\n );\n if (res?.stdout?.trim().length) {\n const containerIds = res.stdout\n .trim()\n .split(newlineRegex)\n .map((container) => container.trim())\n .filter(Boolean);\n logger.debug({ containerIds }, 'Removing dangling child containers');\n await rawExec(`docker rm -f ${containerIds.join(' ')}`, {});\n } else {\n logger.debug('No dangling containers to remove');\n }\n } catch (err) {\n if (err.errno === 'ENOMEM') {\n throw new Error(SYSTEM_INSUFFICIENT_MEMORY);\n }\n if (err.stderr?.includes('Cannot connect to the Docker daemon')) {\n logger.info('No docker daemon found');\n } else {\n logger.warn({ err }, 'Error removing dangling containers');\n }\n }\n}\n\nexport async function generateDockerCommand(\n commands: string[],\n preCommands: string[],\n options: DockerOptions,\n): Promise<string> {\n const { envVars, cwd } = options;\n let image = sideCarImage;\n const volumes = options.volumes ?? [];\n const {\n localDir,\n cacheDir,\n containerbaseDir,\n dockerUser,\n dockerChildPrefix,\n dockerCliOptions,\n dockerSidecarImage,\n } = GlobalConfig.get();\n const result = ['docker run --rm'];\n const containerName = getContainerName(image, dockerChildPrefix);\n const containerLabel = getContainerLabel(dockerChildPrefix);\n result.push(`--name=${containerName}`);\n result.push(`--label=${containerLabel}`);\n if (dockerUser) {\n result.push(`--user=${dockerUser}`);\n }\n if (dockerCliOptions) {\n result.push(dockerCliOptions);\n }\n\n const volumeDirs: VolumeOption[] = [localDir, cacheDir];\n if (containerbaseDir) {\n if (cacheDir && containerbaseDir.startsWith(cacheDir)) {\n logger.debug('containerbaseDir is inside cacheDir');\n } else {\n logger.debug('containerbaseDir is separate from cacheDir');\n volumeDirs.push(containerbaseDir);\n }\n } else {\n logger.debug('containerbaseDir is missing');\n }\n volumeDirs.push(...volumes);\n result.push(...prepareVolumes(volumeDirs));\n\n if (envVars) {\n result.push(\n ...uniq(envVars)\n .filter(isString)\n .map((e) => `-e ${e}`),\n );\n }\n\n if (cwd) {\n result.push(`-w \"${cwd}\"`);\n }\n\n // TODO: #22198\n image = dockerSidecarImage!;\n\n // TODO: add constraint: const tag = getDockerTag(image, sideCarImageVersion, 'semver');\n logger.debug(\n { image /*, tagConstraint: sideCarImageVersion, tag */ },\n 'Resolved tag constraint',\n );\n\n const taggedImage = image; // TODO: tag ? `${image}:${tag}` : `${image}`;\n await prefetchDockerImage(taggedImage);\n result.push(taggedImage);\n\n const bashCommand = [...prepareCommands(preCommands), ...commands].join(\n ' && ',\n );\n result.push(`bash -l -c \"${bashCommand.replace(regEx(/\"/g), '\\\\\"')}\"`); // lgtm [js/incomplete-sanitization]\n\n return result.join(' ');\n}\n"]}
@@ -30,7 +30,6 @@ function getRawExecOptions(opts) {
30
30
  const cwd = getCwd(opts);
31
31
  const rawExecOptions = {
32
32
  cwd,
33
- encoding: 'utf-8',
34
33
  env: childEnv,
35
34
  maxBuffer: opts.maxBuffer,
36
35
  timeout: opts.timeout,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/util/exec/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNonEmptyString } from '@sindresorhus/is';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../config/global';\nimport { TEMPORARY_ERROR } from '../../constants/error-messages';\nimport { logger } from '../../logger';\nimport { getCustomEnv, getUserEnv } from '../env';\nimport { rawExec } from './common';\nimport { generateInstallCommands, isDynamicInstall } from './containerbase';\nimport {\n generateDockerCommand,\n removeDockerContainer,\n sideCarImage,\n} from './docker';\nimport { getHermitEnvs, isHermit } from './hermit';\nimport type {\n DockerOptions,\n ExecOptions,\n ExecResult,\n ExtraEnv,\n Opt,\n RawExecOptions,\n} from './types';\nimport { getChildEnv } from './utils';\n\nfunction dockerEnvVars(extraEnv: ExtraEnv, childEnv: ExtraEnv): string[] {\n const extraEnvKeys = Object.keys(extraEnv);\n return extraEnvKeys.filter((key) => isNonEmptyString(childEnv[key]));\n}\n\nfunction getCwd({ cwd, cwdFile }: ExecOptions): string | undefined {\n const defaultCwd = GlobalConfig.get('localDir');\n const paramCwd = cwdFile\n ? upath.join(defaultCwd, upath.dirname(cwdFile))\n : cwd;\n return paramCwd ?? defaultCwd;\n}\n\nfunction getRawExecOptions(opts: ExecOptions): RawExecOptions {\n const defaultExecutionTimeout = GlobalConfig.get('executionTimeout');\n const childEnv = getChildEnv(opts);\n const cwd = getCwd(opts);\n const rawExecOptions: RawExecOptions = {\n cwd,\n encoding: 'utf-8',\n env: childEnv,\n maxBuffer: opts.maxBuffer,\n timeout: opts.timeout,\n };\n // Set default timeout config.executionTimeout if specified; othrwise to 15 minutes\n if (!rawExecOptions.timeout) {\n if (defaultExecutionTimeout) {\n rawExecOptions.timeout = defaultExecutionTimeout * 60 * 1000;\n } else {\n rawExecOptions.timeout = 15 * 60 * 1000;\n }\n }\n\n // Set default max buffer size to 10MB\n rawExecOptions.maxBuffer = rawExecOptions.maxBuffer ?? 10 * 1024 * 1024;\n\n if (opts.ignoreStdout) {\n rawExecOptions.stdio = ['pipe', 'ignore', 'pipe'];\n }\n\n return rawExecOptions;\n}\n\nfunction isDocker(docker: Opt<DockerOptions>): docker is DockerOptions {\n return GlobalConfig.get('binarySource') === 'docker' && !!docker;\n}\n\ninterface RawExecArguments {\n rawCommands: string[];\n rawOptions: RawExecOptions;\n}\n\nasync function prepareRawExec(\n cmd: string | string[],\n opts: ExecOptions,\n): Promise<RawExecArguments> {\n const { docker } = opts;\n const preCommands = opts.preCommands ?? [];\n const customEnvVariables = getCustomEnv();\n const userConfiguredEnv = getUserEnv();\n const { containerbaseDir, binarySource } = GlobalConfig.get();\n\n if (binarySource === 'docker' || binarySource === 'install') {\n logger.debug(`Setting CONTAINERBASE_CACHE_DIR to ${containerbaseDir!}`);\n opts.env ??= {};\n opts.env.CONTAINERBASE_CACHE_DIR = containerbaseDir;\n }\n\n const rawOptions = getRawExecOptions(opts);\n\n let rawCommands = typeof cmd === 'string' ? [cmd] : cmd;\n\n if (isDocker(docker)) {\n logger.debug({ image: sideCarImage }, 'Using docker to execute');\n const extraEnv = {\n ...opts.extraEnv,\n ...customEnvVariables,\n ...userConfiguredEnv,\n };\n const childEnv = getChildEnv(opts);\n const envVars = [\n ...dockerEnvVars(extraEnv, childEnv),\n 'CONTAINERBASE_CACHE_DIR',\n ];\n const cwd = getCwd(opts);\n const dockerOptions: DockerOptions = { ...docker, cwd, envVars };\n const dockerCommand = await generateDockerCommand(\n rawCommands,\n [\n ...(await generateInstallCommands(opts.toolConstraints)),\n ...preCommands,\n ],\n dockerOptions,\n );\n rawCommands = [dockerCommand];\n } else if (isDynamicInstall(opts.toolConstraints)) {\n logger.debug('Using containerbase dynamic installs');\n rawCommands = [\n ...(await generateInstallCommands(opts.toolConstraints)),\n ...preCommands,\n ...rawCommands,\n ];\n } else if (isHermit()) {\n const hermitEnvVars = await getHermitEnvs(rawOptions);\n logger.debug(\n { hermitEnvVars },\n 'merging hermit environment variables into the execution options',\n );\n rawOptions.env = {\n ...rawOptions.env,\n ...hermitEnvVars,\n };\n }\n\n if (\n GlobalConfig.get('binarySource') === 'global' &&\n opts.toolConstraints?.length\n ) {\n logger.once.debug(\n { toolConstraints: opts.toolConstraints },\n 'Ignoring tool contraints because of `binarySource=global`',\n );\n }\n\n return { rawCommands, rawOptions };\n}\n\nexport async function exec(\n cmd: string | string[],\n opts: ExecOptions = {},\n): Promise<ExecResult> {\n const { docker } = opts;\n const dockerChildPrefix = GlobalConfig.get('dockerChildPrefix', 'renovate_');\n\n const { rawCommands, rawOptions } = await prepareRawExec(cmd, opts);\n const useDocker = isDocker(docker);\n\n let res: ExecResult = { stdout: '', stderr: '' };\n for (const rawCmd of rawCommands) {\n const startTime = Date.now();\n if (useDocker) {\n await removeDockerContainer(sideCarImage, dockerChildPrefix);\n }\n logger.debug({ command: rawCmd }, 'Executing command');\n logger.trace({ commandOptions: rawOptions }, 'Command options');\n try {\n res = await rawExec(rawCmd, rawOptions);\n } catch (err) {\n const durationMs = Math.round(Date.now() - startTime);\n logger.debug({ err, durationMs }, 'rawExec err');\n if (useDocker) {\n await removeDockerContainer(sideCarImage, dockerChildPrefix).catch(\n (removeErr: Error) => {\n const message: string = err.message;\n throw new Error(\n `Error: \"${removeErr.message}\" - Original Error: \"${message}\"`,\n );\n },\n );\n }\n if (err.signal === `SIGTERM`) {\n logger.debug(\n { err },\n 'exec interrupted by SIGTERM - run needs to be aborted',\n );\n throw new Error(TEMPORARY_ERROR);\n }\n throw err;\n }\n const durationMs = Math.round(Date.now() - startTime);\n logger.debug(\n {\n durationMs,\n stdout: res.stdout,\n stderr: res.stderr,\n },\n 'exec completed',\n );\n }\n\n return res;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/util/exec/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNonEmptyString } from '@sindresorhus/is';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../config/global';\nimport { TEMPORARY_ERROR } from '../../constants/error-messages';\nimport { logger } from '../../logger';\nimport { getCustomEnv, getUserEnv } from '../env';\nimport { rawExec } from './common';\nimport { generateInstallCommands, isDynamicInstall } from './containerbase';\nimport {\n generateDockerCommand,\n removeDockerContainer,\n sideCarImage,\n} from './docker';\nimport { getHermitEnvs, isHermit } from './hermit';\nimport type {\n DockerOptions,\n ExecOptions,\n ExecResult,\n ExtraEnv,\n Opt,\n RawExecOptions,\n} from './types';\nimport { getChildEnv } from './utils';\n\nfunction dockerEnvVars(extraEnv: ExtraEnv, childEnv: ExtraEnv): string[] {\n const extraEnvKeys = Object.keys(extraEnv);\n return extraEnvKeys.filter((key) => isNonEmptyString(childEnv[key]));\n}\n\nfunction getCwd({ cwd, cwdFile }: ExecOptions): string | undefined {\n const defaultCwd = GlobalConfig.get('localDir');\n const paramCwd = cwdFile\n ? upath.join(defaultCwd, upath.dirname(cwdFile))\n : cwd;\n return paramCwd ?? defaultCwd;\n}\n\nfunction getRawExecOptions(opts: ExecOptions): RawExecOptions {\n const defaultExecutionTimeout = GlobalConfig.get('executionTimeout');\n const childEnv = getChildEnv(opts);\n const cwd = getCwd(opts);\n const rawExecOptions: RawExecOptions = {\n cwd,\n env: childEnv,\n maxBuffer: opts.maxBuffer,\n timeout: opts.timeout,\n };\n // Set default timeout config.executionTimeout if specified; othrwise to 15 minutes\n if (!rawExecOptions.timeout) {\n if (defaultExecutionTimeout) {\n rawExecOptions.timeout = defaultExecutionTimeout * 60 * 1000;\n } else {\n rawExecOptions.timeout = 15 * 60 * 1000;\n }\n }\n\n // Set default max buffer size to 10MB\n rawExecOptions.maxBuffer = rawExecOptions.maxBuffer ?? 10 * 1024 * 1024;\n\n if (opts.ignoreStdout) {\n rawExecOptions.stdio = ['pipe', 'ignore', 'pipe'];\n }\n\n return rawExecOptions;\n}\n\nfunction isDocker(docker: Opt<DockerOptions>): docker is DockerOptions {\n return GlobalConfig.get('binarySource') === 'docker' && !!docker;\n}\n\ninterface RawExecArguments {\n rawCommands: string[];\n rawOptions: RawExecOptions;\n}\n\nasync function prepareRawExec(\n cmd: string | string[],\n opts: ExecOptions,\n): Promise<RawExecArguments> {\n const { docker } = opts;\n const preCommands = opts.preCommands ?? [];\n const customEnvVariables = getCustomEnv();\n const userConfiguredEnv = getUserEnv();\n const { containerbaseDir, binarySource } = GlobalConfig.get();\n\n if (binarySource === 'docker' || binarySource === 'install') {\n logger.debug(`Setting CONTAINERBASE_CACHE_DIR to ${containerbaseDir!}`);\n opts.env ??= {};\n opts.env.CONTAINERBASE_CACHE_DIR = containerbaseDir;\n }\n\n const rawOptions = getRawExecOptions(opts);\n\n let rawCommands = typeof cmd === 'string' ? [cmd] : cmd;\n\n if (isDocker(docker)) {\n logger.debug({ image: sideCarImage }, 'Using docker to execute');\n const extraEnv = {\n ...opts.extraEnv,\n ...customEnvVariables,\n ...userConfiguredEnv,\n };\n const childEnv = getChildEnv(opts);\n const envVars = [\n ...dockerEnvVars(extraEnv, childEnv),\n 'CONTAINERBASE_CACHE_DIR',\n ];\n const cwd = getCwd(opts);\n const dockerOptions: DockerOptions = { ...docker, cwd, envVars };\n const dockerCommand = await generateDockerCommand(\n rawCommands,\n [\n ...(await generateInstallCommands(opts.toolConstraints)),\n ...preCommands,\n ],\n dockerOptions,\n );\n rawCommands = [dockerCommand];\n } else if (isDynamicInstall(opts.toolConstraints)) {\n logger.debug('Using containerbase dynamic installs');\n rawCommands = [\n ...(await generateInstallCommands(opts.toolConstraints)),\n ...preCommands,\n ...rawCommands,\n ];\n } else if (isHermit()) {\n const hermitEnvVars = await getHermitEnvs(rawOptions);\n logger.debug(\n { hermitEnvVars },\n 'merging hermit environment variables into the execution options',\n );\n rawOptions.env = {\n ...rawOptions.env,\n ...hermitEnvVars,\n };\n }\n\n if (\n GlobalConfig.get('binarySource') === 'global' &&\n opts.toolConstraints?.length\n ) {\n logger.once.debug(\n { toolConstraints: opts.toolConstraints },\n 'Ignoring tool contraints because of `binarySource=global`',\n );\n }\n\n return { rawCommands, rawOptions };\n}\n\nexport async function exec(\n cmd: string | string[],\n opts: ExecOptions = {},\n): Promise<ExecResult> {\n const { docker } = opts;\n const dockerChildPrefix = GlobalConfig.get('dockerChildPrefix', 'renovate_');\n\n const { rawCommands, rawOptions } = await prepareRawExec(cmd, opts);\n const useDocker = isDocker(docker);\n\n let res: ExecResult = { stdout: '', stderr: '' };\n for (const rawCmd of rawCommands) {\n const startTime = Date.now();\n if (useDocker) {\n await removeDockerContainer(sideCarImage, dockerChildPrefix);\n }\n logger.debug({ command: rawCmd }, 'Executing command');\n logger.trace({ commandOptions: rawOptions }, 'Command options');\n try {\n res = await rawExec(rawCmd, rawOptions);\n } catch (err) {\n const durationMs = Math.round(Date.now() - startTime);\n logger.debug({ err, durationMs }, 'rawExec err');\n if (useDocker) {\n await removeDockerContainer(sideCarImage, dockerChildPrefix).catch(\n (removeErr: Error) => {\n const message: string = err.message;\n throw new Error(\n `Error: \"${removeErr.message}\" - Original Error: \"${message}\"`,\n );\n },\n );\n }\n if (err.signal === `SIGTERM`) {\n logger.debug(\n { err },\n 'exec interrupted by SIGTERM - run needs to be aborted',\n );\n throw new Error(TEMPORARY_ERROR);\n }\n throw err;\n }\n const durationMs = Math.round(Date.now() - startTime);\n logger.debug(\n {\n durationMs,\n stdout: res.stdout,\n stderr: res.stderr,\n },\n 'exec completed',\n );\n }\n\n return res;\n}\n"]}
@@ -24,10 +24,6 @@ export interface OutputListeners {
24
24
  stderr?: DataListener[];
25
25
  }
26
26
  export interface RawExecOptions extends ChildProcessSpawnOptions {
27
- /**
28
- * @deprecated renovate uses utf8, encoding property is ignored.
29
- */
30
- encoding: string;
31
27
  maxBuffer?: number | undefined;
32
28
  cwd?: string;
33
29
  outputListeners?: OutputListeners;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/util/exec/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { SpawnOptions as ChildProcessSpawnOptions } from 'node:child_process';\n\nexport interface ToolConstraint {\n toolName: string;\n constraint?: string | null;\n}\n\nexport interface ToolConfig {\n datasource: string;\n extractVersion?: string;\n packageName: string;\n hash?: boolean;\n versioning: string;\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 RawExecOptions extends ChildProcessSpawnOptions {\n // TODO: to be removed in #16655\n /**\n * @deprecated renovate uses utf8, encoding property is ignored.\n */\n encoding: string;\n maxBuffer?: number | undefined;\n cwd?: string;\n outputListeners?: OutputListeners;\n}\n\nexport interface ExecResult {\n stdout: string;\n stderr: string;\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}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/util/exec/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { SpawnOptions as ChildProcessSpawnOptions } from 'node:child_process';\n\nexport interface ToolConstraint {\n toolName: string;\n constraint?: string | null;\n}\n\nexport interface ToolConfig {\n datasource: string;\n extractVersion?: string;\n packageName: string;\n hash?: boolean;\n versioning: string;\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 RawExecOptions extends ChildProcessSpawnOptions {\n maxBuffer?: number | undefined;\n cwd?: string;\n outputListeners?: OutputListeners;\n}\n\nexport interface ExecResult {\n stdout: string;\n stderr: string;\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}\n"]}
@@ -17,6 +17,10 @@ const concurrencyDefaults = [
17
17
  matchHost: 'repology.org',
18
18
  concurrency: 1,
19
19
  },
20
+ {
21
+ matchHost: 'packages.typst.org',
22
+ concurrency: 1,
23
+ },
20
24
  {
21
25
  matchHost: '*',
22
26
  concurrency: 16,
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limits.js","sourceRoot":"","sources":["../../../lib/util/http/rate-limits.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNumber } from '@sindresorhus/is';\nimport { matchesHost } from '../host-rules';\nimport * as hostRules from '../host-rules';\nimport type { ConcurrencyLimitRule, ThrottleLimitRule } from './types';\n\n// The first match wins\nconst concurrencyDefaults: ConcurrencyLimitRule[] = [\n {\n matchHost: 'registry.npmjs.org',\n concurrency: 999,\n },\n {\n matchHost: 'repology.org',\n concurrency: 1,\n },\n {\n matchHost: '*',\n concurrency: 16,\n },\n];\n\n// The first match wins\nconst throttleDefaults: ThrottleLimitRule[] = [\n {\n // https://guides.rubygems.org/rubygems-org-rate-limits/\n matchHost: 'rubygems.org',\n throttleMs: 125,\n },\n {\n // https://crates.io/data-access#api\n matchHost: 'https://crates.io/api/',\n throttleMs: 1000,\n },\n {\n // The rate limit is 100 per second, according this comment:\n // https://github.com/renovatebot/renovate/discussions/27018#discussioncomment-10336270\n //\n // We stick to 20 per second just in case.\n matchHost: 'https://plugins.gradle.org',\n throttleMs: 50,\n },\n {\n matchHost: 'repology.org',\n throttleMs: 2000,\n },\n];\n\nlet throttleLimits: ThrottleLimitRule[] = [];\nlet concurrencyLimits: ConcurrencyLimitRule[] = [];\n\nexport function setHttpRateLimits(\n concurrencyRules?: ConcurrencyLimitRule[],\n throttleRules?: ThrottleLimitRule[],\n): void {\n concurrencyLimits = concurrencyRules ?? concurrencyDefaults;\n throttleLimits = throttleRules ?? throttleDefaults;\n}\n\nfunction matches(url: string, host: string): boolean {\n if (host === '*') {\n return true;\n }\n\n return matchesHost(url, host);\n}\n\nexport function getConcurrentRequestsLimit(url: string): number | null {\n let result: number | null = null;\n\n const { concurrentRequestLimit: hostRuleLimit } = hostRules.find({ url });\n if (\n isNumber(hostRuleLimit) &&\n hostRuleLimit > 0 &&\n hostRuleLimit < Number.MAX_SAFE_INTEGER\n ) {\n result = hostRuleLimit;\n }\n\n for (const { matchHost, concurrency: limit } of concurrencyLimits) {\n if (!matches(url, matchHost)) {\n continue;\n }\n\n if (result && result <= limit) {\n continue;\n }\n\n result = limit;\n break;\n }\n\n return result;\n}\n\nexport function getThrottleIntervalMs(url: string): number | null {\n let result: number | null = null;\n\n const { maxRequestsPerSecond } = hostRules.find({ url });\n if (isNumber(maxRequestsPerSecond) && maxRequestsPerSecond > 0) {\n result = Math.ceil(1000 / maxRequestsPerSecond);\n }\n\n for (const { matchHost, throttleMs: limit } of throttleLimits) {\n if (!matches(url, matchHost)) {\n continue;\n }\n\n if (result && result >= limit) {\n continue;\n }\n\n result = limit;\n break;\n }\n\n return result;\n}\n"]}
1
+ {"version":3,"file":"rate-limits.js","sourceRoot":"","sources":["../../../lib/util/http/rate-limits.ts"],"names":[],"mappings":";;AAsDA,8CAMC;AAUD,gEA0BC;AAED,sDAsBC;;AAxHD,yCAA4C;AAC5C,8CAA4C;AAC5C,iEAA2C;AAG3C,uBAAuB;AACvB,MAAM,mBAAmB,GAA2B;IAClD;QACE,SAAS,EAAE,oBAAoB;QAC/B,WAAW,EAAE,GAAG;KACjB;IACD;QACE,SAAS,EAAE,cAAc;QACzB,WAAW,EAAE,CAAC;KACf;IACD;QACE,SAAS,EAAE,oBAAoB;QAC/B,WAAW,EAAE,CAAC;KACf;IACD;QACE,SAAS,EAAE,GAAG;QACd,WAAW,EAAE,EAAE;KAChB;CACF,CAAC;AAEF,uBAAuB;AACvB,MAAM,gBAAgB,GAAwB;IAC5C;QACE,wDAAwD;QACxD,SAAS,EAAE,cAAc;QACzB,UAAU,EAAE,GAAG;KAChB;IACD;QACE,oCAAoC;QACpC,SAAS,EAAE,wBAAwB;QACnC,UAAU,EAAE,IAAI;KACjB;IACD;QACE,4DAA4D;QAC5D,uFAAuF;QACvF,EAAE;QACF,0CAA0C;QAC1C,SAAS,EAAE,4BAA4B;QACvC,UAAU,EAAE,EAAE;KACf;IACD;QACE,SAAS,EAAE,cAAc;QACzB,UAAU,EAAE,IAAI;KACjB;CACF,CAAC;AAEF,IAAI,cAAc,GAAwB,EAAE,CAAC;AAC7C,IAAI,iBAAiB,GAA2B,EAAE,CAAC;AAEnD,SAAgB,iBAAiB,CAC/B,gBAAyC,EACzC,aAAmC;IAEnC,iBAAiB,GAAG,gBAAgB,IAAI,mBAAmB,CAAC;IAC5D,cAAc,GAAG,aAAa,IAAI,gBAAgB,CAAC;AACrD,CAAC;AAED,SAAS,OAAO,CAAC,GAAW,EAAE,IAAY;IACxC,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAA,wBAAW,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,0BAA0B,CAAC,GAAW;IACpD,IAAI,MAAM,GAAkB,IAAI,CAAC;IAEjC,MAAM,EAAE,sBAAsB,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1E,IACE,IAAA,aAAQ,EAAC,aAAa,CAAC;QACvB,aAAa,GAAG,CAAC;QACjB,aAAa,GAAG,MAAM,CAAC,gBAAgB,EACvC,CAAC;QACD,MAAM,GAAG,aAAa,CAAC;IACzB,CAAC;IAED,KAAK,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,iBAAiB,EAAE,CAAC;QAClE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,MAAM,GAAG,KAAK,CAAC;QACf,MAAM;IACR,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,qBAAqB,CAAC,GAAW;IAC/C,IAAI,MAAM,GAAkB,IAAI,CAAC;IAEjC,MAAM,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACzD,IAAI,IAAA,aAAQ,EAAC,oBAAoB,CAAC,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;QAC/D,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,cAAc,EAAE,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,MAAM,GAAG,KAAK,CAAC;QACf,MAAM;IACR,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { isNumber } from '@sindresorhus/is';\nimport { matchesHost } from '../host-rules';\nimport * as hostRules from '../host-rules';\nimport type { ConcurrencyLimitRule, ThrottleLimitRule } from './types';\n\n// The first match wins\nconst concurrencyDefaults: ConcurrencyLimitRule[] = [\n {\n matchHost: 'registry.npmjs.org',\n concurrency: 999,\n },\n {\n matchHost: 'repology.org',\n concurrency: 1,\n },\n {\n matchHost: 'packages.typst.org',\n concurrency: 1,\n },\n {\n matchHost: '*',\n concurrency: 16,\n },\n];\n\n// The first match wins\nconst throttleDefaults: ThrottleLimitRule[] = [\n {\n // https://guides.rubygems.org/rubygems-org-rate-limits/\n matchHost: 'rubygems.org',\n throttleMs: 125,\n },\n {\n // https://crates.io/data-access#api\n matchHost: 'https://crates.io/api/',\n throttleMs: 1000,\n },\n {\n // The rate limit is 100 per second, according this comment:\n // https://github.com/renovatebot/renovate/discussions/27018#discussioncomment-10336270\n //\n // We stick to 20 per second just in case.\n matchHost: 'https://plugins.gradle.org',\n throttleMs: 50,\n },\n {\n matchHost: 'repology.org',\n throttleMs: 2000,\n },\n];\n\nlet throttleLimits: ThrottleLimitRule[] = [];\nlet concurrencyLimits: ConcurrencyLimitRule[] = [];\n\nexport function setHttpRateLimits(\n concurrencyRules?: ConcurrencyLimitRule[],\n throttleRules?: ThrottleLimitRule[],\n): void {\n concurrencyLimits = concurrencyRules ?? concurrencyDefaults;\n throttleLimits = throttleRules ?? throttleDefaults;\n}\n\nfunction matches(url: string, host: string): boolean {\n if (host === '*') {\n return true;\n }\n\n return matchesHost(url, host);\n}\n\nexport function getConcurrentRequestsLimit(url: string): number | null {\n let result: number | null = null;\n\n const { concurrentRequestLimit: hostRuleLimit } = hostRules.find({ url });\n if (\n isNumber(hostRuleLimit) &&\n hostRuleLimit > 0 &&\n hostRuleLimit < Number.MAX_SAFE_INTEGER\n ) {\n result = hostRuleLimit;\n }\n\n for (const { matchHost, concurrency: limit } of concurrencyLimits) {\n if (!matches(url, matchHost)) {\n continue;\n }\n\n if (result && result <= limit) {\n continue;\n }\n\n result = limit;\n break;\n }\n\n return result;\n}\n\nexport function getThrottleIntervalMs(url: string): number | null {\n let result: number | null = null;\n\n const { maxRequestsPerSecond } = hostRules.find({ url });\n if (isNumber(maxRequestsPerSecond) && maxRequestsPerSecond > 0) {\n result = Math.ceil(1000 / maxRequestsPerSecond);\n }\n\n for (const { matchHost, throttleMs: limit } of throttleLimits) {\n if (!matches(url, matchHost)) {\n continue;\n }\n\n if (result && result >= limit) {\n continue;\n }\n\n result = limit;\n break;\n }\n\n return result;\n}\n"]}
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": "42.66.13",
4
+ "version": "42.67.0",
5
5
  "type": "commonjs",
6
6
  "bin": {
7
7
  "renovate": "dist/renovate.js",
@@ -1,7 +1,7 @@
1
1
  {
2
- "title": "JSON schema for Renovate 42.66.13 config files (https://renovatebot.com/)",
2
+ "title": "JSON schema for Renovate 42.67.0 config files (https://renovatebot.com/)",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "x-renovate-version": "42.66.13",
4
+ "x-renovate-version": "42.67.0",
5
5
  "allowComments": true,
6
6
  "type": "object",
7
7
  "properties": {