{"version":3,"names":["xmlParser","XMLParser","ignoreAttributes","getBuildConfigurationFromXcScheme","scheme","configuration","sourceDir","projectInfo","xcProject","fs","readdirSync","find","dir","includes","xmlScheme","readFileSync","path","join","encoding","Scheme","parse","LaunchAction","availableSchemas","schemes","length","map","name","chalk","bold","CLIError"],"sources":["../../src/tools/getBuildConfigurationFromXcScheme.ts"],"sourcesContent":["import {CLIError} from '@react-native-community/cli-tools';\nimport chalk from 'chalk';\nimport {XMLParser} from 'fast-xml-parser';\nimport fs from 'fs';\nimport path from 'path';\nimport {IosInfo} from '../types';\n\nconst xmlParser = new XMLParser({ignoreAttributes: false});\n\nexport function getBuildConfigurationFromXcScheme(\n scheme: string,\n configuration: string,\n sourceDir: string,\n projectInfo: IosInfo | undefined,\n): string {\n try {\n const xcProject = fs\n .readdirSync(sourceDir)\n .find((dir) => dir.includes('.xcodeproj'));\n\n if (xcProject) {\n const xmlScheme = fs.readFileSync(\n path.join(\n sourceDir,\n xcProject,\n 'xcshareddata',\n 'xcschemes',\n `${scheme}.xcscheme`,\n ),\n {\n encoding: 'utf-8',\n },\n );\n\n const {Scheme} = xmlParser.parse(xmlScheme);\n\n return Scheme.LaunchAction['@_buildConfiguration'];\n }\n } catch {\n const availableSchemas =\n projectInfo && projectInfo.schemes && projectInfo.schemes.length > 0\n ? `Available schemas are: ${projectInfo.schemes\n .map((name) => chalk.bold(name))\n .join(', ')}'`\n : '';\n\n throw new CLIError(\n `Could not find scheme ${scheme}. Please make sure the schema you want to run exists. ${availableSchemas}`,\n );\n }\n\n return configuration;\n}\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAAwB;AAGxB,MAAMA,SAAS,GAAG,KAAIC,0BAAS,EAAC;EAACC,gBAAgB,EAAE;AAAK,CAAC,CAAC;AAEnD,SAASC,iCAAiC,CAC/CC,MAAc,EACdC,aAAqB,EACrBC,SAAiB,EACjBC,WAAgC,EACxB;EACR,IAAI;IACF,MAAMC,SAAS,GAAGC,aAAE,CACjBC,WAAW,CAACJ,SAAS,CAAC,CACtBK,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE5C,IAAIL,SAAS,EAAE;MACb,MAAMM,SAAS,GAAGL,aAAE,CAACM,YAAY,CAC/BC,eAAI,CAACC,IAAI,CACPX,SAAS,EACTE,SAAS,EACT,cAAc,EACd,WAAW,EACV,GAAEJ,MAAO,WAAU,CACrB,EACD;QACEc,QAAQ,EAAE;MACZ,CAAC,CACF;MAED,MAAM;QAACC;MAAM,CAAC,GAAGnB,SAAS,CAACoB,KAAK,CAACN,SAAS,CAAC;MAE3C,OAAOK,MAAM,CAACE,YAAY,CAAC,sBAAsB,CAAC;IACpD;EACF,CAAC,CAAC,MAAM;IACN,MAAMC,gBAAgB,GACpBf,WAAW,IAAIA,WAAW,CAACgB,OAAO,IAAIhB,WAAW,CAACgB,OAAO,CAACC,MAAM,GAAG,CAAC,GAC/D,0BAAyBjB,WAAW,CAACgB,OAAO,CAC1CE,GAAG,CAAEC,IAAI,IAAKC,gBAAK,CAACC,IAAI,CAACF,IAAI,CAAC,CAAC,CAC/BT,IAAI,CAAC,IAAI,CAAE,GAAE,GAChB,EAAE;IAER,MAAM,KAAIY,oBAAQ,EACf,yBAAwBzB,MAAO,yDAAwDkB,gBAAiB,EAAC,CAC3G;EACH;EAEA,OAAOjB,aAAa;AACtB"}