UNPKG

renovate

Version:

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

35 lines 1.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.extractPackageFile = extractPackageFile; const tslib_1 = require("tslib"); const is_1 = tslib_1.__importDefault(require("@sindresorhus/is")); const logger_1 = require("../../../logger"); const object_1 = require("../../../util/object"); const extract_1 = require("../dockerfile/extract"); const schema_1 = require("./schema"); function crowVersionDecider(config) { const keys = ['clone', 'steps', 'pipeline', 'services']; return Object.keys(config).filter((key) => keys.includes(key)); } function extractPackageFile(content, packageFile, extractConfig) { logger_1.logger.debug('crow .extractPackageFile()'); const result = schema_1.CrowConfig.safeParse(content); if (!result.success) { logger_1.logger.debug({ packageFile, err: result.error }, 'Invalid Crow Configuration schema'); return null; } const config = result.data; const pipelineKeys = crowVersionDecider(config); if (pipelineKeys.length === 0) { logger_1.logger.debug({ packageFile }, "Couldn't identify dependencies"); return null; } // Image name/tags for services are only eligible for update if they don't // use variables and if the image is not built locally const deps = pipelineKeys.flatMap((pipelineKey) => Object.values((0, object_1.coerceObject)(config[pipelineKey])) .filter((step) => is_1.default.string(step?.image)) .map((step) => (0, extract_1.getDep)(step.image, true, extractConfig.registryAliases))); logger_1.logger.trace({ deps }, 'Crow Configuration image'); return deps.length ? { deps } : null; } //# sourceMappingURL=extract.js.map