renovate 42.66.14 → 42.68.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":";;;AAAa,QAAA,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEjD,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,kEAAkE,CAAC,CAAC;AAClG,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,cAAc,EAAC,kEAAkE,CAAC,CAAC;AAC/F,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,qBAAqB,EAAC,kEAAkE,CAAC,CAAC;AACtG,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,aAAa,EAAC,kEAAkE,CAAC,CAAC;AAC9F,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,cAAc,EAAC,kEAAkE,CAAC,CAAC;AAC/F,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,kBAAkB,EAAC,kEAAkE,CAAC,CAAC;AACnG,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC,kEAAkE,CAAC,CAAC;AACjG,eAAO,CAAC,GAAG,CAAC,eAAe,EAAC,kEAAkE,CAAC,CAAC;AAChG,eAAO,CAAC,GAAG,CAAC,mBAAmB,EAAC,kEAAkE,CAAC,CAAC;AACpG,eAAO,CAAC,GAAG,CAAC,aAAa,EAAC,kEAAkE,CAAC,CAAC;AAC9F,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,kEAAkE,CAAC,CAAC;AAClG,eAAO,CAAC,GAAG,CAAC,eAAe,EAAC,kEAAkE,CAAC,CAAC;AAChG,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,eAAe,EAAC,kEAAkE,CAAC,CAAC;AAChG,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,aAAa,EAAC,kEAAkE,CAAC,CAAC;AAC9F,eAAO,CAAC,GAAG,CAAC,kBAAkB,EAAC,kEAAkE,CAAC,CAAC;AACnG,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,MAAM,EAAC,kEAAkE,CAAC,CAAC;AACvF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,yBAAyB,EAAC,kEAAkE,CAAC,CAAC;AAC1G,eAAO,CAAC,GAAG,CAAC,cAAc,EAAC,kEAAkE,CAAC,CAAC;AAC/F,eAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,kEAAkE,CAAC,CAAC;AAClG,eAAO,CAAC,GAAG,CAAC,KAAK,EAAC,kEAAkE,CAAC,CAAC;AACtF,eAAO,CAAC,GAAG,CAAC,UAAU,EAAC,kEAAkE,CAAC,CAAC;AAC3F,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,WAAW,EAAC,kEAAkE,CAAC,CAAC;AAC5F,eAAO,CAAC,GAAG,CAAC,mBAAmB,EAAC,kEAAkE,CAAC,CAAC;AACpG,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,oBAAoB,EAAC,kEAAkE,CAAC,CAAC;AACrG,eAAO,CAAC,GAAG,CAAC,eAAe,EAAC,kEAAkE,CAAC,CAAC;AAChG,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC;AACxF,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,kEAAkE,CAAC,CAAC;AACzF,eAAO,CAAC,GAAG,CAAC,YAAY,EAAC,kEAAkE,CAAC,CAAC;AAC7F,eAAO,CAAC,GAAG,CAAC,SAAS,EAAC,kEAAkE,CAAC,CAAC;AAC1F,eAAO,CAAC,GAAG,CAAC,OAAO,EAAC,kEAAkE,CAAC,CAAC","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"]}
@@ -13,6 +13,7 @@ const deb = tslib_1.__importStar(require("./deb"));
13
13
  const debian = tslib_1.__importStar(require("./debian"));
14
14
  const devbox = tslib_1.__importStar(require("./devbox"));
15
15
  const docker = tslib_1.__importStar(require("./docker"));
16
+ const exact = tslib_1.__importStar(require("./exact"));
16
17
  const git = tslib_1.__importStar(require("./git"));
17
18
  const glasskube = tslib_1.__importStar(require("./glasskube"));
18
19
  const goModDirective = tslib_1.__importStar(require("./go-mod-directive"));
@@ -62,6 +63,7 @@ api.set(deb.id, deb.api);
62
63
  api.set(debian.id, debian.api);
63
64
  api.set(devbox.id, devbox.api);
64
65
  api.set(docker.id, docker.api);
66
+ api.set(exact.id, exact.api);
65
67
  api.set(git.id, git.api);
66
68
  api.set(glasskube.id, glasskube.api);
