@tamagui/native-ci 2.0.0 → 2.1.0-1780288049558

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.mjs CHANGED
@@ -7,6 +7,9 @@ import { withMetro } from "./metro.mjs";
7
7
  import { runDetoxTests } from "./detox.mjs";
8
8
  import { ensureIOSFolder, ensureIOSApp, ensureBootedSimulator, ensureAppInstalled, getBootedSimulatorUDID, getMaestroBundleId } from "./ios";
9
9
  import { setupAndroidDevice, ensureAndroidFolder } from "./android";
10
+ import { chmodSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
11
+ import { tmpdir } from "node:os";
12
+ import { join } from "node:path";
10
13
  const HELP = `
11
14
  native-ci - Native CI/CD helpers for Expo apps
12
15
 
@@ -59,6 +62,20 @@ EXAMPLES:
59
62
  native-ci fingerprint ios
60
63
  native-ci fingerprint-test
61
64
  `;
65
+ function createMaestroXcrunShim() {
66
+ const binDir = mkdtempSync(join(tmpdir(), "native-ci-maestro-"));
67
+ const xcrunPath = join(binDir, "xcrun");
68
+ writeFileSync(xcrunPath, `#!/bin/sh
69
+ if [ "$1" = "devicectl" ] && [ "$2" = "--json-output" ] && [ "$4" = "list" ] && [ "$5" = "devices" ]; then
70
+ printf '{"result":{"devices":[]}}\\n' > "$3"
71
+ exit 0
72
+ fi
73
+
74
+ exec /usr/bin/xcrun "$@"
75
+ `);
76
+ chmodSync(xcrunPath, 493);
77
+ return binDir;
78
+ }
62
79
  function parseArgs(argv) {
63
80
  const args2 = [];
64
81
  const options2 = {
@@ -163,7 +180,8 @@ try {
163
180
  config,
164
181
  projectRoot: options.projectRoot,
165
182
  recordLogs: options.recordLogs,
166
- retries: options.retries
183
+ retries: options.retries,
184
+ testFiles: args.length > 0 ? args : void 0
167
185
  });
168
186
  });
169
187
  process.exit(exitCode);
@@ -183,7 +201,8 @@ try {
183
201
  projectRoot: options.projectRoot,
184
202
  recordLogs: options.recordLogs,
185
203
  retries: options.retries,
186
- headless: options.headless
204
+ headless: options.headless,
205
+ testFiles: args.length > 0 ? args : void 0
187
206
  });
188
207
  });
189
208
  process.exit(exitCode);
@@ -209,8 +228,23 @@ try {
209
228
  const flowArg = flow ? `./flows/${flow}` : "./flows";
210
229
  const udidArgs = ["--udid", udid];
211
230
  const debugDir = `${options.projectRoot}/.maestro-debug`;
212
- const result = await $`maestro test ${flowArg} --exclude-tags=util --no-ansi --debug-output=${debugDir} ${udidArgs}`.nothrow();
213
- return result.exitCode;
231
+ const xcrunShimDir = createMaestroXcrunShim();
232
+ const previousPath = process.env.PATH;
233
+ try {
234
+ process.env.PATH = `${xcrunShimDir}:${previousPath ?? ""}`;
235
+ const result = await $`maestro test ${flowArg} --exclude-tags=util --no-ansi --debug-output=${debugDir} ${udidArgs}`.nothrow();
236
+ return result.exitCode;
237
+ } finally {
238
+ if (previousPath === void 0) {
239
+ delete process.env.PATH;
240
+ } else {
241
+ process.env.PATH = previousPath;
242
+ }
243
+ rmSync(xcrunShimDir, {
244
+ recursive: true,
245
+ force: true
246
+ });
247
+ }
214
248
  });
215
249
  process.exit(exitCode);
