1import { searchFilesAsync } from '../Utils'; 2import { copyVendoredFilesAsync } from './common'; 3import { VendoringModuleConfig } from './types'; 4 5export async function vendorAsync( 6 sourceDirectory: string, 7 targetDirectory: string, 8 config: VendoringModuleConfig['android'] = {} 9): Promise<void> { 10 // Get a list of source files for Android. Usually we'll just fall back to `android` directory. 11 const files = await searchFilesAsync(sourceDirectory, config.includeFiles ?? 'android/**', { 12 ignore: config.excludeFiles, 13 }); 14 15 await copyVendoredFilesAsync(files, { 16 sourceDirectory, 17 targetDirectory, 18 transforms: config?.transforms ?? {}, 19 }); 20 21 await config.postCopyFilesHookAsync?.(sourceDirectory, targetDirectory); 22} 23