renovate 44.11.0 → 44.11.1

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.
@@ -29,7 +29,7 @@ function getGerritRepoUrl(repository, endpoint, gitUrl, username) {
29
29
  return url;
30
30
  }
31
31
  function createSshUrl(url, repository, username) {
32
- return `ssh://${username}@${url.host}:${DEFAULT_SSH_PORT}/${repository}`;
32
+ return `ssh://${username}@${url.hostname}:${DEFAULT_SSH_PORT}/${repository}`;
33
33
  }
34
34
  function createHttpUrl(url, endpoint, repository) {
35
35
  const opts = find({
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["hostRules.find"],"sources":["../../../../lib/modules/platform/gerrit/utils.ts"],"sourcesContent":["import { CONFIG_GIT_URL_UNAVAILABLE } from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport type { BranchStatus, PrState } from '../../../types/index.ts';\nimport * as hostRules from '../../../util/host-rules.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { toLongCommitSha } from '../../../util/schema-utils/git.ts';\nimport { joinUrlParts, parseUrl } from '../../../util/url.ts';\nimport { hashBody } from '../pr-body.ts';\nimport type { GitUrlOption, Pr } from '../types.ts';\nimport type { GerritChange, GerritLabelTypeInfo } from './schema.ts';\nimport type { GerritChangeStatus, GerritRequestDetail } from './types.ts';\n\nexport const MIN_GERRIT_VERSION = '3.0.0';\n\nexport const TAG_PULL_REQUEST_BODY = 'pull-request';\n\nconst DEFAULT_SSH_PORT = `29418`;\n\n/**\n * Max comment size in Gerrit (16kiB by default)\n * https://gerrit-review.googlesource.com/Documentation/config-gerrit.html#change:~:text=change.commentSizeLimit\n */\nexport const MAX_GERRIT_COMMENT_SIZE = 16 * 1024;\n\nexport const REQUEST_DETAILS_FOR_PRS: GerritRequestDetail[] = [\n 'MESSAGES', // to get the pr body\n 'LABELS', // to get the reviewers\n 'DETAILED_ACCOUNTS', // to get the reviewers usernames\n 'CURRENT_REVISION', // to get the commit message\n 'COMMIT_FOOTERS', // to get the commit message\n] as const;\n\nexport function getGerritRepoUrl(\n repository: string,\n endpoint: string,\n gitUrl: GitUrlOption | undefined,\n username: string,\n): string {\n const endpointUrl = parseUrl(endpoint);\n if (!endpointUrl) {\n throw new Error(CONFIG_GIT_URL_UNAVAILABLE);\n }\n\n const url =\n gitUrl === 'ssh'\n ? createSshUrl(endpointUrl, repository, username)\n : createHttpUrl(endpointUrl, endpoint, repository);\n logger.trace({ url }, 'using URL based on configured endpoint');\n\n return url;\n}\n\nfunction createSshUrl(url: URL, repository: string, username: string): string {\n return `ssh://${username}@${url.host}:${DEFAULT_SSH_PORT}/${repository}`;\n}\n\nfunction createHttpUrl(url: URL, endpoint: string, repository: string): string {\n // Find options for current host and determine Git endpoint\n const opts = hostRules.find({\n hostType: 'gerrit',\n url: endpoint,\n });\n\n if (!(opts.username && opts.password)) {\n throw new Error(\n 'Init: You must configure a Gerrit Server username/password',\n );\n }\n\n url.username = opts.username;\n url.password = opts.password;\n url.pathname = joinUrlParts(\n url.pathname,\n 'a',\n encodeURIComponent(repository),\n );\n return url.toString();\n}\n\nexport function mapPrStateToGerritFilter(state?: PrState): string | null {\n switch (state) {\n case 'merged':\n return 'status:merged';\n case 'open':\n return 'status:open';\n case 'closed':\n return 'status:abandoned';\n case '!open':\n return '-status:open';\n case 'all':\n default:\n return null;\n }\n}\n\nexport function mapGerritChangeToPr(\n change: GerritChange,\n knownProperties?: {\n sourceBranch?: string;\n prBody?: string;\n },\n): Pr | null {\n const sourceBranch =\n knownProperties?.sourceBranch ?? extractSourceBranch(change);\n if (!sourceBranch) {\n return null;\n }\n return {\n number: change._number,\n state: mapGerritChangeStateToPrState(change.status),\n sourceBranch,\n targetBranch: change.branch,\n title: change.subject,\n createdAt: convertGerritDateToISO(change.created),\n labels: change.hashtags,\n reviewers:\n change.reviewers?.REVIEWER?.map((reviewer) => reviewer.username!) ?? [],\n bodyStruct: {\n hash: hashBody(knownProperties?.prBody ?? findPullRequestBody(change)),\n },\n sha: toLongCommitSha(change.current_revision),\n };\n}\n\nexport function mapGerritChangeStateToPrState(\n state: GerritChangeStatus,\n): 'merged' | 'open' | 'closed' {\n switch (state) {\n case 'NEW':\n return 'open';\n case 'MERGED':\n return 'merged';\n case 'ABANDONED':\n return 'closed';\n }\n}\n\nexport function extractSourceBranch(change: GerritChange): string | undefined {\n let sourceBranch: string | undefined = undefined;\n\n if (change.current_revision) {\n const re = regEx(/^Renovate-Branch: (.+)$/m);\n const currentRevision = change.revisions![change.current_revision];\n const message = currentRevision.commit_with_footers;\n // v8 ignore else -- TODO: add test #40625\n if (message) {\n sourceBranch = re.exec(message)?.[1];\n }\n }\n\n return sourceBranch ?? undefined;\n}\n\nexport function findPullRequestBody(change: GerritChange): string | undefined {\n const msg = Array.from(change.messages ?? [])\n .reverse()\n .find((msg) => msg.tag === TAG_PULL_REQUEST_BODY);\n if (msg) {\n // Gerrit adds a \"Patch Set X:\" prefix to comments\n return msg.message.replace(/^Patch Set \\d+:\\n\\n/, '');\n }\n return undefined;\n}\n\nexport function mapBranchStatusToLabel(\n state: BranchStatus | 'UNKNOWN', // suppress default path code removal\n label: GerritLabelTypeInfo,\n): number {\n const numbers = Object.keys(label.values).map((x) => parseInt(x, 10));\n switch (state) {\n case 'green':\n return Math.max(...numbers);\n case 'yellow':\n case 'red':\n return Math.min(...numbers);\n }\n /* v8 ignore next -- only reachable for the artificial 'UNKNOWN' state, which callers never pass */\n return label.default_value;\n}\n\n// Convert Gerrit date format to ISO format\nexport function convertGerritDateToISO(date: string): string {\n return date.replace(' ', 'T');\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","names":["hostRules.find"],"sources":["../../../../lib/modules/platform/gerrit/utils.ts"],"sourcesContent":["import { CONFIG_GIT_URL_UNAVAILABLE } from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport type { BranchStatus, PrState } from '../../../types/index.ts';\nimport * as hostRules from '../../../util/host-rules.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { toLongCommitSha } from '../../../util/schema-utils/git.ts';\nimport { joinUrlParts, parseUrl } from '../../../util/url.ts';\nimport { hashBody } from '../pr-body.ts';\nimport type { GitUrlOption, Pr } from '../types.ts';\nimport type { GerritChange, GerritLabelTypeInfo } from './schema.ts';\nimport type { GerritChangeStatus, GerritRequestDetail } from './types.ts';\n\nexport const MIN_GERRIT_VERSION = '3.0.0';\n\nexport const TAG_PULL_REQUEST_BODY = 'pull-request';\n\nconst DEFAULT_SSH_PORT = `29418`;\n\n/**\n * Max comment size in Gerrit (16kiB by default)\n * https://gerrit-review.googlesource.com/Documentation/config-gerrit.html#change:~:text=change.commentSizeLimit\n */\nexport const MAX_GERRIT_COMMENT_SIZE = 16 * 1024;\n\nexport const REQUEST_DETAILS_FOR_PRS: GerritRequestDetail[] = [\n 'MESSAGES', // to get the pr body\n 'LABELS', // to get the reviewers\n 'DETAILED_ACCOUNTS', // to get the reviewers usernames\n 'CURRENT_REVISION', // to get the commit message\n 'COMMIT_FOOTERS', // to get the commit message\n] as const;\n\nexport function getGerritRepoUrl(\n repository: string,\n endpoint: string,\n gitUrl: GitUrlOption | undefined,\n username: string,\n): string {\n const endpointUrl = parseUrl(endpoint);\n if (!endpointUrl) {\n throw new Error(CONFIG_GIT_URL_UNAVAILABLE);\n }\n\n const url =\n gitUrl === 'ssh'\n ? createSshUrl(endpointUrl, repository, username)\n : createHttpUrl(endpointUrl, endpoint, repository);\n logger.trace({ url }, 'using URL based on configured endpoint');\n\n return url;\n}\n\nfunction createSshUrl(url: URL, repository: string, username: string): string {\n return `ssh://${username}@${url.hostname}:${DEFAULT_SSH_PORT}/${repository}`;\n}\n\nfunction createHttpUrl(url: URL, endpoint: string, repository: string): string {\n // Find options for current host and determine Git endpoint\n const opts = hostRules.find({\n hostType: 'gerrit',\n url: endpoint,\n });\n\n if (!(opts.username && opts.password)) {\n throw new Error(\n 'Init: You must configure a Gerrit Server username/password',\n );\n }\n\n url.username = opts.username;\n url.password = opts.password;\n url.pathname = joinUrlParts(\n url.pathname,\n 'a',\n encodeURIComponent(repository),\n );\n return url.toString();\n}\n\nexport function mapPrStateToGerritFilter(state?: PrState): string | null {\n switch (state) {\n case 'merged':\n return 'status:merged';\n case 'open':\n return 'status:open';\n case 'closed':\n return 'status:abandoned';\n case '!open':\n return '-status:open';\n case 'all':\n default:\n return null;\n }\n}\n\nexport function mapGerritChangeToPr(\n change: GerritChange,\n knownProperties?: {\n sourceBranch?: string;\n prBody?: string;\n },\n): Pr | null {\n const sourceBranch =\n knownProperties?.sourceBranch ?? extractSourceBranch(change);\n if (!sourceBranch) {\n return null;\n }\n return {\n number: change._number,\n state: mapGerritChangeStateToPrState(change.status),\n sourceBranch,\n targetBranch: change.branch,\n title: change.subject,\n createdAt: convertGerritDateToISO(change.created),\n labels: change.hashtags,\n reviewers:\n change.reviewers?.REVIEWER?.map((reviewer) => reviewer.username!) ?? [],\n bodyStruct: {\n hash: hashBody(knownProperties?.prBody ?? findPullRequestBody(change)),\n },\n sha: toLongCommitSha(change.current_revision),\n };\n}\n\nexport function mapGerritChangeStateToPrState(\n state: GerritChangeStatus,\n): 'merged' | 'open' | 'closed' {\n switch (state) {\n case 'NEW':\n return 'open';\n case 'MERGED':\n return 'merged';\n case 'ABANDONED':\n return 'closed';\n }\n}\n\nexport function extractSourceBranch(change: GerritChange): string | undefined {\n let sourceBranch: string | undefined = undefined;\n\n if (change.current_revision) {\n const re = regEx(/^Renovate-Branch: (.+)$/m);\n const currentRevision = change.revisions![change.current_revision];\n const message = currentRevision.commit_with_footers;\n // v8 ignore else -- TODO: add test #40625\n if (message) {\n sourceBranch = re.exec(message)?.[1];\n }\n }\n\n return sourceBranch ?? undefined;\n}\n\nexport function findPullRequestBody(change: GerritChange): string | undefined {\n const msg = Array.from(change.messages ?? [])\n .reverse()\n .find((msg) => msg.tag === TAG_PULL_REQUEST_BODY);\n if (msg) {\n // Gerrit adds a \"Patch Set X:\" prefix to comments\n return msg.message.replace(/^Patch Set \\d+:\\n\\n/, '');\n }\n return undefined;\n}\n\nexport function mapBranchStatusToLabel(\n state: BranchStatus | 'UNKNOWN', // suppress default path code removal\n label: GerritLabelTypeInfo,\n): number {\n const numbers = Object.keys(label.values).map((x) => parseInt(x, 10));\n switch (state) {\n case 'green':\n return Math.max(...numbers);\n case 'yellow':\n case 'red':\n return Math.min(...numbers);\n }\n /* v8 ignore next -- only reachable for the artificial 'UNKNOWN' state, which callers never pass */\n return label.default_value;\n}\n\n// Convert Gerrit date format to ISO format\nexport function convertGerritDateToISO(date: string): string {\n return date.replace(' ', 'T');\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "renovate",
3
3
  "description": "Automated dependency updates. Flexible so you don't need to be.",
4
- "version": "44.11.0",
4
+ "version": "44.11.1",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "renovate": "dist/renovate.js",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$id": "https://docs.renovatebot.com/renovate-schema.json",
3
- "title": "JSON schema for Renovate 44.11.0 config files (https://renovatebot.com/)",
3
+ "title": "JSON schema for Renovate 44.11.1 config files (https://renovatebot.com/)",
4
4
  "$schema": "http://json-schema.org/draft-07/schema#",
5
- "x-renovate-version": "44.11.0",
5
+ "x-renovate-version": "44.11.1",
6
6
  "allowComments": true,
7
7
  "type": "object",
8
8
  "definitions": {