216
250
  } else if (platform === "all") {
package/dist/cli.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["generateFingerprint","generatePreFingerprintHash","createCacheKey","saveFingerprintToKV","getFingerprintFromKV","saveCache","loadCache","setGitHubOutput","isGitHubActions","isCI","ensureIosDeps","ensureAndroidDeps","ensureMaestro","printDepsStatus","withMetro","runDetoxTests","ensureIOSFolder","ensureIOSApp","ensureBootedSimulator","ensureAppInstalled","getBootedSimulatorUDID","getMaestroBundleId","setupAndroidDevice","ensureAndroidFolder","HELP","parseArgs","argv","args2","options2","projectRoot","process","cwd","config","recordLogs","retries","headless","prefix","githubOutput","json","help","i","length","arg","val","Number","parseInt","isNaN","startsWith","push","command","subcommand","args","slice","options","validatePlatform","value","console","error","exit","getKVCredentials","url","env","KV_STORE_REDIS_REST_URL","token","KV_STORE_REDIS_REST_TOKEN","info","NATIVE_CI_FORCE_RUN","platform","chdir","exitCode","flow","udid","bundleId","$","flowArg","udidArgs","debugDir","result","nothrow","iosExit","err","androidExit","success","hash","fingerprint","JSON","stringify","CACHE_FILE","iosResult","androidResult","iosFingerprint","androidFingerprint","cache","ios","android","iosChanged","androidChanged","timestamp","Date","toISOString","files","filter","Boolean","cacheKey","key","kv","message"],"sources":["../src/cli.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["generateFingerprint","generatePreFingerprintHash","createCacheKey","saveFingerprintToKV","getFingerprintFromKV","saveCache","loadCache","setGitHubOutput","isGitHubActions","isCI","ensureIosDeps","ensureAndroidDeps","ensureMaestro","printDepsStatus","withMetro","runDetoxTests","ensureIOSFolder","ensureIOSApp","ensureBootedSimulator","ensureAppInstalled","getBootedSimulatorUDID","getMaestroBundleId","setupAndroidDevice","ensureAndroidFolder","chmodSync","mkdtempSync","rmSync","writeFileSync","tmpdir","join","HELP","createMaestroXcrunShim","binDir","xcrunPath","parseArgs","argv","args2","options2","projectRoot","process","cwd","config","recordLogs","retries","headless","prefix","githubOutput","json","help","i","length","arg","val","Number","parseInt","isNaN","startsWith","push","command","subcommand","args","slice","options","validatePlatform","value","console","error","exit","getKVCredentials","url","env","KV_STORE_REDIS_REST_URL","token","KV_STORE_REDIS_REST_TOKEN","info","NATIVE_CI_FORCE_RUN","platform","chdir","exitCode","testFiles","flow","udid","bundleId","$","flowArg","udidArgs","debugDir","xcrunShimDir","previousPath","PATH","result","nothrow","recursive","force","iosExit","err","androidExit","success","hash","fingerprint","JSON","stringify","CACHE_FILE","iosResult","androidResult","iosFingerprint","androidFingerprint","cache","ios","android","iosChanged","androidChanged","timestamp","Date","toISOString","files","filter","Boolean","cacheKey","key","kv","message"],"sources":["../src/cli.ts"],"sourcesContent":[null],"mappings":";AAUA,SAASA,mBAAA,EAAqBC,0BAAA,QAAkC;AAChE,SACEC,cAAA,EACAC,mBAAA,EACAC,oBAAA,EACAC,SAAA,EACAC,SAAA,QACK;AACP,SAASC,eAAA,EAAiBC,eAAA,EAAiBC,IAAA,QAAY;AACvD,SAEEC,aAAA,EACAC,iBAAA,EACAC,aAAA,EACAC,eAAA,QACK;AACP,SAASC,SAAA,QAAiB;AAC1B,SAAyBC,aAAA,QAAqB;AAC9C,SACEC,eAAA,EACAC,YAAA,EACAC,qBAAA,EACAC,kBAAA,EACAC,sBAAA,EACAC,kBAAA,QACK;AACP,SAASC,kBAAA,EAAoBC,mBAAA,QAA2B;AAExD,SAASC,SAAA,EAAWC,WAAA,EAAaC,MAAA,EAAQC,aAAA,QAAqB;AAC9D,SAASC,MAAA,QAAc;AACvB,SAASC,IAAA,QAAY;AAErB,MAAMC,IAAA,GAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqDb,SAASC,uBAAA,EAAyB;EAChC,MAAMC,MAAA,GAASP,WAAA,CAAYI,IAAA,CAAKD,MAAA,CAAO,GAAG,oBAAoB,CAAC;EAC/D,MAAMK,SAAA,GAAYJ,IAAA,CAAKG,MAAA,EAAQ,OAAO;EAEtCL,aAAA,CACEM,SAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAQF;EACAT,SAAA,CAAUS,SAAA,EAAW,GAAK;EAE1B,OAAOD,MAAA;AACT;AAmBA,SAASE,UAAUC,IAAA,EAA4B;EAC7C,MAAMC,KAAA,GAAiB,EAAC;EACxB,MAAMC,QAAA,GAAU;IACdC,WAAA,EAAaC,OAAA,CAAQC,GAAA,CAAI;IACzBC,MAAA,EAAQ;IACRC,UAAA,EAAY;IACZC,OAAA,EAAS;IACTC,QAAA,EAAU;IACVC,MAAA,EAAQ;IACRC,YAAA,EAAc;IACdC,IAAA,EAAM;IACNC,IAAA,EAAM;EACR;EAEA,IAAIC,CAAA,GAAI;EACR,OAAOA,CAAA,GAAId,IAAA,CAAKe,MAAA,EAAQ;IACtB,MAAMC,GAAA,GAAMhB,IAAA,CAAKc,CAAC;IAElB,IAAIE,GAAA,KAAQ,oBAAoBhB,IAAA,CAAKc,CAAA,GAAI,CAAC,GAAG;MAC3CZ,QAAA,CAAQC,WAAA,GAAcH,IAAA,CAAK,EAAEc,CAAC;IAChC,WAAWE,GAAA,KAAQ,cAAchB,IAAA,CAAKc,CAAA,GAAI,CAAC,GAAG;MAC5CZ,QAAA,CAAQI,MAAA,GAASN,IAAA,CAAK,EAAEc,CAAC;IAC3B,WAAWE,GAAA,KAAQ,mBAAmBhB,IAAA,CAAKc,CAAA,GAAI,CAAC,GAAG;MACjDZ,QAAA,CAAQK,UAAA,GAAaP,IAAA,CAAK,EAAEc,CAAC;IAC/B,WAAWE,GAAA,KAAQ,eAAehB,IAAA,CAAKc,CAAA,GAAI,CAAC,GAAG;MAC7C,MAAMG,GAAA,GAAMC,MAAA,CAAOC,QAAA,CAASnB,IAAA,CAAK,EAAEc,CAAC,GAAG,EAAE;MACzC,IAAI,CAACI,MAAA,CAAOE,KAAA,CAAMH,GAAG,KAAKA,GAAA,IAAO,GAAG;QAClCf,QAAA,CAAQM,OAAA,GAAUS,GAAA;MACpB;IACF,WAAWD,GAAA,KAAQ,cAAchB,IAAA,CAAKc,CAAA,GAAI,CAAC,GAAG;MAC5CZ,QAAA,CAAQQ,MAAA,GAASV,IAAA,CAAK,EAAEc,CAAC;IAC3B,WAAWE,GAAA,KAAQ,mBAAmB;MACpCd,QAAA,CAAQS,YAAA,GAAe;IACzB,WAAWK,GAAA,KAAQ,UAAU;MAC3Bd,QAAA,CAAQU,IAAA,GAAO;IACjB,WAAWI,GAAA,KAAQ,YAAYA,GAAA,KAAQ,MAAM;MAC3Cd,QAAA,CAAQW,IAAA,GAAO;IACjB,WAAW,CAACG,GAAA,CAAIK,UAAA,CAAW,GAAG,GAAG;MAC/BpB,KAAA,CAAKqB,IAAA,CAAKN,GAAG;IACf;IAEAF,CAAA;EACF;EAEA,OAAO;IACLS,OAAA,EAAStB,KAAA,CAAK,CAAC,KAAK;IACpBuB,UAAA,EAAYvB,KAAA,CAAK,CAAC,KAAK;IACvBwB,IAAA,EAAMxB,KAAA,CAAKyB,KAAA,CAAM,CAAC;IAClBC,OAAA,EAAAzB;EACF;AACF;AAEA,SAAS0B,iBAAiBC,KAAA,EAAyB;EACjD,IAAIA,KAAA,KAAU,SAASA,KAAA,KAAU,WAAW;IAC1CC,OAAA,CAAQC,KAAA,CAAM,4CAA4C;IAC1D3B,OAAA,CAAQ4B,IAAA,CAAK,CAAC;EAChB;EACA,OAAOH,KAAA;AACT;AAEA,SAASI,iBAAA,EAAmD;EAC1D,MAAMC,GAAA,GAAM9B,OAAA,CAAQ+B,GAAA,CAAIC,uBAAA;EACxB,MAAMC,KAAA,GAAQjC,OAAA,CAAQ+B,GAAA,CAAIG,yBAAA;EAE1B,IAAI,CAACJ,GAAA,IAAO,CAACG,KAAA,EAAO;IAClBP,OAAA,CAAQC,KAAA,CAAM,uEAAuE;IACrF3B,OAAA,CAAQ4B,IAAA,CAAK,CAAC;EAChB;EAEA,OAAO;IAAEE,GAAA;IAAKG;EAAM;AACtB;AAGA,MAAM;EAAEd,OAAA;EAASC,UAAA;EAAYC,IAAA;EAAME;AAAQ,IAAI5B,SAAA,CAAUK,OAAA,CAAQJ,IAAA,CAAK0B,KAAA,CAAM,CAAC,CAAC;AAE9E,IAAIC,OAAA,CAAQd,IAAA,IAAQ,CAACU,OAAA,EAAS;EAC5BO,OAAA,CAAQS,IAAA,CAAK5C,IAAI;EACjBS,OAAA,CAAQ4B,IAAA,CAAKL,OAAA,CAAQd,IAAA,GAAO,IAAI,CAAC;AACnC;AAEA,IAAI;EACF,QAAQU,OAAA;IAAS;IAAA;IAAA;IAIf,KAAK;MAAQ;QAEX,IAAIjD,IAAA,CAAK,KAAK,CAAC8B,OAAA,CAAQ+B,GAAA,CAAIK,mBAAA,EAAqB;UAC9CV,OAAA,CAAQS,IAAA,CAAK,4DAA4D;UACzET,OAAA,CAAQS,IAAA,CAAK,wCAAwC;UACrDnC,OAAA,CAAQ4B,IAAA,CAAK,CAAC;QAChB;QAEA,MAAMS,QAAA,GAAWjB,UAAA,IAAc;QAE/B,IAAIiB,QAAA,KAAa,OAAO;UACtB1D,qBAAA,CAAsB;UAGtB,MAAMR,aAAA,CAAc;UAEpB,MAAM+B,MAAA,GAASqB,OAAA,CAAQrB,MAAA,IAAU;UACjCwB,OAAA,CAAQS,IAAA,CAAK,+BAA+B;UAC5CT,OAAA,CAAQS,IAAA,CAAK,WAAWjC,MAAM,EAAE;UAChCwB,OAAA,CAAQS,IAAA,CAAK,iBAAiBZ,OAAA,CAAQxB,WAAW,EAAE;UAEnDC,OAAA,CAAQsC,KAAA,CAAMf,OAAA,CAAQxB,WAAW;UACjC,MAAMtB,eAAA,CAAgB;UACtB,MAAMC,YAAA,CAAawB,MAAM;UAEzB,MAAMqC,QAAA,GAAW,MAAMhE,SAAA,CAAU,OAAO,YAAY;YAClD,OAAOC,aAAA,CAAc;cACnB0B,MAAA;cACAH,WAAA,EAAawB,OAAA,CAAQxB,WAAA;cACrBI,UAAA,EAAYoB,OAAA,CAAQpB,UAAA;cACpBC,OAAA,EAASmB,OAAA,CAAQnB,OAAA;cACjBoC,SAAA,EAAWnB,IAAA,CAAKV,MAAA,GAAS,IAAIU,IAAA,GAAO;YACtC,CAAC;UACH,CAAC;UACDrB,OAAA,CAAQ4B,IAAA,CAAKW,QAAQ;QACvB,WAAWF,QAAA,KAAa,WAAW;UAEjC,MAAMjE,iBAAA,CAAkB;UAExB,MAAM8B,MAAA,GAASqB,OAAA,CAAQrB,MAAA,IAAU;UACjCwB,OAAA,CAAQS,IAAA,CAAK,mCAAmC;UAChDT,OAAA,CAAQS,IAAA,CAAK,WAAWjC,MAAM,EAAE;UAChCwB,OAAA,CAAQS,IAAA,CAAK,iBAAiBZ,OAAA,CAAQxB,WAAW,EAAE;UACnD2B,OAAA,CAAQS,IAAA,CAAK,aAAaZ,OAAA,CAAQlB,QAAQ,EAAE;UAE5CL,OAAA,CAAQsC,KAAA,CAAMf,OAAA,CAAQxB,WAAW;UACjC,MAAMf,mBAAA,CAAoB;UAG1B,MAAMD,kBAAA,CAAmB;UAEzB,MAAMwD,QAAA,GAAW,MAAMhE,SAAA,CAAU,WAAW,YAAY;YACtD,OAAOC,aAAA,CAAc;cACnB0B,MAAA;cACAH,WAAA,EAAawB,OAAA,CAAQxB,WAAA;cACrBI,UAAA,EAAYoB,OAAA,CAAQpB,UAAA;cACpBC,OAAA,EAASmB,OAAA,CAAQnB,OAAA;cACjBC,QAAA,EAAUkB,OAAA,CAAQlB,QAAA;cAClBmC,SAAA,EAAWnB,IAAA,CAAKV,MAAA,GAAS,IAAIU,IAAA,GAAO;YACtC,CAAC;UACH,CAAC;UACDrB,OAAA,CAAQ4B,IAAA,CAAKW,QAAQ;QACvB,WAAWF,QAAA,KAAa,WAAW;UACjC1D,qBAAA,CAAsB;UAGtB,MAAMN,aAAA,CAAc;UAEpB,MAAMoE,IAAA,GAAOpB,IAAA,CAAK,CAAC,KAAK;UACxBK,OAAA,CAAQS,IAAA,CAAK,6BAA6B;UAC1CT,OAAA,CAAQS,IAAA,CAAK,SAASM,IAAA,IAAQ,KAAK,EAAE;UACrCf,OAAA,CAAQS,IAAA,CAAK,iBAAiBZ,OAAA,CAAQxB,WAAW,EAAE;UAEnDC,OAAA,CAAQsC,KAAA,CAAMf,OAAA,CAAQxB,WAAW;UAGjC,MAAM2C,IAAA,GAAO7D,sBAAA,CAAuB;UAGpC,MAAM8D,QAAA,GAAW7D,kBAAA,CAAmByC,OAAA,CAAQxB,WAAW;UACvD,MAAMnB,kBAAA,CAAmB;YAAEmB,WAAA,EAAawB,OAAA,CAAQxB,WAAA;YAAa4C,QAAA;YAAUD;UAAK,CAAC;UAG7E,MAAMH,QAAA,GAAW,MAAMhE,SAAA,CAAU,OAAO,YAAY;YAClD,MAAM;cAAEqE;YAAE,IAAI,MAAM,OAAO,KAAK;YAEhC,MAAMC,OAAA,GAAUJ,IAAA,GAAO,WAAWA,IAAI,KAAK;YAC3C,MAAMK,QAAA,GAAW,CAAC,UAAUJ,IAAI;YAChC,MAAMK,QAAA,GAAW,GAAGxB,OAAA,CAAQxB,WAAW;YACvC,MAAMiD,YAAA,GAAexD,sBAAA,CAAuB;YAC5C,MAAMyD,YAAA,GAAejD,OAAA,CAAQ+B,GAAA,CAAImB,IAAA;YAEjC,IAAI;cACFlD,OAAA,CAAQ+B,GAAA,CAAImB,IAAA,GAAO,GAAGF,YAAY,IAAIC,YAAA,IAAgB,EAAE;cACxD,MAAME,MAAA,GACJ,MAAMP,CAAA,gBAAiBC,OAAO,iDAAiDE,QAAQ,IAAID,QAAQ,GAAGM,OAAA,CAAQ;cAChH,OAAOD,MAAA,CAAOZ,QAAA;YAChB,UAAE;cACA,IAAIU,YAAA,KAAiB,QAAW;gBAC9B,OAAOjD,OAAA,CAAQ+B,GAAA,CAAImB,IAAA;cACrB,OAAO;gBACLlD,OAAA,CAAQ+B,GAAA,CAAImB,IAAA,GAAOD,YAAA;cACrB;cACA9D,MAAA,CAAO6D,YAAA,EAAc;gBAAEK,SAAA,EAAW;gBAAMC,KAAA,EAAO;cAAK,CAAC;YACvD;UACF,CAAC;UACDtD,OAAA,CAAQ4B,IAAA,CAAKW,QAAQ;QACvB,WAAWF,QAAA,KAAa,OAAO;UAC7B1D,qBAAA,CAAsB;UAEtB+C,OAAA,CAAQS,IAAA,CAAK,oCAAoC;UAGjD,MAAMhE,aAAA,CAAc;UACpBuD,OAAA,CAAQS,IAAA,CAAK,uBAAuB;UACpCnC,OAAA,CAAQsC,KAAA,CAAMf,OAAA,CAAQxB,WAAW;UACjC,MAAMtB,eAAA,CAAgB;UACtB,MAAMC,YAAA,CAAa6C,OAAA,CAAQrB,MAAA,IAAU,eAAe;UAEpD,IAAIqD,OAAA,GAAU;UACd,IAAI;YACFA,OAAA,GAAU,MAAMhF,SAAA,CAAU,OAAO,YAAY;cAC3C,OAAOC,aAAA,CAAc;gBACnB0B,MAAA,EAAQqB,OAAA,CAAQrB,MAAA,IAAU;gBAC1BH,WAAA,EAAawB,OAAA,CAAQxB,WAAA;gBACrBI,UAAA,EAAYoB,OAAA,CAAQpB,UAAA;gBACpBC,OAAA,EAASmB,OAAA,CAAQnB;cACnB,CAAC;YACH,CAAC;UACH,SAASoD,GAAA,EAAK;YACZ9B,OAAA,CAAQC,KAAA,CAAM,qBAAqB6B,GAAG;YACtCD,OAAA,GAAU;UACZ;UAGA,MAAMnF,iBAAA,CAAkB;UACxBsD,OAAA,CAAQS,IAAA,CAAK,2BAA2B;UACxC,MAAMnD,mBAAA,CAAoB;UAC1B,MAAMD,kBAAA,CAAmB;UAEzB,IAAI0E,WAAA,GAAc;UAClB,IAAI;YACFA,WAAA,GAAc,MAAMlF,SAAA,CAAU,WAAW,YAAY;cACnD,OAAOC,aAAA,CAAc;gBACnB0B,MAAA,EAAQqB,OAAA,CAAQrB,MAAA,IAAU;gBAC1BH,WAAA,EAAawB,OAAA,CAAQxB,WAAA;gBACrBI,UAAA,EAAYoB,OAAA,CAAQpB,UAAA;gBACpBC,OAAA,EAASmB,OAAA,CAAQnB,OAAA;gBACjBC,QAAA,EAAUkB,OAAA,CAAQlB;cACpB,CAAC;YACH,CAAC;UACH,SAASmD,GAAA,EAAK;YACZ9B,OAAA,CAAQC,KAAA,CAAM,yBAAyB6B,GAAG;YAC1CC,WAAA,GAAc;UAChB;UAEA,MAAMC,OAAA,GAAUH,OAAA,KAAY,KAAKE,WAAA,KAAgB;UACjD/B,OAAA,CAAQS,IAAA,CAAK;AAAA,qBAAwB;UACrCT,OAAA,CAAQS,IAAA,CAAK,QAAQoB,OAAA,KAAY,IAAI,WAAW,QAAQ,EAAE;UAC1D7B,OAAA,CAAQS,IAAA,CAAK,YAAYsB,WAAA,KAAgB,IAAI,WAAW,QAAQ,EAAE;UAClEzD,OAAA,CAAQ4B,IAAA,CAAK8B,OAAA,GAAU,IAAI,CAAC;QAC9B,OAAO;UACLhC,OAAA,CAAQC,KAAA,CAAM,0BAA0BU,QAAQ,EAAE;UAClDX,OAAA,CAAQS,IAAA,CAAK,iDAAiD;UAC9DnC,OAAA,CAAQ4B,IAAA,CAAK,CAAC;QAChB;QACA;MACF;IAAA;IAAA;IAAA;IAKA,KAAK;MAAQ;QACX,IAAI,CAACR,UAAA,IAAcA,UAAA,KAAe,UAAU;UAC1C9C,eAAA,CAAgB;QAClB,WAAW8C,UAAA,KAAe,WAAW;UACnCM,OAAA,CAAQS,IAAA,CAAK,kCAAkC;UAC/C,MAAMhE,aAAA,CAAc;UACpB,MAAME,aAAA,CAAc;UACpBqD,OAAA,CAAQS,IAAA,CAAK,+BAA+B;QAC9C,WAAWf,UAAA,KAAe,eAAe;UACvC,MAAMjD,aAAA,CAAc;QACtB,WAAWiD,UAAA,KAAe,mBAAmB;UAC3C,MAAMhD,iBAAA,CAAkB;QAC1B,WAAWgD,UAAA,KAAe,mBAAmB;UAC3C,MAAM/C,aAAA,CAAc;QACtB,OAAO;UACLqD,OAAA,CAAQC,KAAA,CAAM,4BAA4BP,UAAU,EAAE;UACtDpB,OAAA,CAAQ4B,IAAA,CAAK,CAAC;QAChB;QACA;MACF;IAAA;IAAA;IAAA;IAKA,KAAK;MAAe;QAClB,MAAMS,QAAA,GAAWb,gBAAA,CAAiBJ,UAAU;QAE5C,MAAM+B,MAAA,GAAS,MAAM1F,mBAAA,CAAoB;UACvC4E,QAAA;UACAtC,WAAA,EAAawB,OAAA,CAAQxB;QACvB,CAAC;QAED,IAAIwB,OAAA,CAAQhB,YAAA,IAAgBtC,eAAA,CAAgB,GAAG;UAC7CD,eAAA,CAAgB,eAAemF,MAAA,CAAOQ,IAAI;UAC1C3F,eAAA,CACE,aACAL,cAAA,CAAe;YACb0E,QAAA;YACAuB,WAAA,EAAaT,MAAA,CAAOQ,IAAA;YACpBrD,MAAA,EAAQiB,OAAA,CAAQjB;UAClB,CAAC,CACH;QACF;QAEA,IAAIiB,OAAA,CAAQf,IAAA,EAAM;UAChBkB,OAAA,CAAQS,IAAA,CAAK0B,IAAA,CAAKC,SAAA,CAAUX,MAAA,EAAQ,MAAM,CAAC,CAAC;QAC9C,OAAO;UACLzB,OAAA,CAAQS,IAAA,CAAKgB,MAAA,CAAOQ,IAAI;QAC1B;QACA;MACF;IAEA,KAAK;MAAoB;QACvB,MAAMI,UAAA,GAAa;QAEnBrC,OAAA,CAAQS,IAAA,CAAK,8BAA8B;QAE3C,MAAM6B,SAAA,GAAY,MAAMvG,mBAAA,CAAoB;UAC1C4E,QAAA,EAAU;UACVtC,WAAA,EAAawB,OAAA,CAAQxB;QACvB,CAAC;QACD,MAAMkE,aAAA,GAAgB,MAAMxG,mBAAA,CAAoB;UAC9C4E,QAAA,EAAU;UACVtC,WAAA,EAAawB,OAAA,CAAQxB;QACvB,CAAC;QAED,MAAMmE,cAAA,GAAiBF,SAAA,CAAUL,IAAA;QACjC,MAAMQ,kBAAA,GAAqBF,aAAA,CAAcN,IAAA;QAEzCjC,OAAA,CAAQS,IAAA,CAAK,uBAAuB;QACpCT,OAAA,CAAQS,IAAA,CAAK,cAAc+B,cAAc,EAAE;QAC3CxC,OAAA,CAAQS,IAAA,CAAK,cAAcgC,kBAAkB,EAAE;QAC/CzC,OAAA,CAAQS,IAAA,CAAK,EAAE;QAEf,MAAMiC,KAAA,GAAQrG,SAAA,CAAUgG,UAAU;QAElC,IAAIK,KAAA,EAAOC,GAAA,IAAOD,KAAA,EAAOE,OAAA,EAAS;UAChC5C,OAAA,CAAQS,IAAA,CAAK,qCAAqC;UAClDT,OAAA,CAAQS,IAAA,CAAK,cAAciC,KAAA,CAAMC,GAAG,EAAE;UACtC3C,OAAA,CAAQS,IAAA,CAAK,cAAciC,KAAA,CAAME,OAAO,EAAE;UAC1C5C,OAAA,CAAQS,IAAA,CAAK,EAAE;UAEf,MAAMoC,UAAA,GAAaH,KAAA,CAAMC,GAAA,KAAQH,cAAA;UACjC,MAAMM,cAAA,GAAiBJ,KAAA,CAAME,OAAA,KAAYH,kBAAA;UAEzC,IAAII,UAAA,IAAcC,cAAA,EAAgB;YAChC9C,OAAA,CAAQS,IAAA,CAAK,uBAAuB;YACpC,IAAIoC,UAAA,EACF7C,OAAA,CAAQS,IAAA,CAAK,0DAA0D;YACzE,IAAIqC,cAAA,EACF9C,OAAA,CAAQS,IAAA,CACN,kEACF;UACJ,OAAO;YACLT,OAAA,CAAQS,IAAA,CAAK,wCAAwC;UACvD;QACF,OAAO;UACLT,OAAA,CAAQS,IAAA,CAAK,kCAAkC;QACjD;QAGArE,SAAA,CAAUiG,UAAA,EAAY;UACpBM,GAAA,EAAKH,cAAA;UACLI,OAAA,EAASH,kBAAA;UACTM,SAAA,GAAW,mBAAIC,IAAA,CAAK,GAAEC,WAAA,CAAY;QACpC,CAAC;QACDjD,OAAA,CAAQS,IAAA,CAAK;AAAA,wBAA2B4B,UAAU,EAAE;QAEpDrC,OAAA,CAAQS,IAAA,CAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAOlB;QACK;MACF;IAEA,KAAK;MAAY;QACf,MAAMyC,KAAA,GAAQ,CAACxD,UAAA,EAAY,GAAGC,IAAI,EAAEwD,MAAA,CAAOC,OAAO;QAClD,IAAIF,KAAA,CAAMjE,MAAA,KAAW,GAAG;UACtBe,OAAA,CAAQC,KAAA,CAAM,mCAAmC;UACjD3B,OAAA,CAAQ4B,IAAA,CAAK,CAAC;QAChB;QAEA,MAAM+B,IAAA,GAAOjG,0BAAA,CAA2BkH,KAAA,EAAOrD,OAAA,CAAQxB,WAAW;QAElE,IAAIwB,OAAA,CAAQhB,YAAA,IAAgBtC,eAAA,CAAgB,GAAG;UAC7CD,eAAA,CAAgB,wBAAwB2F,IAAI;QAC9C;QAEA,IAAIpC,OAAA,CAAQf,IAAA,EAAM;UAChBkB,OAAA,CAAQS,IAAA,CAAK0B,IAAA,CAAKC,SAAA,CAAU;YAAEH,IAAA;YAAMiB;UAAM,GAAG,MAAM,CAAC,CAAC;QACvD,OAAO;UACLlD,OAAA,CAAQS,IAAA,CAAKwB,IAAI;QACnB;QACA;MACF;IAEA,KAAK;MAAa;QAChB,MAAMtB,QAAA,GAAWb,gBAAA,CAAiBJ,UAAU;QAC5C,MAAMwC,WAAA,GAAcvC,IAAA,CAAK,CAAC;QAE1B,IAAI,CAACuC,WAAA,EAAa;UAChBlC,OAAA,CAAQC,KAAA,CAAM,gCAAgC;UAC9C3B,OAAA,CAAQ4B,IAAA,CAAK,CAAC;QAChB;QAEA,MAAMmD,QAAA,GAAWpH,cAAA,CAAe;UAC9B0E,QAAA;UACAuB,WAAA;UACAtD,MAAA,EAAQiB,OAAA,CAAQjB;QAClB,CAAC;QAED,IAAIiB,OAAA,CAAQhB,YAAA,IAAgBtC,eAAA,CAAgB,GAAG;UAC7CD,eAAA,CAAgB,aAAa+G,QAAQ;QACvC;QAEArD,OAAA,CAAQS,IAAA,CAAK4C,QAAQ;QACrB;MACF;IAAA;IAAA;IAAA;IAKA,KAAK;MAAU;QACb,MAAMC,GAAA,GAAM5D,UAAA;QACZ,IAAI,CAAC4D,GAAA,EAAK;UACRtD,OAAA,CAAQC,KAAA,CAAM,wBAAwB;UACtC3B,OAAA,CAAQ4B,IAAA,CAAK,CAAC;QAChB;QAEA,MAAMqD,EAAA,GAAKpD,gBAAA,CAAiB;QAC5B,MAAMJ,KAAA,GAAQ,MAAM5D,oBAAA,CAAqBoH,EAAA,EAAID,GAAG;QAEhD,IAAIzD,OAAA,CAAQhB,YAAA,IAAgBtC,eAAA,CAAgB,GAAG;UAC7CD,eAAA,CAAgB,SAASyD,KAAA,IAAS,EAAE;UACpCzD,eAAA,CAAgB,SAASyD,KAAA,GAAQ,SAAS,OAAO;QACnD;QAEA,IAAIA,KAAA,EAAO;UACTC,OAAA,CAAQS,IAAA,CAAKV,KAAK;QACpB,OAAO;UACLzB,OAAA,CAAQ4B,IAAA,CAAK,CAAC;QAChB;QACA;MACF;IAEA,KAAK;MAAU;QACb,MAAMoD,GAAA,GAAM5D,UAAA;QACZ,MAAMK,KAAA,GAAQJ,IAAA,CAAK,CAAC;QAEpB,IAAI,CAAC2D,GAAA,IAAO,CAACvD,KAAA,EAAO;UAClBC,OAAA,CAAQC,KAAA,CAAM,mCAAmC;UACjD3B,OAAA,CAAQ4B,IAAA,CAAK,CAAC;QAChB;QAEA,MAAMqD,EAAA,GAAKpD,gBAAA,CAAiB;QAC5B,MAAMjE,mBAAA,CAAoBqH,EAAA,EAAID,GAAA,EAAKvD,KAAK;QACxCC,OAAA,CAAQS,IAAA,CAAK,IAAI;QACjB;MACF;IAEA;MACET,OAAA,CAAQC,KAAA,CAAM,oBAAoBR,OAAO,EAAE;MAC3CO,OAAA,CAAQS,IAAA,CAAK5C,IAAI;MACjBS,OAAA,CAAQ4B,IAAA,CAAK,CAAC;EAClB;AACF,SAASD,KAAA,EAAO;EACdD,OAAA,CAAQC,KAAA,CAAM,UAAWA,KAAA,CAAgBuD,OAAO;EAChDlF,OAAA,CAAQ4B,IAAA,CAAK,CAAC;AAChB","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/native-ci",
3
- "version": "2.0.0",
3
+ "version": "2.1.0-1780288049558",
4
4
  "description": "Native CI/CD helpers for React Native apps with Expo - fingerprinting, caching, and build optimization",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -42,7 +42,7 @@
42
42
  "@expo/fingerprint": "~0.16.6"
43
43
  },
44
44
  "devDependencies": {
45
- "@tamagui/build": "2.0.0",
45
+ "@tamagui/build": "2.1.0-1780288049558",
46
46
  "@types/bun": "^1.1.0",
47
47
  "@types/node": "^22.1.0"
48
48
  },
package/src/cli.ts CHANGED
@@ -36,6 +36,9 @@ import {
36
36
  } from './ios'
37
37
  import { setupAndroidDevice, ensureAndroidFolder } from './android'
38
38
  import type { Platform } from './constants'
39
+ import { chmodSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs'
40
+ import { tmpdir } from 'node:os'
41
+ import { join } from 'node:path'
39
42
 
40
43
  const HELP = `
41
44
  native-ci - Native CI/CD helpers for Expo apps
@@ -90,6 +93,26 @@ EXAMPLES:
90
93
  native-ci fingerprint-test
91
94
  `
92
95
 
96
+ function createMaestroXcrunShim() {
97
+ const binDir = mkdtempSync(join(tmpdir(), 'native-ci-maestro-'))
98
+ const xcrunPath = join(binDir, 'xcrun')
99
+
100
+ writeFileSync(
101
+ xcrunPath,
102
+ `#!/bin/sh
103
+ if [ "$1" = "devicectl" ] && [ "$2" = "--json-output" ] && [ "$4" = "list" ] && [ "$5" = "devices" ]; then
104
+ printf '{"result":{"devices":[]}}\\n' > "$3"
105
+ exit 0
106
+ fi
107
+
108
+ exec /usr/bin/xcrun "$@"
109
+ `
110
+ )
111
+ chmodSync(xcrunPath, 0o755)
112
+
113
+ return binDir
114
+ }
115
+
93
116
  interface ParsedArgs {
94
117
  command: string
95
118
  subcommand: string
@@ -223,6 +246,7 @@ try {
223
246
  projectRoot: options.projectRoot,
224
247
  recordLogs: options.recordLogs,
225
248
  retries: options.retries,
249
+ testFiles: args.length > 0 ? args : undefined,
226
250
  })
227
251
  })
