1*5492d26aSCedric van Puttenimport { ModPlatform } from '@expo/config-plugins'; 2*5492d26aSCedric van Puttenimport chalk from 'chalk'; 3*5492d26aSCedric van Puttenimport path from 'path'; 4*5492d26aSCedric van Putten 5*5492d26aSCedric van Puttenimport * as Log from '../log'; 6*5492d26aSCedric van Puttenimport { directoryExistsAsync } from '../utils/dir'; 7*5492d26aSCedric van Putten 8*5492d26aSCedric van Puttenexport async function validateTemplatePlatforms({ 9*5492d26aSCedric van Putten templateDirectory, 10*5492d26aSCedric van Putten platforms, 11*5492d26aSCedric van Putten}: { 12*5492d26aSCedric van Putten templateDirectory: string; 13*5492d26aSCedric van Putten platforms: ModPlatform[]; 14*5492d26aSCedric van Putten}) { 15*5492d26aSCedric van Putten const existingPlatforms: ModPlatform[] = []; 16*5492d26aSCedric van Putten 17*5492d26aSCedric van Putten for (const platform of platforms) { 18*5492d26aSCedric van Putten if (await directoryExistsAsync(path.join(templateDirectory, platform))) { 19*5492d26aSCedric van Putten existingPlatforms.push(platform); 20*5492d26aSCedric van Putten } else { 21*5492d26aSCedric van Putten Log.warn( 22*5492d26aSCedric van Putten chalk`⚠️ Skipping platform ${platform}. Use a template that contains native files for ${platform} (./${platform}).` 23*5492d26aSCedric van Putten ); 24*5492d26aSCedric van Putten } 25*5492d26aSCedric van Putten } 26*5492d26aSCedric van Putten 27*5492d26aSCedric van Putten return existingPlatforms; 28*5492d26aSCedric van Putten} 29