67
69
  api.set(goModDirective.id, goModDirective.api);
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../lib/modules/versioning/api.ts"],"names":[],"mappings":"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","sourcesContent":["import * as awsEksAddon from './aws-eks-addon';\nimport * as amazonMachineImage from './aws-machine-image';\nimport * as azureRestApi from './azure-rest-api';\nimport * as bazelModule from './bazel-module';\nimport * as cargo from './cargo';\nimport * as composer from './composer';\nimport * as conan from './conan';\nimport * as conda from './conda';\nimport * as deb from './deb';\nimport * as debian from './debian';\nimport * as devbox from './devbox';\nimport * as docker from './docker';\nimport * as git from './git';\nimport * as glasskube from './glasskube';\nimport * as goModDirective from './go-mod-directive';\nimport * as gradle from './gradle';\nimport * as hashicorp from './hashicorp';\nimport * as helm from './helm';\nimport * as hermit from './hermit';\nimport * as hex from './hex';\nimport * as ivy from './ivy';\nimport * as kubernetesApi from './kubernetes-api';\nimport * as lambdaNode from './lambda-node';\nimport * as loose from './loose';\nimport * as maven from './maven';\nimport * as nixpkgs from './nixpkgs';\nimport * as node from './node';\nimport * as npm from './npm';\nimport * as nuget from './nuget';\nimport * as pep440 from './pep440';\nimport * as perl from './perl';\nimport * as poetry from './poetry';\nimport * as pvp from './pvp';\nimport * as python from './python';\nimport * as redhat from './redhat';\nimport * as regex from './regex';\nimport * as rez from './rez';\nimport * as rpm from './rpm';\nimport * as ruby from './ruby';\nimport * as sameMajor from './same-major';\nimport * as semver from './semver';\nimport * as semverCoerced from './semver-coerced';\nimport * as semverPartial from './semver-partial';\nimport * as swift from './swift';\nimport type { VersioningApi, VersioningApiConstructor } from './types';\nimport * as ubuntu from './ubuntu';\nimport * as unity3d from './unity3d';\nimport * as unity3dPackages from './unity3d-packages';\n\nconst api = new Map<string, VersioningApi | VersioningApiConstructor>();\nexport default api;\n\napi.set(awsEksAddon.id, awsEksAddon.api);\napi.set(amazonMachineImage.id, amazonMachineImage.api);\napi.set(azureRestApi.id, azureRestApi.api);\napi.set(bazelModule.id, bazelModule.api);\napi.set(cargo.id, cargo.api);\napi.set(composer.id, composer.api);\napi.set(conan.id, conan.api);\napi.set(conda.id, conda.api);\napi.set(deb.id, deb.api);\napi.set(debian.id, debian.api);\napi.set(devbox.id, devbox.api);\napi.set(docker.id, docker.api);\napi.set(git.id, git.api);\napi.set(glasskube.id, glasskube.api);\napi.set(goModDirective.id, goModDirective.api);\napi.set(gradle.id, gradle.api);\napi.set(hashicorp.id, hashicorp.api);\napi.set(helm.id, helm.api);\napi.set(hermit.id, hermit.api);\napi.set(hex.id, hex.api);\napi.set(ivy.id, ivy.api);\napi.set(kubernetesApi.id, kubernetesApi.api);\napi.set(lambdaNode.id, lambdaNode.api);\napi.set(loose.id, loose.api);\napi.set(maven.id, maven.api);\napi.set(nixpkgs.id, nixpkgs.api);\napi.set(node.id, node.api);\napi.set(npm.id, npm.api);\napi.set(nuget.id, nuget.api);\napi.set(pep440.id, pep440.api);\napi.set(perl.id, perl.api);\napi.set(poetry.id, poetry.api);\napi.set(pvp.id, pvp.api);\napi.set(python.id, python.api);\napi.set(redhat.id, redhat.api);\napi.set(regex.id, regex.api);\napi.set(rez.id, rez.api);\napi.set(rpm.id, rpm.api);\napi.set(ruby.id, ruby.api);\napi.set(sameMajor.id, sameMajor.api);\napi.set(semver.id, semver.api);\napi.set(semverCoerced.id, semverCoerced.api);\napi.set(semverPartial.id, semverPartial.api);\napi.set(swift.id, swift.api);\napi.set(ubuntu.id, ubuntu.api);\napi.set(unity3d.id, unity3d.api);\napi.set(unity3dPackages.id, unity3dPackages.api);\n"]}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../lib/modules/versioning/api.ts"],"names":[],"mappings":"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","sourcesContent":["import * as awsEksAddon from './aws-eks-addon';\nimport * as amazonMachineImage from './aws-machine-image';\nimport * as azureRestApi from './azure-rest-api';\nimport * as bazelModule from './bazel-module';\nimport * as cargo from './cargo';\nimport * as composer from './composer';\nimport * as conan from './conan';\nimport * as conda from './conda';\nimport * as deb from './deb';\nimport * as debian from './debian';\nimport * as devbox from './devbox';\nimport * as docker from './docker';\nimport * as exact from './exact';\nimport * as git from './git';\nimport * as glasskube from './glasskube';\nimport * as goModDirective from './go-mod-directive';\nimport * as gradle from './gradle';\nimport * as hashicorp from './hashicorp';\nimport * as helm from './helm';\nimport * as hermit from './hermit';\nimport * as hex from './hex';\nimport * as ivy from './ivy';\nimport * as kubernetesApi from './kubernetes-api';\nimport * as lambdaNode from './lambda-node';\nimport * as loose from './loose';\nimport * as maven from './maven';\nimport * as nixpkgs from './nixpkgs';\nimport * as node from './node';\nimport * as npm from './npm';\nimport * as nuget from './nuget';\nimport * as pep440 from './pep440';\nimport * as perl from './perl';\nimport * as poetry from './poetry';\nimport * as pvp from './pvp';\nimport * as python from './python';\nimport * as redhat from './redhat';\nimport * as regex from './regex';\nimport * as rez from './rez';\nimport * as rpm from './rpm';\nimport * as ruby from './ruby';\nimport * as sameMajor from './same-major';\nimport * as semver from './semver';\nimport * as semverCoerced from './semver-coerced';\nimport * as semverPartial from './semver-partial';\nimport * as swift from './swift';\nimport type { VersioningApi, VersioningApiConstructor } from './types';\nimport * as ubuntu from './ubuntu';\nimport * as unity3d from './unity3d';\nimport * as unity3dPackages from './unity3d-packages';\n\nconst api = new Map<string, VersioningApi | VersioningApiConstructor>();\nexport default api;\n\napi.set(awsEksAddon.id, awsEksAddon.api);\napi.set(amazonMachineImage.id, amazonMachineImage.api);\napi.set(azureRestApi.id, azureRestApi.api);\napi.set(bazelModule.id, bazelModule.api);\napi.set(cargo.id, cargo.api);\napi.set(composer.id, composer.api);\napi.set(conan.id, conan.api);\napi.set(conda.id, conda.api);\napi.set(deb.id, deb.api);\napi.set(debian.id, debian.api);\napi.set(devbox.id, devbox.api);\napi.set(docker.id, docker.api);\napi.set(exact.id, exact.api);\napi.set(git.id, git.api);\napi.set(glasskube.id, glasskube.api);\napi.set(goModDirective.id, goModDirective.api);\napi.set(gradle.id, gradle.api);\napi.set(hashicorp.id, hashicorp.api);\napi.set(helm.id, helm.api);\napi.set(hermit.id, hermit.api);\napi.set(hex.id, hex.api);\napi.set(ivy.id, ivy.api);\napi.set(kubernetesApi.id, kubernetesApi.api);\napi.set(lambdaNode.id, lambdaNode.api);\napi.set(loose.id, loose.api);\napi.set(maven.id, maven.api);\napi.set(nixpkgs.id, nixpkgs.api);\napi.set(node.id, node.api);\napi.set(npm.id, npm.api);\napi.set(nuget.id, nuget.api);\napi.set(pep440.id, pep440.api);\napi.set(perl.id, perl.api);\napi.set(poetry.id, poetry.api);\napi.set(pvp.id, pvp.api);\napi.set(python.id, python.api);\napi.set(redhat.id, redhat.api);\napi.set(regex.id, regex.api);\napi.set(rez.id, rez.api);\napi.set(rpm.id, rpm.api);\napi.set(ruby.id, ruby.api);\napi.set(sameMajor.id, sameMajor.api);\napi.set(semver.id, semver.api);\napi.set(semverCoerced.id, semverCoerced.api);\napi.set(semverPartial.id, semverPartial.api);\napi.set(swift.id, swift.api);\napi.set(ubuntu.id, ubuntu.api);\napi.set(unity3d.id, unity3d.api);\napi.set(unity3dPackages.id, unity3dPackages.api);\n"]}
@@ -0,0 +1,7 @@
1
+ import type { VersioningApi } from '../types';
2
+ export declare const id = "exact";
3
+ export declare const displayName = "Exact";
4
+ export declare const urls: string[];
5
+ export declare const supportsRanges = false;
6
+ export declare const api: VersioningApi;
7
+ export default api;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.api = exports.supportsRanges = exports.urls = exports.displayName = exports.id = void 0;
4
+ exports.id = 'exact';
5
+ exports.displayName = 'Exact';
6
+ exports.urls = [];
7
+ exports.supportsRanges = false;
8
+ class ExactVersioningApi {
9
+ isValid(version) {
10
+ return version.length > 0;
11
+ }
12
+ isVersion(version) {
13
+ return !!version && version.length > 0;
14
+ }
15
+ isSingleVersion(version) {
16
+ return this.isValid(version);
17
+ }
18
+ isStable(_version) {
19
+ return true;
20
+ }
21
+ isCompatible(version, current) {
22
+ return version === current;
23
+ }
24
+ getMajor(_version) {
25
+ return null;
26
+ }
27
+ getMinor(_version) {
28
+ return null;
29
+ }
30
+ getPatch(_version) {
31
+ return null;
32
+ }
33
+ equals(version, other) {
34
+ return version === other;
35
+ }
36
+ isGreaterThan(_version, _other) {
37
+ return false;
38
+ }
39
+ getSatisfyingVersion(versions, range) {
40
+ return versions.find((v) => this.equals(v, range)) ?? null;
41
+ }
42
+ minSatisfyingVersion(versions, range) {
43
+ return versions.find((v) => this.equals(v, range)) ?? null;
44
+ }
45
+ getNewValue({ currentValue }) {
46
+ return currentValue;
47
+ }
48
+ sortVersions(_version, _other) {
49
+ return 0;
50
+ }
51
+ matches(version, range) {
52
+ return version === range;
53
+ }
54
+ }
55
+ exports.api = new ExactVersioningApi();
56
+ exports.default = exports.api;
57
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/exact/index.ts"],"names":[],"mappings":";;;AAEa,QAAA,EAAE,GAAG,OAAO,CAAC;AACb,QAAA,WAAW,GAAG,OAAO,CAAC;AACtB,QAAA,IAAI,GAAa,EAAE,CAAC;AACpB,QAAA,cAAc,GAAG,KAAK,CAAC;AAEpC,MAAM,kBAAkB;IACtB,OAAO,CAAC,OAAe;QACrB,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS,CAAC,OAAkC;QAC1C,OAAO,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,eAAe,CAAC,OAAe;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,QAAQ,CAAC,QAAgB;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,OAAe,EAAE,OAAgB;QAC5C,OAAO,OAAO,KAAK,OAAO,CAAC;IAC7B,CAAC;IAED,QAAQ,CAAC,QAAgB;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,QAAgB;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,QAAgB;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,OAAe,EAAE,KAAa;QACnC,OAAO,OAAO,KAAK,KAAK,CAAC;IAC3B,CAAC;IAED,aAAa,CAAC,QAAgB,EAAE,MAAc;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oBAAoB,CAAC,QAAkB,EAAE,KAAa;QACpD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC;IAC7D,CAAC;IAED,oBAAoB,CAAC,QAAkB,EAAE,KAAa;QACpD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC;IAC7D,CAAC;IAED,WAAW,CAAC,EAAE,YAAY,EAAkB;QAC1C,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,YAAY,CAAC,QAAgB,EAAE,MAAc;QAC3C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,OAAe,EAAE,KAAa;QACpC,OAAO,OAAO,KAAK,KAAK,CAAC;IAC3B,CAAC;CACF;AAEY,QAAA,GAAG,GAAkB,IAAI,kBAAkB,EAAE,CAAC;AAE3D,kBAAe,WAAG,CAAC","sourcesContent":["import type { NewValueConfig, VersioningApi } from '../types';\n\nexport const id = 'exact';\nexport const displayName = 'Exact';\nexport const urls: string[] = [];\nexport const supportsRanges = false;\n\nclass ExactVersioningApi implements VersioningApi {\n isValid(version: string): boolean {\n return version.length > 0;\n }\n\n isVersion(version: string | undefined | null): boolean {\n return !!version && version.length > 0;\n }\n\n isSingleVersion(version: string): boolean {\n return this.isValid(version);\n }\n\n isStable(_version: string): boolean {\n return true;\n }\n\n isCompatible(version: string, current?: string): boolean {\n return version === current;\n }\n\n getMajor(_version: string): number | null {\n return null;\n }\n\n getMinor(_version: string): number | null {\n return null;\n }\n\n getPatch(_version: string): number | null {\n return null;\n }\n\n equals(version: string, other: string): boolean {\n return version === other;\n }\n\n isGreaterThan(_version: string, _other: string): boolean {\n return false;\n }\n\n getSatisfyingVersion(versions: string[], range: string): string | null {\n return versions.find((v) => this.equals(v, range)) ?? null;\n }\n\n minSatisfyingVersion(versions: string[], range: string): string | null {\n return versions.find((v) => this.equals(v, range)) ?? null;\n }\n\n getNewValue({ currentValue }: NewValueConfig): string | null {\n return currentValue;\n }\n\n sortVersions(_version: string, _other: string): number {\n return 0;\n }\n\n matches(version: string, range: string): boolean {\n return version === range;\n }\n}\n\nexport const api: VersioningApi = new ExactVersioningApi();\n\nexport default api;\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":"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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: '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.14",
4
+ "version": "42.68.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.14 config files (https://renovatebot.com/)",
2
+ "title": "JSON schema for Renovate 42.68.0 config files (https://renovatebot.com/)",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "x-renovate-version": "42.66.14",
4
+ "x-renovate-version": "42.68.0",
5
5
  "allowComments": true,
6
6
  "type": "object",
7
7
  "properties": {
@@ -8873,6 +8873,7 @@
8873
8873
  "debian",
8874
8874
  "devbox",
8875
8875
  "docker",
8876
+ "exact",
8876
8877
  "git",
8877
8878
  "glasskube",
8878
8879
  "go-mod-directive",