228
252
  process.exit(exitCode)
@@ -249,6 +273,7 @@ try {
249
273
  recordLogs: options.recordLogs,
250
274
  retries: options.retries,
251
275
  headless: options.headless,
276
+ testFiles: args.length > 0 ? args : undefined,
252
277
  })
253
278
  })
254
279
  process.exit(exitCode)
@@ -279,9 +304,22 @@ try {
279
304
  const flowArg = flow ? `./flows/${flow}` : './flows'
280
305
  const udidArgs = ['--udid', udid]
281
306
  const debugDir = `${options.projectRoot}/.maestro-debug`
282
- const result =
283
- await $`maestro test ${flowArg} --exclude-tags=util --no-ansi --debug-output=${debugDir} ${udidArgs}`.nothrow()
284
- return result.exitCode
307
+ const xcrunShimDir = createMaestroXcrunShim()
308
+ const previousPath = process.env.PATH
309
+
310
+ try {
311
+ process.env.PATH = `${xcrunShimDir}:${previousPath ?? ''}`
312
+ const result =
313
+ await $`maestro test ${flowArg} --exclude-tags=util --no-ansi --debug-output=${debugDir} ${udidArgs}`.nothrow()
314
+ return result.exitCode
315
+ } finally {
316
+ if (previousPath === undefined) {
317
+ delete process.env.PATH
318
+ } else {
319
+ process.env.PATH = previousPath
320
+ }
321
+ rmSync(xcrunShimDir, { recursive: true, force: true })
322
+ }
285
323
  })
