1*bcc59125SPiotr Szeremetaimport fs from 'fs'; 2*bcc59125SPiotr Szeremetaimport fetch from 'node-fetch'; 3*bcc59125SPiotr Szeremeta 4*bcc59125SPiotr Szeremetaasync function run() { 5*bcc59125SPiotr Szeremeta const resourceSpecsSource = 6*bcc59125SPiotr Szeremeta 'https://raw.githubusercontent.com/expo/eas-build/main/public/resource-specs/current.json'; 7*bcc59125SPiotr Szeremeta 8*bcc59125SPiotr Szeremeta console.log(`Fetching resource specs from ${resourceSpecsSource}`); 9*bcc59125SPiotr Szeremeta 10*bcc59125SPiotr Szeremeta const response = await fetch(resourceSpecsSource); 11*bcc59125SPiotr Szeremeta if (!response.ok) { 12*bcc59125SPiotr Szeremeta console.error(`Failed to fetch resource specs from ${resourceSpecsSource}`); 13*bcc59125SPiotr Szeremeta console.error(`Response status: ${response.status}`); 14*bcc59125SPiotr Szeremeta console.error(`Response body: ${await response.text()}`); 15*bcc59125SPiotr Szeremeta return; 16*bcc59125SPiotr Szeremeta } 17*bcc59125SPiotr Szeremeta 18*bcc59125SPiotr Szeremeta const data = await response.text(); 19*bcc59125SPiotr Szeremeta 20*bcc59125SPiotr Szeremeta // TODO: is public the correct place for this? 21*bcc59125SPiotr Szeremeta const resourcePath = 'public/static/resource-specs.json'; 22*bcc59125SPiotr Szeremeta 23*bcc59125SPiotr Szeremeta console.log(`Writing resource specs to ${resourcePath}`); 24*bcc59125SPiotr Szeremeta await fs.writeFile(resourcePath, data, { encoding: 'utf8' }, () => {}); 25*bcc59125SPiotr Szeremeta} 26*bcc59125SPiotr Szeremeta 27*bcc59125SPiotr Szeremetarun(); 28