renovate 42.62.0 → 42.64.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.
- package/dist/data/source-urls.json +22 -0
- package/dist/modules/manager/composer/artifacts.js +4 -0
- package/dist/modules/manager/composer/artifacts.js.map +1 -1
- package/dist/modules/manager/fingerprint.generated.js +2 -2
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/homebrew/handlers/index.js +2 -1
- package/dist/modules/manager/homebrew/handlers/index.js.map +1 -1
- package/dist/modules/manager/homebrew/handlers/npm.d.ts +19 -0
- package/dist/modules/manager/homebrew/handlers/npm.js +67 -0
- package/dist/modules/manager/homebrew/handlers/npm.js.map +1 -0
- package/dist/modules/manager/homebrew/index.js +2 -0
- package/dist/modules/manager/homebrew/index.js.map +1 -1
- package/dist/modules/manager/homebrew/types.d.ts +3 -2
- package/dist/modules/manager/homebrew/types.js.map +1 -1
- package/dist/modules/platform/codecommit/index.js +1 -0
- package/dist/modules/platform/codecommit/index.js.map +1 -1
- package/dist/modules/platform/gerrit/utils.js +1 -1
- package/dist/modules/platform/gerrit/utils.js.map +1 -1
- package/dist/workers/repository/package-files.js +8 -1
- package/dist/workers/repository/package-files.js.map +1 -1
- package/package.json +1 -1
- package/renovate-schema.json +2 -2
|
@@ -57,5 +57,27 @@
|
|
|
57
57
|
"mkdocs": "https://github.com/mkdocs/mkdocs",
|
|
58
58
|
"mkdocs-material": "https://github.com/squidfunk/mkdocs-material",
|
|
59
59
|
"mypy": "https://github.com/python/mypy"
|
|
60
|
+
},
|
|
61
|
+
"packagist": {
|
|
62
|
+
"api-platform/doctrine-common": "https://github.com/api-platform/core",
|
|
63
|
+
"api-platform/doctrine-odm": "https://github.com/api-platform/core",
|
|
64
|
+
"api-platform/doctrine-orm": "https://github.com/api-platform/core",
|
|
65
|
+
"api-platform/documentation": "https://github.com/api-platform/core",
|
|
66
|
+
"api-platform/elasticsearch": "https://github.com/api-platform/core",
|
|
67
|
+
"api-platform/graphql": "https://github.com/api-platform/core",
|
|
68
|
+
"api-platform/hal": "https://github.com/api-platform/core",
|
|
69
|
+
"api-platform/http-cache": "https://github.com/api-platform/core",
|
|
70
|
+
"api-platform/hydra": "https://github.com/api-platform/core",
|
|
71
|
+
"api-platform/json-api": "https://github.com/api-platform/core",
|
|
72
|
+
"api-platform/json-schema": "https://github.com/api-platform/core",
|
|
73
|
+
"api-platform/jsonld": "https://github.com/api-platform/core",
|
|
74
|
+
"api-platform/laravel": "https://github.com/api-platform/core",
|
|
75
|
+
"api-platform/metadata": "https://github.com/api-platform/core",
|
|
76
|
+
"api-platform/openapi": "https://github.com/api-platform/core",
|
|
77
|
+
"api-platform/ramsey-uuid": "https://github.com/api-platform/core",
|
|
78
|
+
"api-platform/serializer": "https://github.com/api-platform/core",
|
|
79
|
+
"api-platform/state": "https://github.com/api-platform/core",
|
|
80
|
+
"api-platform/symfony": "https://github.com/api-platform/core",
|
|
81
|
+
"api-platform/validator": "https://github.com/api-platform/core"
|
|
60
82
|
}
|
|
61
83
|
}
|
|
@@ -124,6 +124,10 @@ async function updateArtifacts({ packageFileName, updatedDeps, newPackageFileCon
|
|
|
124
124
|
commands.push(`${preCmd} ${preArgs}`);
|
|
125
125
|
commands.push('git stash pop || true');
|
|
126
126
|
}
|
|
127
|
+
if (config.isLockFileMaintenance) {
|
|
128
|
+
logger_1.logger.debug(`Removing ${lockFileName} first due to lock file maintenance upgrade`);
|
|
129
|
+
await (0, fs_1.deleteLocalFile)(lockFileName);
|
|
130
|
+
}
|
|
127
131
|
const cmd = 'composer';
|
|
128
132
|
let args;
|
|
129
133
|
if (config.isLockFileMaintenance) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/composer/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { isEmptyObject, isString } from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { z } from 'zod';\nimport {\n SYSTEM_INSUFFICIENT_DISK_SPACE,\n TEMPORARY_ERROR,\n} from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport {\n findGithubToken,\n takePersonalAccessTokenIfPossible,\n} from '../../../util/check-token';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions, ToolConstraint } from '../../../util/exec/types';\nimport {\n ensureCacheDir,\n ensureLocalDir,\n getSiblingFileName,\n localPathExists,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getRepoStatus } from '../../../util/git';\nimport * as hostRules from '../../../util/host-rules';\nimport { regEx } from '../../../util/regex';\nimport { Json } from '../../../util/schema-utils';\nimport { coerceString } from '../../../util/string';\nimport { GitTagsDatasource } from '../../datasource/git-tags';\nimport { PackagistDatasource } from '../../datasource/packagist';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport { Lockfile, PackageFile } from './schema';\nimport type { AuthJson } from './types';\nimport {\n extractConstraints,\n getComposerArguments,\n getComposerUpdateArguments,\n getPhpConstraint,\n isArtifactAuthEnabled,\n requireComposerDependencyInstallation,\n} from './utils';\n\nfunction getAuthJson(): string | null {\n const authJson: AuthJson = {};\n\n const githubHostRule = hostRules.find({\n hostType: 'github',\n url: 'https://api.github.com/',\n });\n\n const gitTagsHostRule = hostRules.find({\n hostType: GitTagsDatasource.id,\n url: 'https://github.com',\n });\n\n const selectedGithubToken = takePersonalAccessTokenIfPossible(\n isArtifactAuthEnabled(githubHostRule)\n ? findGithubToken(githubHostRule)\n : undefined,\n isArtifactAuthEnabled(gitTagsHostRule)\n ? findGithubToken(gitTagsHostRule)\n : undefined,\n );\n\n if (selectedGithubToken) {\n authJson['github-oauth'] = {\n 'github.com': selectedGithubToken,\n };\n }\n\n for (const gitlabHostRule of hostRules.findAll({ hostType: 'gitlab' })) {\n if (!isArtifactAuthEnabled(gitlabHostRule)) {\n continue;\n }\n\n if (gitlabHostRule?.token) {\n const host = coerceString(gitlabHostRule.resolvedHost, 'gitlab.com');\n authJson['gitlab-token'] = authJson['gitlab-token'] ?? {};\n authJson['gitlab-token'][host] = gitlabHostRule.token;\n // https://getcomposer.org/doc/articles/authentication-for-private-packages.md#gitlab-token\n authJson['gitlab-domains'] = [\n host,\n ...(authJson['gitlab-domains'] ?? []),\n ];\n }\n }\n\n for (const packagistHostRule of hostRules.findAll({\n hostType: PackagistDatasource.id,\n })) {\n if (!isArtifactAuthEnabled(packagistHostRule)) {\n continue;\n }\n\n const { resolvedHost, username, password, token } = packagistHostRule;\n if (resolvedHost && username && password) {\n authJson['http-basic'] = authJson['http-basic'] ?? {};\n authJson['http-basic'][resolvedHost] = { username, password };\n } else if (resolvedHost && token) {\n authJson.bearer = authJson.bearer ?? {};\n authJson.bearer[resolvedHost] = token;\n }\n }\n\n return isEmptyObject(authJson) ? null : JSON.stringify(authJson);\n}\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`composer.updateArtifacts(${packageFileName})`);\n\n const file = Json.pipe(PackageFile).parse(newPackageFileContent);\n\n const lockFileName = packageFileName.replace(regEx(/\\.json$/), '.lock');\n const lockfile = await z\n .string()\n .transform((f) => readLocalFile(f, 'utf8'))\n .pipe(Json)\n .pipe(Lockfile)\n .nullable()\n .catch(null)\n .parseAsync(lockFileName);\n if (!lockfile) {\n logger.debug('Composer: unable to read lockfile');\n return null;\n }\n\n const vendorDir = getSiblingFileName(packageFileName, 'vendor');\n const commitVendorFiles = await localPathExists(vendorDir);\n await ensureLocalDir(vendorDir);\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n\n const constraints = {\n ...extractConstraints(file, lockfile),\n ...config.constraints,\n };\n\n const composerToolConstraint: ToolConstraint = {\n toolName: 'composer',\n constraint: constraints.composer,\n };\n\n const phpToolConstraint: ToolConstraint = {\n toolName: 'php',\n constraint: getPhpConstraint(constraints),\n };\n\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n extraEnv: {\n COMPOSER_CACHE_DIR: await ensureCacheDir('composer'),\n COMPOSER_AUTH: getAuthJson(),\n },\n toolConstraints: [phpToolConstraint, composerToolConstraint],\n docker: {},\n };\n\n const commands: string[] = [];\n\n // Determine whether install is required before update\n if (requireComposerDependencyInstallation(lockfile)) {\n const preCmd = 'composer';\n const preArgs =\n 'install' + getComposerArguments(config, composerToolConstraint);\n logger.trace({ preCmd, preArgs }, 'composer pre-update command');\n commands.push('git stash -- composer.json');\n commands.push(`${preCmd} ${preArgs}`);\n commands.push('git stash pop || true');\n }\n\n const cmd = 'composer';\n let args: string;\n if (config.isLockFileMaintenance) {\n args = 'update';\n } else {\n args =\n (\n 'update ' +\n updatedDeps\n .map((dep) =>\n dep.newVersion\n ? quote(`${dep.depName}:${dep.newVersion}`)\n : quote(dep.depName!),\n )\n .filter(isString)\n .map((dep) => quote(dep))\n .join(' ')\n ).trim() +\n (config.postUpdateOptions?.includes('composerWithAll')\n ? ' --with-all-dependencies'\n : ' --with-dependencies');\n }\n args += getComposerUpdateArguments(config, composerToolConstraint);\n logger.trace({ cmd, args }, 'composer command');\n commands.push(`${cmd} ${args}`);\n\n await exec(commands, execOptions);\n const status = await getRepoStatus();\n if (!status.modified.includes(lockFileName)) {\n return null;\n }\n logger.debug('Returning updated composer.lock');\n const res: UpdateArtifactsResult[] = [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: await readLocalFile(lockFileName),\n },\n },\n ];\n\n if (!commitVendorFiles) {\n return res;\n }\n\n logger.debug(`Committing vendor files in ${vendorDir}`);\n for (const f of [...status.modified, ...status.not_added]) {\n if (f.startsWith(vendorDir)) {\n res.push({\n file: {\n type: 'addition',\n path: f,\n contents: await readLocalFile(f),\n },\n });\n }\n }\n for (const f of status.deleted) {\n res.push({\n file: {\n type: 'deletion',\n path: f,\n },\n });\n }\n\n return res;\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n if (\n err.message?.includes(\n 'Your requirements could not be resolved to an installable set of packages.',\n )\n ) {\n logger.info('Composer requirements cannot be resolved');\n } else if (err.message?.includes('write error (disk full?)')) {\n throw new Error(SYSTEM_INSUFFICIENT_DISK_SPACE);\n } else {\n logger.debug({ err }, 'Failed to generate composer.lock');\n }\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/composer/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { isEmptyObject, isString } from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { z } from 'zod';\nimport {\n SYSTEM_INSUFFICIENT_DISK_SPACE,\n TEMPORARY_ERROR,\n} from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport {\n findGithubToken,\n takePersonalAccessTokenIfPossible,\n} from '../../../util/check-token';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions, ToolConstraint } from '../../../util/exec/types';\nimport {\n deleteLocalFile,\n ensureCacheDir,\n ensureLocalDir,\n getSiblingFileName,\n localPathExists,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getRepoStatus } from '../../../util/git';\nimport * as hostRules from '../../../util/host-rules';\nimport { regEx } from '../../../util/regex';\nimport { Json } from '../../../util/schema-utils';\nimport { coerceString } from '../../../util/string';\nimport { GitTagsDatasource } from '../../datasource/git-tags';\nimport { PackagistDatasource } from '../../datasource/packagist';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport { Lockfile, PackageFile } from './schema';\nimport type { AuthJson } from './types';\nimport {\n extractConstraints,\n getComposerArguments,\n getComposerUpdateArguments,\n getPhpConstraint,\n isArtifactAuthEnabled,\n requireComposerDependencyInstallation,\n} from './utils';\n\nfunction getAuthJson(): string | null {\n const authJson: AuthJson = {};\n\n const githubHostRule = hostRules.find({\n hostType: 'github',\n url: 'https://api.github.com/',\n });\n\n const gitTagsHostRule = hostRules.find({\n hostType: GitTagsDatasource.id,\n url: 'https://github.com',\n });\n\n const selectedGithubToken = takePersonalAccessTokenIfPossible(\n isArtifactAuthEnabled(githubHostRule)\n ? findGithubToken(githubHostRule)\n : undefined,\n isArtifactAuthEnabled(gitTagsHostRule)\n ? findGithubToken(gitTagsHostRule)\n : undefined,\n );\n\n if (selectedGithubToken) {\n authJson['github-oauth'] = {\n 'github.com': selectedGithubToken,\n };\n }\n\n for (const gitlabHostRule of hostRules.findAll({ hostType: 'gitlab' })) {\n if (!isArtifactAuthEnabled(gitlabHostRule)) {\n continue;\n }\n\n if (gitlabHostRule?.token) {\n const host = coerceString(gitlabHostRule.resolvedHost, 'gitlab.com');\n authJson['gitlab-token'] = authJson['gitlab-token'] ?? {};\n authJson['gitlab-token'][host] = gitlabHostRule.token;\n // https://getcomposer.org/doc/articles/authentication-for-private-packages.md#gitlab-token\n authJson['gitlab-domains'] = [\n host,\n ...(authJson['gitlab-domains'] ?? []),\n ];\n }\n }\n\n for (const packagistHostRule of hostRules.findAll({\n hostType: PackagistDatasource.id,\n })) {\n if (!isArtifactAuthEnabled(packagistHostRule)) {\n continue;\n }\n\n const { resolvedHost, username, password, token } = packagistHostRule;\n if (resolvedHost && username && password) {\n authJson['http-basic'] = authJson['http-basic'] ?? {};\n authJson['http-basic'][resolvedHost] = { username, password };\n } else if (resolvedHost && token) {\n authJson.bearer = authJson.bearer ?? {};\n authJson.bearer[resolvedHost] = token;\n }\n }\n\n return isEmptyObject(authJson) ? null : JSON.stringify(authJson);\n}\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`composer.updateArtifacts(${packageFileName})`);\n\n const file = Json.pipe(PackageFile).parse(newPackageFileContent);\n\n const lockFileName = packageFileName.replace(regEx(/\\.json$/), '.lock');\n const lockfile = await z\n .string()\n .transform((f) => readLocalFile(f, 'utf8'))\n .pipe(Json)\n .pipe(Lockfile)\n .nullable()\n .catch(null)\n .parseAsync(lockFileName);\n if (!lockfile) {\n logger.debug('Composer: unable to read lockfile');\n return null;\n }\n\n const vendorDir = getSiblingFileName(packageFileName, 'vendor');\n const commitVendorFiles = await localPathExists(vendorDir);\n await ensureLocalDir(vendorDir);\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n\n const constraints = {\n ...extractConstraints(file, lockfile),\n ...config.constraints,\n };\n\n const composerToolConstraint: ToolConstraint = {\n toolName: 'composer',\n constraint: constraints.composer,\n };\n\n const phpToolConstraint: ToolConstraint = {\n toolName: 'php',\n constraint: getPhpConstraint(constraints),\n };\n\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n extraEnv: {\n COMPOSER_CACHE_DIR: await ensureCacheDir('composer'),\n COMPOSER_AUTH: getAuthJson(),\n },\n toolConstraints: [phpToolConstraint, composerToolConstraint],\n docker: {},\n };\n\n const commands: string[] = [];\n\n // Determine whether install is required before update\n if (requireComposerDependencyInstallation(lockfile)) {\n const preCmd = 'composer';\n const preArgs =\n 'install' + getComposerArguments(config, composerToolConstraint);\n logger.trace({ preCmd, preArgs }, 'composer pre-update command');\n commands.push('git stash -- composer.json');\n commands.push(`${preCmd} ${preArgs}`);\n commands.push('git stash pop || true');\n }\n\n if (config.isLockFileMaintenance) {\n logger.debug(\n `Removing ${lockFileName} first due to lock file maintenance upgrade`,\n );\n await deleteLocalFile(lockFileName);\n }\n\n const cmd = 'composer';\n let args: string;\n if (config.isLockFileMaintenance) {\n args = 'update';\n } else {\n args =\n (\n 'update ' +\n updatedDeps\n .map((dep) =>\n dep.newVersion\n ? quote(`${dep.depName}:${dep.newVersion}`)\n : quote(dep.depName!),\n )\n .filter(isString)\n .map((dep) => quote(dep))\n .join(' ')\n ).trim() +\n (config.postUpdateOptions?.includes('composerWithAll')\n ? ' --with-all-dependencies'\n : ' --with-dependencies');\n }\n args += getComposerUpdateArguments(config, composerToolConstraint);\n logger.trace({ cmd, args }, 'composer command');\n commands.push(`${cmd} ${args}`);\n\n await exec(commands, execOptions);\n const status = await getRepoStatus();\n if (!status.modified.includes(lockFileName)) {\n return null;\n }\n logger.debug('Returning updated composer.lock');\n const res: UpdateArtifactsResult[] = [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: await readLocalFile(lockFileName),\n },\n },\n ];\n\n if (!commitVendorFiles) {\n return res;\n }\n\n logger.debug(`Committing vendor files in ${vendorDir}`);\n for (const f of [...status.modified, ...status.not_added]) {\n if (f.startsWith(vendorDir)) {\n res.push({\n file: {\n type: 'addition',\n path: f,\n contents: await readLocalFile(f),\n },\n });\n }\n }\n for (const f of status.deleted) {\n res.push({\n file: {\n type: 'deletion',\n path: f,\n },\n });\n }\n\n return res;\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n if (\n err.message?.includes(\n 'Your requirements could not be resolved to an installable set of packages.',\n )\n ) {\n logger.info('Composer requirements cannot be resolved');\n } else if (err.message?.includes('write error (disk full?)')) {\n throw new Error(SYSTEM_INSUFFICIENT_DISK_SPACE);\n } else {\n logger.debug({ err }, 'Failed to generate composer.lock');\n }\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
|
|
@@ -26,7 +26,7 @@ exports.hashMap.set('cdnurl', '70281459e771df007787fc25dba16e4d5109865f97209dcf4
|
|
|
26
26
|
exports.hashMap.set('circleci', 'c7c7a1b71385f0ea7cf1e9fc24c37a1d5dabf13d6952e1e3b2179861b55f4e44');
|
|
27
27
|
exports.hashMap.set('cloudbuild', 'e4f926bfb907220e97dce98335837c52b4e0fe66d813593a7e572736acfc53f7');
|
|
28
28
|
exports.hashMap.set('cocoapods', 'a3be5ff98669b788cc796ac8f51111fa5cbf98dc9f0998c6856727ac9060c3ad');
|
|
29
|
-
exports.hashMap.set('composer', '
|
|
29
|
+
exports.hashMap.set('composer', '1d40f203496d4e8ce32024ea6978558e1bc78f1491e5d50e432e54b7a08d6f9c');
|
|
30
30
|
exports.hashMap.set('conan', '4df92ebfa53ec6b7103030316ff70822d18f73cca8c71f2dca1d71c0d00b9353');
|
|
31
31
|
exports.hashMap.set('copier', '34a3f985c82673bb7a2828ef644e271e5031da873e8cd44bf992a1826b3e40db');
|
|
32
32
|
exports.hashMap.set('cpanfile', '9b354db9666eee2485b27e44a6e61eaadc86ec2f2c6af9bb7bbc9fab54f31642');
|
|
@@ -57,7 +57,7 @@ exports.hashMap.set('helmfile', 'd5a965244170f3dede0c74cbfc8447547c740e5ccc41423
|
|
|
57
57
|
exports.hashMap.set('helmsman', '734fa89740fd5140ca3e39204872aba3451c05cd17f0b5e2b635934ed7b1710b');
|
|
58
58
|
exports.hashMap.set('helmv3', '8f60a3ec95fded429df5a4bc4a0e8df536d55b85c8e744767101a3bbce57c41f');
|
|
59
59
|
exports.hashMap.set('hermit', 'c7bc14921a07e0ca5dcf02d0c1103702ee9262568097a2f50533aaee94af0158');
|
|
60
|
-
exports.hashMap.set('homebrew', '
|
|
60
|
+
exports.hashMap.set('homebrew', '47393bd17f23eab1d465925b8f13bbda75226e5e5f7c55ffa52a11cbed03d742');
|
|
61
61
|
exports.hashMap.set('html', '226a9084e10ebf754906386159db08667394f5432105249bdb30d9c60af9fb56');
|
|
62
62
|
exports.hashMap.set('jenkins', '309db014e3590e1cd6d53ede2755395c82e5cd4b880425daf52a6ab60e0d6a42');
|
|
63
63
|
exports.hashMap.set('jsonnet-bundler', 'f8e905391544e5d0464849d84e43a0143cbacdb2dacd7e5ae4278f8a25db583a');
|
|
@@ -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','2f53c994cf2f38f210b790d72b6cb01e4c73cdc3f7b830bea6979d89c5aae896');\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','4b292aa3936f2302f8d215252da6adcc0e0cba9a8e97b28c6f412c6fc999a3a3');\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','77353149519c443409ef034b7c6ec9199c2b01589458ca1b4025dc1d54c8006a');\nhashMap.set('html','226a9084e10ebf754906386159db08667394f5432105249bdb30d9c60af9fb56');\nhashMap.set('jenkins','309db014e3590e1cd6d53ede2755395c82e5cd4b880425daf52a6ab60e0d6a42');\nhashMap.set('jsonnet-bundler','f8e905391544e5d0464849d84e43a0143cbacdb2dacd7e5ae4278f8a25db583a');\nhashMap.set('kotlin-script','7d3376b11fc1dfcc87bd6a130b8c7d5158915fdf8ea8f64e83fdb1f7dd62e22c');\nhashMap.set('kubernetes','62cfa6c77593b48290f3c26a2f390c4bdfe8ab3cfb79e358b10d8aece689a999');\nhashMap.set('kustomize','347ab9066fbe7bb8365443280052c5240142488d205a182d4f8fb3bf096d954b');\nhashMap.set('leiningen','0598d2f53cfc92076d47186245a7b591d2b0df157609a7f55a37b54ab2d32a77');\nhashMap.set('maven','5592ee2784417aa586aca86efa13e142c4fdf544bd0deea691c596788a9c48c7');\nhashMap.set('maven-wrapper','95f7c3473b9cf82dc57bf8352e8d9dd131c92ef0365db5a97a1e16bda4d19481');\nhashMap.set('meteor','a9785d85b3520ed9e763c800730f36b95747795699758ecbe1395133c5b0040e');\nhashMap.set('mint','7072e37f18bb57500018406eb8711b2615b1916f073867f30653cdd4a99dab81');\nhashMap.set('mise','d84dcf05c3a23985e20aeca65a51552c808c954196fb4eae1de319c11f539ad9');\nhashMap.set('mix','6f7951fd86e7abcd7d7703893a5cc2c49f907a0d36e75c8a939c9995728e51e4');\nhashMap.set('nix','169443a1fe51757a040ac60f2aeae57fbd2dd8ec0f82cedb7aa880e327995c95');\nhashMap.set('nodenv','d159174d53e39af2013443cf86df88e14aac79a5a8d602180af229dcb2ddeda9');\nhashMap.set('npm','8338c6031baa743a74261a053f0fccc592b13fff8d63aacb6f4a57ced5472ea6');\nhashMap.set('nuget','f366c8d11da898ab9012bbec7511354890032f8afd87db944561cffe479c367c');\nhashMap.set('nvm','2d7a15f668d33a31302af960c3bc137b86d0284b1ea16c528d334e46a468b0d4');\nhashMap.set('ocb','bff1864d0937341790cfe08833c39642f785844762669f5753ff057bada923ab');\nhashMap.set('osgi','dae012cd486843eb53da4b032105e54d18f4e7537bd59c5321313950dd108a95');\nhashMap.set('pep621','ba7f3ab827d845541e803b3da9bb8929a7e96b2d190713401ed72a5d2a08247c');\nhashMap.set('pep723','bf07d466ea1bc9513c8d2cb475fcca3bc9b61f2184bd9af0a7a28d45b6f57ecd');\nhashMap.set('pip-compile','c433dd0445137e632dbf3144f337b925a9dd7f27f29ba0945a696adfb74e4066');\nhashMap.set('pip_requirements','16598617b0bd1beef3031d2529c634be601ecf572678f205589bf4d1ce7132f6');\nhashMap.set('pip_setup','31b330d9666d61474326a761a3ce1479f9a189ef6838ecfee78843ff4c80af73');\nhashMap.set('pipenv','e689b0c7680c26169b45ca17c90ced26281aea4c9b7ce01aff42c6169c567a92');\nhashMap.set('pixi','ad1d3689a4f4815be8b579ec7455d4c20f1a7602accd45f451ee554f4bd9d1fd');\nhashMap.set('poetry','8e346ddbee9d8b2e19447cebb0d691eb03b05a852c50d7e9b2d9789857330e1a');\nhashMap.set('pre-commit','64efc3146f0981751a584a29bdcfe6701cc17849c7bc2bc87b238315d843524a');\nhashMap.set('pub','a2e38469167f49a34503e25816c7b9dd113b65bd10a3ad3fa325ac4ce571a453');\nhashMap.set('puppet','34f7e3916780e8ed352b65864bad91bf66547e29f91ee8fca7fd6e8fcd2621fd');\nhashMap.set('pyenv','4e520570d9a1407864aa7c5461d4008372d889254067e405cee2212d0ef8990b');\nhashMap.set('quadlet','972bb8017f8c7811a74b91b56cfcd9d6f1aef1c026c9a8b956cecc63d95b0bb2');\nhashMap.set('renovate-config-presets','27f100d67e2a1ad20cfd4aa3f1db1f1c34f62910929695f381160b3835a7fa65');\nhashMap.set('ruby-version','4aac2178a20ccdf8136363030e5156017f3d44368b4192b3280997df596dcacc');\nhashMap.set('runtime-version','dbf80ce2a5f07dd34bc9a008159b4f08052cc6fd0d92cbd2aeb0026c8008fa72');\nhashMap.set('sbt','dc1ec4aeeb5e012c7a595478873ad67e2dee6e2af951b12b9e9057cb64f2258d');\nhashMap.set('scalafmt','8a54fef703269ed31ce28887e62b0b838a13359e86fa77c7f4dceb89fda0f352');\nhashMap.set('setup-cfg','9a778d8a58f643fff1d23d750dfebed21e45bce99bfdcdc3de39795a407d983f');\nhashMap.set('sveltos','a69f9e206526af08685e20a72344b22d856f2effd882e67333a153a989a0a047');\nhashMap.set('swift','966398303fb2b86c14cede8e4a7bfc7810d3100c39a60ac9e01e56b181df3970');\nhashMap.set('tekton','eb8fb6a25ca7fd0d304f67d5ab2e93ddd8b34854553130003ce3340ca7b3bba1');\nhashMap.set('terraform','61b56a155559e0c1db92f8ed7726b475bf2071804053eba694fcc70fd139e007');\nhashMap.set('terraform-version','b08480f326c45daf3daeccc2d2f593a723c30a50437a66ac2290d671b427a355');\nhashMap.set('terragrunt','b32d2317bf2cf032243c417463f3760e4decf820d2e5332e6415e16dcf05e9ab');\nhashMap.set('terragrunt-version','45f221b13a193a42687f318e10cf1558079e28c970e91ce25c370f35f88f2f58');\nhashMap.set('tflint-plugin','719408f35a233216562aa62fb8126145a3450b69f917c8fcdf2f3b2c05a9898b');\nhashMap.set('travis','30174e78a6297e44db1c030ea2e111084e14b1eac220f522522c77d684a76285');\nhashMap.set('typst','d0e2b7cbf2ac47d55bd41fd4503251a4f606861dc60d812eff7532371ae2a8cb');\nhashMap.set('unity3d','9a61f8db397bc962f03a1d82045805ffa89863894e26824ecbeffcbf66b3ba3d');\nhashMap.set('velaci','9ad5d5d2584b9c189c4edcd25ad9103926bd4ba850a419a3b5e4aba9682817c3');\nhashMap.set('vendir','c281fb3cb9d8504f919eef08d40dc525dda9a689c2760d58b4bab0f746f32f17');\nhashMap.set('woodpecker','eaaa0a3bcfd0dc60c0990f2a1d7acf19c4f86ce4641ab3cf0a31f2bf46fc61b8');\nhashMap.set('jsonata','b8a0369f94be06f2109b7d233d8165a3e03d93498c43353720eb03b1eaa43e7b');\nhashMap.set('regex','3208bf2bf488d346e58c79c784eaddfc089f8a6b6b3df2263ab2fec8e3ec83c1');"]}
|
|
1
|
+
{"version":3,"file":"fingerprint.generated.js","sourceRoot":"","sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"names":[],"mappings":"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","sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','4c234d79f768392545924fa9b139f8d177f15b6aa46776cf063860a1d36e48c7');\nhashMap.set('ansible-galaxy','a211e40f5c8613986ac16bc8d5389ea23d145cd643091d1b951a7f65926e99ff');\nhashMap.set('argocd','8619ed756b6f7249ea836e14e8f8660ee5f971992e3862d43f19d42f10762560');\nhashMap.set('asdf','e7f29eb8157e6ca5928890a0cc2fc88d57ddcf7b426dad1c4f15386858d3cd6a');\nhashMap.set('azure-pipelines','0b741b2629f6d94589524ce9b3886765e5c5648c9b6d707bb0b5fede276f9c09');\nhashMap.set('batect','523e8d7a309b4814a02819371313b2dac3764eab64cabfaf1d58b6e89de4ce43');\nhashMap.set('batect-wrapper','90941650f810adb3d7abe476da7221ff3434aa9d09ffc3d310e35108f360f364');\nhashMap.set('bazel','19e8ee20f9882e3023b2126d4b8335693cae9fb2b908f59803bbdfd432055d28');\nhashMap.set('bazel-module','4e3d00184b146e5c0ad69433697076f722afe933701ab08676af13e47d289eac');\nhashMap.set('bazelisk','6fbef61d534724ff259ea6e4fc1cd0a3d5a46d740c375128fa59b225daddd39f');\nhashMap.set('bicep','fbbd74998411012cfba829526701109d1fc184ade0cb11a28e4ca2956174b0f1');\nhashMap.set('bitbucket-pipelines','98c0d715a7eb4e41b8231091b83385f325966373f37dc7d6bc10b1febb6f605e');\nhashMap.set('bitrise','d18d2dcd356e19c4cd94912511a88636198c23b64e54f31da273be11044970cf');\nhashMap.set('buildkite','ac713ce38da057ff3ceb08d092291356dfc74f5b33b75f010bb9db1a211439c0');\nhashMap.set('buildpacks','cc8bbe937416a012df36a5c7ab01ae3cdedbed03615549bbe9f0f27fa40a150b');\nhashMap.set('bun','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','4b292aa3936f2302f8d215252da6adcc0e0cba9a8e97b28c6f412c6fc999a3a3');\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');"]}
|
|
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.findHandler = findHandler;
|
|
4
4
|
exports.findHandlerByType = findHandlerByType;
|
|
5
5
|
const github_1 = require("./github");
|
|
6
|
+
const npm_1 = require("./npm");
|
|
6
7
|
const handlers = [
|
|
7
8
|
new github_1.GitHubUrlHandler(),
|
|
8
|
-
|
|
9
|
+
new npm_1.NpmUrlHandler(),
|
|
9
10
|
];
|
|
10
11
|
function findHandler(url) {
|
|
11
12
|
if (!url) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/homebrew/handlers/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/homebrew/handlers/index.ts"],"names":[],"mappings":";;AAUA,kCAaC;AAED,8CAEC;AAzBD,qCAA4C;AAC5C,+BAAsC;AAEtC,MAAM,QAAQ,GAAyB;IACrC,IAAI,yBAAgB,EAAE;IACtB,IAAI,mBAAa,EAAE;CACpB,CAAC;AAEF,SAAgB,WAAW,CACzB,GAAkB;IAElB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;AACvD,CAAC","sourcesContent":["import type { UrlParsedResult } from '../types';\nimport type { HomebrewUrlHandler } from './base';\nimport { GitHubUrlHandler } from './github';\nimport { NpmUrlHandler } from './npm';\n\nconst handlers: HomebrewUrlHandler[] = [\n new GitHubUrlHandler(),\n new NpmUrlHandler(),\n];\n\nexport function findHandler(\n url: string | null,\n): { handler: HomebrewUrlHandler; parsed: UrlParsedResult } | null {\n if (!url) {\n return null;\n }\n for (const handler of handlers) {\n const parsed = handler.parseUrl(url);\n if (parsed) {\n return { handler, parsed };\n }\n }\n return null;\n}\n\nexport function findHandlerByType(type: string): HomebrewUrlHandler | null {\n return handlers.find((h) => h.type === type) ?? null;\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { PackageDependency } from '../../types';
|
|
2
|
+
import { HomebrewUrlHandler } from './base';
|
|
3
|
+
export interface NpmUrlParsedResult {
|
|
4
|
+
type: 'npm';
|
|
5
|
+
currentValue: string;
|
|
6
|
+
packageName: string;
|
|
7
|
+
}
|
|
8
|
+
export interface NpmManagerData {
|
|
9
|
+
type: 'npm';
|
|
10
|
+
packageName: string;
|
|
11
|
+
sha256: string | null;
|
|
12
|
+
url: string | null;
|
|
13
|
+
}
|
|
14
|
+
export declare class NpmUrlHandler extends HomebrewUrlHandler {
|
|
15
|
+
readonly type = "npm";
|
|
16
|
+
parseUrl(urlStr: string): NpmUrlParsedResult | null;
|
|
17
|
+
createDependency(parsed: NpmUrlParsedResult, sha256: string | null, url: string): PackageDependency<NpmManagerData>;
|
|
18
|
+
buildArchiveUrls(managerData: NpmManagerData, newVersion: string): string[] | null;
|
|
19
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NpmUrlHandler = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
|
|
6
|
+
const logger_1 = require("../../../../logger");
|
|
7
|
+
const regex_1 = require("../../../../util/regex");
|
|
8
|
+
const url_1 = require("../../../../util/url");
|
|
9
|
+
const npm_1 = require("../../../datasource/npm");
|
|
10
|
+
const base_1 = require("./base");
|
|
11
|
+
class NpmUrlHandler extends base_1.HomebrewUrlHandler {
|
|
12
|
+
type = 'npm';
|
|
13
|
+
parseUrl(urlStr) {
|
|
14
|
+
if (!is_1.default.nonEmptyString(urlStr)) {
|
|
15
|
+
logger_1.logger.debug({ urlStr }, 'Invalid URL string');
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
const url = (0, url_1.parseUrl)(urlStr);
|
|
19
|
+
if (url?.hostname !== 'registry.npmjs.org') {
|
|
20
|
+
logger_1.logger.once.debug({ hostname: url?.hostname }, 'Homebrew only support NPM packages hosted on registry.npmjs.org');
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
// Pattern: /<packageName>/-/<filename>-<version>.tgz
|
|
24
|
+
// For scoped: /@scope/name/-/name-version.tgz
|
|
25
|
+
// For unscoped: /name/-/name-version.tgz
|
|
26
|
+
const pattern = (0, regex_1.regEx)(/^\/(?<packageName>(?:@[^/]+\/)?[^/]+)\/-\/[^/]+-(?<version>[\d.]+(?:-[a-zA-Z0-9.-]*)?)\.tgz$/);
|
|
27
|
+
const match = pattern.exec(url.pathname);
|
|
28
|
+
const version = match?.groups?.version;
|
|
29
|
+
const packageName = match?.groups?.packageName;
|
|
30
|
+
if (!packageName || !version) {
|
|
31
|
+
logger_1.logger.debug({ pathname: url.pathname }, 'Path does not contain a valid NPM package name or version');
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
type: 'npm',
|
|
36
|
+
currentValue: version,
|
|
37
|
+
packageName,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
createDependency(parsed, sha256, url) {
|
|
41
|
+
return {
|
|
42
|
+
depName: parsed.packageName,
|
|
43
|
+
currentValue: parsed.currentValue,
|
|
44
|
+
datasource: npm_1.NpmDatasource.id,
|
|
45
|
+
managerData: {
|
|
46
|
+
type: 'npm',
|
|
47
|
+
packageName: parsed.packageName,
|
|
48
|
+
sha256,
|
|
49
|
+
url,
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
buildArchiveUrls(managerData, newVersion) {
|
|
54
|
+
const { packageName } = managerData;
|
|
55
|
+
// Extract filename from package name
|
|
56
|
+
// Scoped: @foo/bar -> bar
|
|
57
|
+
// Unscoped: bar -> bar
|
|
58
|
+
const filename = packageName.includes('/')
|
|
59
|
+
? packageName.split('/')[1]
|
|
60
|
+
: packageName;
|
|
61
|
+
return [
|
|
62
|
+
`https://registry.npmjs.org/${packageName}/-/${filename}-${newVersion}.tgz`,
|
|
63
|
+
];
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.NpmUrlHandler = NpmUrlHandler;
|
|
67
|
+
//# sourceMappingURL=npm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/homebrew/handlers/npm.ts"],"names":[],"mappings":";;;;AAAA,kEAAkC;AAClC,+CAA4C;AAC5C,kDAA+C;AAC/C,8CAAgD;AAChD,iDAAwD;AAExD,iCAA4C;AAiB5C,MAAa,aAAc,SAAQ,yBAAkB;IAC1C,IAAI,GAAG,KAAK,CAAC;IAEtB,QAAQ,CAAC,MAAc;QACrB,IAAI,CAAC,YAAE,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,eAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,oBAAoB,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,IAAA,cAAQ,EAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,GAAG,EAAE,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YAC3C,eAAM,CAAC,IAAI,CAAC,KAAK,CACf,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAC3B,iEAAiE,CAClE,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,qDAAqD;QACrD,8CAA8C;QAC9C,yCAAyC;QACzC,MAAM,OAAO,GAAG,IAAA,aAAK,EACnB,8FAA8F,CAC/F,CAAC;QAEF,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEzC,MAAM,OAAO,GAAG,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;QACvC,MAAM,WAAW,GAAG,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC;QAC/C,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7B,eAAM,CAAC,KAAK,CACV,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,EAC1B,2DAA2D,CAC5D,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,IAAI,EAAE,KAAK;YACX,YAAY,EAAE,OAAO;YACrB,WAAW;SACZ,CAAC;IACJ,CAAC;IAED,gBAAgB,CACd,MAA0B,EAC1B,MAAqB,EACrB,GAAW;QAEX,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,WAAW;YAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,UAAU,EAAE,mBAAa,CAAC,EAAE;YAC5B,WAAW,EAAE;gBACX,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,MAAM;gBACN,GAAG;aACJ;SACF,CAAC;IACJ,CAAC;IAED,gBAAgB,CACd,WAA2B,EAC3B,UAAkB;QAElB,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;QAEpC,qCAAqC;QACrC,0BAA0B;QAC1B,uBAAuB;QACvB,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;YACxC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC,CAAC,WAAW,CAAC;QAEhB,OAAO;YACL,8BAA8B,WAAW,MAAM,QAAQ,IAAI,UAAU,MAAM;SAC5E,CAAC;IACJ,CAAC;CACF;AA/ED,sCA+EC","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../../logger';\nimport { regEx } from '../../../../util/regex';\nimport { parseUrl } from '../../../../util/url';\nimport { NpmDatasource } from '../../../datasource/npm';\nimport type { PackageDependency } from '../../types';\nimport { HomebrewUrlHandler } from './base';\n\n// URL parsing result\nexport interface NpmUrlParsedResult {\n type: 'npm';\n currentValue: string;\n packageName: string;\n}\n\n// Manager data with type discriminator\nexport interface NpmManagerData {\n type: 'npm';\n packageName: string;\n sha256: string | null;\n url: string | null;\n}\n\nexport class NpmUrlHandler extends HomebrewUrlHandler {\n readonly type = 'npm';\n\n parseUrl(urlStr: string): NpmUrlParsedResult | null {\n if (!is.nonEmptyString(urlStr)) {\n logger.debug({ urlStr }, 'Invalid URL string');\n return null;\n }\n\n const url = parseUrl(urlStr);\n if (url?.hostname !== 'registry.npmjs.org') {\n logger.once.debug(\n { hostname: url?.hostname },\n 'Homebrew only support NPM packages hosted on registry.npmjs.org',\n );\n return null;\n }\n\n // Pattern: /<packageName>/-/<filename>-<version>.tgz\n // For scoped: /@scope/name/-/name-version.tgz\n // For unscoped: /name/-/name-version.tgz\n const pattern = regEx(\n /^\\/(?<packageName>(?:@[^/]+\\/)?[^/]+)\\/-\\/[^/]+-(?<version>[\\d.]+(?:-[a-zA-Z0-9.-]*)?)\\.tgz$/,\n );\n\n const match = pattern.exec(url.pathname);\n\n const version = match?.groups?.version;\n const packageName = match?.groups?.packageName;\n if (!packageName || !version) {\n logger.debug(\n { pathname: url.pathname },\n 'Path does not contain a valid NPM package name or version',\n );\n return null;\n }\n\n return {\n type: 'npm',\n currentValue: version,\n packageName,\n };\n }\n\n createDependency(\n parsed: NpmUrlParsedResult,\n sha256: string | null,\n url: string,\n ): PackageDependency<NpmManagerData> {\n return {\n depName: parsed.packageName,\n currentValue: parsed.currentValue,\n datasource: NpmDatasource.id,\n managerData: {\n type: 'npm',\n packageName: parsed.packageName,\n sha256,\n url,\n },\n };\n }\n\n buildArchiveUrls(\n managerData: NpmManagerData,\n newVersion: string,\n ): string[] | null {\n const { packageName } = managerData;\n\n // Extract filename from package name\n // Scoped: @foo/bar -> bar\n // Unscoped: bar -> bar\n const filename = packageName.includes('/')\n ? packageName.split('/')[1]\n : packageName;\n\n return [\n `https://registry.npmjs.org/${packageName}/-/${filename}-${newVersion}.tgz`,\n ];\n }\n}\n"]}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.supportedDatasources = exports.defaultConfig = exports.url = exports.updateDependency = exports.extractPackageFile = void 0;
|
|
4
4
|
const github_releases_1 = require("../../datasource/github-releases");
|
|
5
5
|
const github_tags_1 = require("../../datasource/github-tags");
|
|
6
|
+
const npm_1 = require("../../datasource/npm");
|
|
6
7
|
var extract_1 = require("./extract");
|
|
7
8
|
Object.defineProperty(exports, "extractPackageFile", { enumerable: true, get: function () { return extract_1.extractPackageFile; } });
|
|
8
9
|
var update_1 = require("./update");
|
|
@@ -15,5 +16,6 @@ exports.defaultConfig = {
|
|
|
15
16
|
exports.supportedDatasources = [
|
|
16
17
|
github_tags_1.GithubTagsDatasource.id,
|
|
17
18
|
github_releases_1.GithubReleasesDatasource.id,
|
|
19
|
+
npm_1.NpmDatasource.id,
|
|
18
20
|
];
|
|
19
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/manager/homebrew/index.ts"],"names":[],"mappings":";;;AAAA,sEAA4E;AAC5E,8DAAoE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/manager/homebrew/index.ts"],"names":[],"mappings":";;;AAAA,sEAA4E;AAC5E,8DAAoE;AACpE,8CAAqD;AAErD,qCAA+C;AAAtC,6GAAA,kBAAkB,OAAA;AAC3B,mCAA4C;AAAnC,0GAAA,gBAAgB,OAAA;AAEZ,QAAA,GAAG,GAAG,iBAAiB,CAAC;AAExB,QAAA,aAAa,GAAG;IAC3B,kBAAkB,EAAE,8BAA8B;IAClD,mBAAmB,EAAE,CAAC,wBAAwB,CAAC;CAChD,CAAC;AAEW,QAAA,oBAAoB,GAAG;IAClC,kCAAoB,CAAC,EAAE;IACvB,0CAAwB,CAAC,EAAE;IAC3B,mBAAa,CAAC,EAAE;CACjB,CAAC","sourcesContent":["import { GithubReleasesDatasource } from '../../datasource/github-releases';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport { NpmDatasource } from '../../datasource/npm';\n\nexport { extractPackageFile } from './extract';\nexport { updateDependency } from './update';\n\nexport const url = 'https://brew.sh';\n\nexport const defaultConfig = {\n commitMessageTopic: 'Homebrew Formula {{depName}}',\n managerFilePatterns: ['/^Formula/[^/]+[.]rb$/'],\n};\n\nexport const supportedDatasources = [\n GithubTagsDatasource.id,\n GithubReleasesDatasource.id,\n NpmDatasource.id,\n];\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { GitHubManagerData, GitHubUrlParsedResult } from './handlers/github';
|
|
2
|
-
|
|
3
|
-
export type
|
|
2
|
+
import type { NpmManagerData, NpmUrlParsedResult } from './handlers/npm';
|
|
3
|
+
export type UrlParsedResult = GitHubUrlParsedResult | NpmUrlParsedResult;
|
|
4
|
+
export type HomebrewManagerData = GitHubManagerData | NpmManagerData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/modules/manager/homebrew/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n GitHubManagerData,\n GitHubUrlParsedResult,\n} from './handlers/github';\n\n// Future extensibility for additional datasources\nexport type UrlParsedResult = GitHubUrlParsedResult
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/modules/manager/homebrew/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n GitHubManagerData,\n GitHubUrlParsedResult,\n} from './handlers/github';\nimport type { NpmManagerData, NpmUrlParsedResult } from './handlers/npm';\n\n// Future extensibility for additional datasources\nexport type UrlParsedResult = GitHubUrlParsedResult | NpmUrlParsedResult;\n\nexport type HomebrewManagerData = GitHubManagerData | NpmManagerData;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/platform/codecommit/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Buffer } from 'node:buffer';\nimport type {\n GetCommentsForPullRequestOutput,\n ListRepositoriesOutput,\n} from '@aws-sdk/client-codecommit';\nimport { PullRequestStatusEnum } from '@aws-sdk/client-codecommit';\nimport {\n PLATFORM_BAD_CREDENTIALS,\n REPOSITORY_EMPTY,\n REPOSITORY_NOT_FOUND,\n} from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport type { BranchStatus, PrState } from '../../../types';\nimport { coerceArray } from '../../../util/array';\nimport { parseJson } from '../../../util/common';\nimport * as git from '../../../util/git';\nimport { regEx } from '../../../util/regex';\nimport { sanitize } from '../../../util/sanitize';\nimport type {\n BranchStatusConfig,\n CreatePRConfig,\n EnsureCommentConfig,\n EnsureCommentRemovalConfig,\n EnsureIssueConfig,\n EnsureIssueResult,\n FindPRConfig,\n Issue,\n MergePRConfig,\n PlatformParams,\n PlatformResult,\n Pr,\n RepoParams,\n RepoResult,\n UpdatePrConfig,\n} from '../types';\nimport { getNewBranchName, repoFingerprint } from '../util';\nimport { smartTruncate } from '../utils/pr-body';\nimport * as client from './codecommit-client';\n\nexport interface CodeCommitPr extends Pr {\n body: string;\n destinationCommit: string;\n sourceCommit: string;\n}\n\ninterface Config {\n repository?: string;\n defaultBranch?: string;\n region?: string;\n prList?: CodeCommitPr[];\n}\n\nexport const id = 'codecommit';\n\nconst platformConfig = {\n endpoint: 'https://git-codecommit.us-east-1.amazonaws.com',\n};\n\nlet config: Config = {} as any;\n\nexport async function initPlatform({\n endpoint,\n username,\n password,\n token: awsToken,\n}: PlatformParams): Promise<PlatformResult> {\n const accessKeyId = username;\n const secretAccessKey = password;\n const env = process.env;\n let region: string | undefined;\n\n if (accessKeyId) {\n env.AWS_ACCESS_KEY_ID = accessKeyId;\n }\n if (secretAccessKey) {\n env.AWS_SECRET_ACCESS_KEY = secretAccessKey;\n }\n if (awsToken) {\n env.AWS_SESSION_TOKEN = awsToken;\n }\n\n if (endpoint) {\n const regionReg = regEx(/.*codecommit\\.(?<region>.+)\\.amazonaws\\.com/);\n const codeCommitMatch = regionReg.exec(endpoint);\n region = codeCommitMatch?.groups?.region;\n if (region) {\n env.AWS_REGION = region;\n } else {\n logger.warn(\"Can't parse region, make sure your endpoint is correct\");\n }\n }\n\n // If any of the below fails, it will throw an exception stopping the program.\n client.buildCodeCommitClient();\n // To check if we have permission to codecommit, throws exception if failed.\n await client.listRepositories();\n\n platformConfig.endpoint =\n endpoint ??\n `https://git-codecommit.${env.AWS_REGION ?? 'us-east-1'}.amazonaws.com/`;\n\n const platformResult: PlatformResult = {\n endpoint: platformConfig.endpoint,\n };\n return platformResult;\n}\n\nexport async function initRepo({\n repository,\n}: RepoParams): Promise<RepoResult> {\n logger.debug(`initRepo(\"${repository}\")`);\n\n config = { repository } as Config;\n\n let repo;\n try {\n repo = await client.getRepositoryInfo(repository);\n } catch (err) {\n logger.error({ err }, 'Could not find repository');\n throw new Error(REPOSITORY_NOT_FOUND);\n }\n\n if (!repo?.repositoryMetadata) {\n logger.error({ repository }, 'Could not find repository');\n throw new Error(REPOSITORY_NOT_FOUND);\n }\n logger.debug({ repositoryDetails: repo }, 'Repository details');\n const metadata = repo.repositoryMetadata;\n\n const url = client.getCodeCommitUrl(metadata, repository);\n try {\n await git.initRepo({\n url,\n });\n } catch (err) {\n logger.debug({ err }, 'Failed to git init');\n throw new Error(PLATFORM_BAD_CREDENTIALS);\n }\n\n if (!metadata.defaultBranch || !metadata.repositoryId) {\n logger.debug('Repo is empty');\n throw new Error(REPOSITORY_EMPTY);\n }\n\n const defaultBranch = metadata.defaultBranch;\n config.defaultBranch = defaultBranch;\n logger.debug(`${repository} default branch = ${defaultBranch}`);\n\n return {\n repoFingerprint: repoFingerprint(\n metadata.repositoryId,\n platformConfig.endpoint,\n ),\n defaultBranch,\n isFork: false,\n };\n}\n\nexport async function getPrList(): Promise<CodeCommitPr[]> {\n logger.debug('getPrList()');\n\n if (config.prList) {\n return config.prList;\n }\n\n const listPrsResponse = await client.listPullRequests(config.repository!);\n const fetchedPrs: CodeCommitPr[] = [];\n\n if (listPrsResponse && !listPrsResponse.pullRequestIds) {\n return fetchedPrs;\n }\n\n const prIds = coerceArray(listPrsResponse.pullRequestIds);\n\n for (const prId of prIds) {\n const prRes = await client.getPr(prId);\n\n if (!prRes?.pullRequest) {\n continue;\n }\n const prInfo = prRes.pullRequest;\n const pr: CodeCommitPr = {\n targetBranch: prInfo.pullRequestTargets![0].destinationReference!,\n sourceBranch: prInfo.pullRequestTargets![0].sourceReference!,\n destinationCommit: prInfo.pullRequestTargets![0].destinationCommit!,\n sourceCommit: prInfo.pullRequestTargets![0].sourceCommit!,\n state:\n prInfo.pullRequestStatus === PullRequestStatusEnum.OPEN\n ? 'open'\n : 'closed',\n number: Number.parseInt(prId),\n title: prInfo.title!,\n body: prInfo.description!,\n };\n fetchedPrs.push(pr);\n }\n\n config.prList = fetchedPrs;\n\n logger.debug(`Retrieved Pull Requests, count: ${fetchedPrs.length}`);\n return fetchedPrs;\n}\n\nexport async function findPr({\n branchName,\n prTitle,\n state = 'all',\n}: FindPRConfig): Promise<CodeCommitPr | null> {\n let prsFiltered: CodeCommitPr[] = [];\n try {\n const prs = await getPrList();\n const refsHeadBranchName = getNewBranchName(branchName);\n prsFiltered = prs.filter(\n (item) => item.sourceBranch === refsHeadBranchName,\n );\n\n if (prTitle) {\n prsFiltered = prsFiltered.filter(\n (item) => item.title.toUpperCase() === prTitle.toUpperCase(),\n );\n }\n\n switch (state) {\n case 'all':\n break;\n case '!open':\n prsFiltered = prsFiltered.filter((item) => item.state !== 'open');\n break;\n default:\n prsFiltered = prsFiltered.filter((item) => item.state === 'open');\n break;\n }\n } catch (err) {\n logger.error({ err }, 'findPr error');\n }\n if (prsFiltered.length === 0) {\n return null;\n }\n return prsFiltered[0];\n}\n\nexport async function getBranchPr(\n branchName: string,\n): Promise<CodeCommitPr | null> {\n logger.debug(`getBranchPr(${branchName})`);\n const existingPr = await findPr({\n branchName,\n state: 'open',\n });\n return existingPr ? getPr(existingPr.number) : null;\n}\n\nexport async function getPr(\n pullRequestId: number,\n): Promise<CodeCommitPr | null> {\n logger.debug(`getPr(${pullRequestId})`);\n const prRes = await client.getPr(`${pullRequestId}`);\n\n if (!prRes?.pullRequest) {\n return null;\n }\n\n const prInfo = prRes.pullRequest;\n let prState: PrState;\n if (prInfo.pullRequestTargets![0].mergeMetadata?.isMerged) {\n prState = 'merged';\n } else {\n prState =\n prInfo.pullRequestStatus === PullRequestStatusEnum.OPEN\n ? 'open'\n : 'closed';\n }\n\n return {\n sourceBranch: prInfo.pullRequestTargets![0].sourceReference!,\n sourceCommit: prInfo.pullRequestTargets![0].sourceCommit!,\n state: prState,\n number: pullRequestId,\n title: prInfo.title!,\n targetBranch: prInfo.pullRequestTargets![0].destinationReference!,\n destinationCommit: prInfo.pullRequestTargets![0].destinationCommit!,\n body: prInfo.description!,\n };\n}\n\nexport async function getRepos(): Promise<string[]> {\n logger.debug('Autodiscovering AWS CodeCommit repositories');\n\n let reposRes: ListRepositoriesOutput;\n try {\n reposRes = await client.listRepositories();\n //todo do we need pagination? maximum number of repos is 1000 without pagination, also the same for free account\n } catch (error) {\n logger.error({ error }, 'Could not retrieve repositories');\n return [];\n }\n\n const res: string[] = [];\n\n const repoNames = coerceArray(reposRes?.repositories);\n\n for (const repo of repoNames) {\n if (repo.repositoryName) {\n res.push(repo.repositoryName);\n }\n }\n\n return res;\n}\n\nexport function massageMarkdown(input: string): string {\n // Remove any HTML we use\n return input\n .replace(\n 'you tick the rebase/retry checkbox',\n 'PR is renamed to start with \"rebase!\"',\n )\n .replace(\n 'checking the rebase/retry box above',\n 'renaming the PR to start with \"rebase!\"',\n )\n .replace(regEx(/<\\/?summary>/g), '**')\n .replace(regEx(/<\\/?details>/g), '')\n .replace(regEx(`\\n---\\n\\n.*?<!-- rebase-check -->.*?\\n`), '')\n .replace(regEx(/\\]\\(\\.\\.\\/pull\\//g), '](../../pull-requests/')\n .replace(\n regEx(/(?<hiddenComment><!--renovate-(?:debug|config-hash):.*?-->)/g),\n '[//]: # ($<hiddenComment>)',\n );\n}\n\n/**\n * Unsed, no Dashboard\n */\nexport function maxBodyLength(): number {\n return Infinity;\n}\n\nexport async function getJsonFile(\n fileName: string,\n repoName?: string,\n branchOrTag?: string,\n): Promise<any> {\n const raw = await getRawFile(fileName, repoName, branchOrTag);\n return parseJson(raw, fileName);\n}\n\nexport async function getRawFile(\n fileName: string,\n repoName?: string,\n branchOrTag?: string,\n): Promise<string | null> {\n const fileRes = await client.getFile(\n repoName ?? config.repository,\n fileName,\n branchOrTag,\n );\n if (!fileRes?.fileContent) {\n return null;\n }\n const buf = Buffer.from(fileRes.fileContent);\n return buf.toString();\n}\n\nconst AMAZON_MAX_BODY_LENGTH = 10239;\n\nexport async function createPr({\n sourceBranch,\n targetBranch,\n prTitle: title,\n prBody: body,\n}: CreatePRConfig): Promise<CodeCommitPr> {\n const description = smartTruncate(sanitize(body), AMAZON_MAX_BODY_LENGTH);\n\n const prCreateRes = await client.createPr(\n title,\n sanitize(description),\n sourceBranch,\n targetBranch,\n config.repository,\n );\n\n if (\n !prCreateRes.pullRequest?.title ||\n !prCreateRes.pullRequest?.pullRequestId ||\n !prCreateRes.pullRequest?.description ||\n !prCreateRes.pullRequest?.pullRequestTargets?.length\n ) {\n throw new Error('Could not create pr, missing PR info');\n }\n\n return {\n number: Number.parseInt(prCreateRes.pullRequest.pullRequestId),\n state: 'open',\n title: prCreateRes.pullRequest.title,\n sourceBranch,\n targetBranch,\n sourceCommit: prCreateRes.pullRequest.pullRequestTargets[0].sourceCommit!,\n destinationCommit:\n prCreateRes.pullRequest.pullRequestTargets[0].destinationCommit!,\n sourceRepo: config.repository,\n body: prCreateRes.pullRequest.description,\n };\n}\n\nexport async function updatePr({\n number: prNo,\n prTitle: title,\n prBody: body,\n state,\n}: UpdatePrConfig): Promise<void> {\n logger.debug(`updatePr(${prNo}, ${title}, body)`);\n\n let cachedPr: CodeCommitPr | undefined = undefined;\n const cachedPrs = config.prList ?? [];\n for (const p of cachedPrs) {\n if (p.number === prNo) {\n cachedPr = p;\n }\n }\n\n if (body && cachedPr?.body !== body) {\n await client.updatePrDescription(\n `${prNo}`,\n smartTruncate(sanitize(body), AMAZON_MAX_BODY_LENGTH),\n );\n }\n\n if (title && cachedPr?.title !== title) {\n await client.updatePrTitle(`${prNo}`, title);\n }\n\n const prStatusInput =\n state === 'closed'\n ? PullRequestStatusEnum.CLOSED\n : PullRequestStatusEnum.OPEN;\n if (cachedPr?.state !== prStatusInput) {\n try {\n await client.updatePrStatus(`${prNo}`, prStatusInput);\n } catch {\n // safety check\n // do nothing, it's ok to fail sometimes when trying to update from open to open or from closed to closed.\n }\n }\n}\n\n// Auto-Merge not supported currently.\n/* v8 ignore next */\nexport async function mergePr({\n branchName,\n id: prNo,\n strategy,\n}: MergePRConfig): Promise<boolean> {\n logger.debug(`mergePr(${prNo}, ${branchName!})`);\n await client.getPr(`${prNo}`);\n return Promise.resolve(false);\n //\n // /* v8 ignore next */\n // if (!prOut) {\n // return false;\n // }\n // const pReq = prOut.pullRequest;\n // const targets = pReq?.pullRequestTargets;\n //\n // /* v8 ignore next */\n // if (!targets) {\n // return false;\n // }\n //\n // if (strategy === 'rebase') {\n // logger.warn('CodeCommit does not support a \"rebase\" strategy.');\n // return false;\n // }\n //\n // try {\n // if (strategy === 'auto' || strategy === 'squash') {\n // await client.squashMerge(\n // targets[0].repositoryName!,\n // targets[0].sourceReference!,\n // targets[0].destinationReference!,\n // pReq?.title\n // );\n // } else if (strategy === 'fast-forward') {\n // await client.fastForwardMerge(\n // targets[0].repositoryName!,\n // targets[0].sourceReference!,\n // targets[0].destinationReference!\n // );\n // } else {\n // logger.debug(`unsupported strategy`);\n // return false;\n // }\n // } catch (err) {\n // logger.debug({ err }, `PR merge error`);\n // logger.info({ pr: prNo }, 'PR automerge failed');\n // return false;\n // }\n //\n // logger.trace(`Updating PR ${prNo} to status ${PullRequestStatusEnum.CLOSED}`);\n //\n // try {\n // const response = await client.updatePrStatus(\n // `${prNo}`,\n // PullRequestStatusEnum.CLOSED\n // );\n // const isClosed =\n // response.pullRequest?.pullRequestStatus === PullRequestStatusEnum.CLOSED;\n //\n // if (!isClosed) {\n // logger.warn(\n // {\n // pullRequestId: prNo,\n // status: response.pullRequest?.pullRequestStatus,\n // },\n // `Expected PR to have status`\n // );\n // }\n // return true;\n // } catch (err) {\n // logger.debug({ err }, 'Failed to set the PR as Closed.');\n // return false;\n // }\n}\n\nexport async function addReviewers(\n prNo: number,\n reviewers: string[],\n): Promise<void> {\n const numberOfApprovers = reviewers.length;\n const approvalRuleContents = `{\"Version\":\"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\":${numberOfApprovers},\"ApprovalPoolMembers\": ${JSON.stringify(\n reviewers,\n )}}]}`;\n const res = await client.createPrApprovalRule(\n `${prNo}`,\n approvalRuleContents,\n );\n if (res) {\n const approvalRule = res.approvalRule;\n logger.debug({ approvalRule }, `Approval Rule Added to PR #${prNo}:`);\n }\n}\n\n/* v8 ignore next */\nexport function addAssignees(iid: number, assignees: string[]): Promise<void> {\n // CodeCommit does not support adding reviewers\n return Promise.resolve();\n}\n\n/* v8 ignore next */\nexport function findIssue(title: string): Promise<Issue | null> {\n // CodeCommit does not have issues\n return Promise.resolve(null);\n}\n\n/* v8 ignore next */\nexport function ensureIssue({\n title,\n}: EnsureIssueConfig): Promise<EnsureIssueResult | null> {\n // CodeCommit does not have issues\n return Promise.resolve(null);\n}\n\n/* v8 ignore next */\nexport function getIssueList(): Promise<Issue[]> {\n // CodeCommit does not have issues\n return Promise.resolve([]);\n}\n\n/* v8 ignore next */\nexport function ensureIssueClosing(title: string): Promise<void> {\n // CodeCommit does not have issues\n return Promise.resolve();\n}\n\n/* v8 ignore next */\nexport function deleteLabel(prNumber: number, label: string): Promise<void> {\n return Promise.resolve();\n}\n\n// Returns the combined status for a branch.\n/* v8 ignore next */\nexport function getBranchStatus(branchName: string): Promise<BranchStatus> {\n logger.debug(`getBranchStatus(${branchName})`);\n logger.debug(\n 'returning branch status yellow, because getBranchStatus isnt supported on aws yet',\n );\n return Promise.resolve('yellow');\n}\n\n/* v8 ignore next */\nexport function getBranchStatusCheck(\n branchName: string,\n context: string,\n): Promise<BranchStatus | null> {\n logger.debug(`getBranchStatusCheck(${branchName}, context=${context})`);\n logger.debug(\n 'returning null, because getBranchStatusCheck is not supported on aws yet',\n );\n return Promise.resolve(null);\n}\n\n/* v8 ignore next */\nexport function setBranchStatus({\n branchName,\n context,\n description,\n state,\n url: targetUrl,\n}: BranchStatusConfig): Promise<void> {\n return Promise.resolve();\n}\n\nexport async function ensureComment({\n number,\n topic,\n content,\n}: EnsureCommentConfig): Promise<boolean> {\n logger.debug(`ensureComment(${number}, ${topic!}, content)`);\n const header = topic ? `### ${topic}\\n\\n` : '';\n const body = `${header}${sanitize(content)}`;\n let prCommentsResponse: GetCommentsForPullRequestOutput;\n try {\n prCommentsResponse = await client.getPrComments(`${number}`);\n } catch (err) {\n logger.debug({ err }, 'Unable to retrieve pr comments');\n return false;\n }\n\n let commentId: string | undefined = undefined;\n let commentNeedsUpdating = false;\n\n if (!prCommentsResponse?.commentsForPullRequestData) {\n return false;\n }\n\n for (const commentObj of prCommentsResponse.commentsForPullRequestData) {\n if (!commentObj?.comments) {\n continue;\n }\n const firstCommentContent = commentObj.comments[0].content;\n if (\n (topic && firstCommentContent?.startsWith(header)) === true ||\n (!topic && firstCommentContent === body)\n ) {\n commentId = commentObj.comments[0].commentId;\n commentNeedsUpdating = firstCommentContent !== body;\n break;\n }\n }\n\n if (!commentId) {\n const prs = await getPrList();\n const thisPr = prs.filter((item) => item.number === number);\n\n if (!thisPr[0].sourceCommit || !thisPr[0].destinationCommit) {\n return false;\n }\n\n await client.createPrComment(\n `${number}`,\n config.repository,\n body,\n thisPr[0].destinationCommit,\n thisPr[0].sourceCommit,\n );\n logger.info(\n { repository: config.repository, prNo: number, topic },\n 'Comment added',\n );\n } else if (commentNeedsUpdating && commentId) {\n await client.updateComment(commentId, body);\n\n logger.debug(\n { repository: config.repository, prNo: number, topic },\n 'Comment updated',\n );\n } else {\n logger.debug(\n { repository: config.repository, prNo: number, topic },\n 'Comment is already update-to-date',\n );\n }\n\n return true;\n}\n\nexport async function ensureCommentRemoval(\n removeConfig: EnsureCommentRemovalConfig,\n): Promise<void> {\n const { number: prNo } = removeConfig;\n const key =\n removeConfig.type === 'by-topic'\n ? removeConfig.topic\n : removeConfig.content;\n logger.debug(`Ensuring comment \"${key}\" in #${prNo} is removed`);\n\n let prCommentsResponse: GetCommentsForPullRequestOutput;\n try {\n prCommentsResponse = await client.getPrComments(`${prNo}`);\n } catch (err) {\n logger.debug({ err }, 'Unable to retrieve pr comments');\n return;\n }\n\n if (!prCommentsResponse?.commentsForPullRequestData) {\n logger.debug('commentsForPullRequestData not found');\n return;\n }\n\n let commentIdToRemove: string | undefined;\n for (const commentObj of prCommentsResponse.commentsForPullRequestData) {\n if (!commentObj?.comments) {\n logger.debug(\n 'comments object not found under commentsForPullRequestData',\n );\n continue;\n }\n\n for (const comment of commentObj.comments) {\n if (\n (removeConfig.type === 'by-topic' &&\n comment.content?.startsWith(`### ${removeConfig.topic}\\n\\n`)) ===\n true ||\n (removeConfig.type === 'by-content' &&\n removeConfig.content === comment.content?.trim())\n ) {\n commentIdToRemove = comment.commentId;\n break;\n }\n }\n if (commentIdToRemove) {\n await client.deleteComment(commentIdToRemove);\n logger.debug(`comment \"${key}\" in PR #${prNo} was removed`);\n break;\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/platform/codecommit/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Buffer } from 'node:buffer';\nimport type {\n GetCommentsForPullRequestOutput,\n ListRepositoriesOutput,\n} from '@aws-sdk/client-codecommit';\nimport { PullRequestStatusEnum } from '@aws-sdk/client-codecommit';\nimport {\n PLATFORM_BAD_CREDENTIALS,\n REPOSITORY_EMPTY,\n REPOSITORY_NOT_FOUND,\n} from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport type { BranchStatus, PrState } from '../../../types';\nimport { coerceArray } from '../../../util/array';\nimport { parseJson } from '../../../util/common';\nimport * as git from '../../../util/git';\nimport { regEx } from '../../../util/regex';\nimport { sanitize } from '../../../util/sanitize';\nimport type {\n BranchStatusConfig,\n CreatePRConfig,\n EnsureCommentConfig,\n EnsureCommentRemovalConfig,\n EnsureIssueConfig,\n EnsureIssueResult,\n FindPRConfig,\n Issue,\n MergePRConfig,\n PlatformParams,\n PlatformResult,\n Pr,\n RepoParams,\n RepoResult,\n UpdatePrConfig,\n} from '../types';\nimport { getNewBranchName, repoFingerprint } from '../util';\nimport { smartTruncate } from '../utils/pr-body';\nimport * as client from './codecommit-client';\n\nexport interface CodeCommitPr extends Pr {\n body: string;\n destinationCommit: string;\n sourceCommit: string;\n}\n\ninterface Config {\n repository?: string;\n defaultBranch?: string;\n region?: string;\n prList?: CodeCommitPr[];\n}\n\nexport const id = 'codecommit';\n\nconst platformConfig = {\n endpoint: 'https://git-codecommit.us-east-1.amazonaws.com',\n};\n\nlet config: Config = {} as any;\n\nexport async function initPlatform({\n endpoint,\n username,\n password,\n token: awsToken,\n}: PlatformParams): Promise<PlatformResult> {\n const accessKeyId = username;\n const secretAccessKey = password;\n const env = process.env;\n let region: string | undefined;\n\n if (accessKeyId) {\n env.AWS_ACCESS_KEY_ID = accessKeyId;\n }\n if (secretAccessKey) {\n env.AWS_SECRET_ACCESS_KEY = secretAccessKey;\n }\n if (awsToken) {\n env.AWS_SESSION_TOKEN = awsToken;\n }\n\n if (endpoint) {\n const regionReg = regEx(/.*codecommit\\.(?<region>.+)\\.amazonaws\\.com/);\n const codeCommitMatch = regionReg.exec(endpoint);\n region = codeCommitMatch?.groups?.region;\n if (region) {\n env.AWS_REGION = region;\n } else {\n logger.warn(\"Can't parse region, make sure your endpoint is correct\");\n }\n }\n\n // If any of the below fails, it will throw an exception stopping the program.\n client.buildCodeCommitClient();\n // To check if we have permission to codecommit, throws exception if failed.\n await client.listRepositories();\n\n platformConfig.endpoint =\n endpoint ??\n `https://git-codecommit.${env.AWS_REGION ?? 'us-east-1'}.amazonaws.com/`;\n\n const platformResult: PlatformResult = {\n endpoint: platformConfig.endpoint,\n };\n return platformResult;\n}\n\nexport async function initRepo({\n repository,\n}: RepoParams): Promise<RepoResult> {\n logger.debug(`initRepo(\"${repository}\")`);\n\n config = { repository } as Config;\n\n let repo;\n try {\n repo = await client.getRepositoryInfo(repository);\n } catch (err) {\n logger.error({ err }, 'Could not find repository');\n throw new Error(REPOSITORY_NOT_FOUND);\n }\n\n if (!repo?.repositoryMetadata) {\n logger.error({ repository }, 'Could not find repository');\n throw new Error(REPOSITORY_NOT_FOUND);\n }\n logger.debug({ repositoryDetails: repo }, 'Repository details');\n const metadata = repo.repositoryMetadata;\n\n const url = client.getCodeCommitUrl(metadata, repository);\n try {\n await git.initRepo({\n url,\n });\n } catch (err) {\n logger.debug({ err }, 'Failed to git init');\n throw new Error(PLATFORM_BAD_CREDENTIALS);\n }\n\n if (!metadata.defaultBranch || !metadata.repositoryId) {\n logger.debug('Repo is empty');\n throw new Error(REPOSITORY_EMPTY);\n }\n\n const defaultBranch = metadata.defaultBranch;\n config.defaultBranch = defaultBranch;\n logger.debug(`${repository} default branch = ${defaultBranch}`);\n\n return {\n repoFingerprint: repoFingerprint(\n metadata.repositoryId,\n platformConfig.endpoint,\n ),\n defaultBranch,\n isFork: false,\n };\n}\n\nexport async function getPrList(): Promise<CodeCommitPr[]> {\n logger.debug('getPrList()');\n\n if (config.prList) {\n return config.prList;\n }\n\n const listPrsResponse = await client.listPullRequests(config.repository!);\n const fetchedPrs: CodeCommitPr[] = [];\n\n if (listPrsResponse && !listPrsResponse.pullRequestIds) {\n return fetchedPrs;\n }\n\n const prIds = coerceArray(listPrsResponse.pullRequestIds);\n\n for (const prId of prIds) {\n const prRes = await client.getPr(prId);\n\n if (!prRes?.pullRequest) {\n continue;\n }\n const prInfo = prRes.pullRequest;\n const pr: CodeCommitPr = {\n targetBranch: prInfo.pullRequestTargets![0].destinationReference!,\n sourceBranch: prInfo.pullRequestTargets![0].sourceReference!,\n destinationCommit: prInfo.pullRequestTargets![0].destinationCommit!,\n sourceCommit: prInfo.pullRequestTargets![0].sourceCommit!,\n state:\n prInfo.pullRequestStatus === PullRequestStatusEnum.OPEN\n ? 'open'\n : 'closed',\n number: Number.parseInt(prId),\n title: prInfo.title!,\n body: prInfo.description!,\n createdAt: prInfo.creationDate?.toISOString(),\n };\n fetchedPrs.push(pr);\n }\n\n config.prList = fetchedPrs;\n\n logger.debug(`Retrieved Pull Requests, count: ${fetchedPrs.length}`);\n return fetchedPrs;\n}\n\nexport async function findPr({\n branchName,\n prTitle,\n state = 'all',\n}: FindPRConfig): Promise<CodeCommitPr | null> {\n let prsFiltered: CodeCommitPr[] = [];\n try {\n const prs = await getPrList();\n const refsHeadBranchName = getNewBranchName(branchName);\n prsFiltered = prs.filter(\n (item) => item.sourceBranch === refsHeadBranchName,\n );\n\n if (prTitle) {\n prsFiltered = prsFiltered.filter(\n (item) => item.title.toUpperCase() === prTitle.toUpperCase(),\n );\n }\n\n switch (state) {\n case 'all':\n break;\n case '!open':\n prsFiltered = prsFiltered.filter((item) => item.state !== 'open');\n break;\n default:\n prsFiltered = prsFiltered.filter((item) => item.state === 'open');\n break;\n }\n } catch (err) {\n logger.error({ err }, 'findPr error');\n }\n if (prsFiltered.length === 0) {\n return null;\n }\n return prsFiltered[0];\n}\n\nexport async function getBranchPr(\n branchName: string,\n): Promise<CodeCommitPr | null> {\n logger.debug(`getBranchPr(${branchName})`);\n const existingPr = await findPr({\n branchName,\n state: 'open',\n });\n return existingPr ? getPr(existingPr.number) : null;\n}\n\nexport async function getPr(\n pullRequestId: number,\n): Promise<CodeCommitPr | null> {\n logger.debug(`getPr(${pullRequestId})`);\n const prRes = await client.getPr(`${pullRequestId}`);\n\n if (!prRes?.pullRequest) {\n return null;\n }\n\n const prInfo = prRes.pullRequest;\n let prState: PrState;\n if (prInfo.pullRequestTargets![0].mergeMetadata?.isMerged) {\n prState = 'merged';\n } else {\n prState =\n prInfo.pullRequestStatus === PullRequestStatusEnum.OPEN\n ? 'open'\n : 'closed';\n }\n\n return {\n sourceBranch: prInfo.pullRequestTargets![0].sourceReference!,\n sourceCommit: prInfo.pullRequestTargets![0].sourceCommit!,\n state: prState,\n number: pullRequestId,\n title: prInfo.title!,\n targetBranch: prInfo.pullRequestTargets![0].destinationReference!,\n destinationCommit: prInfo.pullRequestTargets![0].destinationCommit!,\n body: prInfo.description!,\n };\n}\n\nexport async function getRepos(): Promise<string[]> {\n logger.debug('Autodiscovering AWS CodeCommit repositories');\n\n let reposRes: ListRepositoriesOutput;\n try {\n reposRes = await client.listRepositories();\n //todo do we need pagination? maximum number of repos is 1000 without pagination, also the same for free account\n } catch (error) {\n logger.error({ error }, 'Could not retrieve repositories');\n return [];\n }\n\n const res: string[] = [];\n\n const repoNames = coerceArray(reposRes?.repositories);\n\n for (const repo of repoNames) {\n if (repo.repositoryName) {\n res.push(repo.repositoryName);\n }\n }\n\n return res;\n}\n\nexport function massageMarkdown(input: string): string {\n // Remove any HTML we use\n return input\n .replace(\n 'you tick the rebase/retry checkbox',\n 'PR is renamed to start with \"rebase!\"',\n )\n .replace(\n 'checking the rebase/retry box above',\n 'renaming the PR to start with \"rebase!\"',\n )\n .replace(regEx(/<\\/?summary>/g), '**')\n .replace(regEx(/<\\/?details>/g), '')\n .replace(regEx(`\\n---\\n\\n.*?<!-- rebase-check -->.*?\\n`), '')\n .replace(regEx(/\\]\\(\\.\\.\\/pull\\//g), '](../../pull-requests/')\n .replace(\n regEx(/(?<hiddenComment><!--renovate-(?:debug|config-hash):.*?-->)/g),\n '[//]: # ($<hiddenComment>)',\n );\n}\n\n/**\n * Unsed, no Dashboard\n */\nexport function maxBodyLength(): number {\n return Infinity;\n}\n\nexport async function getJsonFile(\n fileName: string,\n repoName?: string,\n branchOrTag?: string,\n): Promise<any> {\n const raw = await getRawFile(fileName, repoName, branchOrTag);\n return parseJson(raw, fileName);\n}\n\nexport async function getRawFile(\n fileName: string,\n repoName?: string,\n branchOrTag?: string,\n): Promise<string | null> {\n const fileRes = await client.getFile(\n repoName ?? config.repository,\n fileName,\n branchOrTag,\n );\n if (!fileRes?.fileContent) {\n return null;\n }\n const buf = Buffer.from(fileRes.fileContent);\n return buf.toString();\n}\n\nconst AMAZON_MAX_BODY_LENGTH = 10239;\n\nexport async function createPr({\n sourceBranch,\n targetBranch,\n prTitle: title,\n prBody: body,\n}: CreatePRConfig): Promise<CodeCommitPr> {\n const description = smartTruncate(sanitize(body), AMAZON_MAX_BODY_LENGTH);\n\n const prCreateRes = await client.createPr(\n title,\n sanitize(description),\n sourceBranch,\n targetBranch,\n config.repository,\n );\n\n if (\n !prCreateRes.pullRequest?.title ||\n !prCreateRes.pullRequest?.pullRequestId ||\n !prCreateRes.pullRequest?.description ||\n !prCreateRes.pullRequest?.pullRequestTargets?.length\n ) {\n throw new Error('Could not create pr, missing PR info');\n }\n\n return {\n number: Number.parseInt(prCreateRes.pullRequest.pullRequestId),\n state: 'open',\n title: prCreateRes.pullRequest.title,\n sourceBranch,\n targetBranch,\n sourceCommit: prCreateRes.pullRequest.pullRequestTargets[0].sourceCommit!,\n destinationCommit:\n prCreateRes.pullRequest.pullRequestTargets[0].destinationCommit!,\n sourceRepo: config.repository,\n body: prCreateRes.pullRequest.description,\n };\n}\n\nexport async function updatePr({\n number: prNo,\n prTitle: title,\n prBody: body,\n state,\n}: UpdatePrConfig): Promise<void> {\n logger.debug(`updatePr(${prNo}, ${title}, body)`);\n\n let cachedPr: CodeCommitPr | undefined = undefined;\n const cachedPrs = config.prList ?? [];\n for (const p of cachedPrs) {\n if (p.number === prNo) {\n cachedPr = p;\n }\n }\n\n if (body && cachedPr?.body !== body) {\n await client.updatePrDescription(\n `${prNo}`,\n smartTruncate(sanitize(body), AMAZON_MAX_BODY_LENGTH),\n );\n }\n\n if (title && cachedPr?.title !== title) {\n await client.updatePrTitle(`${prNo}`, title);\n }\n\n const prStatusInput =\n state === 'closed'\n ? PullRequestStatusEnum.CLOSED\n : PullRequestStatusEnum.OPEN;\n if (cachedPr?.state !== prStatusInput) {\n try {\n await client.updatePrStatus(`${prNo}`, prStatusInput);\n } catch {\n // safety check\n // do nothing, it's ok to fail sometimes when trying to update from open to open or from closed to closed.\n }\n }\n}\n\n// Auto-Merge not supported currently.\n/* v8 ignore next */\nexport async function mergePr({\n branchName,\n id: prNo,\n strategy,\n}: MergePRConfig): Promise<boolean> {\n logger.debug(`mergePr(${prNo}, ${branchName!})`);\n await client.getPr(`${prNo}`);\n return Promise.resolve(false);\n //\n // /* v8 ignore next */\n // if (!prOut) {\n // return false;\n // }\n // const pReq = prOut.pullRequest;\n // const targets = pReq?.pullRequestTargets;\n //\n // /* v8 ignore next */\n // if (!targets) {\n // return false;\n // }\n //\n // if (strategy === 'rebase') {\n // logger.warn('CodeCommit does not support a \"rebase\" strategy.');\n // return false;\n // }\n //\n // try {\n // if (strategy === 'auto' || strategy === 'squash') {\n // await client.squashMerge(\n // targets[0].repositoryName!,\n // targets[0].sourceReference!,\n // targets[0].destinationReference!,\n // pReq?.title\n // );\n // } else if (strategy === 'fast-forward') {\n // await client.fastForwardMerge(\n // targets[0].repositoryName!,\n // targets[0].sourceReference!,\n // targets[0].destinationReference!\n // );\n // } else {\n // logger.debug(`unsupported strategy`);\n // return false;\n // }\n // } catch (err) {\n // logger.debug({ err }, `PR merge error`);\n // logger.info({ pr: prNo }, 'PR automerge failed');\n // return false;\n // }\n //\n // logger.trace(`Updating PR ${prNo} to status ${PullRequestStatusEnum.CLOSED}`);\n //\n // try {\n // const response = await client.updatePrStatus(\n // `${prNo}`,\n // PullRequestStatusEnum.CLOSED\n // );\n // const isClosed =\n // response.pullRequest?.pullRequestStatus === PullRequestStatusEnum.CLOSED;\n //\n // if (!isClosed) {\n // logger.warn(\n // {\n // pullRequestId: prNo,\n // status: response.pullRequest?.pullRequestStatus,\n // },\n // `Expected PR to have status`\n // );\n // }\n // return true;\n // } catch (err) {\n // logger.debug({ err }, 'Failed to set the PR as Closed.');\n // return false;\n // }\n}\n\nexport async function addReviewers(\n prNo: number,\n reviewers: string[],\n): Promise<void> {\n const numberOfApprovers = reviewers.length;\n const approvalRuleContents = `{\"Version\":\"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\":${numberOfApprovers},\"ApprovalPoolMembers\": ${JSON.stringify(\n reviewers,\n )}}]}`;\n const res = await client.createPrApprovalRule(\n `${prNo}`,\n approvalRuleContents,\n );\n if (res) {\n const approvalRule = res.approvalRule;\n logger.debug({ approvalRule }, `Approval Rule Added to PR #${prNo}:`);\n }\n}\n\n/* v8 ignore next */\nexport function addAssignees(iid: number, assignees: string[]): Promise<void> {\n // CodeCommit does not support adding reviewers\n return Promise.resolve();\n}\n\n/* v8 ignore next */\nexport function findIssue(title: string): Promise<Issue | null> {\n // CodeCommit does not have issues\n return Promise.resolve(null);\n}\n\n/* v8 ignore next */\nexport function ensureIssue({\n title,\n}: EnsureIssueConfig): Promise<EnsureIssueResult | null> {\n // CodeCommit does not have issues\n return Promise.resolve(null);\n}\n\n/* v8 ignore next */\nexport function getIssueList(): Promise<Issue[]> {\n // CodeCommit does not have issues\n return Promise.resolve([]);\n}\n\n/* v8 ignore next */\nexport function ensureIssueClosing(title: string): Promise<void> {\n // CodeCommit does not have issues\n return Promise.resolve();\n}\n\n/* v8 ignore next */\nexport function deleteLabel(prNumber: number, label: string): Promise<void> {\n return Promise.resolve();\n}\n\n// Returns the combined status for a branch.\n/* v8 ignore next */\nexport function getBranchStatus(branchName: string): Promise<BranchStatus> {\n logger.debug(`getBranchStatus(${branchName})`);\n logger.debug(\n 'returning branch status yellow, because getBranchStatus isnt supported on aws yet',\n );\n return Promise.resolve('yellow');\n}\n\n/* v8 ignore next */\nexport function getBranchStatusCheck(\n branchName: string,\n context: string,\n): Promise<BranchStatus | null> {\n logger.debug(`getBranchStatusCheck(${branchName}, context=${context})`);\n logger.debug(\n 'returning null, because getBranchStatusCheck is not supported on aws yet',\n );\n return Promise.resolve(null);\n}\n\n/* v8 ignore next */\nexport function setBranchStatus({\n branchName,\n context,\n description,\n state,\n url: targetUrl,\n}: BranchStatusConfig): Promise<void> {\n return Promise.resolve();\n}\n\nexport async function ensureComment({\n number,\n topic,\n content,\n}: EnsureCommentConfig): Promise<boolean> {\n logger.debug(`ensureComment(${number}, ${topic!}, content)`);\n const header = topic ? `### ${topic}\\n\\n` : '';\n const body = `${header}${sanitize(content)}`;\n let prCommentsResponse: GetCommentsForPullRequestOutput;\n try {\n prCommentsResponse = await client.getPrComments(`${number}`);\n } catch (err) {\n logger.debug({ err }, 'Unable to retrieve pr comments');\n return false;\n }\n\n let commentId: string | undefined = undefined;\n let commentNeedsUpdating = false;\n\n if (!prCommentsResponse?.commentsForPullRequestData) {\n return false;\n }\n\n for (const commentObj of prCommentsResponse.commentsForPullRequestData) {\n if (!commentObj?.comments) {\n continue;\n }\n const firstCommentContent = commentObj.comments[0].content;\n if (\n (topic && firstCommentContent?.startsWith(header)) === true ||\n (!topic && firstCommentContent === body)\n ) {\n commentId = commentObj.comments[0].commentId;\n commentNeedsUpdating = firstCommentContent !== body;\n break;\n }\n }\n\n if (!commentId) {\n const prs = await getPrList();\n const thisPr = prs.filter((item) => item.number === number);\n\n if (!thisPr[0].sourceCommit || !thisPr[0].destinationCommit) {\n return false;\n }\n\n await client.createPrComment(\n `${number}`,\n config.repository,\n body,\n thisPr[0].destinationCommit,\n thisPr[0].sourceCommit,\n );\n logger.info(\n { repository: config.repository, prNo: number, topic },\n 'Comment added',\n );\n } else if (commentNeedsUpdating && commentId) {\n await client.updateComment(commentId, body);\n\n logger.debug(\n { repository: config.repository, prNo: number, topic },\n 'Comment updated',\n );\n } else {\n logger.debug(\n { repository: config.repository, prNo: number, topic },\n 'Comment is already update-to-date',\n );\n }\n\n return true;\n}\n\nexport async function ensureCommentRemoval(\n removeConfig: EnsureCommentRemovalConfig,\n): Promise<void> {\n const { number: prNo } = removeConfig;\n const key =\n removeConfig.type === 'by-topic'\n ? removeConfig.topic\n : removeConfig.content;\n logger.debug(`Ensuring comment \"${key}\" in #${prNo} is removed`);\n\n let prCommentsResponse: GetCommentsForPullRequestOutput;\n try {\n prCommentsResponse = await client.getPrComments(`${prNo}`);\n } catch (err) {\n logger.debug({ err }, 'Unable to retrieve pr comments');\n return;\n }\n\n if (!prCommentsResponse?.commentsForPullRequestData) {\n logger.debug('commentsForPullRequestData not found');\n return;\n }\n\n let commentIdToRemove: string | undefined;\n for (const commentObj of prCommentsResponse.commentsForPullRequestData) {\n if (!commentObj?.comments) {\n logger.debug(\n 'comments object not found under commentsForPullRequestData',\n );\n continue;\n }\n\n for (const comment of commentObj.comments) {\n if (\n (removeConfig.type === 'by-topic' &&\n comment.content?.startsWith(`### ${removeConfig.topic}\\n\\n`)) ===\n true ||\n (removeConfig.type === 'by-content' &&\n removeConfig.content === comment.content?.trim())\n ) {\n commentIdToRemove = comment.commentId;\n break;\n }\n }\n if (commentIdToRemove) {\n await client.deleteComment(commentIdToRemove);\n logger.debug(`comment \"${key}\" in PR #${prNo} was removed`);\n break;\n }\n }\n}\n"]}
|
|
@@ -74,7 +74,7 @@ function mapGerritChangeToPr(change, knownProperties) {
|
|
|
74
74
|
sourceBranch,
|
|
75
75
|
targetBranch: change.branch,
|
|
76
76
|
title: change.subject,
|
|
77
|
-
createdAt: change.created
|
|
77
|
+
createdAt: change.created.replace(' ', 'T'),
|
|
78
78
|
labels: change.hashtags,
|
|
79
79
|
reviewers: change.reviewers?.REVIEWER?.map((reviewer) => reviewer.username) ?? [],
|
|
80
80
|
bodyStruct: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/modules/platform/gerrit/utils.ts"],"names":[],"mappings":";;;AAkCA,4CA4BC;AAED,4DAcC;AAED,kDA2BC;AAED,sEAWC;AAED,kDAaC;AAED,kDASC;AAED,wDAcC;;AAlKD,sEAA+E;AAC/E,4CAAyC;AAGzC,4EAAsD;AACtD,+CAA4C;AAC5C,2CAA2D;AAC3D,wCAAsC;AASzB,QAAA,kBAAkB,GAAG,OAAO,CAAC;AAE7B,QAAA,qBAAqB,GAAG,cAAc,CAAC;AAEpD;;;GAGG;AACU,QAAA,uBAAuB,GAAG,EAAE,GAAG,IAAI,CAAC;AAEpC,QAAA,uBAAuB,GAA0B;IAC5D,UAAU,EAAE,qBAAqB;IACjC,QAAQ,EAAE,uBAAuB;IACjC,mBAAmB,EAAE,iCAAiC;IACtD,kBAAkB,EAAE,4BAA4B;IAChD,gBAAgB,EAAE,4BAA4B;CACtC,CAAC;AAEX,SAAgB,gBAAgB,CAAC,UAAkB,EAAE,QAAgB;IACnE,2DAA2D;IAC3D,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC1B,QAAQ,EAAE,QAAQ;QAClB,GAAG,EAAE,QAAQ;KACd,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,IAAA,cAAQ,EAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,2CAA0B,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IACD,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC7B,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC7B,GAAG,CAAC,QAAQ,GAAG,IAAA,kBAAY,EACzB,GAAG,CAAC,QAAQ,EACZ,GAAG,EACH,kBAAkB,CAAC,UAAU,CAAC,CAC/B,CAAC;IACF,eAAM,CAAC,KAAK,CACV,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,EACvB,wCAAwC,CACzC,CAAC;IACF,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,SAAgB,wBAAwB,CAAC,KAAe;IACtD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,eAAe,CAAC;QACzB,KAAK,MAAM;YACT,OAAO,aAAa,CAAC;QACvB,KAAK,QAAQ;YACX,OAAO,kBAAkB,CAAC;QAC5B,KAAK,OAAO;YACV,OAAO,cAAc,CAAC;QACxB,KAAK,KAAK,CAAC;QACX;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAgB,mBAAmB,CACjC,MAAoB,EACpB,eAGC;IAED,MAAM,YAAY,GAChB,eAAe,EAAE,YAAY,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC/D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,OAAO;QACtB,KAAK,EAAE,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC;QACnD,YAAY;QACZ,YAAY,EAAE,MAAM,CAAC,MAAM;QAC3B,KAAK,EAAE,MAAM,CAAC,OAAO;QACrB,SAAS,EAAE,MAAM,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/modules/platform/gerrit/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { CONFIG_GIT_URL_UNAVAILABLE } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport type { BranchStatus, PrState } from '../../../types';\nimport type { LongCommitSha } from '../../../util/git/types';\nimport * as hostRules from '../../../util/host-rules';\nimport { regEx } from '../../../util/regex';\nimport { joinUrlParts, parseUrl } from '../../../util/url';\nimport { hashBody } from '../pr-body';\nimport type { Pr } from '../types';\nimport type {\n GerritChange,\n GerritChangeStatus,\n GerritLabelTypeInfo,\n GerritRequestDetail,\n} from './types';\n\nexport const MIN_GERRIT_VERSION = '3.0.0';\n\nexport const TAG_PULL_REQUEST_BODY = 'pull-request';\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(repository: string, endpoint: 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 const url = parseUrl(endpoint);\n if (!url) {\n throw new Error(CONFIG_GIT_URL_UNAVAILABLE);\n }\n if (!(opts.username && opts.password)) {\n throw new Error(\n 'Init: You must configure a Gerrit Server username/password',\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 logger.trace(\n { url: url.toString() },\n 'using URL based on configured endpoint',\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: change.created.replace(' ', 'T'),\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: change.current_revision as LongCommitSha,\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 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));\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 */\n return label.default_value;\n}\n"]}
|
|
@@ -99,8 +99,15 @@ class PackageFiles {
|
|
|
99
99
|
else {
|
|
100
100
|
version = 'unknown version';
|
|
101
101
|
}
|
|
102
|
+
let updates = '';
|
|
103
|
+
const uniqueUpdates = [
|
|
104
|
+
...new Set(dep.updates?.map((update) => `\`${update.newValue}\``)),
|
|
105
|
+
];
|
|
106
|
+
if (uniqueUpdates.length > 0) {
|
|
107
|
+
updates = ` → [Updates: ${uniqueUpdates.join(', ')}]`;
|
|
108
|
+
}
|
|
102
109
|
// TODO: types (#22198)
|
|
103
|
-
deps += ` - \`${dep.depName} ${version}
|
|
110
|
+
deps += ` - \`${dep.depName} ${version}\`${updates}\n`;
|
|
104
111
|
}
|
|
105
112
|
deps += '\n</details>\n\n';
|
|
106
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-files.js","sourceRoot":"","sources":["../../../lib/workers/repository/package-files.ts"],"names":[],"mappings":"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","sourcesContent":["import { isEmptyArray, isEmptyObject, isTruthy } from '@sindresorhus/is';\nimport { logger } from '../../logger';\nimport type { PackageFile } from '../../modules/manager/types';\nimport { clone } from '../../util/clone';\n\nexport class PackageFiles {\n private static data = new Map<string, Record<string, PackageFile[]> | null>();\n\n static add(\n baseBranch: string,\n packageFiles: Record<string, PackageFile[]> | null,\n ): void {\n logger.debug(\n { baseBranch },\n `PackageFiles.add() - Package file saved for base branch`,\n );\n this.data.set(baseBranch, packageFiles);\n }\n\n static clear(): void {\n logger.debug('PackageFiles.clear() - Package files deleted');\n this.data.clear();\n }\n\n /**\n * Truncates the detected dependencies' section until it fits the available space\n * i.e. It has length smaller than maxLength.\n * This does not mutate the original PackageFiles data\n * Note: setHeader=false is used for testing purposes only\n * Mainly for comparing truncated and non-truncated markdown\n * @param maxLength\n * @param setHeader\n */\n static getDashboardMarkdown(maxLength: number, setHeader = true): string {\n const note =\n '> ℹ **Note**\\n> \\n> Detected dependencies section has been truncated\\n\\n';\n const title = `## Detected Dependencies\\n\\n`;\n\n // exclude header length from the available space\n const maxHeaderLen = setHeader ? (title + note).length : 0;\n const mdMaxLength = maxLength - maxHeaderLen;\n\n let md: string;\n let header = '';\n let removed = false;\n let truncated = false;\n\n const data = new Map(clone(Array.from(this.data)));\n\n // filter all deps with skip reason\n for (const managers of [...data.values()].filter(isTruthy)) {\n for (const files of Object.values(managers).filter(isTruthy)) {\n for (const file of files.filter((f) => isTruthy(f.deps))) {\n file.deps = file.deps.filter(isTruthy).filter((d) => !d.skipReason);\n }\n }\n }\n\n do {\n // shorten markdown until it fits\n md = PackageFiles.getDashboardMarkdownInternal(data);\n if (md.length > mdMaxLength) {\n // truncate data\n removed = PackageFiles.pop(data);\n }\n if (removed) {\n truncated = true; // used to set the truncation Note\n }\n } while (removed && md.length > mdMaxLength);\n\n header += title;\n header += truncated ? note : '';\n\n return (setHeader ? header : '') + md;\n }\n\n /**\n * Generates the \"detected dependencies\" markdown\n * @param data\n */\n private static getDashboardMarkdownInternal(\n data: Map<string, Record<string, PackageFile[]> | null>,\n ): string {\n const none = 'None detected\\n\\n';\n const pad = data.size > 1; // padding condition for a multi base branch repo\n let deps = '';\n\n for (const [branch, packageFiles] of Array.from(data).sort(([a], [b]) =>\n a.localeCompare(b, undefined, { numeric: true }),\n )) {\n deps += pad\n ? `<details><summary>Branch ${branch}</summary>\\n<blockquote>\\n\\n`\n : '';\n if (packageFiles === null) {\n deps += none;\n deps += pad ? '</blockquote>\\n</details>\\n\\n' : '';\n continue;\n }\n\n const managers = Object.keys(packageFiles).sort();\n if (managers.length === 0) {\n deps += none;\n deps += pad ? '</blockquote>\\n</details>\\n\\n' : '';\n continue;\n }\n\n for (const manager of managers) {\n const managerPackageFiles = Array.from(packageFiles[manager]).sort(\n (a, b) => a.packageFile.localeCompare(b.packageFile),\n );\n deps += `<details><summary>${manager} (${managerPackageFiles.length})</summary>\\n<blockquote>\\n\\n`;\n for (const packageFile of managerPackageFiles) {\n deps += `<details><summary>${packageFile.packageFile}${packageFile.deps.length > 0 ? ` (${packageFile.deps.length})` : ''}</summary>\\n\\n`;\n for (const dep of packageFile.deps) {\n const ver = dep.currentValue;\n const digest = dep.currentDigest;\n const lock = dep.lockedVersion;\n let version;\n if (ver || digest) {\n version = ver && digest ? `${ver}@${digest}` : `${digest ?? ver}`;\n } else if (lock) {\n version = `lock file @ ${lock}`;\n } else {\n version = 'unknown version';\n }\n // TODO: types (#22198)\n deps += ` - \\`${dep.depName!} ${version}\\`\\n`;\n }\n deps += '\\n</details>\\n\\n';\n }\n deps += `</blockquote>\\n</details>\\n\\n`;\n }\n deps += pad ? '</blockquote>\\n</details>\\n\\n' : '';\n }\n\n return deps;\n }\n\n /**\n * Removes the last dependency/entry in the PackageFiles data\n * i.e. the last line in the tobe generated detected dependency section\n * @param data\n * @Returns true if anything that translates to a markdown written line was deleted\n * otherwise false is returned\n */\n private static pop(\n data: Map<string, Record<string, PackageFile[]> | null>,\n ): boolean {\n // get detected managers list of the last listed base branch\n const [branch, managers] = Array.from(data).pop() ?? [];\n if (!branch) {\n return false;\n }\n\n // delete base branch listing if it has no managers left\n if (!managers || isEmptyObject(managers)) {\n return data.delete(branch);\n }\n\n // get all manifest files for the last listed manager\n const [manager, packageFiles] = Object.entries(managers).pop()!;\n\n // delete current manager if it has no manifest files left\n if (!packageFiles || isEmptyArray(packageFiles)) {\n return delete managers[manager];\n }\n\n // delete manifest file if it has no deps left\n const len = packageFiles.length - 1;\n if (isEmptyArray(packageFiles[len].deps)) {\n return !!packageFiles.pop();\n }\n\n // remove the last listed dependency\n return !!packageFiles[len].deps.pop();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"package-files.js","sourceRoot":"","sources":["../../../lib/workers/repository/package-files.ts"],"names":[],"mappings":"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","sourcesContent":["import { isEmptyArray, isEmptyObject, isTruthy } from '@sindresorhus/is';\nimport { logger } from '../../logger';\nimport type { PackageFile } from '../../modules/manager/types';\nimport { clone } from '../../util/clone';\n\nexport class PackageFiles {\n private static data = new Map<string, Record<string, PackageFile[]> | null>();\n\n static add(\n baseBranch: string,\n packageFiles: Record<string, PackageFile[]> | null,\n ): void {\n logger.debug(\n { baseBranch },\n `PackageFiles.add() - Package file saved for base branch`,\n );\n this.data.set(baseBranch, packageFiles);\n }\n\n static clear(): void {\n logger.debug('PackageFiles.clear() - Package files deleted');\n this.data.clear();\n }\n\n /**\n * Truncates the detected dependencies' section until it fits the available space\n * i.e. It has length smaller than maxLength.\n * This does not mutate the original PackageFiles data\n * Note: setHeader=false is used for testing purposes only\n * Mainly for comparing truncated and non-truncated markdown\n * @param maxLength\n * @param setHeader\n */\n static getDashboardMarkdown(maxLength: number, setHeader = true): string {\n const note =\n '> ℹ **Note**\\n> \\n> Detected dependencies section has been truncated\\n\\n';\n const title = `## Detected Dependencies\\n\\n`;\n\n // exclude header length from the available space\n const maxHeaderLen = setHeader ? (title + note).length : 0;\n const mdMaxLength = maxLength - maxHeaderLen;\n\n let md: string;\n let header = '';\n let removed = false;\n let truncated = false;\n\n const data = new Map(clone(Array.from(this.data)));\n\n // filter all deps with skip reason\n for (const managers of [...data.values()].filter(isTruthy)) {\n for (const files of Object.values(managers).filter(isTruthy)) {\n for (const file of files.filter((f) => isTruthy(f.deps))) {\n file.deps = file.deps.filter(isTruthy).filter((d) => !d.skipReason);\n }\n }\n }\n\n do {\n // shorten markdown until it fits\n md = PackageFiles.getDashboardMarkdownInternal(data);\n if (md.length > mdMaxLength) {\n // truncate data\n removed = PackageFiles.pop(data);\n }\n if (removed) {\n truncated = true; // used to set the truncation Note\n }\n } while (removed && md.length > mdMaxLength);\n\n header += title;\n header += truncated ? note : '';\n\n return (setHeader ? header : '') + md;\n }\n\n /**\n * Generates the \"detected dependencies\" markdown\n * @param data\n */\n private static getDashboardMarkdownInternal(\n data: Map<string, Record<string, PackageFile[]> | null>,\n ): string {\n const none = 'None detected\\n\\n';\n const pad = data.size > 1; // padding condition for a multi base branch repo\n let deps = '';\n\n for (const [branch, packageFiles] of Array.from(data).sort(([a], [b]) =>\n a.localeCompare(b, undefined, { numeric: true }),\n )) {\n deps += pad\n ? `<details><summary>Branch ${branch}</summary>\\n<blockquote>\\n\\n`\n : '';\n if (packageFiles === null) {\n deps += none;\n deps += pad ? '</blockquote>\\n</details>\\n\\n' : '';\n continue;\n }\n\n const managers = Object.keys(packageFiles).sort();\n if (managers.length === 0) {\n deps += none;\n deps += pad ? '</blockquote>\\n</details>\\n\\n' : '';\n continue;\n }\n\n for (const manager of managers) {\n const managerPackageFiles = Array.from(packageFiles[manager]).sort(\n (a, b) => a.packageFile.localeCompare(b.packageFile),\n );\n deps += `<details><summary>${manager} (${managerPackageFiles.length})</summary>\\n<blockquote>\\n\\n`;\n for (const packageFile of managerPackageFiles) {\n deps += `<details><summary>${packageFile.packageFile}${packageFile.deps.length > 0 ? ` (${packageFile.deps.length})` : ''}</summary>\\n\\n`;\n for (const dep of packageFile.deps) {\n const ver = dep.currentValue;\n const digest = dep.currentDigest;\n const lock = dep.lockedVersion;\n let version;\n if (ver || digest) {\n version = ver && digest ? `${ver}@${digest}` : `${digest ?? ver}`;\n } else if (lock) {\n version = `lock file @ ${lock}`;\n } else {\n version = 'unknown version';\n }\n let updates = '';\n const uniqueUpdates = [\n ...new Set(\n dep.updates?.map((update) => `\\`${update.newValue}\\``),\n ),\n ];\n if (uniqueUpdates.length > 0) {\n updates = ` → [Updates: ${uniqueUpdates.join(', ')}]`;\n }\n // TODO: types (#22198)\n deps += ` - \\`${dep.depName!} ${version}\\`${updates}\\n`;\n }\n deps += '\\n</details>\\n\\n';\n }\n deps += `</blockquote>\\n</details>\\n\\n`;\n }\n deps += pad ? '</blockquote>\\n</details>\\n\\n' : '';\n }\n\n return deps;\n }\n\n /**\n * Removes the last dependency/entry in the PackageFiles data\n * i.e. the last line in the tobe generated detected dependency section\n * @param data\n * @Returns true if anything that translates to a markdown written line was deleted\n * otherwise false is returned\n */\n private static pop(\n data: Map<string, Record<string, PackageFile[]> | null>,\n ): boolean {\n // get detected managers list of the last listed base branch\n const [branch, managers] = Array.from(data).pop() ?? [];\n if (!branch) {\n return false;\n }\n\n // delete base branch listing if it has no managers left\n if (!managers || isEmptyObject(managers)) {\n return data.delete(branch);\n }\n\n // get all manifest files for the last listed manager\n const [manager, packageFiles] = Object.entries(managers).pop()!;\n\n // delete current manager if it has no manifest files left\n if (!packageFiles || isEmptyArray(packageFiles)) {\n return delete managers[manager];\n }\n\n // delete manifest file if it has no deps left\n const len = packageFiles.length - 1;\n if (isEmptyArray(packageFiles[len].deps)) {\n return !!packageFiles.pop();\n }\n\n // remove the last listed dependency\n return !!packageFiles[len].deps.pop();\n }\n}\n"]}
|
package/package.json
CHANGED
package/renovate-schema.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"title": "JSON schema for Renovate 42.
|
|
2
|
+
"title": "JSON schema for Renovate 42.64.0 config files (https://renovatebot.com/)",
|
|
3
3
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
-
"x-renovate-version": "42.
|
|
4
|
+
"x-renovate-version": "42.64.0",
|
|
5
5
|
"allowComments": true,
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|