peachsim 0.1.936 → 0.1.937

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.
Files changed (79) hide show
  1. package/dist-lib/agent-daemon-client.cjs +1 -1
  2. package/dist-lib/agent-events.cjs +1 -1
  3. package/dist-lib/agent-identity.cjs +1 -1
  4. package/dist-lib/agent-sessions.cjs +1 -1
  5. package/dist-lib/attached-projects.cjs +1 -1
  6. package/dist-lib/auth/shared-session.cjs +1 -1
  7. package/dist-lib/backend-origin.cjs +1 -1
  8. package/dist-lib/beta.cjs +1 -1
  9. package/dist-lib/beta.mjs +1 -1
  10. package/dist-lib/bridge-constants.cjs +1 -1
  11. package/dist-lib/bridge-contract-input.cjs +1 -1
  12. package/dist-lib/bridge-contract-input.mjs +1 -1
  13. package/dist-lib/bridge-contract.cjs +1 -1
  14. package/dist-lib/bridge-contract.mjs +1 -1
  15. package/dist-lib/bundle-channel.cjs +48 -11
  16. package/dist-lib/capture-contract.cjs +1 -1
  17. package/dist-lib/capture-contract.mjs +1 -1
  18. package/dist-lib/cli-constants.cjs +1 -1
  19. package/dist-lib/cloud-contract.cjs +1 -1
  20. package/dist-lib/cloud-contract.mjs +1 -1
  21. package/dist-lib/cloud-test-args.cjs +1 -1
  22. package/dist-lib/cloud-test-args.mjs +1 -1
  23. package/dist-lib/cloud.cjs +1 -1
  24. package/dist-lib/cloud.mjs +1 -1
  25. package/dist-lib/config.cjs +1 -1
  26. package/dist-lib/detox/index.cjs +1 -1
  27. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  28. package/dist-lib/expo-swift-bundle.cjs +48 -11
  29. package/dist-lib/expo-swift-metadata.cjs +1 -1
  30. package/dist-lib/expo-swift-metadata.mjs +1 -1
  31. package/dist-lib/home-paths.cjs +1 -1
  32. package/dist-lib/host/bridge-host.cjs +48 -11
  33. package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
  34. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  35. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  36. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  37. package/dist-lib/host/websocket-proxy.cjs +1 -1
  38. package/dist-lib/index.cjs +5 -4
  39. package/dist-lib/jump-to-source-babel.cjs +1 -1
  40. package/dist-lib/jump-to-source-native.cjs +1 -1
  41. package/dist-lib/kotlin-host.cjs +1 -1
  42. package/dist-lib/menu.cjs +1 -1
  43. package/dist-lib/menu.mjs +1 -1
  44. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  45. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  46. package/dist-lib/metro-production-bundle.cjs +1 -1
  47. package/dist-lib/metro-production-bundle.mjs +1 -1
  48. package/dist-lib/metro.cjs +5 -4
  49. package/dist-lib/native-app-identity.cjs +1 -1
  50. package/dist-lib/native-app-identity.mjs +1 -1
  51. package/dist-lib/native-firebase-metadata.cjs +1 -1
  52. package/dist-lib/native-firebase-metadata.mjs +1 -1
  53. package/dist-lib/plist.cjs +1 -1
  54. package/dist-lib/plist.mjs +1 -1
  55. package/dist-lib/profiles.cjs +1 -1
  56. package/dist-lib/public-brand.cjs +1 -1
  57. package/dist-lib/react-native-host-modules.cjs +1 -1
  58. package/dist-lib/react-native-host-modules.mjs +1 -1
  59. package/dist-lib/render-mode.cjs +1 -1
  60. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  61. package/dist-lib/sdk.cjs +1 -1
  62. package/dist-lib/sdk.mjs +1 -1
  63. package/dist-lib/skills.cjs +48 -11
  64. package/dist-lib/swift-compile.cjs +1 -1
  65. package/dist-lib/swift-compile.mjs +1 -1
  66. package/dist-lib/swift-package.cjs +1 -1
  67. package/dist-lib/swift-package.mjs +1 -1
  68. package/dist-lib/swift-submit.cjs +1 -1
  69. package/dist-lib/swift-submit.mjs +1 -1
  70. package/dist-lib/swift-toolchain.cjs +1 -1
  71. package/dist-lib/swift.cjs +1 -1
  72. package/dist-lib/vite-swift.cjs +48 -11
  73. package/dist-lib/vite.cjs +1 -1
  74. package/dist-lib/worklet-executable.cjs +1 -1
  75. package/dist-lib/worklet-executable.mjs +1 -1
  76. package/package.json +1 -1
  77. package/src/swift-host.ts +45 -7
  78. package/src/swift-standins.ts +18 -1
  79. package/src/xcode-project.ts +8 -5
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
package/dist-lib/beta.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
package/dist-lib/beta.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/beta.ts
4
4
  var IS_BETA = true;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/bridge-contract.ts
