UNPKG

renovate

Version:

Automated dependency updates. Flexible so you don't need to be.

64 lines (63 loc) 1.96 kB
import { regEx } from "../../../util/regex.js"; import { logger } from "../../../logger/index.js"; import { parseSingleYaml } from "../../../util/yaml.js"; import { GoDatasource } from "../../datasource/go/index.js"; import { OCBConfig } from "./schema.js"; import { isNullOrUndefined } from "@sindresorhus/is"; //#region lib/modules/manager/ocb/extract.ts function extractPackageFile(content, packageFile, _config) { let definition = null; try { const yaml = parseSingleYaml(content); const parsed = OCBConfig.safeParse(yaml); if (!parsed.success) { logger.trace({ packageFile, error: parsed.error }, "Failed to parse OCB schema"); return null; } definition = parsed.data; } catch (error) { logger.debug({ packageFile, error }, "OCB manager failed to parse file as YAML"); return null; } const deps = []; if (definition.dist.otelcol_version) deps.push({ datasource: GoDatasource.id, depType: "collector", depName: "go.opentelemetry.io/collector", currentValue: definition.dist.otelcol_version, extractVersion: "^v(?<version>\\S+)" }); deps.push(...processModule(definition.connectors, "connectors")); deps.push(...processModule(definition.exporters, "exports")); deps.push(...processModule(definition.extensions, "extensions")); deps.push(...processModule(definition.processors, "processors")); deps.push(...processModule(definition.providers, "providers")); deps.push(...processModule(definition.receivers, "receivers")); return { packageFileVersion: definition.dist.version, deps }; } function processModule(module, depType) { const deps = []; if (isNullOrUndefined(module)) return deps; for (const element of module) { const [depName, currentValue] = element.gomod.trim().split(regEx(/\s+/)); deps.push({ datasource: GoDatasource.id, depType, depName, currentValue }); } return deps; } //#endregion export { extractPackageFile }; //# sourceMappingURL=extract.js.map