Files
renovate/lib/modules/manager/git-submodules/update.ts
T
2022-04-20 06:19:59 +02:00

26 lines
885 B
TypeScript

import Git from 'simple-git';
import upath from 'upath';
import { GlobalConfig } from '../../../config/global';
import { logger } from '../../../logger';
import type { UpdateDependencyConfig } from '../types';
export default async function updateDependency({
fileContent,
upgrade,
}: UpdateDependencyConfig): Promise<string | null> {
const { localDir } = GlobalConfig.get();
const git = Git(localDir);
const submoduleGit = Git(upath.join(localDir, upgrade.depName));
try {
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
await git.submoduleUpdate(['--init', upgrade.depName!]);
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
await submoduleGit.checkout([upgrade.newDigest!]);
return fileContent;
} catch (err) {
logger.debug({ err }, 'submodule checkout error');
return null;
}
}