4
4
  var SIM_LONG_PRESS_MAX_MS = 5e3;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/bridge-contract.ts
4
4
  var REFUSED_PERFORM_STEP_TYPES = [
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -4839,7 +4839,13 @@ function peachModuleDirs(toolchain, imports) {
4839
4839
  ],
4840
4840
  moduleRoot
4841
4841
  );
4842
- return [import_node_path12.default.join(moduleRoot, ".build", TRIPLE, "release", "Modules")];
4842
+ const release = import_node_path12.default.join(moduleRoot, ".build", TRIPLE, "release");
4843
+ return [
4844
+ import_node_path12.default.join(release, "Modules"),
4845
+ ...import_node_fs12.default.readdirSync(release).filter(
4846
+ (name2) => name2.endsWith(".build") && import_node_fs12.default.existsSync(import_node_path12.default.join(release, name2, "module.modulemap"))
4847
+ ).sort().map((name2) => import_node_path12.default.join(release, name2))
4848
+ ];
4843
4849
  }
4844
4850
  function swiftInterfaceForWasm(text3) {
4845
4851
  return text3.replace(
@@ -5194,6 +5200,8 @@ function standinGenerationInputs(binaries, toolchain) {
5194
5200
  }
5195
5201
  function binaryStandins(binary, toolchain, provided) {
5196
5202
  if (provided.has(binary.target)) return [];
5203
+ if (!binary.url && !import_node_fs12.default.existsSync(binary.dir))
5204
+ return `${import_node_path12.default.basename(binary.dir)} is not on disk; build or fetch it, then run again`;
5197
5205
  let all;
5198
5206
  let digest2;
5199
5207
  try {
@@ -7717,7 +7725,7 @@ function readXcodeAppTarget(input, targetName) {
7717
7725
  )
7718
7726
  ];
7719
7727
  const linkedProducts = [];
7720
- const binaryFrameworks = /* @__PURE__ */ new Set();
7728
+ const binaryFrameworks = /* @__PURE__ */ new Map();
7721
7729
  for (const { project, target } of order) {
7722
7730
  const productDependencies = [
7723
7731
  ...list(target.packageProductDependencies),
@@ -7754,7 +7762,8 @@ function readXcodeAppTarget(input, targetName) {
7754
7762
  if (file?.isa !== "PBXFileReference" || !name2) continue;
7755
7763
  if (tree === "BUILT_PRODUCTS_DIR" || tree === "SDKROOT" || tree === "DEVELOPER_DIR")
7756
7764
  continue;
7757
- binaryFrameworks.add(name2);
7765
+ const resolved = fileId ? project.resolvePath(fileId) : null;
7766
+ if (resolved && !binaryFrameworks.has(name2)) binaryFrameworks.set(name2, resolved);
7758
7767
  }
7759
7768
  }
7760
7769
  }
@@ -7786,7 +7795,7 @@ function readXcodeAppTarget(input, targetName) {
7786
7795
  localPackageDirs: [
7787
7796
  ...new Set(localPackageDirs.map((dir) => import_node_fs13.default.realpathSync(dir)))
7788
7797
  ].sort(),
7789
- binaryFrameworks: [...binaryFrameworks].sort(),
7798
+ binaryFrameworks: [...binaryFrameworks].map(([name2, file]) => ({ name: name2, path: file })).sort((left, right) => left.name.localeCompare(right.name)),
7790
7799
  packageResolved: import_node_fs13.default.existsSync(resolvedFile) ? resolvedFile : null,
7791
7800
  appTargets: appTargetNames
7792
7801
  };
@@ -7886,11 +7895,25 @@ function swiftPackages(entry, app) {
7886
7895
  localDirs: app.localPackageDirs,
7887
7896
  provided: entry.provided
7888
7897
  }),
7889
- standins: []
7898
+ standins: [],
7899
+ projectGaps: /* @__PURE__ */ new Map()
7890
7900
  };
7891
7901
  entry.packages = cached2;
7892
7902
  }
