UNPKG

renovate

Version:

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

34 lines (33 loc) 1.48 kB
import { logger } from "../logger/index.js"; import { massageConfig } from "./massage.js"; import { migrateConfig } from "./migration.js"; import { validateConfig } from "./validation.js"; import { isNonEmptyArray } from "@sindresorhus/is"; import { dequal } from "dequal"; //#region lib/config/migrate-validate.ts async function migrateAndValidate(config, input) { logger.debug("migrateAndValidate()"); try { const { isMigrated, migratedConfig } = migrateConfig(input); if (isMigrated) logger.debug({ oldConfig: input, newConfig: migratedConfig }, "Config migration necessary"); else logger.debug("No config migration necessary"); const massagedConfig = massageConfig(migratedConfig); if (!dequal(input, massagedConfig)) logger.debug({ config: massagedConfig }, "Post-massage config"); const { warnings, errors } = await validateConfig("repo", massagedConfig); /* v8 ignore if -- hard to test */ if (isNonEmptyArray(warnings)) logger.warn({ warnings }, "Found renovate config warnings"); if (isNonEmptyArray(errors)) logger.info({ errors }, "Found renovate config errors"); massagedConfig.errors = (config.errors ?? []).concat(errors); if (!config.repoIsOnboarded) massagedConfig.warnings = (config.warnings ?? []).concat(warnings); return massagedConfig; } catch (err) { logger.debug({ config: input }, "migrateAndValidate error"); throw err; } } //#endregion export { migrateAndValidate }; //# sourceMappingURL=migrate-validate.js.map