286
324
  process.exit(exitCode)
287
325
  } else if (platform === 'all') {
package/src/ios.ts CHANGED
@@ -2,9 +2,9 @@
2
2
  * iOS-specific utilities for Detox test runners
3
3
  */
4
4
 
5
- import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs'
6
- import { dirname, join } from 'node:path'
7
- import { execSync } from 'node:child_process'
5
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, readdirSync } from 'node:fs'
6
+ import { dirname, isAbsolute, join } from 'node:path'
7
+ import { execFileSync, execSync } from 'node:child_process'
8
8
  import { $ } from 'bun'
9
9
  import { isCI } from './runner'
10
10
  import { generateFingerprint } from './fingerprint'
@@ -75,6 +75,67 @@ function isAppInstalled(bundleId: string, udid: string): boolean {
75
75
  }
76
76
  }
77
77
 
78
+ function getIOSProjectName(projectRoot: string): string {
79
+ const iosDir = join(projectRoot, 'ios')
80
+ const iosEntries = readdirSync(iosDir)
81
+ const workspace = iosEntries.find((entry) => entry.endsWith('.xcworkspace'))
82
+ if (workspace) return workspace.replace(/\.xcworkspace$/, '')
83
+
84
+ const project = iosEntries.find((entry) => entry.endsWith('.xcodeproj'))
85
+ if (project) return project.replace(/\.xcodeproj$/, '')
86
+
87
+ throw new Error(`No iOS workspace or project found in ${iosDir}`)
88
+ }
89
+
90
+ function getIOSBuildConfiguration(config: string): 'Debug' | 'Release' {
91
+ return config.toLowerCase().includes('release') ? 'Release' : 'Debug'
92
+ }
93
+
94
+ function getIOSAppPath(projectRoot: string, config: string): string {
95
+ if (process.env.DETOX_IOS_APP_PATH) return process.env.DETOX_IOS_APP_PATH
96
+
97
+ const appName = getIOSProjectName(projectRoot)
98
+ const buildConfiguration = getIOSBuildConfiguration(config)
99
+ return `ios/build/Build/Products/${buildConfiguration}-iphonesimulator/${appName}.app`
100
+ }
101
+
102
+ function getIOSFullAppPath(projectRoot: string, config: string): string {
103
+ const appPath = getIOSAppPath(projectRoot, config)
104
+ return isAbsolute(appPath) ? appPath : join(projectRoot, appPath)
105
+ }
106
+
107
+ function getIOSPodTargetName(projectRoot: string): string {
108
+ const podfile = readFileSync(join(projectRoot, 'ios', 'Podfile'), 'utf-8')
109
+ const match = podfile.match(/^\s*target ['"]([^'"]+)['"] do/m)
110
+ if (!match) {
111
+ throw new Error(`No CocoaPods target found in ${join(projectRoot, 'ios', 'Podfile')}`)
112
+ }
113
+ return match[1]
114
+ }
115
+
116
+ function getIOSAppBundleId(fullAppPath: string): string | null {
117
+ const infoPlist = join(fullAppPath, 'Info.plist')
118
+ if (!existsSync(infoPlist)) return null
119
+
120
+ try {
121
+ const bundleId = execFileSync(
122
+ '/usr/bin/plutil',
123
+ ['-extract', 'CFBundleIdentifier', 'raw', '-o', '-', infoPlist],
124
+ {
125
+ encoding: 'utf-8',
126
+ stdio: ['ignore', 'pipe', 'pipe'],
127
+ }
128
+ ).trim()
129
+ return bundleId || null
130
+ } catch {
131
+ return null
132
+ }
133
+ }
134
+
135
+ function isIOSAppBundleReady(fullAppPath: string): boolean {
136
+ return existsSync(fullAppPath) && !!getIOSAppBundleId(fullAppPath)
137
+ }
138
+
78
139
  /**
79
140
  * Ensure the app is installed on a specific simulator.
80
141
  * For dev client apps, builds if needed then installs.
@@ -103,12 +164,10 @@ export async function ensureAppInstalled(opts: {
103
164
  console.info(`App ${bundleId} not installed, building...`)
104
165
  await ensureIOSFolder()
105
166
 
106
- const appPath =
107
- process.env.DETOX_IOS_APP_PATH ||
108
- 'ios/build/Build/Products/Debug-iphonesimulator/tamaguikitchensink.app'
109
- const fullAppPath = join(projectRoot, appPath)
167
+ const appPath = getIOSAppPath(projectRoot, 'ios.sim.debug')
168
+ const fullAppPath = getIOSFullAppPath(projectRoot, 'ios.sim.debug')
110
169
 
111
- if (!existsSync(fullAppPath)) {
170
+ if (!isIOSAppBundleReady(fullAppPath)) {
112
171
  await ensureIOSApp('ios.sim.debug')
113
172
  }
114
173
 
@@ -299,12 +358,10 @@ export async function ensureIOSApp(config: string = 'ios.sim.debug'): Promise<vo
299
358
 
300
359
  const projectRoot = process.cwd()
301
360
 
302
- // Check if app binary exists (use the path from detoxrc)
303
- const appPath =
304
- process.env.DETOX_IOS_APP_PATH ||
305
- 'ios/build/Build/Products/Debug-iphonesimulator/tamaguikitchensink.app'
306
- const fullAppPath = join(projectRoot, appPath)
307
- const appExists = existsSync(fullAppPath)
361
+ // check if a complete app bundle exists
362
+ const appPath = getIOSAppPath(projectRoot, config)
363
+ const fullAppPath = getIOSFullAppPath(projectRoot, config)
364
+ const appExists = isIOSAppBundleReady(fullAppPath)
308
365
 
309
366
  // If app doesn't exist, we must build regardless of fingerprint
310
367
  if (!appExists) {
@@ -366,7 +423,7 @@ export async function ensureIOSApp(config: string = 'ios.sim.debug'): Promise<vo
366
423
  }
367
424
 
368
425
  /**
369
- * Build the iOS app using detox build
426
+ * Build the iOS app using the generated Xcode workspace.
370
427
  */