7893
- const reached = cached2.packages.binaries.filter((binary) => binary.reached);
7903
+ const vendored = app.binaryFrameworks.map(
7904
+ ({ name: name2, path: dir }) => ({
7905
+ target: name2,
7906
+ source: "the project",
7907
+ url: null,
7908
+ checksum: null,
7909
+ dir,
7910
+ reached: true
7911
+ })
7912
+ );
7913
+ const reached = [
7914
+ ...cached2.packages.binaries.filter((binary) => binary.reached),
7915
+ ...vendored
7916
+ ];
7894
7917
  if (entry.moduleRoot && entry.provided && reached.length > 0) {
7895
7918
  const resolved = swiftModuleToolchain(entry.moduleRoot);
7896
7919
  const toolchain = {
@@ -7913,6 +7936,12 @@ function swiftPackages(entry, app) {
7913
7936
  binaryGaps: built2.gaps
7914
7937
  });
7915
7938
  cached2.standins = built2.standins;
7939
+ cached2.projectGaps = new Map(
7940
+ vendored.flatMap(({ target }) => {
7941
+ const gap = built2.gaps.get(target);
7942
+ return gap ? [[target, gap]] : [];
7943
+ })
7944
+ );
7916
7945
  cached2.standinKey = generation;
7917
7946
  }
7918
7947
  }
@@ -7948,7 +7977,7 @@ function xcodeLayout(root) {
7948
7977
  mainActorIsolation: framework.mainActorIsolation
7949
7978
  });
7950
7979
  }
7951
- const { packages, standins } = swiftPackages(registered, app);
7980
+ const { packages, standins, projectGaps } = swiftPackages(registered, app);
7952
7981
  for (const standin of standins)
