renovate 44.93.5 → 44.93.6
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/modules/manager/bazel/rules/http.js.map +1 -1
- package/dist/modules/manager/cargo/extract.js.map +1 -1
- package/dist/modules/manager/composer/schema.js.map +1 -1
- package/dist/modules/manager/deps-edn/extract.js.map +1 -1
- package/dist/modules/manager/docker-compose/extract.js +1 -1
- package/dist/modules/manager/docker-compose/extract.js.map +1 -1
- package/dist/modules/manager/fingerprint.generated.js +21 -21
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/git-submodules/extract.js +1 -1
- package/dist/modules/manager/git-submodules/extract.js.map +1 -1
- package/dist/modules/manager/github-actions/known-actions.js +11 -1
- package/dist/modules/manager/github-actions/known-actions.js.map +1 -1
- package/dist/modules/manager/glasskube/extract.js +2 -2
- package/dist/modules/manager/glasskube/extract.js.map +1 -1
- package/dist/modules/manager/gomod/artifacts-extra.js.map +1 -1
- package/dist/modules/manager/gradle/extract/catalog.js +2 -0
- package/dist/modules/manager/gradle/extract/catalog.js.map +1 -1
- package/dist/modules/manager/gradle/extract/consistent-versions-plugin.js +3 -1
- package/dist/modules/manager/gradle/extract/consistent-versions-plugin.js.map +1 -1
- package/dist/modules/manager/gradle/extract.js +5 -2
- package/dist/modules/manager/gradle/extract.js.map +1 -1
- package/dist/modules/manager/gradle/parser/common.js +2 -0
- package/dist/modules/manager/gradle/parser/common.js.map +1 -1
- package/dist/modules/manager/gradle/parser/handlers.js +9 -0
- package/dist/modules/manager/gradle/parser/handlers.js.map +1 -1
- package/dist/modules/manager/gradle/parser/registry-urls.js +1 -0
- package/dist/modules/manager/gradle/parser/registry-urls.js.map +1 -1
- package/dist/modules/manager/gradle/parser.js +1 -0
- package/dist/modules/manager/gradle/parser.js.map +1 -1
- package/dist/modules/manager/helmfile/artifacts.js +1 -0
- package/dist/modules/manager/helmfile/artifacts.js.map +1 -1
- package/dist/modules/manager/hermit/artifacts.js +1 -0
- package/dist/modules/manager/hermit/artifacts.js.map +1 -1
- package/dist/modules/manager/maven/extract.js +14 -4
- package/dist/modules/manager/maven/extract.js.map +1 -1
- package/dist/modules/manager/maven/update.js +3 -0
- package/dist/modules/manager/maven/update.js.map +1 -1
- package/dist/modules/manager/mix/artifacts.js +6 -1
- package/dist/modules/manager/mix/artifacts.js.map +1 -1
- package/dist/modules/manager/nuget/config-formatter.js +2 -0
- package/dist/modules/manager/nuget/config-formatter.js.map +1 -1
- package/dist/modules/manager/nuget/extract.js +2 -0
- package/dist/modules/manager/nuget/extract.js.map +1 -1
- package/dist/modules/manager/nuget/util.js +1 -0
- package/dist/modules/manager/nuget/util.js.map +1 -1
- package/dist/modules/manager/ocb/extract.js +1 -0
- package/dist/modules/manager/ocb/extract.js.map +1 -1
- package/dist/modules/manager/pep621/processors/uv.js +4 -0
- package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
- package/dist/modules/manager/pep621/schema.js +4 -1
- package/dist/modules/manager/pep621/schema.js.map +1 -1
- package/dist/modules/manager/pip-compile/common.js +2 -0
- package/dist/modules/manager/pip-compile/common.js.map +1 -1
- package/dist/modules/manager/pip-compile/utils.js +3 -1
- package/dist/modules/manager/pip-compile/utils.js.map +1 -1
- package/dist/modules/manager/pipenv/artifacts.js +3 -0
- package/dist/modules/manager/pipenv/artifacts.js.map +1 -1
- package/dist/modules/manager/pipenv/extract.js +1 -0
- package/dist/modules/manager/pipenv/extract.js.map +1 -1
- package/dist/modules/manager/pixi/extract.js +1 -0
- package/dist/modules/manager/pixi/extract.js.map +1 -1
- package/dist/modules/manager/poetry/artifacts.js +1 -0
- package/dist/modules/manager/poetry/artifacts.js.map +1 -1
- package/dist/modules/manager/poetry/extract.js +1 -0
- package/dist/modules/manager/poetry/extract.js.map +1 -1
- package/dist/modules/manager/pre-commit/index.js.map +1 -1
- package/dist/modules/manager/swift/extract.js.map +1 -1
- package/dist/modules/manager/terraform/extractors/others/modules.js.map +1 -1
- package/dist/modules/manager/tflint-plugin/plugins.js.map +1 -1
- package/dist/modules/manager/vendir/artifacts.js +1 -0
- package/dist/modules/manager/vendir/artifacts.js.map +1 -1
- package/dist/util/http/legacy.js +6 -3
- package/dist/util/http/legacy.js.map +1 -1
- package/dist/workers/repository/extract/manager-files.js +4 -2
- package/dist/workers/repository/extract/manager-files.js.map +1 -1
- package/package.json +1 -1
- package/renovate-schema.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","names":[],"sources":["../../../../../lib/modules/manager/bazel/rules/http.ts"],"sourcesContent":["import { isString, isTruthy } from '@sindresorhus/is';\nimport { z } from 'zod/v4';\nimport { regEx } from '../../../../util/regex.ts';\nimport { parseUrl } from '../../../../util/url.ts';\nimport { GithubReleasesDatasource } from '../../../datasource/github-releases/index.ts';\nimport { GithubTagsDatasource } from '../../../datasource/github-tags/index.ts';\nimport { GitlabReleasesDatasource } from '../../../datasource/gitlab-releases/index.ts';\nimport { GitlabTagsDatasource } from '../../../datasource/gitlab-tags/index.ts';\nimport type { PackageDependency } from '../../types.ts';\n\n// Source: https://bazel.build/rules/lib/repo/http\nconst archives = [\n '.zip',\n '.tar',\n '.jar',\n '.war',\n '.aar',\n '.ar',\n '.deb',\n\n '.gz',\n '.tar.gz',\n '.tgz',\n\n '.bz2',\n '.tar.bz2',\n '.tbz2',\n\n '.xz',\n '.tar.xz',\n '.txz',\n\n '.zst',\n '.tar.zst',\n '.tzst',\n];\n\nconst archiveSuffixRegex = regEx(\n `(?:${archives.map((archive) => RegExp.escape(archive)).join('|')})$`,\n);\n\nfunction stripArchiveSuffix(value: string): string {\n return value.replace(archiveSuffixRegex, '');\n}\n\nfunction isHash(value: unknown): value is string {\n return isString(value) && regEx(/[0-9a-z]{40}/i).test(value);\n}\n\nexport function parseGithubPath(\n pathname: string,\n): Partial<PackageDependency> | null {\n const [p0, p1, p2, p3, p4, p5] = pathname.split('/').slice(1);\n const packageName = `${p0}/${p1}`;\n let datasource = '';\n let value: string | null = null;\n if (p2 === 'releases' && p3 === 'download') {\n datasource = GithubReleasesDatasource.id;\n value = p4;\n } else if (p2 === 'archive' && p3 === 'refs' && p4 === 'tags') {\n // https://github.com/foo/bar/archive/refs/tags/v1.2.3.tar.gz\n datasource = GithubTagsDatasource.id;\n value = p5;\n } else if (p2 === 'archive') {\n // https://github.com/foo/bar/archive/1.2.3.tar.gz\n datasource = GithubTagsDatasource.id;\n value = p3;\n }\n\n if (!value) {\n return null;\n }\n\n value = stripArchiveSuffix(value);\n return isHash(value)\n ? { datasource, packageName, currentDigest: value }\n : { datasource, packageName, currentValue: value };\n}\n\nfunction parseGitlabPath(pathname: string): Partial<PackageDependency> | null {\n // https://gitlab.com/libeigen/eigen/-/archive/3.3.5/eigen-3.3.5.zip\n // https://gitlab.com/libeigen/eigen/-/archive/90ee821c563fa20db4d64d6991ddca256d5c52f2/eigen-90ee821c563fa20db4d64d6991ddca256d5c52f2.tar.gz\n const [p0, p1, p2, p3, p4] = pathname.split('/').slice(1);\n const packageName = `${p0}/${p1}`;\n if (p2 === '-' && p3 === 'archive' && p4) {\n return isHash(p4)\n ? {\n datasource: GitlabTagsDatasource.id,\n packageName,\n currentDigest: p4,\n }\n : {\n datasource: GitlabReleasesDatasource.id,\n packageName,\n currentValue: p4,\n };\n }\n return null;\n}\n\nexport function parseArchiveUrl(\n urlString: string | undefined | null,\n): Partial<PackageDependency> | null {\n if (!urlString) {\n return null;\n }\n\n const url = parseUrl(urlString);\n\n if (url?.host === 'github.com') {\n return parseGithubPath(url.pathname);\n }\n\n if (url?.host === 'gitlab.com') {\n return parseGitlabPath(url.pathname);\n }\n\n return null;\n}\n\nexport const httpRules = [\n 'http_archive',\n '_http_archive',\n 'http_file',\n '_http_file',\n] as const;\n\nexport const HttpTarget = z\n .object({\n rule: z.enum(httpRules),\n name: z.string(),\n url: z.string().optional(),\n urls: z.array(z.string()).optional(),\n sha256: z.string(),\n })\n .refine(({ url, urls }) => !!url || !!urls)\n .transform(({ rule, name, url, urls = [] }): PackageDependency[] => {\n const parsedUrl = [url, ...urls].map(parseArchiveUrl).find(isTruthy);\n if (!parsedUrl) {\n return [];\n }\n\n const dep: PackageDependency = {\n datasource: parsedUrl.datasource,\n depType: rule,\n depName: name,\n packageName: parsedUrl.packageName,\n };\n\n // We don't want to set both `currentValue` and `currentDigest`.\n //\n // What we want is to provide the first occurrence of `currentValue`,\n // or, if it's not available, `currentDigest`.\n //\n // Auto-replace mechanism will replace this first occurrence,\n // and artifact update function will do the rest.\n //\n // Hence, `if-else-if` is being used here.\n if (parsedUrl.currentValue) {\n dep.currentValue = parsedUrl.currentValue;\n
|
|
1
|
+
{"version":3,"file":"http.js","names":[],"sources":["../../../../../lib/modules/manager/bazel/rules/http.ts"],"sourcesContent":["import { isString, isTruthy } from '@sindresorhus/is';\nimport { z } from 'zod/v4';\nimport { regEx } from '../../../../util/regex.ts';\nimport { parseUrl } from '../../../../util/url.ts';\nimport { GithubReleasesDatasource } from '../../../datasource/github-releases/index.ts';\nimport { GithubTagsDatasource } from '../../../datasource/github-tags/index.ts';\nimport { GitlabReleasesDatasource } from '../../../datasource/gitlab-releases/index.ts';\nimport { GitlabTagsDatasource } from '../../../datasource/gitlab-tags/index.ts';\nimport type { PackageDependency } from '../../types.ts';\n\n// Source: https://bazel.build/rules/lib/repo/http\nconst archives = [\n '.zip',\n '.tar',\n '.jar',\n '.war',\n '.aar',\n '.ar',\n '.deb',\n\n '.gz',\n '.tar.gz',\n '.tgz',\n\n '.bz2',\n '.tar.bz2',\n '.tbz2',\n\n '.xz',\n '.tar.xz',\n '.txz',\n\n '.zst',\n '.tar.zst',\n '.tzst',\n];\n\nconst archiveSuffixRegex = regEx(\n `(?:${archives.map((archive) => RegExp.escape(archive)).join('|')})$`,\n);\n\nfunction stripArchiveSuffix(value: string): string {\n return value.replace(archiveSuffixRegex, '');\n}\n\nfunction isHash(value: unknown): value is string {\n return isString(value) && regEx(/[0-9a-z]{40}/i).test(value);\n}\n\nexport function parseGithubPath(\n pathname: string,\n): Partial<PackageDependency> | null {\n const [p0, p1, p2, p3, p4, p5] = pathname.split('/').slice(1);\n const packageName = `${p0}/${p1}`;\n let datasource = '';\n let value: string | null = null;\n if (p2 === 'releases' && p3 === 'download') {\n datasource = GithubReleasesDatasource.id;\n value = p4;\n } else if (p2 === 'archive' && p3 === 'refs' && p4 === 'tags') {\n // https://github.com/foo/bar/archive/refs/tags/v1.2.3.tar.gz\n datasource = GithubTagsDatasource.id;\n value = p5;\n } else if (p2 === 'archive') {\n // https://github.com/foo/bar/archive/1.2.3.tar.gz\n datasource = GithubTagsDatasource.id;\n value = p3;\n }\n\n if (!value) {\n return null;\n }\n\n value = stripArchiveSuffix(value);\n return isHash(value)\n ? { datasource, packageName, currentDigest: value }\n : { datasource, packageName, currentValue: value };\n}\n\nfunction parseGitlabPath(pathname: string): Partial<PackageDependency> | null {\n // https://gitlab.com/libeigen/eigen/-/archive/3.3.5/eigen-3.3.5.zip\n // https://gitlab.com/libeigen/eigen/-/archive/90ee821c563fa20db4d64d6991ddca256d5c52f2/eigen-90ee821c563fa20db4d64d6991ddca256d5c52f2.tar.gz\n const [p0, p1, p2, p3, p4] = pathname.split('/').slice(1);\n const packageName = `${p0}/${p1}`;\n if (p2 === '-' && p3 === 'archive' && p4) {\n return isHash(p4)\n ? {\n datasource: GitlabTagsDatasource.id,\n packageName,\n currentDigest: p4,\n }\n : {\n datasource: GitlabReleasesDatasource.id,\n packageName,\n currentValue: p4,\n };\n }\n return null;\n}\n\nexport function parseArchiveUrl(\n urlString: string | undefined | null,\n): Partial<PackageDependency> | null {\n if (!urlString) {\n return null;\n }\n\n const url = parseUrl(urlString);\n\n if (url?.host === 'github.com') {\n return parseGithubPath(url.pathname);\n }\n\n if (url?.host === 'gitlab.com') {\n return parseGitlabPath(url.pathname);\n }\n\n return null;\n}\n\nexport const httpRules = [\n 'http_archive',\n '_http_archive',\n 'http_file',\n '_http_file',\n] as const;\n\nexport const HttpTarget = z\n .object({\n rule: z.enum(httpRules),\n name: z.string(),\n url: z.string().optional(),\n urls: z.array(z.string()).optional(),\n sha256: z.string(),\n })\n .refine(({ url, urls }) => !!url || !!urls)\n .transform(({ rule, name, url, urls = [] }): PackageDependency[] => {\n const parsedUrl = [url, ...urls].map(parseArchiveUrl).find(isTruthy);\n if (!parsedUrl) {\n return [];\n }\n\n const dep: PackageDependency = {\n datasource: parsedUrl.datasource,\n depType: rule,\n depName: name,\n packageName: parsedUrl.packageName,\n };\n\n // We don't want to set both `currentValue` and `currentDigest`.\n //\n // What we want is to provide the first occurrence of `currentValue`,\n // or, if it's not available, `currentDigest`.\n //\n // Auto-replace mechanism will replace this first occurrence,\n // and artifact update function will do the rest.\n //\n // Hence, `if-else-if` is being used here.\n if (parsedUrl.currentValue) {\n dep.currentValue = parsedUrl.currentValue;\n } else if (parsedUrl.currentDigest) {\n dep.currentDigest = parsedUrl.currentDigest;\n }\n\n return [dep];\n });\n"],"mappings":";;;;;;;;;AAqCA,MAAM,qBAAqB,MACzB,MAAM;CA1BN;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CAEA;CACA;CACA;CAEA;CACA;CACA;CAEA;CACA;CACA;AAIa,CAAC,CAAC,KAAK,YAAY,OAAO,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,GACpE;AAEA,SAAS,mBAAmB,OAAuB;CACjD,OAAO,MAAM,QAAQ,oBAAoB,EAAE;AAC7C;AAEA,SAAS,OAAO,OAAiC;CAC/C,OAAO,SAAS,KAAK,KAAK,MAAM,eAAe,CAAC,CAAC,KAAK,KAAK;AAC7D;AAEA,SAAgB,gBACd,UACmC;CACnC,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,SAAS,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;CAC5D,MAAM,cAAc,GAAG,GAAG,GAAG;CAC7B,IAAI,aAAa;CACjB,IAAI,QAAuB;CAC3B,IAAI,OAAO,cAAc,OAAO,YAAY;EAC1C,aAAa,yBAAyB;EACtC,QAAQ;CACV,OAAO,IAAI,OAAO,aAAa,OAAO,UAAU,OAAO,QAAQ;EAE7D,aAAa,qBAAqB;EAClC,QAAQ;CACV,OAAO,IAAI,OAAO,WAAW;EAE3B,aAAa,qBAAqB;EAClC,QAAQ;CACV;CAEA,IAAI,CAAC,OACH,OAAO;CAGT,QAAQ,mBAAmB,KAAK;CAChC,OAAO,OAAO,KAAK,IACf;EAAE;EAAY;EAAa,eAAe;CAAM,IAChD;EAAE;EAAY;EAAa,cAAc;CAAM;AACrD;AAEA,SAAS,gBAAgB,UAAqD;CAG5E,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,MAAM,SAAS,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;CACxD,MAAM,cAAc,GAAG,GAAG,GAAG;CAC7B,IAAI,OAAO,OAAO,OAAO,aAAa,IACpC,OAAO,OAAO,EAAE,IACZ;EACE,YAAY,qBAAqB;EACjC;EACA,eAAe;CACjB,IACA;EACE,YAAY,yBAAyB;EACrC;EACA,cAAc;CAChB;CAEN,OAAO;AACT;AAEA,SAAgB,gBACd,WACmC;CACnC,IAAI,CAAC,WACH,OAAO;CAGT,MAAM,MAAM,SAAS,SAAS;CAE9B,IAAI,KAAK,SAAS,cAChB,OAAO,gBAAgB,IAAI,QAAQ;CAGrC,IAAI,KAAK,SAAS,cAChB,OAAO,gBAAgB,IAAI,QAAQ;CAGrC,OAAO;AACT;AAEA,MAAa,YAAY;CACvB;CACA;CACA;CACA;AACF;AAEA,MAAa,aAAa,EACvB,OAAO;CACN,MAAM,EAAE,KAAK,SAAS;CACtB,MAAM,EAAE,OAAO;CACf,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS;CACzB,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS;CACnC,QAAQ,EAAE,OAAO;AACnB,CAAC,CAAC,CACD,QAAQ,EAAE,KAAK,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAC1C,WAAW,EAAE,MAAM,MAAM,KAAK,OAAO,CAAC,QAA6B;CAClE,MAAM,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,KAAK,QAAQ;CACnE,IAAI,CAAC,WACH,OAAO,CAAC;CAGV,MAAM,MAAyB;EAC7B,YAAY,UAAU;EACtB,SAAS;EACT,SAAS;EACT,aAAa,UAAU;CACzB;CAWA,IAAI,UAAU,cACZ,IAAI,eAAe,UAAU;MACxB,IAAI,UAAU,eACnB,IAAI,gBAAgB,UAAU;CAGhC,OAAO,CAAC,GAAG;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","names":["versioning"],"sources":["../../../../lib/modules/manager/cargo/extract.ts"],"sourcesContent":["import { isObject, isString } from '@sindresorhus/is';\nimport { logger } from '../../../logger/index.ts';\nimport { coerceArray } from '../../../util/array.ts';\nimport { getEnv } from '../../../util/env.ts';\nimport {\n findLocalSiblingOrParent,\n readLocalFile,\n} from '../../../util/fs/index.ts';\nimport { coerceObject } from '../../../util/object.ts';\nimport { api as versioning } from '../../versioning/cargo/index.ts';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types.ts';\nimport { extractLockFileVersions } from './locked-version.ts';\nimport { CargoConfig, CargoManifest } from './schema.ts';\nimport type {\n CargoManagerData,\n CargoRegistries,\n CargoRegistryUrl,\n} from './types.ts';\nimport { DEFAULT_REGISTRY_URL } from './utils.ts';\n\nconst DEFAULT_REGISTRY_ID = 'crates-io';\n\nfunction getCargoIndexEnv(registryName: string): string | null {\n const registry = registryName.toUpperCase().replaceAll('-', '_');\n return getEnv()[`CARGO_REGISTRIES_${registry}_INDEX`] ?? null;\n}\n\nfunction extractFromSection(\n dependencies: PackageDependency<CargoManagerData>[] | undefined,\n cargoRegistries: CargoRegistries,\n target?: string,\n): PackageDependency[] {\n if (!dependencies) {\n return [];\n }\n\n const deps: PackageDependency<CargoManagerData>[] = [];\n\n for (const dep of Object.values(dependencies)) {\n let registryUrls: string[] | undefined;\n\n if (dep.managerData?.registryName) {\n const registryUrl =\n getCargoIndexEnv(dep.managerData.registryName) ??\n cargoRegistries[dep.managerData?.registryName];\n if (registryUrl) {\n if (registryUrl !== DEFAULT_REGISTRY_URL) {\n registryUrls = [registryUrl];\n }\n } else {\n dep.skipReason = 'unknown-registry';\n }\n }\n\n if (registryUrls) {\n dep.registryUrls = registryUrls;\n } else {\n // if we don't have an explicit registry URL check if the default registry has a non-standard url\n if (cargoRegistries[DEFAULT_REGISTRY_ID]) {\n if (cargoRegistries[DEFAULT_REGISTRY_ID] !== DEFAULT_REGISTRY_URL) {\n dep.registryUrls = [cargoRegistries[DEFAULT_REGISTRY_ID]];\n }\n } else {\n // we always expect to have DEFAULT_REGISTRY_ID set, if it's not it means the config defines an alternative\n // registry that we couldn't resolve.\n dep.skipReason = 'unknown-registry';\n }\n }\n\n if (target) {\n dep.target = target;\n }\n deps.push(dep);\n }\n\n return deps;\n}\n\n/** Reads `.cargo/config.toml`, or, if not found, `.cargo/config` */\nasync function readCargoConfig(): Promise<CargoConfig | null> {\n for (const configName of ['config.toml', 'config']) {\n const path = `.cargo/${configName}`;\n const payload = await readLocalFile(path, 'utf8');\n if (payload) {\n const parsedCargoConfig = CargoConfig.safeParse(payload);\n if (parsedCargoConfig.success) {\n return parsedCargoConfig.data;\n }\n logger.debug(\n { err: parsedCargoConfig.error, path },\n `Error parsing cargo config`,\n );\n }\n }\n\n logger.debug('Neither .cargo/config nor .cargo/config.toml found');\n return null;\n}\n\n/** Extracts a map of cargo registries from a CargoConfig */\nfunction extractCargoRegistries(config: CargoConfig): CargoRegistries {\n const result: CargoRegistries = {};\n // check if we're overriding our default registry index\n result[DEFAULT_REGISTRY_ID] = resolveRegistryIndex(\n DEFAULT_REGISTRY_ID,\n config,\n );\n\n const registryNames = new Set([\n ...Object.keys(coerceObject(config.registries)),\n ...Object.keys(coerceObject(config.source)),\n ]);\n for (const registryName of registryNames) {\n result[registryName] = resolveRegistryIndex(registryName, config);\n }\n\n return result;\n}\n\nfunction resolveRegistryIndex(\n registryName: string,\n config: CargoConfig,\n originalNames = new Set<string>(),\n): CargoRegistryUrl {\n // if we have a source replacement, follow that.\n // https://doc.rust-lang.org/cargo/reference/source-replacement.html\n const replacementName = config.source?.[registryName]?.['replace-with'];\n if (replacementName) {\n logger.debug(\n `Replacing index of cargo registry ${registryName} with ${replacementName}`,\n );\n if (originalNames.has(replacementName)) {\n logger.warn({ registryName }, 'cargo registry resolves to itself');\n return null;\n }\n return resolveRegistryIndex(\n replacementName,\n config,\n originalNames.add(replacementName),\n );\n }\n\n const sourceRegistry = config.source?.[registryName]?.registry;\n if (sourceRegistry) {\n logger.debug(\n `Replacing cargo source registry with ${sourceRegistry} for ${registryName}`,\n );\n return sourceRegistry;\n }\n\n const registryIndex = config.registries?.[registryName]?.index;\n if (registryIndex) {\n return registryIndex;\n }\n // we don't need an explicit index if we're using the default registry\n if (registryName === DEFAULT_REGISTRY_ID) {\n return DEFAULT_REGISTRY_URL;\n }\n logger.debug(`${registryName} cargo registry is missing index`);\n return null;\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n _config?: ExtractConfig,\n): Promise<PackageFileContent<CargoManagerData> | null> {\n logger.trace(`cargo.extractPackageFile(${packageFile})`);\n\n const cargoConfig = coerceObject(await readCargoConfig());\n const cargoRegistries = extractCargoRegistries(cargoConfig);\n\n const parsedCargoManifest = CargoManifest.safeParse(content);\n if (!parsedCargoManifest.success) {\n logger.debug(\n { err: parsedCargoManifest.error, packageFile },\n 'Error parsing Cargo.toml file',\n );\n return null;\n }\n\n const cargoManifest = parsedCargoManifest.data;\n\n /*\n There are the following sections in Cargo.toml:\n [package]\n [dependencies]\n [dev-dependencies]\n [build-dependencies]\n [target.*.dependencies]\n [workspace.dependencies]\n */\n const targetSection = cargoManifest.target;\n // An array of all dependencies in the target section\n let targetDeps: PackageDependency[] = [];\n if (targetSection) {\n const targets = Object.keys(targetSection);\n targets.forEach((target) => {\n const targetContent = targetSection[target];\n // Dependencies for `${target}`\n const deps = [\n ...extractFromSection(\n targetContent.dependencies,\n cargoRegistries,\n target,\n ),\n ...extractFromSection(\n targetContent['dev-dependencies'],\n cargoRegistries,\n target,\n ),\n ...extractFromSection(\n targetContent['build-dependencies'],\n cargoRegistries,\n target,\n ),\n ];\n targetDeps = targetDeps.concat(deps);\n });\n }\n\n const workspaceSection = cargoManifest.workspace;\n let workspaceDeps: PackageDependency[] = [];\n if (workspaceSection) {\n workspaceDeps = extractFromSection(\n workspaceSection.dependencies,\n cargoRegistries,\n undefined,\n );\n }\n\n const deps = [\n ...extractFromSection(cargoManifest.dependencies, cargoRegistries),\n ...extractFromSection(cargoManifest['dev-dependencies'], cargoRegistries),\n ...extractFromSection(cargoManifest['build-dependencies'], cargoRegistries),\n ...targetDeps,\n ...workspaceDeps,\n ];\n if (!deps.length) {\n return null;\n }\n\n const packageSection = cargoManifest.package;\n let version: string | undefined = undefined;\n if (packageSection) {\n if (isString(packageSection.version)) {\n version = packageSection.version;\n // NOTE: a version that is neither a string nor a workspace reference\n // leaves it unset. A coverage-ignore hint cannot suppress the implicit\n // else on an `else if`.\n } else if (\n isObject(packageSection.version) &&\n cargoManifest.workspace?.package?.version\n ) {\n // TODO: Support reading from parent workspace manifest?\n version = cargoManifest.workspace.package.version;\n }\n }\n\n const lockFileName = await findLocalSiblingOrParent(\n packageFile,\n 'Cargo.lock',\n );\n const res: PackageFileContent = { deps, packageFileVersion: version };\n if (lockFileName) {\n logger.debug(\n `Found lock file ${lockFileName} for packageFile: ${packageFile}`,\n );\n\n const versionsByPackage = await extractLockFileVersions(lockFileName);\n if (!versionsByPackage) {\n logger.debug(\n `Could not extract lock file versions from ${lockFileName}.`,\n );\n return res;\n }\n\n res.lockFiles = [lockFileName];\n\n for (const dep of deps) {\n const packageName = dep.packageName ?? dep.depName!;\n const versions = coerceArray(versionsByPackage.get(packageName));\n\n let lockedVersion: string | null = null;\n if (dep.currentValue) {\n lockedVersion = versioning.getSatisfyingVersion(\n versions,\n dep.currentValue,\n );\n }\n\n if (lockedVersion) {\n dep.lockedVersion = lockedVersion;\n } else {\n logger.debug(\n `No locked version found for package ${dep.depName} in the range of ${dep.currentValue}.`,\n );\n }\n }\n }\n\n return res;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extract.js","names":["versioning"],"sources":["../../../../lib/modules/manager/cargo/extract.ts"],"sourcesContent":["import { isObject, isString } from '@sindresorhus/is';\nimport { logger } from '../../../logger/index.ts';\nimport { coerceArray } from '../../../util/array.ts';\nimport { getEnv } from '../../../util/env.ts';\nimport {\n findLocalSiblingOrParent,\n readLocalFile,\n} from '../../../util/fs/index.ts';\nimport { coerceObject } from '../../../util/object.ts';\nimport { api as versioning } from '../../versioning/cargo/index.ts';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types.ts';\nimport { extractLockFileVersions } from './locked-version.ts';\nimport { CargoConfig, CargoManifest } from './schema.ts';\nimport type {\n CargoManagerData,\n CargoRegistries,\n CargoRegistryUrl,\n} from './types.ts';\nimport { DEFAULT_REGISTRY_URL } from './utils.ts';\n\nconst DEFAULT_REGISTRY_ID = 'crates-io';\n\nfunction getCargoIndexEnv(registryName: string): string | null {\n const registry = registryName.toUpperCase().replaceAll('-', '_');\n return getEnv()[`CARGO_REGISTRIES_${registry}_INDEX`] ?? null;\n}\n\nfunction extractFromSection(\n dependencies: PackageDependency<CargoManagerData>[] | undefined,\n cargoRegistries: CargoRegistries,\n target?: string,\n): PackageDependency[] {\n if (!dependencies) {\n return [];\n }\n\n const deps: PackageDependency<CargoManagerData>[] = [];\n\n for (const dep of Object.values(dependencies)) {\n let registryUrls: string[] | undefined;\n\n if (dep.managerData?.registryName) {\n const registryUrl =\n getCargoIndexEnv(dep.managerData.registryName) ??\n cargoRegistries[dep.managerData?.registryName];\n if (registryUrl) {\n if (registryUrl !== DEFAULT_REGISTRY_URL) {\n registryUrls = [registryUrl];\n }\n } else {\n dep.skipReason = 'unknown-registry';\n }\n }\n\n if (registryUrls) {\n dep.registryUrls = registryUrls;\n } else {\n // if we don't have an explicit registry URL check if the default registry has a non-standard url\n if (cargoRegistries[DEFAULT_REGISTRY_ID]) {\n if (cargoRegistries[DEFAULT_REGISTRY_ID] !== DEFAULT_REGISTRY_URL) {\n dep.registryUrls = [cargoRegistries[DEFAULT_REGISTRY_ID]];\n }\n } else {\n // we always expect to have DEFAULT_REGISTRY_ID set, if it's not it means the config defines an alternative\n // registry that we couldn't resolve.\n dep.skipReason = 'unknown-registry';\n }\n }\n\n if (target) {\n dep.target = target;\n }\n deps.push(dep);\n }\n\n return deps;\n}\n\n/** Reads `.cargo/config.toml`, or, if not found, `.cargo/config` */\nasync function readCargoConfig(): Promise<CargoConfig | null> {\n for (const configName of ['config.toml', 'config']) {\n const path = `.cargo/${configName}`;\n const payload = await readLocalFile(path, 'utf8');\n if (payload) {\n const parsedCargoConfig = CargoConfig.safeParse(payload);\n if (parsedCargoConfig.success) {\n return parsedCargoConfig.data;\n }\n logger.debug(\n { err: parsedCargoConfig.error, path },\n `Error parsing cargo config`,\n );\n }\n }\n\n logger.debug('Neither .cargo/config nor .cargo/config.toml found');\n return null;\n}\n\n/** Extracts a map of cargo registries from a CargoConfig */\nfunction extractCargoRegistries(config: CargoConfig): CargoRegistries {\n const result: CargoRegistries = {};\n // check if we're overriding our default registry index\n result[DEFAULT_REGISTRY_ID] = resolveRegistryIndex(\n DEFAULT_REGISTRY_ID,\n config,\n );\n\n const registryNames = new Set([\n ...Object.keys(coerceObject(config.registries)),\n ...Object.keys(coerceObject(config.source)),\n ]);\n for (const registryName of registryNames) {\n result[registryName] = resolveRegistryIndex(registryName, config);\n }\n\n return result;\n}\n\nfunction resolveRegistryIndex(\n registryName: string,\n config: CargoConfig,\n originalNames = new Set<string>(),\n): CargoRegistryUrl {\n // if we have a source replacement, follow that.\n // https://doc.rust-lang.org/cargo/reference/source-replacement.html\n const replacementName = config.source?.[registryName]?.['replace-with'];\n if (replacementName) {\n logger.debug(\n `Replacing index of cargo registry ${registryName} with ${replacementName}`,\n );\n if (originalNames.has(replacementName)) {\n logger.warn({ registryName }, 'cargo registry resolves to itself');\n return null;\n }\n return resolveRegistryIndex(\n replacementName,\n config,\n originalNames.add(replacementName),\n );\n }\n\n const sourceRegistry = config.source?.[registryName]?.registry;\n if (sourceRegistry) {\n logger.debug(\n `Replacing cargo source registry with ${sourceRegistry} for ${registryName}`,\n );\n return sourceRegistry;\n }\n\n const registryIndex = config.registries?.[registryName]?.index;\n if (registryIndex) {\n return registryIndex;\n }\n // we don't need an explicit index if we're using the default registry\n if (registryName === DEFAULT_REGISTRY_ID) {\n return DEFAULT_REGISTRY_URL;\n }\n logger.debug(`${registryName} cargo registry is missing index`);\n return null;\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n _config?: ExtractConfig,\n): Promise<PackageFileContent<CargoManagerData> | null> {\n logger.trace(`cargo.extractPackageFile(${packageFile})`);\n\n const cargoConfig = coerceObject(await readCargoConfig());\n const cargoRegistries = extractCargoRegistries(cargoConfig);\n\n const parsedCargoManifest = CargoManifest.safeParse(content);\n if (!parsedCargoManifest.success) {\n logger.debug(\n { err: parsedCargoManifest.error, packageFile },\n 'Error parsing Cargo.toml file',\n );\n return null;\n }\n\n const cargoManifest = parsedCargoManifest.data;\n\n /*\n There are the following sections in Cargo.toml:\n [package]\n [dependencies]\n [dev-dependencies]\n [build-dependencies]\n [target.*.dependencies]\n [workspace.dependencies]\n */\n const targetSection = cargoManifest.target;\n // An array of all dependencies in the target section\n let targetDeps: PackageDependency[] = [];\n if (targetSection) {\n const targets = Object.keys(targetSection);\n targets.forEach((target) => {\n const targetContent = targetSection[target];\n // Dependencies for `${target}`\n const deps = [\n ...extractFromSection(\n targetContent.dependencies,\n cargoRegistries,\n target,\n ),\n ...extractFromSection(\n targetContent['dev-dependencies'],\n cargoRegistries,\n target,\n ),\n ...extractFromSection(\n targetContent['build-dependencies'],\n cargoRegistries,\n target,\n ),\n ];\n targetDeps = targetDeps.concat(deps);\n });\n }\n\n const workspaceSection = cargoManifest.workspace;\n let workspaceDeps: PackageDependency[] = [];\n if (workspaceSection) {\n workspaceDeps = extractFromSection(\n workspaceSection.dependencies,\n cargoRegistries,\n undefined,\n );\n }\n\n const deps = [\n ...extractFromSection(cargoManifest.dependencies, cargoRegistries),\n ...extractFromSection(cargoManifest['dev-dependencies'], cargoRegistries),\n ...extractFromSection(cargoManifest['build-dependencies'], cargoRegistries),\n ...targetDeps,\n ...workspaceDeps,\n ];\n if (!deps.length) {\n return null;\n }\n\n const packageSection = cargoManifest.package;\n let version: string | undefined = undefined;\n if (packageSection) {\n if (isString(packageSection.version)) {\n version = packageSection.version;\n } else if (\n isObject(packageSection.version) &&\n cargoManifest.workspace?.package?.version\n ) {\n // TODO: Support reading from parent workspace manifest?\n version = cargoManifest.workspace.package.version;\n }\n }\n\n const lockFileName = await findLocalSiblingOrParent(\n packageFile,\n 'Cargo.lock',\n );\n const res: PackageFileContent = { deps, packageFileVersion: version };\n if (lockFileName) {\n logger.debug(\n `Found lock file ${lockFileName} for packageFile: ${packageFile}`,\n );\n\n const versionsByPackage = await extractLockFileVersions(lockFileName);\n if (!versionsByPackage) {\n logger.debug(\n `Could not extract lock file versions from ${lockFileName}.`,\n );\n return res;\n }\n\n res.lockFiles = [lockFileName];\n\n for (const dep of deps) {\n const packageName = dep.packageName ?? dep.depName!;\n const versions = coerceArray(versionsByPackage.get(packageName));\n\n let lockedVersion: string | null = null;\n if (dep.currentValue) {\n lockedVersion = versioning.getSatisfyingVersion(\n versions,\n dep.currentValue,\n );\n }\n\n if (lockedVersion) {\n dep.lockedVersion = lockedVersion;\n } else {\n logger.debug(\n `No locked version found for package ${dep.depName} in the range of ${dep.currentValue}.`,\n );\n }\n }\n }\n\n return res;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","names":["semverComposer"],"sources":["../../../../lib/modules/manager/composer/schema.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { logger } from '../../../logger/index.ts';\nimport { coerceArray } from '../../../util/array.ts';\nimport { readLocalFile } from '../../../util/fs/index.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport {\n Json,\n LooseArray,\n LooseRecord,\n withDebugMessage,\n} from '../../../util/schema-utils/index.ts';\nimport { BitbucketTagsDatasource } from '../../datasource/bitbucket-tags/index.ts';\nimport { GitTagsDatasource } from '../../datasource/git-tags/index.ts';\nimport { GithubTagsDatasource } from '../../datasource/github-tags/index.ts';\nimport { PackagistDatasource } from '../../datasource/packagist/index.ts';\nimport { api as semverComposer } from '../../versioning/composer/index.ts';\nimport type { PackageDependency, PackageFileContent } from '../types.ts';\nimport type { ComposerManagerData } from './types.ts';\n\nexport const ComposerRepo = z.object({\n type: z.literal('composer'),\n /**\n * The regUrl is expected to be a base URL. GitLab composer repository installation guide specifies\n * to use a base URL containing packages.json. Composer still works in this scenario by determining\n * whether to add / remove packages.json from the URL.\n *\n * See https://github.com/composer/composer/blob/750a92b4b7aecda0e5b2f9b963f1cb1421900675/src/Composer/Repository/ComposerRepository.php#L815\n */\n url: z\n .string()\n .transform((url) => url.replace(regEx(/\\/packages\\.json$/), '')),\n});\nexport type ComposerRepo = z.infer<typeof ComposerRepo>;\n\nexport const GitRepo = z.object({\n type: z.enum(['vcs', 'git']).transform(() => 'git' as const),\n url: z.string(),\n name: z.string().optional(),\n});\nexport type GitRepo = z.infer<typeof GitRepo>;\n\nexport const PathRepo = z.object({\n type: z.literal('path'),\n url: z.string(),\n name: z.string().optional(),\n});\nexport type PathRepo = z.infer<typeof PathRepo>;\n\nexport const PackageRepo = z.object({\n type: z.literal('package'),\n});\n\nexport const Repo = z.discriminatedUnion('type', [\n ComposerRepo,\n GitRepo,\n PathRepo,\n PackageRepo,\n]);\nexport type Repo = z.infer<typeof Repo>;\n\nexport const NamedRepo = z.discriminatedUnion('type', [\n ComposerRepo,\n GitRepo.extend({ name: z.string() }),\n PathRepo.extend({ name: z.string() }),\n PackageRepo,\n]);\nexport type NamedRepo = z.infer<typeof NamedRepo>;\n\nconst DisablePackagist = z.object({ type: z.literal('disable-packagist') });\nexport type DisablePackagist = z.infer<typeof DisablePackagist>;\n\nconst bitbucketUrlRegex = regEx(\n /^(?:https:\\/\\/|git@)bitbucket\\.org[/:](?<packageName>[^/]+\\/[^/]+?)(?:\\.git)?$/,\n);\n\nexport const ReposRecord = LooseRecord(z.union([Repo, z.literal(false)]), {\n onError: ({ error: err }) => {\n logger.debug({ err }, 'Composer: error parsing repositories object');\n },\n}).transform((repos) => {\n const result: (NamedRepo | DisablePackagist)[] = [];\n for (const [name, repo] of Object.entries(repos)) {\n if (repo === false) {\n if (name === 'packagist' || name === 'packagist.org') {\n result.push({ type: 'disable-packagist' });\n }\n continue;\n }\n\n if (repo.type === 'path' || repo.type === 'git') {\n result.push({ name, ...repo });\n continue;\n }\n\n if (repo.type === 'composer') {\n result.push(repo);\n continue;\n }\n }\n\n return result;\n});\nexport type ReposRecord = z.infer<typeof ReposRecord>;\n\nexport const ReposArray = LooseArray(\n z.union([\n Repo,\n z\n .union([\n z.object({ packagist: z.literal(false) }),\n z.object({ 'packagist.org': z.literal(false) }),\n ])\n .transform((): DisablePackagist => ({ type: 'disable-packagist' })),\n ]),\n {\n onError: ({ error: err }) => {\n logger.debug({ err }, 'Composer: error parsing repositories array');\n },\n },\n).transform((repos) => {\n const result: (NamedRepo | DisablePackagist)[] = [];\n for (let idx = 0; idx < repos.length; idx++) {\n const repo = repos[idx];\n if (repo.type === 'path' || repo.type === 'git') {\n result.push({ name: `__${idx}`, ...repo });\n } else {\n result.push(repo);\n }\n }\n return result;\n});\nexport type ReposArray = z.infer<typeof ReposArray>;\n\nexport const Repos = z\n .union([ReposRecord, ReposArray])\n .default([]) // Prevents warnings for packages without repositories field\n .catch(withDebugMessage([], 'Composer: invalid \"repositories\" field'))\n .transform((repos) => {\n let packagist = true;\n const repoUrls: string[] = [];\n const gitRepos: Record<string, GitRepo> = {};\n const pathRepos: Record<string, PathRepo> = {};\n\n for (const repo of repos) {\n if (repo.type === 'composer') {\n repoUrls.push(repo.url);\n } else if (repo.type === 'git') {\n gitRepos[repo.name] = repo;\n } else if (repo.type === 'path') {\n pathRepos[repo.name] = repo;\n // NOTE: the union above has no other member, so the implicit else never\n // runs. A coverage-ignore hint cannot suppress it on an `else if`.\n } else if (repo.type === 'disable-packagist') {\n packagist = false;\n }\n }\n\n if (packagist && repoUrls.length) {\n repoUrls.push('https://repo.packagist.org');\n }\n const registryUrls = repoUrls.length ? repoUrls : null;\n\n return { registryUrls, gitRepos, pathRepos };\n });\nexport type Repos = z.infer<typeof Repos>;\n\nconst RequireDefs = LooseRecord(z.string().transform((x) => x.trim())).catch(\n {},\n);\n\nexport const PackageFile = z\n .object({\n type: z.string().optional(),\n config: z\n .object({\n platform: z.object({\n php: z.string(),\n }),\n })\n .nullable()\n .catch(null),\n repositories: Repos,\n require: RequireDefs,\n 'require-dev': RequireDefs,\n })\n .transform(\n ({\n type: composerJsonType,\n config,\n repositories,\n require,\n 'require-dev': requireDev,\n }) => ({\n composerJsonType,\n config,\n repositories,\n require,\n requireDev,\n }),\n );\nexport type PackageFile = z.infer<typeof PackageFile>;\n\nconst LockedPackage = z.object({\n name: z.string(),\n version: z.string(),\n});\ntype LockedPackage = z.infer<typeof LockedPackage>;\n\nexport const Lockfile = z\n .object({\n 'plugin-api-version': z.string().optional(),\n packages: LooseArray(LockedPackage).catch([]),\n 'packages-dev': LooseArray(LockedPackage).catch([]),\n })\n .transform(\n ({\n 'plugin-api-version': pluginApiVersion,\n packages,\n 'packages-dev': packagesDev,\n }) => ({ pluginApiVersion, packages, packagesDev }),\n );\nexport type Lockfile = z.infer<typeof Lockfile>;\n\nexport const ComposerExtract = z\n .object({\n content: z.string(),\n fileName: z.string(),\n })\n .transform(({ content, fileName }) => {\n const lockfileName = fileName.replace(regEx(/\\.json$/), '.lock');\n return {\n file: content,\n lockfileName,\n lockfile: lockfileName,\n };\n })\n .pipe(\n z.object({\n file: Json.pipe(PackageFile),\n lockfileName: z.string(),\n lockfile: z\n .string()\n .transform((lockfileName) => readLocalFile(lockfileName, 'utf8'))\n .pipe(\n z.union([\n z.null(),\n z\n .string()\n .pipe(Json)\n .pipe(Lockfile)\n .nullable()\n .catch(withDebugMessage(null, 'Composer: does not match schema')),\n ]),\n ),\n }),\n )\n .transform(({ file, lockfile, lockfileName }) => {\n const { composerJsonType, require, requireDev } = file;\n const { registryUrls, gitRepos, pathRepos } = file.repositories;\n\n const deps: PackageDependency[] = [];\n\n const profiles = [\n {\n depType: 'require',\n req: require,\n locked: coerceArray(lockfile?.packages),\n },\n {\n depType: 'require-dev',\n req: requireDev,\n locked: coerceArray(lockfile?.packagesDev),\n },\n ];\n\n for (const { depType, req, locked } of profiles) {\n for (const [depName, currentValue] of Object.entries(req)) {\n if (depName === 'php') {\n deps.push({\n depType,\n depName,\n currentValue,\n datasource: GithubTagsDatasource.id,\n packageName: 'containerbase/php-prebuild',\n });\n continue;\n }\n\n if (pathRepos[depName]) {\n deps.push({\n depType,\n depName,\n currentValue,\n skipReason: 'path-dependency',\n });\n continue;\n }\n\n const dep: PackageDependency = {\n depType,\n depName,\n currentValue,\n };\n\n if (!depName.includes('/')) {\n dep.skipReason = 'unsupported';\n }\n\n const lockedDep = locked.find((item) => item.name === depName);\n if (lockedDep && semverComposer.isVersion(lockedDep.version)) {\n dep.lockedVersion = lockedDep.version.replace(regEx(/^v/i), '');\n }\n\n const gitRepo = gitRepos[depName];\n if (gitRepo) {\n const bitbucketMatchGroups = bitbucketUrlRegex.exec(\n gitRepo.url,\n )?.groups;\n\n if (bitbucketMatchGroups) {\n dep.datasource = BitbucketTagsDatasource.id;\n dep.packageName = bitbucketMatchGroups.packageName;\n deps.push(dep);\n continue;\n }\n\n dep.datasource = GitTagsDatasource.id;\n dep.packageName = gitRepo.url;\n deps.push(dep);\n continue;\n }\n\n dep.datasource = PackagistDatasource.id;\n\n if (registryUrls) {\n dep.registryUrls = registryUrls;\n }\n\n deps.push(dep);\n }\n }\n\n if (!deps.length) {\n return null;\n }\n\n const res: PackageFileContent<ComposerManagerData> = { deps };\n\n if (composerJsonType) {\n res.managerData = { composerJsonType };\n }\n\n if (require.php) {\n res.extractedConstraints = { php: require.php };\n }\n\n if (lockfile) {\n res.lockFiles = [lockfileName];\n }\n\n return res;\n });\nexport type ComposerExtract = z.infer<typeof ComposerExtract>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","names":["semverComposer"],"sources":["../../../../lib/modules/manager/composer/schema.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { logger } from '../../../logger/index.ts';\nimport { coerceArray } from '../../../util/array.ts';\nimport { readLocalFile } from '../../../util/fs/index.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport {\n Json,\n LooseArray,\n LooseRecord,\n withDebugMessage,\n} from '../../../util/schema-utils/index.ts';\nimport { BitbucketTagsDatasource } from '../../datasource/bitbucket-tags/index.ts';\nimport { GitTagsDatasource } from '../../datasource/git-tags/index.ts';\nimport { GithubTagsDatasource } from '../../datasource/github-tags/index.ts';\nimport { PackagistDatasource } from '../../datasource/packagist/index.ts';\nimport { api as semverComposer } from '../../versioning/composer/index.ts';\nimport type { PackageDependency, PackageFileContent } from '../types.ts';\nimport type { ComposerManagerData } from './types.ts';\n\nexport const ComposerRepo = z.object({\n type: z.literal('composer'),\n /**\n * The regUrl is expected to be a base URL. GitLab composer repository installation guide specifies\n * to use a base URL containing packages.json. Composer still works in this scenario by determining\n * whether to add / remove packages.json from the URL.\n *\n * See https://github.com/composer/composer/blob/750a92b4b7aecda0e5b2f9b963f1cb1421900675/src/Composer/Repository/ComposerRepository.php#L815\n */\n url: z\n .string()\n .transform((url) => url.replace(regEx(/\\/packages\\.json$/), '')),\n});\nexport type ComposerRepo = z.infer<typeof ComposerRepo>;\n\nexport const GitRepo = z.object({\n type: z.enum(['vcs', 'git']).transform(() => 'git' as const),\n url: z.string(),\n name: z.string().optional(),\n});\nexport type GitRepo = z.infer<typeof GitRepo>;\n\nexport const PathRepo = z.object({\n type: z.literal('path'),\n url: z.string(),\n name: z.string().optional(),\n});\nexport type PathRepo = z.infer<typeof PathRepo>;\n\nexport const PackageRepo = z.object({\n type: z.literal('package'),\n});\n\nexport const Repo = z.discriminatedUnion('type', [\n ComposerRepo,\n GitRepo,\n PathRepo,\n PackageRepo,\n]);\nexport type Repo = z.infer<typeof Repo>;\n\nexport const NamedRepo = z.discriminatedUnion('type', [\n ComposerRepo,\n GitRepo.extend({ name: z.string() }),\n PathRepo.extend({ name: z.string() }),\n PackageRepo,\n]);\nexport type NamedRepo = z.infer<typeof NamedRepo>;\n\nconst DisablePackagist = z.object({ type: z.literal('disable-packagist') });\nexport type DisablePackagist = z.infer<typeof DisablePackagist>;\n\nconst bitbucketUrlRegex = regEx(\n /^(?:https:\\/\\/|git@)bitbucket\\.org[/:](?<packageName>[^/]+\\/[^/]+?)(?:\\.git)?$/,\n);\n\nexport const ReposRecord = LooseRecord(z.union([Repo, z.literal(false)]), {\n onError: ({ error: err }) => {\n logger.debug({ err }, 'Composer: error parsing repositories object');\n },\n}).transform((repos) => {\n const result: (NamedRepo | DisablePackagist)[] = [];\n for (const [name, repo] of Object.entries(repos)) {\n if (repo === false) {\n if (name === 'packagist' || name === 'packagist.org') {\n result.push({ type: 'disable-packagist' });\n }\n continue;\n }\n\n if (repo.type === 'path' || repo.type === 'git') {\n result.push({ name, ...repo });\n continue;\n }\n\n if (repo.type === 'composer') {\n result.push(repo);\n continue;\n }\n }\n\n return result;\n});\nexport type ReposRecord = z.infer<typeof ReposRecord>;\n\nexport const ReposArray = LooseArray(\n z.union([\n Repo,\n z\n .union([\n z.object({ packagist: z.literal(false) }),\n z.object({ 'packagist.org': z.literal(false) }),\n ])\n .transform((): DisablePackagist => ({ type: 'disable-packagist' })),\n ]),\n {\n onError: ({ error: err }) => {\n logger.debug({ err }, 'Composer: error parsing repositories array');\n },\n },\n).transform((repos) => {\n const result: (NamedRepo | DisablePackagist)[] = [];\n for (let idx = 0; idx < repos.length; idx++) {\n const repo = repos[idx];\n if (repo.type === 'path' || repo.type === 'git') {\n result.push({ name: `__${idx}`, ...repo });\n } else {\n result.push(repo);\n }\n }\n return result;\n});\nexport type ReposArray = z.infer<typeof ReposArray>;\n\nexport const Repos = z\n .union([ReposRecord, ReposArray])\n .default([]) // Prevents warnings for packages without repositories field\n .catch(withDebugMessage([], 'Composer: invalid \"repositories\" field'))\n .transform((repos) => {\n let packagist = true;\n const repoUrls: string[] = [];\n const gitRepos: Record<string, GitRepo> = {};\n const pathRepos: Record<string, PathRepo> = {};\n\n for (const repo of repos) {\n if (repo.type === 'composer') {\n repoUrls.push(repo.url);\n } else if (repo.type === 'git') {\n gitRepos[repo.name] = repo;\n } else if (repo.type === 'path') {\n pathRepos[repo.name] = repo;\n } else if (repo.type === 'disable-packagist') {\n packagist = false;\n }\n }\n\n if (packagist && repoUrls.length) {\n repoUrls.push('https://repo.packagist.org');\n }\n const registryUrls = repoUrls.length ? repoUrls : null;\n\n return { registryUrls, gitRepos, pathRepos };\n });\nexport type Repos = z.infer<typeof Repos>;\n\nconst RequireDefs = LooseRecord(z.string().transform((x) => x.trim())).catch(\n {},\n);\n\nexport const PackageFile = z\n .object({\n type: z.string().optional(),\n config: z\n .object({\n platform: z.object({\n php: z.string(),\n }),\n })\n .nullable()\n .catch(null),\n repositories: Repos,\n require: RequireDefs,\n 'require-dev': RequireDefs,\n })\n .transform(\n ({\n type: composerJsonType,\n config,\n repositories,\n require,\n 'require-dev': requireDev,\n }) => ({\n composerJsonType,\n config,\n repositories,\n require,\n requireDev,\n }),\n );\nexport type PackageFile = z.infer<typeof PackageFile>;\n\nconst LockedPackage = z.object({\n name: z.string(),\n version: z.string(),\n});\ntype LockedPackage = z.infer<typeof LockedPackage>;\n\nexport const Lockfile = z\n .object({\n 'plugin-api-version': z.string().optional(),\n packages: LooseArray(LockedPackage).catch([]),\n 'packages-dev': LooseArray(LockedPackage).catch([]),\n })\n .transform(\n ({\n 'plugin-api-version': pluginApiVersion,\n packages,\n 'packages-dev': packagesDev,\n }) => ({ pluginApiVersion, packages, packagesDev }),\n );\nexport type Lockfile = z.infer<typeof Lockfile>;\n\nexport const ComposerExtract = z\n .object({\n content: z.string(),\n fileName: z.string(),\n })\n .transform(({ content, fileName }) => {\n const lockfileName = fileName.replace(regEx(/\\.json$/), '.lock');\n return {\n file: content,\n lockfileName,\n lockfile: lockfileName,\n };\n })\n .pipe(\n z.object({\n file: Json.pipe(PackageFile),\n lockfileName: z.string(),\n lockfile: z\n .string()\n .transform((lockfileName) => readLocalFile(lockfileName, 'utf8'))\n .pipe(\n z.union([\n z.null(),\n z\n .string()\n .pipe(Json)\n .pipe(Lockfile)\n .nullable()\n .catch(withDebugMessage(null, 'Composer: does not match schema')),\n ]),\n ),\n }),\n )\n .transform(({ file, lockfile, lockfileName }) => {\n const { composerJsonType, require, requireDev } = file;\n const { registryUrls, gitRepos, pathRepos } = file.repositories;\n\n const deps: PackageDependency[] = [];\n\n const profiles = [\n {\n depType: 'require',\n req: require,\n locked: coerceArray(lockfile?.packages),\n },\n {\n depType: 'require-dev',\n req: requireDev,\n locked: coerceArray(lockfile?.packagesDev),\n },\n ];\n\n for (const { depType, req, locked } of profiles) {\n for (const [depName, currentValue] of Object.entries(req)) {\n if (depName === 'php') {\n deps.push({\n depType,\n depName,\n currentValue,\n datasource: GithubTagsDatasource.id,\n packageName: 'containerbase/php-prebuild',\n });\n continue;\n }\n\n if (pathRepos[depName]) {\n deps.push({\n depType,\n depName,\n currentValue,\n skipReason: 'path-dependency',\n });\n continue;\n }\n\n const dep: PackageDependency = {\n depType,\n depName,\n currentValue,\n };\n\n if (!depName.includes('/')) {\n dep.skipReason = 'unsupported';\n }\n\n const lockedDep = locked.find((item) => item.name === depName);\n if (lockedDep && semverComposer.isVersion(lockedDep.version)) {\n dep.lockedVersion = lockedDep.version.replace(regEx(/^v/i), '');\n }\n\n const gitRepo = gitRepos[depName];\n if (gitRepo) {\n const bitbucketMatchGroups = bitbucketUrlRegex.exec(\n gitRepo.url,\n )?.groups;\n\n if (bitbucketMatchGroups) {\n dep.datasource = BitbucketTagsDatasource.id;\n dep.packageName = bitbucketMatchGroups.packageName;\n deps.push(dep);\n continue;\n }\n\n dep.datasource = GitTagsDatasource.id;\n dep.packageName = gitRepo.url;\n deps.push(dep);\n continue;\n }\n\n dep.datasource = PackagistDatasource.id;\n\n if (registryUrls) {\n dep.registryUrls = registryUrls;\n }\n\n deps.push(dep);\n }\n }\n\n if (!deps.length) {\n return null;\n }\n\n const res: PackageFileContent<ComposerManagerData> = { deps };\n\n if (composerJsonType) {\n res.managerData = { composerJsonType };\n }\n\n if (require.php) {\n res.extractedConstraints = { php: require.php };\n }\n\n if (lockfile) {\n res.lockFiles = [lockfileName];\n }\n\n return res;\n });\nexport type ComposerExtract = z.infer<typeof ComposerExtract>;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","names":[],"sources":["../../../../lib/modules/manager/deps-edn/extract.ts"],"sourcesContent":["import { isPlainObject, isString } from '@sindresorhus/is';\nimport { regEx } from '../../../util/regex.ts';\nimport { isHttpUrl } from '../../../util/url.ts';\nimport { BitbucketTagsDatasource } from '../../datasource/bitbucket-tags/index.ts';\nimport { CLOJARS_REPO } from '../../datasource/clojure/common.ts';\nimport { ClojureDatasource } from '../../datasource/clojure/index.ts';\nimport { GitRefsDatasource } from '../../datasource/git-refs/index.ts';\nimport { GithubTagsDatasource } from '../../datasource/github-tags/index.ts';\nimport { GitlabTagsDatasource } from '../../datasource/gitlab-tags/index.ts';\nimport { MAVEN_REPO } from '../../datasource/maven/common.ts';\nimport type { PackageDependency, PackageFileContent } from '../types.ts';\nimport { parseDepsEdnFile } from './parser.ts';\nimport type {\n ParsedEdnData,\n ParsedEdnMetadata,\n ParsedEdnRecord,\n} from './types.ts';\n\nconst dependencyRegex = regEx(\n /^(?<groupId>[a-zA-Z][-_a-zA-Z0-9]*(?:\\.[a-zA-Z0-9][-_a-zA-Z0-9]*)*)(?:\\/(?<artifactId>[a-zA-Z][-_a-zA-Z0-9]*(?:\\.[a-zA-Z0-9][-_a-zA-Z0-9]*)*))?$/,\n);\n\nfunction getPackageName(depName: string): string | null {\n const matchGroups = dependencyRegex.exec(depName)?.groups;\n if (matchGroups) {\n const groupId = matchGroups.groupId;\n const artifactId = matchGroups.artifactId\n ? matchGroups.artifactId\n : groupId;\n return `${groupId}:${artifactId}`;\n }\n\n return null;\n}\n\nconst githubDependencyRegex = regEx(\n /^(?:com|io)\\.github\\.(?<packageName>[^/]+\\/[^/]+)$/,\n);\nconst gitlabDependencyRegex = regEx(\n /^(?:com|io)\\.gitlab\\.(?<packageName>[^/]+\\/[^/]+)$/,\n);\nconst bitbucketDependencyRegex = regEx(\n /^(?:org|io)\\.bitbucket\\.(?<packageName>[^/]+\\/[^/]+)$/,\n);\n\nfunction resolveGitPackageFromEdnKey(\n dep: PackageDependency,\n key: string,\n): void {\n if (dep.datasource) {\n return;\n }\n\n const githubDependencyGroups = githubDependencyRegex.exec(key)?.groups;\n if (githubDependencyGroups?.packageName) {\n dep.datasource = GithubTagsDatasource.id;\n dep.packageName = githubDependencyGroups.packageName;\n return;\n }\n\n const gitlabDependencyGroups = gitlabDependencyRegex.exec(key)?.groups;\n if (gitlabDependencyGroups?.packageName) {\n dep.datasource = GitlabTagsDatasource.id;\n dep.packageName = gitlabDependencyGroups.packageName;\n return;\n }\n\n const bitbucketDependencyGroups = bitbucketDependencyRegex.exec(key)?.groups;\n if (bitbucketDependencyGroups?.packageName) {\n dep.datasource = BitbucketTagsDatasource.id;\n dep.packageName = bitbucketDependencyGroups.packageName;\n return;\n }\n}\n\nconst githubUrlRegex = regEx(\n /^(?:https:\\/\\/|git@)github\\.com[/:](?<packageName>[^/]+\\/[^/]+?)(?:\\.git)?$/,\n);\nconst gitlabUrlRegex = regEx(\n /^(?:https:\\/\\/|git@)gitlab\\.com[/:](?<packageName>[^/]+\\/[^/]+?)(?:\\.git)?$/,\n);\nconst bitbucketUrlRegex = regEx(\n /^(?:https:\\/\\/|git@)bitbucket\\.org[/:](?<packageName>[^/]+\\/[^/]+?)(?:\\.git)?$/,\n);\n\nfunction resolveGitPackageFromEdnVal(\n dep: PackageDependency,\n val: ParsedEdnRecord,\n): void {\n const gitUrl = val['git/url'];\n if (!isString(gitUrl)) {\n return;\n }\n\n const githubMatchGroups = githubUrlRegex.exec(gitUrl)?.groups;\n if (githubMatchGroups) {\n dep.datasource = GithubTagsDatasource.id;\n dep.packageName = githubMatchGroups.packageName;\n dep.sourceUrl = `https://github.com/${dep.packageName}`;\n return;\n }\n\n const gitlabMatchGroups = gitlabUrlRegex.exec(gitUrl)?.groups;\n const bitbucketMatchGroups = bitbucketUrlRegex.exec(gitUrl)?.groups;\n\n if (gitlabMatchGroups) {\n dep.datasource = GitlabTagsDatasource.id;\n dep.packageName = gitlabMatchGroups.packageName;\n dep.sourceUrl = `https://gitlab.com/${dep.packageName}`;\n return;\n }\n\n if (bitbucketMatchGroups) {\n dep.datasource = GitlabTagsDatasource.id;\n dep.packageName = bitbucketMatchGroups.packageName;\n dep.sourceUrl = `https://bitbucket.org/${dep.packageName}`;\n return;\n }\n\n dep.datasource = GitRefsDatasource.id;\n dep.packageName = gitUrl;\n if (isHttpUrl(gitUrl)) {\n dep.sourceUrl = gitUrl.replace(regEx(/\\.git$/), '');\n }\n}\n\nfunction extractDependency(\n key: string,\n val: ParsedEdnData,\n metadata: ParsedEdnMetadata,\n mavenRegistries: string[],\n depType?: string,\n): PackageDependency | null {\n if (!isPlainObject(val)) {\n return null;\n }\n\n const packageName = getPackageName(key);\n if (!packageName) {\n return null;\n }\n const depName = key;\n\n const dep: PackageDependency = {\n depName,\n packageName,\n currentValue: null,\n ...metadata.get(val),\n };\n\n if (depType) {\n dep.depType = depType;\n }\n\n const mvnVersion = val['mvn/version'];\n if (isString(mvnVersion)) {\n dep.datasource = ClojureDatasource.id;\n dep.currentValue = mvnVersion;\n dep.packageName = packageName.replace('/', ':');\n dep.registryUrls = [...mavenRegistries];\n return dep;\n }\n\n resolveGitPackageFromEdnVal(dep, val);\n resolveGitPackageFromEdnKey(dep, key);\n\n if (dep.datasource) {\n const gitTag = val['git/tag'];\n if (isString(gitTag)) {\n dep.currentValue = gitTag;\n }\n\n const gitSha = val['git/sha'] ?? val.sha;\n if (isString(gitSha)) {\n dep.currentDigest = gitSha;\n dep.currentDigestShort = gitSha.slice(0, 7);\n }\n\n return dep;\n }\n\n return null;\n}\n\nfunction extractSection(\n section: ParsedEdnData,\n metadata: ParsedEdnMetadata,\n mavenRegistries: string[],\n depType?: string,\n): PackageDependency[] {\n const deps: PackageDependency[] = [];\n if (isPlainObject(section)) {\n for (const [key, val] of Object.entries(section)) {\n const dep = extractDependency(\n key,\n val,\n metadata,\n mavenRegistries,\n depType,\n );\n if (dep) {\n deps.push(dep);\n }\n }\n }\n return deps;\n}\n\nexport function extractPackageFile(content: string): PackageFileContent | null {\n const parsed = parseDepsEdnFile(content);\n if (!parsed) {\n return null;\n }\n const { data, metadata } = parsed;\n\n const deps: PackageDependency[] = [];\n\n // See: https://clojure.org/reference/deps_and_cli#_modifying_the_default_repositories\n const registryMap: Record<string, string> = {\n clojars: CLOJARS_REPO,\n central: MAVEN_REPO,\n };\n const mavenRepos = data['mvn/repos'];\n if (isPlainObject(mavenRepos)) {\n for (const [repoName, repoSpec] of Object.entries(mavenRepos)) {\n // v8 ignore else -- object keys are always strings\n if (isString(repoName)) {\n if (isPlainObject(repoSpec) && isString(repoSpec.url)) {\n registryMap[repoName] = repoSpec.url;\n // NOTE: any other repo spec is left alone. A coverage-ignore hint\n // cannot suppress the implicit else on an `else if`.\n } else if (isString(repoSpec) && repoSpec === 'nil') {\n delete registryMap[repoName];\n }\n }\n }\n }\n const mavenRegistries: string[] = Object.values(registryMap);\n\n deps.push(...extractSection(data.deps, metadata, mavenRegistries));\n\n const aliases = data.aliases;\n if (isPlainObject(aliases)) {\n for (const [depType, aliasSection] of Object.entries(aliases)) {\n if (isPlainObject(aliasSection)) {\n deps.push(\n ...extractSection(\n aliasSection['extra-deps'],\n metadata,\n mavenRegistries,\n depType,\n ),\n );\n deps.push(\n ...extractSection(\n aliasSection['override-deps'],\n metadata,\n mavenRegistries,\n depType,\n ),\n );\n }\n }\n }\n\n return { deps };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extract.js","names":[],"sources":["../../../../lib/modules/manager/deps-edn/extract.ts"],"sourcesContent":["import { isPlainObject, isString } from '@sindresorhus/is';\nimport { regEx } from '../../../util/regex.ts';\nimport { isHttpUrl } from '../../../util/url.ts';\nimport { BitbucketTagsDatasource } from '../../datasource/bitbucket-tags/index.ts';\nimport { CLOJARS_REPO } from '../../datasource/clojure/common.ts';\nimport { ClojureDatasource } from '../../datasource/clojure/index.ts';\nimport { GitRefsDatasource } from '../../datasource/git-refs/index.ts';\nimport { GithubTagsDatasource } from '../../datasource/github-tags/index.ts';\nimport { GitlabTagsDatasource } from '../../datasource/gitlab-tags/index.ts';\nimport { MAVEN_REPO } from '../../datasource/maven/common.ts';\nimport type { PackageDependency, PackageFileContent } from '../types.ts';\nimport { parseDepsEdnFile } from './parser.ts';\nimport type {\n ParsedEdnData,\n ParsedEdnMetadata,\n ParsedEdnRecord,\n} from './types.ts';\n\nconst dependencyRegex = regEx(\n /^(?<groupId>[a-zA-Z][-_a-zA-Z0-9]*(?:\\.[a-zA-Z0-9][-_a-zA-Z0-9]*)*)(?:\\/(?<artifactId>[a-zA-Z][-_a-zA-Z0-9]*(?:\\.[a-zA-Z0-9][-_a-zA-Z0-9]*)*))?$/,\n);\n\nfunction getPackageName(depName: string): string | null {\n const matchGroups = dependencyRegex.exec(depName)?.groups;\n if (matchGroups) {\n const groupId = matchGroups.groupId;\n const artifactId = matchGroups.artifactId\n ? matchGroups.artifactId\n : groupId;\n return `${groupId}:${artifactId}`;\n }\n\n return null;\n}\n\nconst githubDependencyRegex = regEx(\n /^(?:com|io)\\.github\\.(?<packageName>[^/]+\\/[^/]+)$/,\n);\nconst gitlabDependencyRegex = regEx(\n /^(?:com|io)\\.gitlab\\.(?<packageName>[^/]+\\/[^/]+)$/,\n);\nconst bitbucketDependencyRegex = regEx(\n /^(?:org|io)\\.bitbucket\\.(?<packageName>[^/]+\\/[^/]+)$/,\n);\n\nfunction resolveGitPackageFromEdnKey(\n dep: PackageDependency,\n key: string,\n): void {\n if (dep.datasource) {\n return;\n }\n\n const githubDependencyGroups = githubDependencyRegex.exec(key)?.groups;\n if (githubDependencyGroups?.packageName) {\n dep.datasource = GithubTagsDatasource.id;\n dep.packageName = githubDependencyGroups.packageName;\n return;\n }\n\n const gitlabDependencyGroups = gitlabDependencyRegex.exec(key)?.groups;\n if (gitlabDependencyGroups?.packageName) {\n dep.datasource = GitlabTagsDatasource.id;\n dep.packageName = gitlabDependencyGroups.packageName;\n return;\n }\n\n const bitbucketDependencyGroups = bitbucketDependencyRegex.exec(key)?.groups;\n if (bitbucketDependencyGroups?.packageName) {\n dep.datasource = BitbucketTagsDatasource.id;\n dep.packageName = bitbucketDependencyGroups.packageName;\n return;\n }\n}\n\nconst githubUrlRegex = regEx(\n /^(?:https:\\/\\/|git@)github\\.com[/:](?<packageName>[^/]+\\/[^/]+?)(?:\\.git)?$/,\n);\nconst gitlabUrlRegex = regEx(\n /^(?:https:\\/\\/|git@)gitlab\\.com[/:](?<packageName>[^/]+\\/[^/]+?)(?:\\.git)?$/,\n);\nconst bitbucketUrlRegex = regEx(\n /^(?:https:\\/\\/|git@)bitbucket\\.org[/:](?<packageName>[^/]+\\/[^/]+?)(?:\\.git)?$/,\n);\n\nfunction resolveGitPackageFromEdnVal(\n dep: PackageDependency,\n val: ParsedEdnRecord,\n): void {\n const gitUrl = val['git/url'];\n if (!isString(gitUrl)) {\n return;\n }\n\n const githubMatchGroups = githubUrlRegex.exec(gitUrl)?.groups;\n if (githubMatchGroups) {\n dep.datasource = GithubTagsDatasource.id;\n dep.packageName = githubMatchGroups.packageName;\n dep.sourceUrl = `https://github.com/${dep.packageName}`;\n return;\n }\n\n const gitlabMatchGroups = gitlabUrlRegex.exec(gitUrl)?.groups;\n const bitbucketMatchGroups = bitbucketUrlRegex.exec(gitUrl)?.groups;\n\n if (gitlabMatchGroups) {\n dep.datasource = GitlabTagsDatasource.id;\n dep.packageName = gitlabMatchGroups.packageName;\n dep.sourceUrl = `https://gitlab.com/${dep.packageName}`;\n return;\n }\n\n if (bitbucketMatchGroups) {\n dep.datasource = GitlabTagsDatasource.id;\n dep.packageName = bitbucketMatchGroups.packageName;\n dep.sourceUrl = `https://bitbucket.org/${dep.packageName}`;\n return;\n }\n\n dep.datasource = GitRefsDatasource.id;\n dep.packageName = gitUrl;\n if (isHttpUrl(gitUrl)) {\n dep.sourceUrl = gitUrl.replace(regEx(/\\.git$/), '');\n }\n}\n\nfunction extractDependency(\n key: string,\n val: ParsedEdnData,\n metadata: ParsedEdnMetadata,\n mavenRegistries: string[],\n depType?: string,\n): PackageDependency | null {\n if (!isPlainObject(val)) {\n return null;\n }\n\n const packageName = getPackageName(key);\n if (!packageName) {\n return null;\n }\n const depName = key;\n\n const dep: PackageDependency = {\n depName,\n packageName,\n currentValue: null,\n ...metadata.get(val),\n };\n\n if (depType) {\n dep.depType = depType;\n }\n\n const mvnVersion = val['mvn/version'];\n if (isString(mvnVersion)) {\n dep.datasource = ClojureDatasource.id;\n dep.currentValue = mvnVersion;\n dep.packageName = packageName.replace('/', ':');\n dep.registryUrls = [...mavenRegistries];\n return dep;\n }\n\n resolveGitPackageFromEdnVal(dep, val);\n resolveGitPackageFromEdnKey(dep, key);\n\n if (dep.datasource) {\n const gitTag = val['git/tag'];\n if (isString(gitTag)) {\n dep.currentValue = gitTag;\n }\n\n const gitSha = val['git/sha'] ?? val.sha;\n if (isString(gitSha)) {\n dep.currentDigest = gitSha;\n dep.currentDigestShort = gitSha.slice(0, 7);\n }\n\n return dep;\n }\n\n return null;\n}\n\nfunction extractSection(\n section: ParsedEdnData,\n metadata: ParsedEdnMetadata,\n mavenRegistries: string[],\n depType?: string,\n): PackageDependency[] {\n const deps: PackageDependency[] = [];\n if (isPlainObject(section)) {\n for (const [key, val] of Object.entries(section)) {\n const dep = extractDependency(\n key,\n val,\n metadata,\n mavenRegistries,\n depType,\n );\n if (dep) {\n deps.push(dep);\n }\n }\n }\n return deps;\n}\n\nexport function extractPackageFile(content: string): PackageFileContent | null {\n const parsed = parseDepsEdnFile(content);\n if (!parsed) {\n return null;\n }\n const { data, metadata } = parsed;\n\n const deps: PackageDependency[] = [];\n\n // See: https://clojure.org/reference/deps_and_cli#_modifying_the_default_repositories\n const registryMap: Record<string, string> = {\n clojars: CLOJARS_REPO,\n central: MAVEN_REPO,\n };\n const mavenRepos = data['mvn/repos'];\n if (isPlainObject(mavenRepos)) {\n for (const [repoName, repoSpec] of Object.entries(mavenRepos)) {\n // v8 ignore else -- object keys are always strings\n if (isString(repoName)) {\n if (isPlainObject(repoSpec) && isString(repoSpec.url)) {\n registryMap[repoName] = repoSpec.url;\n } else if (isString(repoSpec) && repoSpec === 'nil') {\n delete registryMap[repoName];\n }\n }\n }\n }\n const mavenRegistries: string[] = Object.values(registryMap);\n\n deps.push(...extractSection(data.deps, metadata, mavenRegistries));\n\n const aliases = data.aliases;\n if (isPlainObject(aliases)) {\n for (const [depType, aliasSection] of Object.entries(aliases)) {\n if (isPlainObject(aliasSection)) {\n deps.push(\n ...extractSection(\n aliasSection['extra-deps'],\n metadata,\n mavenRegistries,\n depType,\n ),\n );\n deps.push(\n ...extractSection(\n aliasSection['override-deps'],\n metadata,\n mavenRegistries,\n depType,\n ),\n );\n }\n }\n }\n\n return { deps };\n}\n"],"mappings":";;;;;;;;;;;;AAkBA,MAAM,kBAAkB,MACtB,kJACF;AAEA,SAAS,eAAe,SAAgC;CACtD,MAAM,cAAc,gBAAgB,KAAK,OAAO,CAAC,EAAE;CACnD,IAAI,aAAa;EACf,MAAM,UAAU,YAAY;EAI5B,OAAO,GAAG,QAAQ,GAHC,YAAY,aAC3B,YAAY,aACZ;CAEN;CAEA,OAAO;AACT;AAEA,MAAM,wBAAwB,MAC5B,oDACF;AACA,MAAM,wBAAwB,MAC5B,oDACF;AACA,MAAM,2BAA2B,MAC/B,uDACF;AAEA,SAAS,4BACP,KACA,KACM;CACN,IAAI,IAAI,YACN;CAGF,MAAM,yBAAyB,sBAAsB,KAAK,GAAG,CAAC,EAAE;CAChE,IAAI,wBAAwB,aAAa;EACvC,IAAI,aAAa,qBAAqB;EACtC,IAAI,cAAc,uBAAuB;EACzC;CACF;CAEA,MAAM,yBAAyB,sBAAsB,KAAK,GAAG,CAAC,EAAE;CAChE,IAAI,wBAAwB,aAAa;EACvC,IAAI,aAAa,qBAAqB;EACtC,IAAI,cAAc,uBAAuB;EACzC;CACF;CAEA,MAAM,4BAA4B,yBAAyB,KAAK,GAAG,CAAC,EAAE;CACtE,IAAI,2BAA2B,aAAa;EAC1C,IAAI,aAAa,wBAAwB;EACzC,IAAI,cAAc,0BAA0B;EAC5C;CACF;AACF;AAEA,MAAM,iBAAiB,MACrB,6EACF;AACA,MAAM,iBAAiB,MACrB,6EACF;AACA,MAAM,oBAAoB,MACxB,gFACF;AAEA,SAAS,4BACP,KACA,KACM;CACN,MAAM,SAAS,IAAI;CACnB,IAAI,CAAC,SAAS,MAAM,GAClB;CAGF,MAAM,oBAAoB,eAAe,KAAK,MAAM,CAAC,EAAE;CACvD,IAAI,mBAAmB;EACrB,IAAI,aAAa,qBAAqB;EACtC,IAAI,cAAc,kBAAkB;EACpC,IAAI,YAAY,sBAAsB,IAAI;EAC1C;CACF;CAEA,MAAM,oBAAoB,eAAe,KAAK,MAAM,CAAC,EAAE;CACvD,MAAM,uBAAuB,kBAAkB,KAAK,MAAM,CAAC,EAAE;CAE7D,IAAI,mBAAmB;EACrB,IAAI,aAAa,qBAAqB;EACtC,IAAI,cAAc,kBAAkB;EACpC,IAAI,YAAY,sBAAsB,IAAI;EAC1C;CACF;CAEA,IAAI,sBAAsB;EACxB,IAAI,aAAa,qBAAqB;EACtC,IAAI,cAAc,qBAAqB;EACvC,IAAI,YAAY,yBAAyB,IAAI;EAC7C;CACF;CAEA,IAAI,aAAa,kBAAkB;CACnC,IAAI,cAAc;CAClB,IAAI,UAAU,MAAM,GAClB,IAAI,YAAY,OAAO,QAAQ,MAAM,QAAQ,GAAG,EAAE;AAEtD;AAEA,SAAS,kBACP,KACA,KACA,UACA,iBACA,SAC0B;CAC1B,IAAI,CAAC,cAAc,GAAG,GACpB,OAAO;CAGT,MAAM,cAAc,eAAe,GAAG;CACtC,IAAI,CAAC,aACH,OAAO;CAIT,MAAM,MAAyB;EAC7B,SAAA;EACA;EACA,cAAc;EACd,GAAG,SAAS,IAAI,GAAG;CACrB;CAEA,IAAI,SACF,IAAI,UAAU;CAGhB,MAAM,aAAa,IAAI;CACvB,IAAI,SAAS,UAAU,GAAG;EACxB,IAAI,aAAa,kBAAkB;EACnC,IAAI,eAAe;EACnB,IAAI,cAAc,YAAY,QAAQ,KAAK,GAAG;EAC9C,IAAI,eAAe,CAAC,GAAG,eAAe;EACtC,OAAO;CACT;CAEA,4BAA4B,KAAK,GAAG;CACpC,4BAA4B,KAAK,GAAG;CAEpC,IAAI,IAAI,YAAY;EAClB,MAAM,SAAS,IAAI;EACnB,IAAI,SAAS,MAAM,GACjB,IAAI,eAAe;EAGrB,MAAM,SAAS,IAAI,cAAc,IAAI;EACrC,IAAI,SAAS,MAAM,GAAG;GACpB,IAAI,gBAAgB;GACpB,IAAI,qBAAqB,OAAO,MAAM,GAAG,CAAC;EAC5C;EAEA,OAAO;CACT;CAEA,OAAO;AACT;AAEA,SAAS,eACP,SACA,UACA,iBACA,SACqB;CACrB,MAAM,OAA4B,CAAC;CACnC,IAAI,cAAc,OAAO,GACvB,KAAK,MAAM,CAAC,KAAK,QAAQ,OAAO,QAAQ,OAAO,GAAG;EAChD,MAAM,MAAM,kBACV,KACA,KACA,UACA,iBACA,OACF;EACA,IAAI,KACF,KAAK,KAAK,GAAG;CAEjB;CAEF,OAAO;AACT;AAEA,SAAgB,mBAAmB,SAA4C;CAC7E,MAAM,SAAS,iBAAiB,OAAO;CACvC,IAAI,CAAC,QACH,OAAO;CAET,MAAM,EAAE,MAAM,aAAa;CAE3B,MAAM,OAA4B,CAAC;CAGnC,MAAM,cAAsC;EAC1C,SAAS;EACT,SAAS;CACX;CACA,MAAM,aAAa,KAAK;CACxB,IAAI,cAAc,UAAU,GACrB;OAAA,MAAM,CAAC,UAAU,aAAa,OAAO,QAAQ,UAAU;;EAE1D,IAAI,SAAS,QAAQ,GAAG;GACtB,IAAI,cAAc,QAAQ,KAAK,SAAS,SAAS,GAAG,GAClD,YAAY,YAAY,SAAS;QAC5B,IAAI,SAAS,QAAQ,KAAK,aAAa,OAC5C,OAAO,YAAY;EAEvB;;CAGJ,MAAM,kBAA4B,OAAO,OAAO,WAAW;CAE3D,KAAK,KAAK,GAAG,eAAe,KAAK,MAAM,UAAU,eAAe,CAAC;CAEjE,MAAM,UAAU,KAAK;CACrB,IAAI,cAAc,OAAO,GAClB;OAAA,MAAM,CAAC,SAAS,iBAAiB,OAAO,QAAQ,OAAO,GAC1D,IAAI,cAAc,YAAY,GAAG;GAC/B,KAAK,KACH,GAAG,eACD,aAAa,eACb,UACA,iBACA,OACF,CACF;GACA,KAAK,KACH,GAAG,eACD,aAAa,kBACb,UACA,iBACA,OACF,CACF;EACF;;CAIJ,OAAO,EAAE,KAAK;AAChB"}
|
|
@@ -42,7 +42,7 @@ function extractPackageFile(content, packageFile, extractConfig) {
|
|
|
42
42
|
const lineMapper = new LineMapper(content, regEx(/^\s*image:/));
|
|
43
43
|
const services = config.services ?? config;
|
|
44
44
|
const extensions = coerceObject(config.extensions);
|
|
45
|
-
const deps = Object.values(services
|
|
45
|
+
const deps = Object.values(services).concat(Object.values(extensions)).filter((service) => isString(service?.image) && !service?.build).map((service) => {
|
|
46
46
|
const dep = getDep(service.image, true, extractConfig.registryAliases);
|
|
47
47
|
// istanbul ignore if
|
|
48
48
|
if (!lineMapper.pluckLineNumber(service.image)) return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","names":[],"sources":["../../../../lib/modules/manager/docker-compose/extract.ts"],"sourcesContent":["import { isString, isTruthy } from '@sindresorhus/is';\nimport { logger } from '../../../logger/index.ts';\nimport { coerceObject } from '../../../util/object.ts';\nimport { newlineRegex, regEx } from '../../../util/regex.ts';\nimport { parseSingleYaml } from '../../../util/yaml.ts';\nimport { getDep } from '../dockerfile/extract.ts';\nimport type { ExtractConfig, PackageFileContent } from '../types.ts';\nimport { DockerComposeFile } from './schema.ts';\n\nclass LineMapper {\n private imageLines: { line: string; lineNumber: number; used: boolean }[];\n\n constructor(content: string, filter: RegExp) {\n this.imageLines = [...content.split(newlineRegex).entries()]\n .filter((entry) => filter.test(entry[1]))\n .map(([lineNumber, line]) => ({ lineNumber, line, used: false }));\n }\n\n pluckLineNumber(imageName: string | undefined): number | null {\n const lineMeta = this.imageLines.find(\n ({ line, used }) => !used && imageName && line.includes(imageName),\n );\n // istanbul ignore if\n if (!lineMeta) {\n return null;\n }\n lineMeta.used = true; // unset plucked lines so duplicates are skipped\n return lineMeta.lineNumber;\n }\n}\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n extractConfig: ExtractConfig,\n): PackageFileContent | null {\n logger.debug(`docker-compose.extractPackageFile(${packageFile})`);\n let config: DockerComposeFile;\n try {\n config = parseSingleYaml(content, {\n customSchema: DockerComposeFile,\n removeTemplates: true,\n });\n } catch (err) {\n logger.debug(\n { err, packageFile },\n `Parsing Docker Compose config YAML failed`,\n );\n return null;\n }\n try {\n const lineMapper = new LineMapper(content, regEx(/^\\s*image:/));\n\n // docker-compose v1 places the services at the top level,\n // docker-compose v2+ places the services within a 'services' key\n // since docker-compose spec version 1.27, the 'version' key has\n // become optional and can no longer be used to differentiate\n // between v1 and v2.\n const services = config.services ?? config;\n const extensions = coerceObject(config.extensions);\n\n // Image name/tags for services are only eligible for update if they don't\n // use variables and if the image is not built locally\n const deps = Object.values(
|
|
1
|
+
{"version":3,"file":"extract.js","names":[],"sources":["../../../../lib/modules/manager/docker-compose/extract.ts"],"sourcesContent":["import { isString, isTruthy } from '@sindresorhus/is';\nimport { logger } from '../../../logger/index.ts';\nimport { coerceObject } from '../../../util/object.ts';\nimport { newlineRegex, regEx } from '../../../util/regex.ts';\nimport { parseSingleYaml } from '../../../util/yaml.ts';\nimport { getDep } from '../dockerfile/extract.ts';\nimport type { ExtractConfig, PackageFileContent } from '../types.ts';\nimport { DockerComposeFile } from './schema.ts';\n\nclass LineMapper {\n private imageLines: { line: string; lineNumber: number; used: boolean }[];\n\n constructor(content: string, filter: RegExp) {\n this.imageLines = [...content.split(newlineRegex).entries()]\n .filter((entry) => filter.test(entry[1]))\n .map(([lineNumber, line]) => ({ lineNumber, line, used: false }));\n }\n\n pluckLineNumber(imageName: string | undefined): number | null {\n const lineMeta = this.imageLines.find(\n ({ line, used }) => !used && imageName && line.includes(imageName),\n );\n // istanbul ignore if\n if (!lineMeta) {\n return null;\n }\n lineMeta.used = true; // unset plucked lines so duplicates are skipped\n return lineMeta.lineNumber;\n }\n}\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n extractConfig: ExtractConfig,\n): PackageFileContent | null {\n logger.debug(`docker-compose.extractPackageFile(${packageFile})`);\n let config: DockerComposeFile;\n try {\n config = parseSingleYaml(content, {\n customSchema: DockerComposeFile,\n removeTemplates: true,\n });\n } catch (err) {\n logger.debug(\n { err, packageFile },\n `Parsing Docker Compose config YAML failed`,\n );\n return null;\n }\n try {\n const lineMapper = new LineMapper(content, regEx(/^\\s*image:/));\n\n // docker-compose v1 places the services at the top level,\n // docker-compose v2+ places the services within a 'services' key\n // since docker-compose spec version 1.27, the 'version' key has\n // become optional and can no longer be used to differentiate\n // between v1 and v2.\n const services = config.services ?? config;\n const extensions = coerceObject(config.extensions);\n\n // Image name/tags for services are only eligible for update if they don't\n // use variables and if the image is not built locally\n const deps = Object.values(services)\n .concat(Object.values(extensions))\n .filter((service) => isString(service?.image) && !service?.build)\n .map((service) => {\n const dep = getDep(service.image, true, extractConfig.registryAliases);\n const lineNumber = lineMapper.pluckLineNumber(service.image);\n // istanbul ignore if\n if (!lineNumber) {\n return null;\n }\n return dep;\n })\n .filter(isTruthy);\n\n logger.trace({ deps }, 'Docker Compose image');\n return { deps };\n } catch (err) /* istanbul ignore next */ {\n logger.debug({ packageFile, err }, 'Error extracting Docker Compose file');\n return null;\n }\n}\n"],"mappings":";;;;;;;;AASA,IAAM,aAAN,MAAiB;CACf;CAEA,YAAY,SAAiB,QAAgB;EAC3C,KAAK,aAAa,CAAC,GAAG,QAAQ,MAAM,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CACzD,QAAQ,UAAU,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC,CACxC,KAAK,CAAC,YAAY,WAAW;GAAE;GAAY;GAAM,MAAM;EAAM,EAAE;CACpE;CAEA,gBAAgB,WAA8C;EAC5D,MAAM,WAAW,KAAK,WAAW,MAC9B,EAAE,MAAM,WAAW,CAAC,QAAQ,aAAa,KAAK,SAAS,SAAS,CACnE;;EAEA,IAAI,CAAC,UACH,OAAO;EAET,SAAS,OAAO;EAChB,OAAO,SAAS;CAClB;AACF;AAEA,SAAgB,mBACd,SACA,aACA,eAC2B;CAC3B,OAAO,MAAM,qCAAqC,YAAY,EAAE;CAChE,IAAI;CACJ,IAAI;EACF,SAAS,gBAAgB,SAAS;GAChC,cAAc;GACd,iBAAiB;EACnB,CAAC;CACH,SAAS,KAAK;EACZ,OAAO,MACL;GAAE;GAAK;EAAY,GACnB,2CACF;EACA,OAAO;CACT;CACA,IAAI;EACF,MAAM,aAAa,IAAI,WAAW,SAAS,MAAM,YAAY,CAAC;EAO9D,MAAM,WAAW,OAAO,YAAY;EACpC,MAAM,aAAa,aAAa,OAAO,UAAU;EAIjD,MAAM,OAAO,OAAO,OAAO,QAAQ,CAAC,CACjC,OAAO,OAAO,OAAO,UAAU,CAAC,CAAC,CACjC,QAAQ,YAAY,SAAS,SAAS,KAAK,KAAK,CAAC,SAAS,KAAK,CAAC,CAChE,KAAK,YAAY;GAChB,MAAM,MAAM,OAAO,QAAQ,OAAO,MAAM,cAAc,eAAe;;GAGrE,IAAI,CAFe,WAAW,gBAAgB,QAAQ,KAExC,GACZ,OAAO;GAET,OAAO;EACT,CAAC,CAAC,CACD,OAAO,QAAQ;EAElB,OAAO,MAAM,EAAE,KAAK,GAAG,sBAAsB;EAC7C,OAAO,EAAE,KAAK;CAChB,SAAS,gCAAgC;EACvC,OAAO,MAAM;GAAE;GAAa;EAAI,GAAG,sCAAsC;EACzE,OAAO;CACT;AACF"}
|
|
@@ -9,7 +9,7 @@ hashMap.set("asdf", "430eb99b58171700c8a59c78b9e648575e9b176b781d90dd10a710f7b69
|
|
|
9
9
|
hashMap.set("azure-pipelines", "a051fe5e7e4fef8208b5864131a2b52b4ae319936f1dd8ee5a4e1ef11359ec09");
|
|
10
10
|
hashMap.set("batect", "375d39b432013bedb1330cf40a2199dd822751b28578214f219e7bab98594b8d");
|
|
11
11
|
hashMap.set("batect-wrapper", "d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939");
|
|
12
|
-
hashMap.set("bazel", "
|
|
12
|
+
hashMap.set("bazel", "c31bc0a0e23d32726bcc09aa67533ebc5058124bf89c88e09c837419f550801a");
|
|
13
13
|
hashMap.set("bazel-module", "9fbba0339f9f7785d52ab85c5f0f6385003093c063483c13feccba13ae438bef");
|
|
14
14
|
hashMap.set("bazelisk", "770f75a746dc6ba90c518788d5987d7df4243ef9eee122d1bb0556a93d6e1b11");
|
|
15
15
|
hashMap.set("bicep", "7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db");
|
|
@@ -17,56 +17,56 @@ hashMap.set("bitbucket-pipelines", "59c0503494ab1442b127914503c01b97ac17b6742b19
|
|
|
17
17
|
hashMap.set("bitrise", "478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42");
|
|
18
18
|
hashMap.set("buildkite", "b8b404f53cd5d61c39153fddf93945e621471c4ac6aa9960c881cd868922bb4c");
|
|
19
19
|
hashMap.set("buildpacks", "6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f");
|
|
20
|
-
hashMap.set("bun", "
|
|
20
|
+
hashMap.set("bun", "8ec4c3c8080a55e93b741cfa97779b47291734dc24d80529c887d3b2b823fc44");
|
|
21
21
|
hashMap.set("bun-version", "df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4");
|
|
22
22
|
hashMap.set("bundler", "6e4784dd98c1f86ef64cc8cbf3128df48aebf920032d7792b54fdedd3dd9d4d5");
|
|
23
23
|
hashMap.set("cake", "9ebd8b481220b30a8860121d26184540a1a2fcc05ef780df9295dea39b386fad");
|
|
24
|
-
hashMap.set("cargo", "
|
|
24
|
+
hashMap.set("cargo", "fe8136135c895dd08819f91a60cf105f8b951251b057092700101ace991ae1d7");
|
|
25
25
|
hashMap.set("cdnurl", "9a81c8e3c6ad6c788498c99fc1067ffdfcd92a427c3afaf8c0130975d83131f2");
|
|
26
26
|
hashMap.set("circleci", "91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85");
|
|
27
27
|
hashMap.set("cloudbuild", "f4e40388944652c8a19f8518771ac8d3f3c4ccf81ddef0e68b463aca833cb73c");
|
|
28
28
|
hashMap.set("cocoapods", "f832e2beef885bb3fd697ed9bb3e8cd742926bfec37ff41212edd2dbb4edb3ba");
|
|
29
|
-
hashMap.set("composer", "
|
|
29
|
+
hashMap.set("composer", "f1294fb3866ff65a75d98fdef80b1df3d3a8856535b8c690d1799e1205e4b639");
|
|
30
30
|
hashMap.set("conan", "8d46e9a30ae628e26118aea10a98d1b846f7c5d96d51ce24693437d555f6d125");
|
|
31
31
|
hashMap.set("copier", "10ae4d7f8ff35faf3a3f9f25bf4c969ea960e19aaf8c012aee11f93f4d10533e");
|
|
32
32
|
hashMap.set("cpanfile", "07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3");
|
|
33
33
|
hashMap.set("crossplane", "5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40");
|
|
34
34
|
hashMap.set("crow", "eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0");
|
|
35
35
|
hashMap.set("deno", "917fdbfbad58fd7f57933646a760d91768368df563ce5eaf34a2bba165164a12");
|
|
36
|
-
hashMap.set("deps-edn", "
|
|
36
|
+
hashMap.set("deps-edn", "06783dbc8b9c7bb84e162d1f75b7db56dfa021cc6f809dfd2314cee8b64af08d");
|
|
37
37
|
hashMap.set("devbox", "a40050cc61bd9b5d500ec111abb17bb15d5f82ab5b7699f66f628307ba8382c9");
|
|
38
38
|
hashMap.set("devcontainer", "24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec");
|
|
39
|
-
hashMap.set("docker-compose", "
|
|
39
|
+
hashMap.set("docker-compose", "fba87b82cb0f2bfd66526631fbe928b8153e7ca701a5790d02b944df17417bb9");
|
|
40
40
|
hashMap.set("dockerfile", "e491725880d930dfd0d58db135b31c0cc5bb6ff5e87f9e813c78bc0cf03b580c");
|
|
41
|
-
hashMap.set("droneci", "
|
|
41
|
+
hashMap.set("droneci", "661d2a2d7295af8dd7a1234c7090c42a89306bd574c3adf1fc67782efaad3998");
|
|
42
42
|
hashMap.set("fleet", "4942d52e82f35c41e2d46cf76f426e2d91b350338cfc0bbcb97e8aaae2a1ac0b");
|
|
43
43
|
hashMap.set("flux", "aad8c786c4a2b5820663027452eeb8fe84c3af8c8399261e85f0eade2e484fe8");
|
|
44
44
|
hashMap.set("fvm", "9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90");
|
|
45
45
|
hashMap.set("git-submodules", "df8bb92b2906d8cddda2d4b302ee503f8002e3554d32d74cef2f584fe891f38f");
|
|
46
|
-
hashMap.set("github-actions", "
|
|
46
|
+
hashMap.set("github-actions", "dc9b84670ff9f2e3d058a1eafacb0b2093b8273d31b67547d0f5d44db5bc2952");
|
|
47
47
|
hashMap.set("gitlabci", "a5e1e66ef461e1c1e71062f85f35a212417e23627f4b002810f9a98295d6e672");
|
|
48
48
|
hashMap.set("gitlabci-include", "8860a15ab516fde00694f9bd9bf56fce4addafe5a55b5ddb9a4ec477d301d351");
|
|
49
49
|
hashMap.set("glasskube", "93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30");
|
|
50
50
|
hashMap.set("gleam", "5e9b9f5f914afe5ed7b526c06c65111e3716d2dea9b0cbe7907bbc96db1064a3");
|
|
51
|
-
hashMap.set("gomod", "
|
|
51
|
+
hashMap.set("gomod", "de042f3b5a900346c5f2df41f793f1716dc12145c38705c3064c6a7150b49495");
|
|
52
52
|
hashMap.set("gradle", "9e3ff52ce4ad2555929acdd4d32c417c4ef8714c23a92f2893ecc580fa4d6064");
|
|
53
53
|
hashMap.set("gradle-wrapper", "73ba30c34955fab7737454b5cff9aca6d1b5607d53c17c9e13d8ad96f6eaae87");
|
|
54
54
|
hashMap.set("haskell-cabal", "f158b7725e3143dfd2950e3de0bbccc2a61cd7eba87f7a54c5057e01252348e2");
|
|
55
55
|
hashMap.set("helm-requirements", "7ee9dace4c036dfe113c0c0e46369d8b83a739caa831660142ca98d3236a180a");
|
|
56
56
|
hashMap.set("helm-values", "01069e887d4f3b55ca62a3c0dc66d8620264e1426207be9eb240a10c1ad5e412");
|
|
57
|
-
hashMap.set("helmfile", "
|
|
57
|
+
hashMap.set("helmfile", "28572dd24b6746ca7065ee467aa13bbc8c3e8c0f88ae48e33bce88468c600100");
|
|
58
58
|
hashMap.set("helmsman", "951deeb3355da751ef39c9e932b26ea749450e32e75759e4b5fc29359e100b37");
|
|
59
59
|
hashMap.set("helmv3", "4a3cf47072978eb131d70cd13f3d0bbd4408b0290be2a798a4cbf6103189269b");
|
|
60
60
|
hashMap.set("hermit", "0fb25b7766c3a264fbb765ff75b1542b24136c4c9f933696d4a5aecfed637071");
|
|
61
61
|
hashMap.set("homeassistant-manifest", "05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f");
|
|
62
|
-
hashMap.set("homebrew", "
|
|
62
|
+
hashMap.set("homebrew", "dffe954a4e18c2dc4bfdaa12222fe8ddc3395869afd5afa603fc2b6264747984");
|
|
63
63
|
hashMap.set("html", "81fa6c2bf2b868596584a48b949645207a2aa3081951ed99183ee50b70b77d5f");
|
|
64
|
-
hashMap.set("jenkins", "
|
|
64
|
+
hashMap.set("jenkins", "7fda0e7e0f3d5e18088ccb3594f727f4cfc48b064706bdaaf1a0a075b6a2cff5");
|
|
65
65
|
hashMap.set("jsonnet-bundler", "4cedeb0394e5c38361d1868ff45b4f34747ab8c492378b6e63dcaf1f4f3c024d");
|
|
66
66
|
hashMap.set("kotlin-script", "95ebc844c040ca047321b207d525220e29774a2a1fe06f9639e8353c66908564");
|
|
67
67
|
hashMap.set("kubernetes", "321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de");
|
|
68
|
-
hashMap.set("kustomize", "
|
|
69
|
-
hashMap.set("leiningen", "
|
|
68
|
+
hashMap.set("kustomize", "ca5f7520a3ce1082a94097425021cf51e02088157bcb3286c04d22f59fd0dd61");
|
|
69
|
+
hashMap.set("leiningen", "c8397e376f1717c2f771ae9ea3ba6b720d2422b133cf937e762c44e42be146a2");
|
|
70
70
|
hashMap.set("maven", "c110b99291c2a5bc82cf7a69330275e9bbd7dc8ba3e9e987611dfcffbe002d8d");
|
|
71
71
|
hashMap.set("maven-wrapper", "6e53b6e4abf1d20b75094c7a70d66b4a5ac39954f009aa401f5e55dada8be4d0");
|
|
72
72
|
hashMap.set("meteor", "4636a47ba4dcfff19fe662572ef7a40d17146be3c966e00ef437e1fc8de92776");
|
|
@@ -76,19 +76,19 @@ hashMap.set("mix", "0f79163dc2a1c896599d152be635c23beaf16812ae3d8fbfffec98c7bd0d
|
|
|
76
76
|
hashMap.set("nix", "0f80f0b81f2197a7e588be5c115a32a826fc184593f4e879f7b60fafd97a977e");
|
|
77
77
|
hashMap.set("nodenv", "ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8");
|
|
78
78
|
hashMap.set("npm", "30c78bc1c29eeecbdedb4eacc52bd93eedfb07279fd385f893193dcac6196466");
|
|
79
|
-
hashMap.set("nuget", "
|
|
79
|
+
hashMap.set("nuget", "b81fb0ca6cfeb86b004592b38ce176673e056d6a2ed41a9807afb0eb7ad405d2");
|
|
80
80
|
hashMap.set("nvm", "3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322");
|
|
81
81
|
hashMap.set("ocb", "032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca");
|
|
82
82
|
hashMap.set("osgi", "d6567a733ef3983112b46fdccd7ceebfcd48411104e0c6b6e714d4310db48024");
|
|
83
83
|
hashMap.set("pep621", "52450676f8b0e05134b3e8947b832195ef40bcaec1ce43d71351a2f797b80d75");
|
|
84
|
-
hashMap.set("pep723", "
|
|
84
|
+
hashMap.set("pep723", "77022a0eae6a3cbb74a1e6d596db1276e379768e40448192b3fa81edd14ca73f");
|
|
85
85
|
hashMap.set("pip-compile", "7e418b8bdaeed38c1372eb19e0ae1c64999000e128d8754e37368638037b4c5c");
|
|
86
86
|
hashMap.set("pip_requirements", "bf3a407f72abf711230247bef94ba5dc84c08a35107b0f017912fad66afa716a");
|
|
87
87
|
hashMap.set("pip_setup", "df18fba2bdcf48f3ca12a8f7e5cd28df31e2368d5528127277038ef4206eca79");
|
|
88
88
|
hashMap.set("pipenv", "cd974eadd649ba8c9c2e3c7b564a49c8bb2ce95d6df043a7e942364f574c7613");
|
|
89
89
|
hashMap.set("pixi", "83f94ec64144ce2adad0901844ab1e9c1636bb5c77bd6578b22b98ab401d34b4");
|
|
90
90
|
hashMap.set("poetry", "b2b917c200d25e01a3a198deb3bf33353535f27430142111cfab816c03bb966d");
|
|
91
|
-
hashMap.set("pre-commit", "
|
|
91
|
+
hashMap.set("pre-commit", "760f2c291ae084db889f722390798a0e2d431ccdc3bc676e73b14901ebea19ac");
|
|
92
92
|
hashMap.set("proto", "412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843");
|
|
93
93
|
hashMap.set("pub", "8e7c65dfd1999de4f7c44392e949a4d8f4701eb86df59d550e4657feb06b1872");
|
|
94
94
|
hashMap.set("puppet", "ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45");
|
|
@@ -103,14 +103,14 @@ hashMap.set("scalafmt", "9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988
|
|
|
103
103
|
hashMap.set("setup-cfg", "4a3a7c812d34739c07685691e7e64c7d3127f9d7d4aff99dc45a25df97ed9745");
|
|
104
104
|
hashMap.set("smithy", "9641b91d065ffb63be0dd888139a0402dba41e550f8b44c592db9daf52109100");
|
|
105
105
|
hashMap.set("sveltos", "60dd75bb53ace31217211100d622fdb65068c6162758b6ae7103a6ce8bdc9f90");
|
|
106
|
-
hashMap.set("swift", "
|
|
106
|
+
hashMap.set("swift", "6932c904b0d18ad4845c46ce3f7d4c54dd8e411e16c31a782b399fe0b7dc550b");
|
|
107
107
|
hashMap.set("tekton", "33948f5bdf7553909fa63744adb26da97ddf366e9499bccab1250879570267c9");
|
|
108
|
-
hashMap.set("terraform", "
|
|
108
|
+
hashMap.set("terraform", "5b0037e4a88e06efe6f006eff15c24d9e1fefdda40d282aa99f54c2637d21c4d");
|
|
109
109
|
hashMap.set("terraform-version", "ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa");
|
|
110
110
|
hashMap.set("terragrunt", "ffcbaa67dd65f064d43f8c121c1006115eab1879c4bd38de263b9b90a009c118");
|
|
111
111
|
hashMap.set("terragrunt-version", "eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d");
|
|
112
|
-
hashMap.set("tflint-plugin", "
|
|
113
|
-
hashMap.set("travis", "
|
|
112
|
+
hashMap.set("tflint-plugin", "f423bfa2b42a2bfc0e38a33ebd4f9d452473e7ed4e7ad6384a99eb9a35d97479");
|
|
113
|
+
hashMap.set("travis", "f3e2f38e699c390b00ff481be5e91dceaa81609e93caf9a4214933de759c84fc");
|
|
114
114
|
hashMap.set("typst", "d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248");
|
|
115
115
|
hashMap.set("unity3d", "f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920");
|
|
116
116
|
hashMap.set("velaci", "fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','a52394a36ac5517f7330473c31d93aa05b2ce607c5e951b48f25a4693cd20a81');\nhashMap.set('ansible-galaxy','0a264d6be73953d801510fdeff271e4071c274339569c6dab4e2a128eaf4869f');\nhashMap.set('ant','2df5943cf0ed19a21b94df13729dbb925655548130caf37e3e22bebaed518e17');\nhashMap.set('apm','ca7c2342c04489253cd8f38d294a4c1428010115c2be22b3e0812dacf9881244');\nhashMap.set('argocd','cff9cd22257bc460ae4b9936570bf0ed5585f280a55d26629deaeeb0bfee8eb5');\nhashMap.set('asdf','430eb99b58171700c8a59c78b9e648575e9b176b781d90dd10a710f7b69015bb');\nhashMap.set('azure-pipelines','a051fe5e7e4fef8208b5864131a2b52b4ae319936f1dd8ee5a4e1ef11359ec09');\nhashMap.set('batect','375d39b432013bedb1330cf40a2199dd822751b28578214f219e7bab98594b8d');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','e5f354a1370b544c6e220880f11cfc11a2e95d2d172dae7d008ef0f65e8693ef');\nhashMap.set('bazel-module','9fbba0339f9f7785d52ab85c5f0f6385003093c063483c13feccba13ae438bef');\nhashMap.set('bazelisk','770f75a746dc6ba90c518788d5987d7df4243ef9eee122d1bb0556a93d6e1b11');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','b8b404f53cd5d61c39153fddf93945e621471c4ac6aa9960c881cd868922bb4c');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','684f46dd3cef4d30f9e4ae97c384a38d032ebf3d0bfe9b471ab1772c7b26827a');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','6e4784dd98c1f86ef64cc8cbf3128df48aebf920032d7792b54fdedd3dd9d4d5');\nhashMap.set('cake','9ebd8b481220b30a8860121d26184540a1a2fcc05ef780df9295dea39b386fad');\nhashMap.set('cargo','63721e2683b30cffc5ba87c75f919dc61a555f7741fa479f7446ef98c0ae9d5d');\nhashMap.set('cdnurl','9a81c8e3c6ad6c788498c99fc1067ffdfcd92a427c3afaf8c0130975d83131f2');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','f4e40388944652c8a19f8518771ac8d3f3c4ccf81ddef0e68b463aca833cb73c');\nhashMap.set('cocoapods','f832e2beef885bb3fd697ed9bb3e8cd742926bfec37ff41212edd2dbb4edb3ba');\nhashMap.set('composer','99ad5e0c0b479ae571e8f018e6d312c0e418f4800a6583b997b0e32d9058e9bd');\nhashMap.set('conan','8d46e9a30ae628e26118aea10a98d1b846f7c5d96d51ce24693437d555f6d125');\nhashMap.set('copier','10ae4d7f8ff35faf3a3f9f25bf4c969ea960e19aaf8c012aee11f93f4d10533e');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','917fdbfbad58fd7f57933646a760d91768368df563ce5eaf34a2bba165164a12');\nhashMap.set('deps-edn','8a35b7e6e5ec375d8411cd40fa8eed836ba5aab02efe8ed8819861b41490da1b');\nhashMap.set('devbox','a40050cc61bd9b5d500ec111abb17bb15d5f82ab5b7699f66f628307ba8382c9');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','d806fc9ff52673b78587c6c58789b66987b046e3fd0b16e4f6d57aca078e9bca');\nhashMap.set('dockerfile','e491725880d930dfd0d58db135b31c0cc5bb6ff5e87f9e813c78bc0cf03b580c');\nhashMap.set('droneci','e2039bb37c2d63c53027b188d1f0faa7c8923dcbfe6cf3851fba8d4e9f43a358');\nhashMap.set('fleet','4942d52e82f35c41e2d46cf76f426e2d91b350338cfc0bbcb97e8aaae2a1ac0b');\nhashMap.set('flux','aad8c786c4a2b5820663027452eeb8fe84c3af8c8399261e85f0eade2e484fe8');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','df8bb92b2906d8cddda2d4b302ee503f8002e3554d32d74cef2f584fe891f38f');\nhashMap.set('github-actions','7cffdc830dec9f7fe2b9fc039cd4d44b9356d4e797743b20bfc2226b5fbf1929');\nhashMap.set('gitlabci','a5e1e66ef461e1c1e71062f85f35a212417e23627f4b002810f9a98295d6e672');\nhashMap.set('gitlabci-include','8860a15ab516fde00694f9bd9bf56fce4addafe5a55b5ddb9a4ec477d301d351');\nhashMap.set('glasskube','93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30');\nhashMap.set('gleam','5e9b9f5f914afe5ed7b526c06c65111e3716d2dea9b0cbe7907bbc96db1064a3');\nhashMap.set('gomod','fa22f3f0b0af7b7f769cf3541bd38fdf67365965ce6c8a470f88155958991c24');\nhashMap.set('gradle','9e3ff52ce4ad2555929acdd4d32c417c4ef8714c23a92f2893ecc580fa4d6064');\nhashMap.set('gradle-wrapper','73ba30c34955fab7737454b5cff9aca6d1b5607d53c17c9e13d8ad96f6eaae87');\nhashMap.set('haskell-cabal','f158b7725e3143dfd2950e3de0bbccc2a61cd7eba87f7a54c5057e01252348e2');\nhashMap.set('helm-requirements','7ee9dace4c036dfe113c0c0e46369d8b83a739caa831660142ca98d3236a180a');\nhashMap.set('helm-values','01069e887d4f3b55ca62a3c0dc66d8620264e1426207be9eb240a10c1ad5e412');\nhashMap.set('helmfile','163baefbe5323bb5e671a73b72eaaecfbd03b798c70fd4117e191e143f2f7a4f');\nhashMap.set('helmsman','951deeb3355da751ef39c9e932b26ea749450e32e75759e4b5fc29359e100b37');\nhashMap.set('helmv3','4a3cf47072978eb131d70cd13f3d0bbd4408b0290be2a798a4cbf6103189269b');\nhashMap.set('hermit','0fb25b7766c3a264fbb765ff75b1542b24136c4c9f933696d4a5aecfed637071');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','9c64a4f1475b1c2052372e566c9190f32ae8acd1c54313031d55ae8772388367');\nhashMap.set('html','81fa6c2bf2b868596584a48b949645207a2aa3081951ed99183ee50b70b77d5f');\nhashMap.set('jenkins','7bfb09418a132e052579196633bac78ac947cf93f1e70748ea1b3da929874b87');\nhashMap.set('jsonnet-bundler','4cedeb0394e5c38361d1868ff45b4f34747ab8c492378b6e63dcaf1f4f3c024d');\nhashMap.set('kotlin-script','95ebc844c040ca047321b207d525220e29774a2a1fe06f9639e8353c66908564');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','eb9d6d6aa65a738d6c658a6c9a73a9e86761360a608cf0ba8000d6c554dbc0c7');\nhashMap.set('leiningen','a7295160ce901e08e12be75cb3aaf6b9a199de811eb60b618feb773f7c552bba');\nhashMap.set('maven','c110b99291c2a5bc82cf7a69330275e9bbd7dc8ba3e9e987611dfcffbe002d8d');\nhashMap.set('maven-wrapper','6e53b6e4abf1d20b75094c7a70d66b4a5ac39954f009aa401f5e55dada8be4d0');\nhashMap.set('meteor','4636a47ba4dcfff19fe662572ef7a40d17146be3c966e00ef437e1fc8de92776');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','10f20b75f727142938939b2b3cd7e0f77c3a37567f2b8b7ef78cef9a4908936e');\nhashMap.set('mix','0f79163dc2a1c896599d152be635c23beaf16812ae3d8fbfffec98c7bd0de872');\nhashMap.set('nix','0f80f0b81f2197a7e588be5c115a32a826fc184593f4e879f7b60fafd97a977e');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','30c78bc1c29eeecbdedb4eacc52bd93eedfb07279fd385f893193dcac6196466');\nhashMap.set('nuget','d6acdee647e7e0f3568c46154a2e32c425e44b1044634919530e234035eddeff');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','d6567a733ef3983112b46fdccd7ceebfcd48411104e0c6b6e714d4310db48024');\nhashMap.set('pep621','52450676f8b0e05134b3e8947b832195ef40bcaec1ce43d71351a2f797b80d75');\nhashMap.set('pep723','b96683163de63ed93207ec0538066705b1e58a1cd5b8bd11c63fc28b26bddba1');\nhashMap.set('pip-compile','7e418b8bdaeed38c1372eb19e0ae1c64999000e128d8754e37368638037b4c5c');\nhashMap.set('pip_requirements','bf3a407f72abf711230247bef94ba5dc84c08a35107b0f017912fad66afa716a');\nhashMap.set('pip_setup','df18fba2bdcf48f3ca12a8f7e5cd28df31e2368d5528127277038ef4206eca79');\nhashMap.set('pipenv','cd974eadd649ba8c9c2e3c7b564a49c8bb2ce95d6df043a7e942364f574c7613');\nhashMap.set('pixi','83f94ec64144ce2adad0901844ab1e9c1636bb5c77bd6578b22b98ab401d34b4');\nhashMap.set('poetry','b2b917c200d25e01a3a198deb3bf33353535f27430142111cfab816c03bb966d');\nhashMap.set('pre-commit','a8fa968d6308947c8a6eedd799ea449e548e918971acdc250b627e86a446dc23');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','8e7c65dfd1999de4f7c44392e949a4d8f4701eb86df59d550e4657feb06b1872');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','e1fc88a4e14cd595e89bb3d79b4adf2add3ce5eb80f75276e712c32598cca53d');\nhashMap.set('renovate-config','ca60beee2e3b871ea1216fa9df9a501f7ed355fe7da29e12509e56a124a78e69');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','6ace53db02874d73620d2d872291839820a512a9529c42d174358c692e5db720');\nhashMap.set('sbt','e1eb5c7f0171a9bb1b6bd4a36a91039a31b6c84e0983d91d930be31a69506d9e');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','4a3a7c812d34739c07685691e7e64c7d3127f9d7d4aff99dc45a25df97ed9745');\nhashMap.set('smithy','9641b91d065ffb63be0dd888139a0402dba41e550f8b44c592db9daf52109100');\nhashMap.set('sveltos','60dd75bb53ace31217211100d622fdb65068c6162758b6ae7103a6ce8bdc9f90');\nhashMap.set('swift','5ebd875ee7a541b4725f6263789ea9a7c77a4b7c40b2119f894e67b588cfa672');\nhashMap.set('tekton','33948f5bdf7553909fa63744adb26da97ddf366e9499bccab1250879570267c9');\nhashMap.set('terraform','119a23583e7888eb362bfc0f9abd6c37feafbc1e21affb12c3d4d87e3734064f');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','ffcbaa67dd65f064d43f8c121c1006115eab1879c4bd38de263b9b90a009c118');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','31247d37bc80aae17039bfa21bd989c5717730c5ef10cf2a6f09841576d012ec');\nhashMap.set('travis','04c94f72622003195c8ea8147c8fbd93003f444ec807ce33f2ada2384282db83');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','7db907b3b77ef5f3465f3c4339fbab56bbcdfd1bf34b3d33e4c178d2e07e23e7');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','416bcf61144b276b3112814c6e6d261aa29608f46fbb0516c471d35c16f8f0d7');\nhashMap.set('regex','20be5247fdc164173871a051acb0527da017d0c155c653d7563601f55e7b3ff5');"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','a52394a36ac5517f7330473c31d93aa05b2ce607c5e951b48f25a4693cd20a81');\nhashMap.set('ansible-galaxy','0a264d6be73953d801510fdeff271e4071c274339569c6dab4e2a128eaf4869f');\nhashMap.set('ant','2df5943cf0ed19a21b94df13729dbb925655548130caf37e3e22bebaed518e17');\nhashMap.set('apm','ca7c2342c04489253cd8f38d294a4c1428010115c2be22b3e0812dacf9881244');\nhashMap.set('argocd','cff9cd22257bc460ae4b9936570bf0ed5585f280a55d26629deaeeb0bfee8eb5');\nhashMap.set('asdf','430eb99b58171700c8a59c78b9e648575e9b176b781d90dd10a710f7b69015bb');\nhashMap.set('azure-pipelines','a051fe5e7e4fef8208b5864131a2b52b4ae319936f1dd8ee5a4e1ef11359ec09');\nhashMap.set('batect','375d39b432013bedb1330cf40a2199dd822751b28578214f219e7bab98594b8d');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','c31bc0a0e23d32726bcc09aa67533ebc5058124bf89c88e09c837419f550801a');\nhashMap.set('bazel-module','9fbba0339f9f7785d52ab85c5f0f6385003093c063483c13feccba13ae438bef');\nhashMap.set('bazelisk','770f75a746dc6ba90c518788d5987d7df4243ef9eee122d1bb0556a93d6e1b11');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','b8b404f53cd5d61c39153fddf93945e621471c4ac6aa9960c881cd868922bb4c');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','8ec4c3c8080a55e93b741cfa97779b47291734dc24d80529c887d3b2b823fc44');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','6e4784dd98c1f86ef64cc8cbf3128df48aebf920032d7792b54fdedd3dd9d4d5');\nhashMap.set('cake','9ebd8b481220b30a8860121d26184540a1a2fcc05ef780df9295dea39b386fad');\nhashMap.set('cargo','fe8136135c895dd08819f91a60cf105f8b951251b057092700101ace991ae1d7');\nhashMap.set('cdnurl','9a81c8e3c6ad6c788498c99fc1067ffdfcd92a427c3afaf8c0130975d83131f2');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','f4e40388944652c8a19f8518771ac8d3f3c4ccf81ddef0e68b463aca833cb73c');\nhashMap.set('cocoapods','f832e2beef885bb3fd697ed9bb3e8cd742926bfec37ff41212edd2dbb4edb3ba');\nhashMap.set('composer','f1294fb3866ff65a75d98fdef80b1df3d3a8856535b8c690d1799e1205e4b639');\nhashMap.set('conan','8d46e9a30ae628e26118aea10a98d1b846f7c5d96d51ce24693437d555f6d125');\nhashMap.set('copier','10ae4d7f8ff35faf3a3f9f25bf4c969ea960e19aaf8c012aee11f93f4d10533e');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','917fdbfbad58fd7f57933646a760d91768368df563ce5eaf34a2bba165164a12');\nhashMap.set('deps-edn','06783dbc8b9c7bb84e162d1f75b7db56dfa021cc6f809dfd2314cee8b64af08d');\nhashMap.set('devbox','a40050cc61bd9b5d500ec111abb17bb15d5f82ab5b7699f66f628307ba8382c9');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','fba87b82cb0f2bfd66526631fbe928b8153e7ca701a5790d02b944df17417bb9');\nhashMap.set('dockerfile','e491725880d930dfd0d58db135b31c0cc5bb6ff5e87f9e813c78bc0cf03b580c');\nhashMap.set('droneci','661d2a2d7295af8dd7a1234c7090c42a89306bd574c3adf1fc67782efaad3998');\nhashMap.set('fleet','4942d52e82f35c41e2d46cf76f426e2d91b350338cfc0bbcb97e8aaae2a1ac0b');\nhashMap.set('flux','aad8c786c4a2b5820663027452eeb8fe84c3af8c8399261e85f0eade2e484fe8');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','df8bb92b2906d8cddda2d4b302ee503f8002e3554d32d74cef2f584fe891f38f');\nhashMap.set('github-actions','dc9b84670ff9f2e3d058a1eafacb0b2093b8273d31b67547d0f5d44db5bc2952');\nhashMap.set('gitlabci','a5e1e66ef461e1c1e71062f85f35a212417e23627f4b002810f9a98295d6e672');\nhashMap.set('gitlabci-include','8860a15ab516fde00694f9bd9bf56fce4addafe5a55b5ddb9a4ec477d301d351');\nhashMap.set('glasskube','93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30');\nhashMap.set('gleam','5e9b9f5f914afe5ed7b526c06c65111e3716d2dea9b0cbe7907bbc96db1064a3');\nhashMap.set('gomod','de042f3b5a900346c5f2df41f793f1716dc12145c38705c3064c6a7150b49495');\nhashMap.set('gradle','9e3ff52ce4ad2555929acdd4d32c417c4ef8714c23a92f2893ecc580fa4d6064');\nhashMap.set('gradle-wrapper','73ba30c34955fab7737454b5cff9aca6d1b5607d53c17c9e13d8ad96f6eaae87');\nhashMap.set('haskell-cabal','f158b7725e3143dfd2950e3de0bbccc2a61cd7eba87f7a54c5057e01252348e2');\nhashMap.set('helm-requirements','7ee9dace4c036dfe113c0c0e46369d8b83a739caa831660142ca98d3236a180a');\nhashMap.set('helm-values','01069e887d4f3b55ca62a3c0dc66d8620264e1426207be9eb240a10c1ad5e412');\nhashMap.set('helmfile','28572dd24b6746ca7065ee467aa13bbc8c3e8c0f88ae48e33bce88468c600100');\nhashMap.set('helmsman','951deeb3355da751ef39c9e932b26ea749450e32e75759e4b5fc29359e100b37');\nhashMap.set('helmv3','4a3cf47072978eb131d70cd13f3d0bbd4408b0290be2a798a4cbf6103189269b');\nhashMap.set('hermit','0fb25b7766c3a264fbb765ff75b1542b24136c4c9f933696d4a5aecfed637071');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','dffe954a4e18c2dc4bfdaa12222fe8ddc3395869afd5afa603fc2b6264747984');\nhashMap.set('html','81fa6c2bf2b868596584a48b949645207a2aa3081951ed99183ee50b70b77d5f');\nhashMap.set('jenkins','7fda0e7e0f3d5e18088ccb3594f727f4cfc48b064706bdaaf1a0a075b6a2cff5');\nhashMap.set('jsonnet-bundler','4cedeb0394e5c38361d1868ff45b4f34747ab8c492378b6e63dcaf1f4f3c024d');\nhashMap.set('kotlin-script','95ebc844c040ca047321b207d525220e29774a2a1fe06f9639e8353c66908564');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','ca5f7520a3ce1082a94097425021cf51e02088157bcb3286c04d22f59fd0dd61');\nhashMap.set('leiningen','c8397e376f1717c2f771ae9ea3ba6b720d2422b133cf937e762c44e42be146a2');\nhashMap.set('maven','c110b99291c2a5bc82cf7a69330275e9bbd7dc8ba3e9e987611dfcffbe002d8d');\nhashMap.set('maven-wrapper','6e53b6e4abf1d20b75094c7a70d66b4a5ac39954f009aa401f5e55dada8be4d0');\nhashMap.set('meteor','4636a47ba4dcfff19fe662572ef7a40d17146be3c966e00ef437e1fc8de92776');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','10f20b75f727142938939b2b3cd7e0f77c3a37567f2b8b7ef78cef9a4908936e');\nhashMap.set('mix','0f79163dc2a1c896599d152be635c23beaf16812ae3d8fbfffec98c7bd0de872');\nhashMap.set('nix','0f80f0b81f2197a7e588be5c115a32a826fc184593f4e879f7b60fafd97a977e');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','30c78bc1c29eeecbdedb4eacc52bd93eedfb07279fd385f893193dcac6196466');\nhashMap.set('nuget','b81fb0ca6cfeb86b004592b38ce176673e056d6a2ed41a9807afb0eb7ad405d2');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','d6567a733ef3983112b46fdccd7ceebfcd48411104e0c6b6e714d4310db48024');\nhashMap.set('pep621','52450676f8b0e05134b3e8947b832195ef40bcaec1ce43d71351a2f797b80d75');\nhashMap.set('pep723','77022a0eae6a3cbb74a1e6d596db1276e379768e40448192b3fa81edd14ca73f');\nhashMap.set('pip-compile','7e418b8bdaeed38c1372eb19e0ae1c64999000e128d8754e37368638037b4c5c');\nhashMap.set('pip_requirements','bf3a407f72abf711230247bef94ba5dc84c08a35107b0f017912fad66afa716a');\nhashMap.set('pip_setup','df18fba2bdcf48f3ca12a8f7e5cd28df31e2368d5528127277038ef4206eca79');\nhashMap.set('pipenv','cd974eadd649ba8c9c2e3c7b564a49c8bb2ce95d6df043a7e942364f574c7613');\nhashMap.set('pixi','83f94ec64144ce2adad0901844ab1e9c1636bb5c77bd6578b22b98ab401d34b4');\nhashMap.set('poetry','b2b917c200d25e01a3a198deb3bf33353535f27430142111cfab816c03bb966d');\nhashMap.set('pre-commit','760f2c291ae084db889f722390798a0e2d431ccdc3bc676e73b14901ebea19ac');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','8e7c65dfd1999de4f7c44392e949a4d8f4701eb86df59d550e4657feb06b1872');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','e1fc88a4e14cd595e89bb3d79b4adf2add3ce5eb80f75276e712c32598cca53d');\nhashMap.set('renovate-config','ca60beee2e3b871ea1216fa9df9a501f7ed355fe7da29e12509e56a124a78e69');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','6ace53db02874d73620d2d872291839820a512a9529c42d174358c692e5db720');\nhashMap.set('sbt','e1eb5c7f0171a9bb1b6bd4a36a91039a31b6c84e0983d91d930be31a69506d9e');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','4a3a7c812d34739c07685691e7e64c7d3127f9d7d4aff99dc45a25df97ed9745');\nhashMap.set('smithy','9641b91d065ffb63be0dd888139a0402dba41e550f8b44c592db9daf52109100');\nhashMap.set('sveltos','60dd75bb53ace31217211100d622fdb65068c6162758b6ae7103a6ce8bdc9f90');\nhashMap.set('swift','6932c904b0d18ad4845c46ce3f7d4c54dd8e411e16c31a782b399fe0b7dc550b');\nhashMap.set('tekton','33948f5bdf7553909fa63744adb26da97ddf366e9499bccab1250879570267c9');\nhashMap.set('terraform','5b0037e4a88e06efe6f006eff15c24d9e1fefdda40d282aa99f54c2637d21c4d');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','ffcbaa67dd65f064d43f8c121c1006115eab1879c4bd38de263b9b90a009c118');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','f423bfa2b42a2bfc0e38a33ebd4f9d452473e7ed4e7ad6384a99eb9a35d97479');\nhashMap.set('travis','f3e2f38e699c390b00ff481be5e91dceaa81609e93caf9a4214933de759c84fc');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','7db907b3b77ef5f3465f3c4339fbab56bbcdfd1bf34b3d33e4c178d2e07e23e7');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','416bcf61144b276b3112814c6e6d261aa29608f46fbb0516c471d35c16f8f0d7');\nhashMap.set('regex','20be5247fdc164173871a051acb0527da017d0c155c653d7563601f55e7b3ff5');"],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@ async function getModules(git, gitModulesPath) {
|
|
|
42
42
|
gitModulesPath,
|
|
43
43
|
"--get-regexp",
|
|
44
44
|
"\\.path"
|
|
45
|
-
])
|
|
45
|
+
])).trim().split(regEx(/\n/)).filter((s) => !!s);
|
|
46
46
|
for (const line of modules) {
|
|
47
47
|
const [, name, path] = line.split(regEx(/submodule\.(?<name>.+?)\.path\s(?<path>.+)/));
|
|
48
48
|
res.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","names":["semVerVersioning.id"],"sources":["../../../../lib/modules/manager/git-submodules/extract.ts"],"sourcesContent":["import type { SimpleGit } from 'simple-git';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../../config/global.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { createSimpleGit } from '../../../util/git/index.ts';\nimport { getHttpUrl } from '../../../util/git/url.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { GitRefsDatasource } from '../../datasource/git-refs/index.ts';\nimport * as semVerVersioning from '../../versioning/semver/index.ts';\nimport type { ExtractConfig, PackageFileContent } from '../types.ts';\nimport type { GitModule } from './types.ts';\n\nasync function getUrl(\n git: SimpleGit,\n gitModulesPath: string,\n submoduleName: string,\n): Promise<string> {\n const path = (\n await createSimpleGit().raw([\n 'config',\n '--file',\n gitModulesPath,\n '--get',\n `submodule.${submoduleName}.url`,\n ])\n )?.trim();\n if (!path?.startsWith('../') && !path?.startsWith('./')) {\n return path;\n }\n const remoteUrl = (\n await git.raw(['config', '--get', 'remote.origin.url'])\n ).trim();\n return new URL(path, `${remoteUrl}/`).href;\n}\n\nasync function getBranch(\n git: SimpleGit,\n gitModulesPath: string,\n submoduleName: string,\n): Promise<string | null> {\n const branchFromConfig = (\n await createSimpleGit().raw([\n 'config',\n '--file',\n gitModulesPath,\n '--get',\n `submodule.${submoduleName}.branch`,\n ])\n ).trim();\n\n return branchFromConfig === '.'\n ? (await git.branch(['--list'])).current.trim()\n : branchFromConfig || null;\n}\n\nasync function getModules(\n git: SimpleGit,\n gitModulesPath: string,\n): Promise<GitModule[]> {\n const res: GitModule[] = [];\n try {\n const modules = (\n
|
|
1
|
+
{"version":3,"file":"extract.js","names":["semVerVersioning.id"],"sources":["../../../../lib/modules/manager/git-submodules/extract.ts"],"sourcesContent":["import type { SimpleGit } from 'simple-git';\nimport upath from 'upath';\nimport { GlobalConfig } from '../../../config/global.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { createSimpleGit } from '../../../util/git/index.ts';\nimport { getHttpUrl } from '../../../util/git/url.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { GitRefsDatasource } from '../../datasource/git-refs/index.ts';\nimport * as semVerVersioning from '../../versioning/semver/index.ts';\nimport type { ExtractConfig, PackageFileContent } from '../types.ts';\nimport type { GitModule } from './types.ts';\n\nasync function getUrl(\n git: SimpleGit,\n gitModulesPath: string,\n submoduleName: string,\n): Promise<string> {\n const path = (\n await createSimpleGit().raw([\n 'config',\n '--file',\n gitModulesPath,\n '--get',\n `submodule.${submoduleName}.url`,\n ])\n )?.trim();\n if (!path?.startsWith('../') && !path?.startsWith('./')) {\n return path;\n }\n const remoteUrl = (\n await git.raw(['config', '--get', 'remote.origin.url'])\n ).trim();\n return new URL(path, `${remoteUrl}/`).href;\n}\n\nasync function getBranch(\n git: SimpleGit,\n gitModulesPath: string,\n submoduleName: string,\n): Promise<string | null> {\n const branchFromConfig = (\n await createSimpleGit().raw([\n 'config',\n '--file',\n gitModulesPath,\n '--get',\n `submodule.${submoduleName}.branch`,\n ])\n ).trim();\n\n return branchFromConfig === '.'\n ? (await git.branch(['--list'])).current.trim()\n : branchFromConfig || null;\n}\n\nasync function getModules(\n git: SimpleGit,\n gitModulesPath: string,\n): Promise<GitModule[]> {\n const res: GitModule[] = [];\n try {\n const modules = (\n await git.raw([\n 'config',\n '--file',\n gitModulesPath,\n '--get-regexp',\n '\\\\.path',\n ])\n )\n .trim()\n .split(regEx(/\\n/))\n .filter((s) => !!s);\n\n for (const line of modules) {\n const [, name, path] = line.split(\n regEx(/submodule\\.(?<name>.+?)\\.path\\s(?<path>.+)/),\n );\n res.push({ name, path });\n }\n } catch (err) /* istanbul ignore next */ {\n logger.warn({ err }, 'Error getting git submodules during extract');\n }\n return res;\n}\n\nexport default async function extractPackageFile(\n _content: string,\n packageFile: string,\n _config: ExtractConfig,\n): Promise<PackageFileContent | null> {\n const localDir = GlobalConfig.get('localDir');\n const git = createSimpleGit({ config: { baseDir: localDir } });\n const gitModulesPath = upath.join(localDir, packageFile);\n\n const depNames = await getModules(git, gitModulesPath);\n\n if (!depNames.length) {\n return null;\n }\n\n const deps = [];\n for (const { name, path } of depNames) {\n try {\n const [currentDigest] = (\n await git.subModule(['status', '--cached', path])\n )\n .trim()\n .replace(regEx(/^[-+]/), '')\n .split(regEx(/\\s/));\n const subModuleUrl = await getUrl(git, gitModulesPath, name);\n const httpSubModuleUrl = getHttpUrl(subModuleUrl);\n const branch = await getBranch(git, gitModulesPath, name);\n deps.push({\n depName: path,\n packageName: httpSubModuleUrl,\n sourceUrl: httpSubModuleUrl.replace(regEx(/\\.git$/), ''),\n currentValue: branch ?? undefined,\n currentDigest,\n ...(semVerVersioning.api.isVersion(branch)\n ? { versioning: semVerVersioning.id }\n : {}),\n });\n } catch (err) /* istanbul ignore next */ {\n logger.warn(\n { err, packageFile },\n 'Error mapping git submodules during extraction',\n );\n }\n }\n\n return { deps, datasource: GitRefsDatasource.id };\n}\n"],"mappings":";;;;;;;;;AAYA,eAAe,OACb,KACA,gBACA,eACiB;CACjB,MAAM,QACJ,MAAM,gBAAgB,CAAC,CAAC,IAAI;EAC1B;EACA;EACA;EACA;EACA,aAAa,cAAc;CAC7B,CAAC,EAAA,EACA,KAAK;CACR,IAAI,CAAC,MAAM,WAAW,KAAK,KAAK,CAAC,MAAM,WAAW,IAAI,GACpD,OAAO;CAET,MAAM,aACJ,MAAM,IAAI,IAAI;EAAC;EAAU;EAAS;CAAmB,CAAC,EAAA,CACtD,KAAK;CACP,OAAO,IAAI,IAAI,MAAM,GAAG,UAAU,EAAE,CAAC,CAAC;AACxC;AAEA,eAAe,UACb,KACA,gBACA,eACwB;CACxB,MAAM,oBACJ,MAAM,gBAAgB,CAAC,CAAC,IAAI;EAC1B;EACA;EACA;EACA;EACA,aAAa,cAAc;CAC7B,CAAC,EAAA,CACD,KAAK;CAEP,OAAO,qBAAqB,OACvB,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAA,CAAG,QAAQ,KAAK,IAC5C,oBAAoB;AAC1B;AAEA,eAAe,WACb,KACA,gBACsB;CACtB,MAAM,MAAmB,CAAC;CAC1B,IAAI;EACF,MAAM,WACJ,MAAM,IAAI,IAAI;GACZ;GACA;GACA;GACA;GACA;EACF,CAAC,EAAA,CAEA,KAAK,CAAC,CACN,MAAM,MAAM,IAAI,CAAC,CAAC,CAClB,QAAQ,MAAM,CAAC,CAAC,CAAC;EAEpB,KAAK,MAAM,QAAQ,SAAS;GAC1B,MAAM,GAAG,MAAM,QAAQ,KAAK,MAC1B,MAAM,4CAA4C,CACpD;GACA,IAAI,KAAK;IAAE;IAAM;GAAK,CAAC;EACzB;CACF,SAAS,gCAAgC;EACvC,OAAO,KAAK,EAAE,IAAI,GAAG,6CAA6C;CACpE;CACA,OAAO;AACT;AAEA,eAA8B,mBAC5B,UACA,aACA,SACoC;CACpC,MAAM,WAAW,aAAa,IAAI,UAAU;CAC5C,MAAM,MAAM,gBAAgB,EAAE,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;CAC7D,MAAM,iBAAiB,MAAM,KAAK,UAAU,WAAW;CAEvD,MAAM,WAAW,MAAM,WAAW,KAAK,cAAc;CAErD,IAAI,CAAC,SAAS,QACZ,OAAO;CAGT,MAAM,OAAO,CAAC;CACd,KAAK,MAAM,EAAE,MAAM,UAAU,UAC3B,IAAI;EACF,MAAM,CAAC,kBACL,MAAM,IAAI,UAAU;GAAC;GAAU;GAAY;EAAI,CAAC,EAAA,CAE/C,KAAK,CAAC,CACN,QAAQ,MAAM,OAAO,GAAG,EAAE,CAAC,CAC3B,MAAM,MAAM,IAAI,CAAC;EACpB,MAAM,eAAe,MAAM,OAAO,KAAK,gBAAgB,IAAI;EAC3D,MAAM,mBAAmB,WAAW,YAAY;EAChD,MAAM,SAAS,MAAM,UAAU,KAAK,gBAAgB,IAAI;EACxD,KAAK,KAAK;GACR,SAAS;GACT,aAAa;GACb,WAAW,iBAAiB,QAAQ,MAAM,QAAQ,GAAG,EAAE;GACvD,cAAc,UAAU,KAAA;GACxB;GACA,GAAA,IAAyB,UAAU,MAAM,IACrC,EAAE,YAAYA,GAAoB,IAClC,CAAC;EACP,CAAC;CACH,SAAS,gCAAgC;EACvC,OAAO,KACL;GAAE;GAAK;EAAY,GACnB,gDACF;CACF;CAGF,OAAO;EAAE;EAAM,YAAY,kBAAkB;CAAG;AAClD"}
|
|
@@ -61,6 +61,16 @@ function valSchema(key, isInvalid) {
|
|
|
61
61
|
return z.object({ [key]: z.string().optional() }).transform((val) => [parseValue(val[key], isInvalid)]);
|
|
62
62
|
}
|
|
63
63
|
const VersionVal = valSchema("version");
|
|
64
|
+
/**
|
|
65
|
+
* `gradle/actions/setup-gradle` has a few `gradle-version`s that are strings used to denote another source than a specific version number, which shouldn't have an update proposed for.
|
|
66
|
+
*/
|
|
67
|
+
const GradleVersionAliases = /* @__PURE__ */ new Set([
|
|
68
|
+
"wrapper",
|
|
69
|
+
"current",
|
|
70
|
+
"release-candidate",
|
|
71
|
+
"nightly",
|
|
72
|
+
"release-nightly"
|
|
73
|
+
]);
|
|
64
74
|
const actionsVersionsExtractVersion = "^(?<version>\\d+\\.\\d+\\.\\d+)(-\\d+)?$";
|
|
65
75
|
const SetupRustToolchainWith = z.object({ toolchain: z.string().optional() }).transform(({ toolchain }) => [parseValue(toolchain?.split(",").pop()?.trim())]);
|
|
66
76
|
const InstallBinaryWith = z.object({
|
|
@@ -502,7 +512,7 @@ const knownActions = {
|
|
|
502
512
|
depName: "gradle",
|
|
503
513
|
packageName: "gradle/gradle",
|
|
504
514
|
versioning: id$1,
|
|
505
|
-
withSchema: valSchema("gradle-version")
|
|
515
|
+
withSchema: valSchema("gradle-version", (val) => GradleVersionAliases.has(val))
|
|
506
516
|
},
|
|
507
517
|
"hashicorp/setup-packer": {
|
|
508
518
|
datasource: GithubReleasesDatasource.id,
|