371
428
  async function buildIOSApp(
372
429
  config: string,
@@ -381,18 +438,23 @@ async function buildIOSApp(
381
438
  'ios',
382
439
  'Pods',
383
440
  'Target Support Files',
384
- 'Pods-tamaguikitchensink',
385
- 'Pods-tamaguikitchensink.debug.xcconfig'
441
+ `Pods-${getIOSPodTargetName(projectRoot)}`,
442
+ `Pods-${getIOSPodTargetName(projectRoot)}.debug.xcconfig`
386
443
  )
387
444
  if (!existsSync(podConfigPath)) {
388
445
  console.info('Installing CocoaPods dependencies...')
389
446
  await $`pod install --project-directory=ios`
390
447
  }
391
448
 
392
- // Build the app using detox build
449
+ const scheme = getIOSProjectName(projectRoot)
450
+ const buildConfiguration = getIOSBuildConfiguration(config)
451
+ const workspace = join('ios', `${scheme}.xcworkspace`)
452
+ const symroot = join(projectRoot, 'ios', 'build', 'Build', 'Products')
453
+ const objroot = join(projectRoot, 'ios', 'build', 'Build', 'Intermediates.noindex')
454
+
393
455
  console.info(`Building iOS app (config: ${config})...`)
394
456
  console.info('This may take a few minutes on first run.')
395
- await $`npx detox build -c ${config}`
457
+ await $`xcodebuild -workspace ${workspace} -scheme ${scheme} -configuration ${buildConfiguration} -sdk iphonesimulator SYMROOT=${symroot} OBJROOT=${objroot}`
396
458
 
397
459
  // Save the fingerprint cache
398
460
  if (fingerprint) {
@@ -1 +1 @@
1
- {"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../src/ios.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAWtD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAuB5C;AAgBD;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BhB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAsB9D;AA+CD;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAoBvD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAgBrD;AAkCD;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,MAAM,GAAE,MAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyElF"}
1
+ {"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../src/ios.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAWtD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAuB5C;AA6ED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BhB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAsB9D;AA+CD;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAoBvD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAgBrD;AAkCD;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,MAAM,GAAE,MAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuElF"}