renovate 44.151.2 → 44.151.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { logger } from "../../../logger/index.js";
|
|
2
2
|
import { joinUrlParts } from "../../../util/url.js";
|
|
3
3
|
import { buildCacheKey } from "../../../util/cache/package/key.js";
|
|
4
|
+
import { RequestError } from "../../../util/http/got.js";
|
|
5
|
+
import "../../../util/http/index.js";
|
|
4
6
|
import { asTimestamp } from "../../../util/timestamp.js";
|
|
5
7
|
import { Datasource } from "../datasource.js";
|
|
6
8
|
import { defaultRegistryUrl, getApiBaseUrl, getDepHost, getSourceUrl } from "../../../util/gitlab/url.js";
|
|
@@ -51,18 +53,22 @@ var GitlabTagsDatasource = class GitlabTagsDatasource extends Datasource {
|
|
|
51
53
|
let digest = null;
|
|
52
54
|
try {
|
|
53
55
|
if (newValue) {
|
|
54
|
-
const url = joinUrlParts(apiBaseUrl, `projects`, urlEncodedRepo, `repository/commits/`, newValue);
|
|
56
|
+
const url = joinUrlParts(apiBaseUrl, `projects`, urlEncodedRepo, `repository/commits/`, encodeURIComponent(newValue));
|
|
55
57
|
digest = (await this.http.getJson(url, GitlabCommit)).body.id;
|
|
56
58
|
} else {
|
|
57
59
|
const url = joinUrlParts(apiBaseUrl, `projects`, urlEncodedRepo, `repository/commits?per_page=1`);
|
|
58
|
-
digest = (await this.http.getJson(url, GitlabCommits)).body[0]
|
|
60
|
+
digest = (await this.http.getJson(url, GitlabCommits)).body[0]?.id ?? null;
|
|
59
61
|
}
|
|
60
62
|
} catch (err) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
if (err instanceof RequestError && err.response?.statusCode === 404) {
|
|
64
|
+
logger.debug({
|
|
65
|
+
gitlabRepo: repo,
|
|
66
|
+
err,
|
|
67
|
+
registryUrl
|
|
68
|
+
}, "Gitlab repo or ref not found when getting commit");
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
this.handleGenericErrors(err);
|
|
66
72
|
}
|
|
67
73
|
return digest;
|
|
68
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../lib/modules/datasource/gitlab-tags/index.ts"],"sourcesContent":["import { logger } from '../../../logger/index.ts';\nimport { buildCacheKey } from '../../../util/cache/package/key.ts';\nimport {\n defaultRegistryUrl,\n getApiBaseUrl,\n getDepHost,\n getSourceUrl,\n} from '../../../util/gitlab/url.ts';\nimport { GitlabHttp } from '../../../util/http/gitlab.ts';\nimport { asTimestamp } from '../../../util/timestamp.ts';\nimport { joinUrlParts } from '../../../util/url.ts';\nimport { Datasource } from '../datasource.ts';\nimport type {\n DigestConfig,\n GetReleasesConfig,\n ReleaseResult,\n} from '../types.ts';\nimport { GitlabCommit, GitlabCommits, GitlabTags } from './schema.ts';\n\nexport class GitlabTagsDatasource extends Datasource<GitlabHttp> {\n static readonly id = 'gitlab-tags';\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'To get release timestamp we use the `created_at` field from the response.';\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is determined by using the `packageName` and `registryUrl`.';\n\n constructor() {\n super(GitlabTagsDatasource.id, new GitlabHttp(GitlabTagsDatasource.id));\n }\n\n override getDefaultRegistryUrls(_packageName: string): string[] {\n return [defaultRegistryUrl];\n }\n\n private async fetchReleases({\n registryUrl,\n packageName: repo,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n const apiBaseUrl = getApiBaseUrl(registryUrl);\n\n const urlEncodedRepo = encodeURIComponent(repo);\n\n // tag\n const url = joinUrlParts(\n apiBaseUrl,\n `projects`,\n urlEncodedRepo,\n `repository/tags?per_page=100`,\n );\n\n const gitlabTags = (\n await this.http.getJson(url, { paginate: true }, GitlabTags)\n ).body;\n\n const dependency: ReleaseResult = {\n sourceUrl: getSourceUrl(repo, registryUrl),\n releases: [],\n };\n dependency.releases = gitlabTags.map(({ name, commit }) => ({\n version: name,\n gitRef: name,\n releaseTimestamp: asTimestamp(commit.created_at),\n }));\n\n return dependency;\n }\n\n getReleases(config: GetReleasesConfig): Promise<ReleaseResult | null> {\n return this.cached(\n {\n key: buildCacheKey(\n 'getReleases',\n getDepHost(config.registryUrl),\n config.packageName,\n ),\n fallback: true,\n },\n () => this.fetchReleases(config),\n );\n }\n\n /**\n * gitlab.getDigest\n *\n * Returs the latest commit hash of the repository.\n */\n private async fetchDigest(\n { packageName: repo, registryUrl }: DigestConfig,\n newValue?: string,\n ): Promise<string | null> {\n const apiBaseUrl = getApiBaseUrl(registryUrl);\n\n const urlEncodedRepo = encodeURIComponent(repo);\n let digest: string | null = null;\n\n try {\n if (newValue) {\n const url = joinUrlParts(\n apiBaseUrl,\n `projects`,\n urlEncodedRepo,\n `repository/commits/`,\n newValue,\n );\n const gitlabCommit = await this.http.getJson(url, GitlabCommit);\n digest = gitlabCommit.body.id;\n } else {\n const url = joinUrlParts(\n apiBaseUrl,\n `projects`,\n urlEncodedRepo,\n `repository/commits?per_page=1`,\n );\n const gitlabCommits = await this.http.getJson(url, GitlabCommits);\n digest = gitlabCommits.body[0]
|
|
1
|
+
{"version":3,"file":"index.js","names":["HttpError"],"sources":["../../../../lib/modules/datasource/gitlab-tags/index.ts"],"sourcesContent":["import { logger } from '../../../logger/index.ts';\nimport { buildCacheKey } from '../../../util/cache/package/key.ts';\nimport {\n defaultRegistryUrl,\n getApiBaseUrl,\n getDepHost,\n getSourceUrl,\n} from '../../../util/gitlab/url.ts';\nimport { GitlabHttp } from '../../../util/http/gitlab.ts';\nimport { HttpError } from '../../../util/http/index.ts';\nimport { asTimestamp } from '../../../util/timestamp.ts';\nimport { joinUrlParts } from '../../../util/url.ts';\nimport { Datasource } from '../datasource.ts';\nimport type {\n DigestConfig,\n GetReleasesConfig,\n ReleaseResult,\n} from '../types.ts';\nimport { GitlabCommit, GitlabCommits, GitlabTags } from './schema.ts';\n\nexport class GitlabTagsDatasource extends Datasource<GitlabHttp> {\n static readonly id = 'gitlab-tags';\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'To get release timestamp we use the `created_at` field from the response.';\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is determined by using the `packageName` and `registryUrl`.';\n\n constructor() {\n super(GitlabTagsDatasource.id, new GitlabHttp(GitlabTagsDatasource.id));\n }\n\n override getDefaultRegistryUrls(_packageName: string): string[] {\n return [defaultRegistryUrl];\n }\n\n private async fetchReleases({\n registryUrl,\n packageName: repo,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n const apiBaseUrl = getApiBaseUrl(registryUrl);\n\n const urlEncodedRepo = encodeURIComponent(repo);\n\n // tag\n const url = joinUrlParts(\n apiBaseUrl,\n `projects`,\n urlEncodedRepo,\n `repository/tags?per_page=100`,\n );\n\n const gitlabTags = (\n await this.http.getJson(url, { paginate: true }, GitlabTags)\n ).body;\n\n const dependency: ReleaseResult = {\n sourceUrl: getSourceUrl(repo, registryUrl),\n releases: [],\n };\n dependency.releases = gitlabTags.map(({ name, commit }) => ({\n version: name,\n gitRef: name,\n releaseTimestamp: asTimestamp(commit.created_at),\n }));\n\n return dependency;\n }\n\n getReleases(config: GetReleasesConfig): Promise<ReleaseResult | null> {\n return this.cached(\n {\n key: buildCacheKey(\n 'getReleases',\n getDepHost(config.registryUrl),\n config.packageName,\n ),\n fallback: true,\n },\n () => this.fetchReleases(config),\n );\n }\n\n /**\n * gitlab.getDigest\n *\n * Returs the latest commit hash of the repository.\n */\n private async fetchDigest(\n { packageName: repo, registryUrl }: DigestConfig,\n newValue?: string,\n ): Promise<string | null> {\n const apiBaseUrl = getApiBaseUrl(registryUrl);\n\n const urlEncodedRepo = encodeURIComponent(repo);\n let digest: string | null = null;\n\n try {\n if (newValue) {\n const url = joinUrlParts(\n apiBaseUrl,\n `projects`,\n urlEncodedRepo,\n `repository/commits/`,\n encodeURIComponent(newValue),\n );\n const gitlabCommit = await this.http.getJson(url, GitlabCommit);\n digest = gitlabCommit.body.id;\n } else {\n const url = joinUrlParts(\n apiBaseUrl,\n `projects`,\n urlEncodedRepo,\n `repository/commits?per_page=1`,\n );\n const gitlabCommits = await this.http.getJson(url, GitlabCommits);\n digest = gitlabCommits.body[0]?.id ?? null;\n }\n } catch (err) {\n if (err instanceof HttpError && err.response?.statusCode === 404) {\n logger.debug(\n { gitlabRepo: repo, err, registryUrl },\n 'Gitlab repo or ref not found when getting commit',\n );\n return null;\n }\n this.handleGenericErrors(err);\n }\n\n return digest;\n }\n\n override getDigest(\n config: DigestConfig,\n newValue?: string,\n ): Promise<string | null> {\n return this.cached(\n {\n key: buildCacheKey(\n 'getDigest',\n getDepHost(config.registryUrl),\n config.packageName,\n newValue,\n ),\n fallback: true,\n },\n () => this.fetchDigest(config, newValue),\n );\n }\n}\n"],"mappings":";;;;;;;;;;;AAoBA,IAAa,uBAAb,MAAa,6BAA6B,WAAuB;CAC/D,OAAgB,KAAK;CAErB,0BAA4C;CAC5C,uBACE;CACF,mBAAqC;CACrC,gBACE;CAEF,cAAc;EACZ,MAAM,qBAAqB,IAAI,IAAI,WAAW,qBAAqB,EAAE,CAAC;CACxE;CAEA,uBAAgC,cAAgC;EAC9D,OAAO,CAAC,kBAAkB;CAC5B;CAEA,MAAc,cAAc,EAC1B,aACA,aAAa,QACsC;EACnD,MAAM,aAAa,cAAc,WAAW;EAK5C,MAAM,MAAM,aACV,YACA,YALqB,mBAAmB,IAM3B,GACb,8BACF;EAEA,MAAM,cACJ,MAAM,KAAK,KAAK,QAAQ,KAAK,EAAE,UAAU,KAAK,GAAG,UAAU,EAAA,CAC3D;EAEF,MAAM,aAA4B;GAChC,WAAW,aAAa,MAAM,WAAW;GACzC,UAAU,CAAC;EACb;EACA,WAAW,WAAW,WAAW,KAAK,EAAE,MAAM,cAAc;GAC1D,SAAS;GACT,QAAQ;GACR,kBAAkB,YAAY,OAAO,UAAU;EACjD,EAAE;EAEF,OAAO;CACT;CAEA,YAAY,QAA0D;EACpE,OAAO,KAAK,OACV;GACE,KAAK,cACH,eACA,WAAW,OAAO,WAAW,GAC7B,OAAO,WACT;GACA,UAAU;EACZ,SACM,KAAK,cAAc,MAAM,CACjC;CACF;;;;;;CAOA,MAAc,YACZ,EAAE,aAAa,MAAM,eACrB,UACwB;EACxB,MAAM,aAAa,cAAc,WAAW;EAE5C,MAAM,iBAAiB,mBAAmB,IAAI;EAC9C,IAAI,SAAwB;EAE5B,IAAI;GACF,IAAI,UAAU;IACZ,MAAM,MAAM,aACV,YACA,YACA,gBACA,uBACA,mBAAmB,QAAQ,CAC7B;IAEA,UAAS,MADkB,KAAK,KAAK,QAAQ,KAAK,YAAY,EAAA,CACxC,KAAK;GAC7B,OAAO;IACL,MAAM,MAAM,aACV,YACA,YACA,gBACA,+BACF;IAEA,UAAS,MADmB,KAAK,KAAK,QAAQ,KAAK,aAAa,EAAA,CACzC,KAAK,EAAE,EAAE,MAAM;GACxC;EACF,SAAS,KAAK;GACZ,IAAI,eAAeA,gBAAa,IAAI,UAAU,eAAe,KAAK;IAChE,OAAO,MACL;KAAE,YAAY;KAAM;KAAK;IAAY,GACrC,kDACF;IACA,OAAO;GACT;GACA,KAAK,oBAAoB,GAAG;EAC9B;EAEA,OAAO;CACT;CAEA,UACE,QACA,UACwB;EACxB,OAAO,KAAK,OACV;GACE,KAAK,cACH,aACA,WAAW,OAAO,WAAW,GAC7B,OAAO,aACP,QACF;GACA,UAAU;EACZ,SACM,KAAK,YAAY,QAAQ,QAAQ,CACzC;CACF;AACF"}
|
package/package.json
CHANGED
package/renovate-schema.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$id": "https://docs.renovatebot.com/renovate-schema.json",
|
|
3
|
-
"title": "JSON schema for Renovate 44.151.
|
|
3
|
+
"title": "JSON schema for Renovate 44.151.3 config files (https://renovatebot.com/)",
|
|
4
4
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
5
|
-
"x-renovate-version": "44.151.
|
|
5
|
+
"x-renovate-version": "44.151.3",
|
|
6
6
|
"allowComments": true,
|
|
7
7
|
"type": "object",
|
|
8
8
|
"definitions": {
|