7953
7982
  targets.push({
7954
7983
  name: standin.module,
@@ -7983,6 +8012,7 @@ function xcodeLayout(root) {
7983
8012
  targets,
7984
8013
  packages,
7985
8014
  standins,
8015
+ projectGaps,
7986
8016
  targetDirs,
7987
8017
  files: [...files2].sort()
7988
8018
  };
@@ -8332,9 +8362,16 @@ function swiftApiGapReport(output) {
8332
8362
  async function missingModulesMessage(packagePath, missing) {
8333
8363
  const layout = xcodeLayout(packagePath);
8334
8364
  const gaps = new Map([
8335
- ...(layout?.app.binaryFrameworks ?? []).map(
8336
- (name2) => [name2, { source: "the project", reason: "a vendored binary framework" }]
8337
- ),
8365
+ ...(layout?.app.binaryFrameworks ?? []).map(({ name: name2 }) => {
8366
+ const gap = layout?.projectGaps.get(name2);
8367
+ return [
8368
+ name2,
8369
+ {
8370
+ source: "the project",
8371
+ reason: `a vendored binary framework${gap ? `; no stand-in: ${gap}` : ""}`
8372
+ }
8373
+ ];
8374
+ }),
8338
8375
  ...[...missing.keys()].flatMap(
8339
8376
  (name2) => UNPROVIDED_PLATFORM_MODULES[name2] ? [
8340
8377
  [
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/capture-contract.ts
4
4
  var RNX_SCREEN_CAPTURE_VERSION = 1;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/cloud-contract.ts
4
4
  var RNX_CLOUD_MAX_ARTIFACT_BYTES = 20 * 1024 * 1024;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/cloud-test-args.ts
4
4
  var CLOUD_TEST_ARGS_MAX_COUNT = 32;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  var __defProp = Object.defineProperty;
3
3
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
4
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -6053,7 +6053,13 @@ function peachModuleDirs(toolchain, imports) {
6053
6053
  ],
6054
6054
  moduleRoot
6055
6055
  );
6056
- return [import_node_path12.default.join(moduleRoot, ".build", TRIPLE, "release", "Modules")];
6056
+ const release = import_node_path12.default.join(moduleRoot, ".build", TRIPLE, "release");
6057
+ return [
6058
+ import_node_path12.default.join(release, "Modules"),
6059
+ ...import_node_fs12.default.readdirSync(release).filter(
6060
+ (name2) => name2.endsWith(".build") && import_node_fs12.default.existsSync(import_node_path12.default.join(release, name2, "module.modulemap"))
6061
+ ).sort().map((name2) => import_node_path12.default.join(release, name2))
6062
+ ];
6057
6063
  }
6058
6064
  function swiftInterfaceForWasm(text3) {
6059
6065
  return text3.replace(
@@ -6411,6 +6417,8 @@ function standinGenerationInputs(binaries, toolchain) {
6411
6417
  }
6412
6418
  function binaryStandins(binary, toolchain, provided) {
6413
6419
  if (provided.has(binary.target)) return [];
6420
+ if (!binary.url && !import_node_fs12.default.existsSync(binary.dir))
6421
+ return `${import_node_path12.default.basename(binary.dir)} is not on disk; build or fetch it, then run again`;
6414
6422
  let all;
6415
6423
  let digest;
6416
6424
  try {
@@ -7574,7 +7582,7 @@ function readXcodeAppTarget(input, targetName) {
7574
7582
  )
7575
7583
  ];
7576
7584
  const linkedProducts = [];
7577
- const binaryFrameworks = /* @__PURE__ */ new Set();
7585
+ const binaryFrameworks = /* @__PURE__ */ new Map();
7578
7586
  for (const { project, target } of order) {
7579
7587
  const productDependencies = [
7580
7588
  ...list(target.packageProductDependencies),
@@ -7611,7 +7619,8 @@ function readXcodeAppTarget(input, targetName) {
7611
7619
  if (file?.isa !== "PBXFileReference" || !name2) continue;
7612
7620
  if (tree === "BUILT_PRODUCTS_DIR" || tree === "SDKROOT" || tree === "DEVELOPER_DIR")
7613
7621
  continue;
7614
- binaryFrameworks.add(name2);
7622
+ const resolved = fileId ? project.resolvePath(fileId) : null;
7623
+ if (resolved && !binaryFrameworks.has(name2)) binaryFrameworks.set(name2, resolved);
7615
7624
  }
7616
7625
  }
7617
7626
  }
@@ -7643,7 +7652,7 @@ function readXcodeAppTarget(input, targetName) {
7643
7652
  localPackageDirs: [
7644
7653
  ...new Set(localPackageDirs.map((dir) => import_node_fs13.default.realpathSync(dir)))
7645
7654
  ].sort(),
7646
- binaryFrameworks: [...binaryFrameworks].sort(),
7655
+ binaryFrameworks: [...binaryFrameworks].map(([name2, file]) => ({ name: name2, path: file })).sort((left, right) => left.name.localeCompare(right.name)),
7647
7656
  packageResolved: import_node_fs13.default.existsSync(resolvedFile) ? resolvedFile : null,
7648
7657
  appTargets: appTargetNames
7649
7658
  };
@@ -7729,11 +7738,25 @@ function swiftPackages(entry, app) {
7729
7738
  localDirs: app.localPackageDirs,
7730
7739
  provided: entry.provided
7731
7740
  }),
7732
- standins: []
7741
+ standins: [],
7742
+ projectGaps: /* @__PURE__ */ new Map()
7733
7743
  };
7734
7744
  entry.packages = cached2;
7735
7745
  }
7736
- const reached = cached2.packages.binaries.filter((binary) => binary.reached);
7746
+ const vendored = app.binaryFrameworks.map(
7747
+ ({ name: name2, path: dir }) => ({
7748
+ target: name2,
7749
+ source: "the project",
7750
+ url: null,
7751
+ checksum: null,
7752
+ dir,
7753
+ reached: true
7754
+ })
7755
+ );
7756
+ const reached = [
7757
+ ...cached2.packages.binaries.filter((binary) => binary.reached),
7758
+ ...vendored
7759
+ ];
7737
7760
  if (entry.moduleRoot && entry.provided && reached.length > 0) {
7738
7761
  const resolved = swiftModuleToolchain(entry.moduleRoot);
7739
7762
  const toolchain = {
@@ -7756,6 +7779,12 @@ function swiftPackages(entry, app) {
7756
7779
  binaryGaps: built2.gaps
7757
7780
  });
7758
7781
  cached2.standins = built2.standins;
7782
+ cached2.projectGaps = new Map(
7783
+ vendored.flatMap(({ target }) => {
7784
+ const gap = built2.gaps.get(target);
7785
+ return gap ? [[target, gap]] : [];
7786
+ })
7787
+ );
7759
7788
  cached2.standinKey = generation;
7760
7789
  }
7761
7790
  }
@@ -7796,7 +7825,7 @@ function xcodeLayout(root) {
7796
7825
  mainActorIsolation: framework.mainActorIsolation
7797
7826
  });
7798
7827
  }
7799
- const { packages, standins } = swiftPackages(registered, app);
7828
+ const { packages, standins, projectGaps } = swiftPackages(registered, app);
7800
7829
  for (const standin of standins)
7801
7830
  targets.push({
7802
7831
  name: standin.module,
@@ -7831,6 +7860,7 @@ function xcodeLayout(root) {
7831
7860
  targets,
7832
7861
  packages,
7833
7862
  standins,
7863
+ projectGaps,
7834
7864
  targetDirs,
7835
7865
  files: [...files2].sort()
7836
7866
  };
@@ -8226,9 +8256,16 @@ var IOS_SDK_FRAMEWORKS = new Set(ios_sdk_frameworks_default.frameworks);
8226
8256
  async function missingModulesMessage(packagePath, missing) {
8227
8257
  const layout = xcodeLayout(packagePath);
8228
8258
  const gaps = new Map([
8229
- ...(layout?.app.binaryFrameworks ?? []).map(
8230
- (name2) => [name2, { source: "the project", reason: "a vendored binary framework" }]
8231
- ),
8259
+ ...(layout?.app.binaryFrameworks ?? []).map(({ name: name2 }) => {
8260
+ const gap = layout?.projectGaps.get(name2);
8261
+ return [
8262
+ name2,
8263
+ {
8264
+ source: "the project",
8265
+ reason: `a vendored binary framework${gap ? `; no stand-in: ${gap}` : ""}`
8266
+ }
8267
+ ];
8268
+ }),
8232
8269
  ...[...missing.keys()].flatMap(
8233
8270
  (name2) => UNPROVIDED_PLATFORM_MODULES[name2] ? [
8234
8271
  [
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/expoSwiftContract.ts
4
4
  function record(value) {
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -15302,7 +15302,13 @@ function peachModuleDirs(toolchain, imports) {
15302
15302
  ],
15303
15303
  moduleRoot
15304
15304
  );
15305
- return [import_node_path17.default.join(moduleRoot, ".build", TRIPLE, "release", "Modules")];
15305
+ const release = import_node_path17.default.join(moduleRoot, ".build", TRIPLE, "release");
15306
+ return [
15307
+ import_node_path17.default.join(release, "Modules"),
15308
+ ...import_node_fs17.default.readdirSync(release).filter(
15309
+ (name2) => name2.endsWith(".build") && import_node_fs17.default.existsSync(import_node_path17.default.join(release, name2, "module.modulemap"))
15310
+ ).sort().map((name2) => import_node_path17.default.join(release, name2))
15311
+ ];
15306
15312
  }
15307
15313
  function swiftInterfaceForWasm(text3) {
15308
15314
  return text3.replace(
@@ -15660,6 +15666,8 @@ function standinGenerationInputs(binaries, toolchain) {
15660
15666
  }
15661
15667
  function binaryStandins(binary2, toolchain, provided) {
15662
15668
  if (provided.has(binary2.target)) return [];
15669
+ if (!binary2.url && !import_node_fs17.default.existsSync(binary2.dir))
15670
+ return `${import_node_path17.default.basename(binary2.dir)} is not on disk; build or fetch it, then run again`;
15663
15671
  let all;
15664
15672
  let digest;
15665
15673
  try {
@@ -16823,7 +16831,7 @@ function readXcodeAppTarget(input, targetName) {
16823
16831
  )
16824
16832
  ];
16825
16833
  const linkedProducts = [];
16826
- const binaryFrameworks = /* @__PURE__ */ new Set();
16834
+ const binaryFrameworks = /* @__PURE__ */ new Map();
16827
16835
  for (const { project, target } of order) {
16828
16836
  const productDependencies = [
16829
16837
  ...list(target.packageProductDependencies),
@@ -16860,7 +16868,8 @@ function readXcodeAppTarget(input, targetName) {
16860
16868
  if (file?.isa !== "PBXFileReference" || !name2) continue;
16861
16869
  if (tree === "BUILT_PRODUCTS_DIR" || tree === "SDKROOT" || tree === "DEVELOPER_DIR")
16862
16870
  continue;
16863
- binaryFrameworks.add(name2);
16871
+ const resolved = fileId ? project.resolvePath(fileId) : null;
16872
+ if (resolved && !binaryFrameworks.has(name2)) binaryFrameworks.set(name2, resolved);
16864
16873
  }
16865
16874
  }
16866
16875
  }
@@ -16892,7 +16901,7 @@ function readXcodeAppTarget(input, targetName) {
16892
16901
  localPackageDirs: [
16893
16902
  ...new Set(localPackageDirs.map((dir) => import_node_fs18.default.realpathSync(dir)))
16894
16903
  ].sort(),
16895
- binaryFrameworks: [...binaryFrameworks].sort(),
16904
+ binaryFrameworks: [...binaryFrameworks].map(([name2, file]) => ({ name: name2, path: file })).sort((left, right) => left.name.localeCompare(right.name)),
16896
16905
  packageResolved: import_node_fs18.default.existsSync(resolvedFile) ? resolvedFile : null,
16897
16906
  appTargets: appTargetNames
16898
16907
  };
@@ -16979,11 +16988,25 @@ function swiftPackages(entry, app) {
16979
16988
  localDirs: app.localPackageDirs,
16980
16989
  provided: entry.provided
16981
16990
  }),
16982
- standins: []
16991
+ standins: [],
16992
+ projectGaps: /* @__PURE__ */ new Map()
16983
16993
  };
16984
16994
  entry.packages = cached3;
16985
16995
  }
16986
- const reached = cached3.packages.binaries.filter((binary2) => binary2.reached);
16996
+ const vendored = app.binaryFrameworks.map(
16997
+ ({ name: name2, path: dir }) => ({
16998
+ target: name2,
16999
+ source: "the project",
17000
+ url: null,
17001
+ checksum: null,
17002
+ dir,
17003
+ reached: true
17004
+ })
17005
+ );
17006
+ const reached = [
17007
+ ...cached3.packages.binaries.filter((binary2) => binary2.reached),
17008
+ ...vendored
17009
+ ];
16987
17010
  if (entry.moduleRoot && entry.provided && reached.length > 0) {
16988
17011
  const resolved = swiftModuleToolchain(entry.moduleRoot);
16989
17012
  const toolchain = {
@@ -17006,6 +17029,12 @@ function swiftPackages(entry, app) {
17006
17029
  binaryGaps: built2.gaps
17007
17030
  });
17008
17031
  cached3.standins = built2.standins;
17032
+ cached3.projectGaps = new Map(
17033
+ vendored.flatMap(({ target }) => {
17034
+ const gap = built2.gaps.get(target);
17035
+ return gap ? [[target, gap]] : [];
17036
+ })
17037
+ );
17009
17038
  cached3.standinKey = generation;
17010
17039
  }
17011
17040
  }
@@ -17046,7 +17075,7 @@ function xcodeLayout(root) {
17046
17075
  mainActorIsolation: framework.mainActorIsolation
17047
17076
  });
17048
17077
  }
17049
- const { packages, standins } = swiftPackages(registered, app);
17078
+ const { packages, standins, projectGaps } = swiftPackages(registered, app);
17050
17079
  for (const standin of standins)
17051
17080
  targets.push({
17052
17081
  name: standin.module,
@@ -17081,6 +17110,7 @@ function xcodeLayout(root) {
17081
17110
  targets,
17082
17111
  packages,
17083
17112
  standins,
17113
+ projectGaps,
17084
17114
  targetDirs,
17085
17115
  files: [...files2].sort()
17086
17116
  };
@@ -17479,9 +17509,16 @@ var IOS_SDK_FRAMEWORKS = new Set(ios_sdk_frameworks_default.frameworks);
17479
17509
  async function missingModulesMessage(packagePath, missing) {
17480
17510
  const layout = xcodeLayout(packagePath);
17481
17511
  const gaps = new Map([
17482
- ...(layout?.app.binaryFrameworks ?? []).map(
17483
- (name2) => [name2, { source: "the project", reason: "a vendored binary framework" }]
17484
- ),
17512
+ ...(layout?.app.binaryFrameworks ?? []).map(({ name: name2 }) => {
17513
+ const gap = layout?.projectGaps.get(name2);
17514
+ return [
17515
+ name2,
17516
+ {
17517
+ source: "the project",
17518
+ reason: `a vendored binary framework${gap ? `; no stand-in: ${gap}` : ""}`
17519
+ }
17520
+ ];
17521
+ }),
17485
17522
  ...[...missing.keys()].flatMap(
17486
17523
  (name2) => UNPROVIDED_PLATFORM_MODULES[name2] ? [
17487
17524
  [
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/host/fetch-proxy-overrides.ts
4
4
  var FETCH_PROXY_NATIVE_USER_AGENT_HEADER = "x-sootsim-native-user-agent";
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.936 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.937 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;