diff --git a/lib/manager/index.spec.ts b/lib/manager/index.spec.ts index f8cbb1229d0a3e106804475f909ff57286df0ec0..9274aa27c7f3d584ddeeb1f405218feaaaa88436 100644 --- a/lib/manager/index.spec.ts +++ b/lib/manager/index.spec.ts @@ -41,22 +41,24 @@ describe('manager', () => { }); describe('extractAllPackageFiles()', () => { - it('returns null', () => { + it('returns null', async () => { manager.getManagers().set('dummy', { defaultConfig: {}, }); expect( - manager.extractAllPackageFiles('unknown', {} as any, []) + await manager.extractAllPackageFiles('unknown', {} as any, []) + ).toBeNull(); + expect( + await manager.extractAllPackageFiles('dummy', {} as any, []) ).toBeNull(); - expect(manager.extractAllPackageFiles('dummy', {} as any, [])).toBeNull(); }); - it('returns non-null', () => { + it('returns non-null', async () => { manager.getManagers().set('dummy', { defaultConfig: {}, extractAllPackageFiles: () => Promise.resolve([]), }); expect( - manager.extractAllPackageFiles('dummy', {} as any, []) + await manager.extractAllPackageFiles('dummy', {} as any, []) ).not.toBeNull(); }); afterEach(() => { diff --git a/lib/manager/index.ts b/lib/manager/index.ts index 13417a453d57d0dedd44f4fa4005e7d4419e6bab..072966ed9d36907c5f84058b19690248e771bcae 100644 --- a/lib/manager/index.ts +++ b/lib/manager/index.ts @@ -49,18 +49,27 @@ export const getLanguageList = (): string[] => languageList; export const getManagerList = (): string[] => managerList; export const getManagers = (): Map<string, ManagerApi> => managers; -export function extractAllPackageFiles( +export async function extractAllPackageFiles( manager: string, config: ExtractConfig, files: string[] -): Result<PackageFile[] | null> { +): Promise<PackageFile[] | null> { if (!managers.has(manager)) { return null; } const m = managers.get(manager); - return m.extractAllPackageFiles - ? m.extractAllPackageFiles(config, files) - : null; + if (m.extractAllPackageFiles) { + const res = await m.extractAllPackageFiles(config, files); + // istanbul ignore if + if (!res) { + return null; + } + return res.map((packageFile) => ({ + ...packageFile, + managerPackageFileList: files, + })); + } + return null; } export function getPackageUpdates( diff --git a/lib/workers/repository/extract/__snapshots__/manager-files.spec.ts.snap b/lib/workers/repository/extract/__snapshots__/manager-files.spec.ts.snap index 50b14424a321c017ed99606278e6218ee13d4544..e24cafd5b5af894cd87d2a33fcd8d30bab702a87 100644 --- a/lib/workers/repository/extract/__snapshots__/manager-files.spec.ts.snap +++ b/lib/workers/repository/extract/__snapshots__/manager-files.spec.ts.snap @@ -8,6 +8,9 @@ Array [ "lernaClient": "yarn", "lernaDir": ".", "lernaPackages": undefined, + "managerPackageFileList": Array [ + "package.json", + ], "npmLock": "package-lock.json", "npmrc": "{}", "packageFile": "package.json",