peachsim 0.1.2217 → 0.1.2219

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 (86) hide show
  1. package/cli/outbound-endpoints.ts +2 -2
  2. package/detox/index.ts +6 -2
  3. package/dist-lib/agent-daemon-client.cjs +1 -1
  4. package/dist-lib/agent-events.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 +19 -12
  16. package/dist-lib/capture-contract.cjs +1 -1
  17. package/dist-lib/capture-contract.mjs +1 -1
  18. package/dist-lib/cloud-contract.cjs +1 -1
  19. package/dist-lib/cloud-contract.mjs +1 -1
  20. package/dist-lib/cloud-test-args.cjs +1 -1
  21. package/dist-lib/cloud-test-args.mjs +1 -1
  22. package/dist-lib/cloud.cjs +1 -1
  23. package/dist-lib/cloud.mjs +1 -1
  24. package/dist-lib/config.cjs +1 -1
  25. package/dist-lib/config.mjs +1 -1
  26. package/dist-lib/detox/index.cjs +7 -3
  27. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  28. package/dist-lib/expo-swift-bundle.cjs +18 -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 +19 -12
  33. package/dist-lib/host/fetch-proxy-handler.cjs +3 -3
  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 +3 -3
  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 +3 -3
  49. package/dist-lib/native-app-identity-project.cjs +2 -2
  50. package/dist-lib/native-app-identity-project.mjs +2 -2
  51. package/dist-lib/native-app-identity.cjs +1 -1
  52. package/dist-lib/native-app-identity.mjs +1 -1
  53. package/dist-lib/native-firebase-metadata.cjs +1 -1
  54. package/dist-lib/native-firebase-metadata.mjs +1 -1
  55. package/dist-lib/pdfium-raster.cjs +1 -1
  56. package/dist-lib/pdfium-raster.mjs +1 -1
  57. package/dist-lib/plist.cjs +1 -1
  58. package/dist-lib/plist.mjs +1 -1
  59. package/dist-lib/profiles.cjs +1 -1
  60. package/dist-lib/public-brand.cjs +1 -1
  61. package/dist-lib/public-origins-lib-esm.json +24 -24
  62. package/dist-lib/public-origins-lib.json +53 -53
  63. package/dist-lib/react-native-host-modules.cjs +1 -1
  64. package/dist-lib/react-native-host-modules.mjs +1 -1
  65. package/dist-lib/reap-browser.cjs +1 -1
  66. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  67. package/dist-lib/sdk.cjs +1 -1
  68. package/dist-lib/sdk.mjs +1 -1
  69. package/dist-lib/skills.cjs +19 -12
  70. package/dist-lib/swift-compile.cjs +14 -7
  71. package/dist-lib/swift-compile.mjs +14 -7
  72. package/dist-lib/swift-package.cjs +1 -1
  73. package/dist-lib/swift-package.mjs +1 -1
  74. package/dist-lib/swift-submit.cjs +1 -1
  75. package/dist-lib/swift-submit.mjs +1 -1
  76. package/dist-lib/swift-toolchain.cjs +1 -1
  77. package/dist-lib/swift.cjs +1 -1
  78. package/dist-lib/vite-swift.cjs +17 -10
  79. package/dist-lib/vite.cjs +3 -3
  80. package/dist-lib/worklet-executable.cjs +1 -1
  81. package/dist-lib/worklet-executable.mjs +1 -1
  82. package/kotlin/sdk.tar.gz +0 -0
  83. package/package.json +1 -1
  84. package/src/swift-guest-runtime-plan.ts +13 -5
  85. package/src/swift-standins.ts +1 -1
  86. package/src/swift-xcframework.ts +1 -1
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2217 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2219 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/swift-compile.ts
4
4
  import {
@@ -8141,6 +8141,9 @@ var packageSchema = v3.object({
8141
8141
 
8142
8142
  // src/swift-guest-runtime-plan.ts
8143
8143
  var SDK_CATALOG_DIRECTORY = "swift.xctoolchain/usr/lib/swift_static/wasi";
8144
+ function canonicalArchivePath(file) {
8145
+ return path13.join(realpathSync(path13.dirname(file)), path13.basename(file));
8146
+ }
8144
8147
  function sdkArtifactBytes(root, artifact) {
8145
8148
  const file = path13.resolve(root, artifact.path);
8146
8149
  const linked = readFileSync9(file);
@@ -8246,7 +8249,7 @@ function guestRuntimeInputIdentities(options) {
8246
8249
  ];
8247
8250
  add(file, JSON.stringify(identity));
8248
8251
  if (artifact.kind !== "archive") continue;
8249
- for (const origin of origins.get(file) ?? [])
8252
+ for (const origin of origins.get(canonicalArchivePath(file)) ?? [])
8250
8253
  add(
8251
8254
  path13.resolve(origin.original),
8252
8255
  JSON.stringify([...identity, origin.member, origin.ordinal])
@@ -8319,7 +8322,8 @@ function guestRuntimeProductsForInputs(options) {
8319
8322
  for (const { product, root } of options.products) {
8320
8323
  byId.set(product.id, product);
8321
8324
  for (const artifact of product.artifacts) {
8322
- const file = path13.resolve(root, artifact.path);
8325
+ const absolute = path13.resolve(root, artifact.path);
8326
+ const file = artifact.kind === "archive" ? canonicalArchivePath(absolute) : absolute;
8323
8327
  const owners = byFile.get(file) ?? [];
8324
8328
  owners.push({ id: product.id, artifact });
8325
8329
  byFile.set(file, owners);
@@ -8351,7 +8355,9 @@ function guestRuntimeProductsForInputs(options) {
8351
8355
  const file = original.get(path13.resolve(selection.artifact)) ?? path13.resolve(selection.artifact);
8352
8356
  const origin = origins.get(file);
8353
8357
  const archive = origin ? path13.resolve(origin.archive) : file;
8354
- const records = byFile.get(archive);
8358
+ const records = byFile.get(
8359
+ origin || selection.member !== null ? canonicalArchivePath(archive) : archive
8360
+ );
8355
8361
  if (frameworkObjects.has(file)) {
8356
8362
  if (frameworkId === null || !byId.has(frameworkId))
8357
8363
  throw new Error(`framework runtime product has no producer record ${file}`);
@@ -8463,8 +8469,9 @@ function guestSdkProductLinkArtifacts(products, sdk, inputs, linkedArchives, rew
8463
8469
  for (const { product, root } of products) {
8464
8470
  for (const artifact of product.artifacts) {
8465
8471
  const file = path13.resolve(root, artifact.path);
8466
- const objects = artifact.kind === "archive" ? origins.filter(
8467
- (origin) => path13.resolve(origin.archive) === file && (!selectedObjects || selectedObjects.has(
8472
+ const archive = artifact.kind === "archive" ? canonicalArchivePath(file) : null;
8473
+ const objects = archive !== null ? origins.filter(
8474
+ (origin) => path13.resolve(origin.archive) === archive && (!selectedObjects || selectedObjects.has(
8468
8475
  path13.resolve(rewritten.get(origin.original) ?? origin.original)
8469
8476
  ))
8470
8477
  ) : [];
@@ -12577,7 +12584,7 @@ var darwinRecordsRegion = (quoted) => quoted.length ? ["-Wl,--start-lib", ...quo
12577
12584
  var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
12578
12585
  var MULTI_MANIFEST_VERSION = 68;
12579
12586
  var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
12580
- var compilerSourceDigest = true ? "94960e7e108c556e2184ef22baae1e061ca63c08c954c6ad0f677b524be5e117" : swiftCompilerSourceDigest(import.meta.dirname);
12587
+ var compilerSourceDigest = true ? "0a0bc1c871aee83ea273120655f55a43ddccde646478a452b4c73d2daefd58c3" : swiftCompilerSourceDigest(import.meta.dirname);
12581
12588
  function swiftArtifactHash(input, release, moduleRoot) {
12582
12589
  const hash = createHash13("sha256");
12583
12590
  hash.update(`swift-compile
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2217 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2219 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2217 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2219 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/swift-package.ts
4
4
  function swiftManifestSettings(target) {
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2217 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2219 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2217 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2219 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/is-record.ts
4
4
  function isRecord(value) {
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2217 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2219 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2217 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2219 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2217 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2219 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -13170,6 +13170,9 @@ var packageSchema = v3.object({
13170
13170
 
13171
13171
  // src/swift-guest-runtime-plan.ts
13172
13172
  var SDK_CATALOG_DIRECTORY = "swift.xctoolchain/usr/lib/swift_static/wasi";
13173
+ function canonicalArchivePath(file) {
13174
+ return import_node_path13.default.join((0, import_node_fs13.realpathSync)(import_node_path13.default.dirname(file)), import_node_path13.default.basename(file));
13175
+ }
13173
13176
  function sdkArtifactBytes(root, artifact) {
13174
13177
  const file = import_node_path13.default.resolve(root, artifact.path);
13175
13178
  const linked = (0, import_node_fs13.readFileSync)(file);
@@ -13275,7 +13278,7 @@ function guestRuntimeInputIdentities(options) {
13275
13278
  ];
13276
13279
  add(file, JSON.stringify(identity2));
13277
13280
  if (artifact.kind !== "archive") continue;
13278
- for (const origin of origins.get(file) ?? [])
13281
+ for (const origin of origins.get(canonicalArchivePath(file)) ?? [])
13279
13282
  add(
13280
13283
  import_node_path13.default.resolve(origin.original),
13281
13284
  JSON.stringify([...identity2, origin.member, origin.ordinal])
@@ -13348,7 +13351,8 @@ function guestRuntimeProductsForInputs(options) {
13348
13351
  for (const { product, root } of options.products) {
13349
13352
  byId.set(product.id, product);
13350
13353
  for (const artifact of product.artifacts) {
13351
- const file = import_node_path13.default.resolve(root, artifact.path);
13354
+ const absolute = import_node_path13.default.resolve(root, artifact.path);
13355
+ const file = artifact.kind === "archive" ? canonicalArchivePath(absolute) : absolute;
13352
13356
  const owners = byFile.get(file) ?? [];
13353
13357
  owners.push({ id: product.id, artifact });
13354
13358
  byFile.set(file, owners);
@@ -13380,7 +13384,9 @@ function guestRuntimeProductsForInputs(options) {
13380
13384
  const file = original.get(import_node_path13.default.resolve(selection.artifact)) ?? import_node_path13.default.resolve(selection.artifact);
13381
13385
  const origin = origins.get(file);
13382
13386
  const archive = origin ? import_node_path13.default.resolve(origin.archive) : file;
13383
- const records = byFile.get(archive);
13387
+ const records = byFile.get(
13388
+ origin || selection.member !== null ? canonicalArchivePath(archive) : archive
13389
+ );
13384
13390
  if (frameworkObjects.has(file)) {
13385
13391
  if (frameworkId === null || !byId.has(frameworkId))
13386
13392
  throw new Error(`framework runtime product has no producer record ${file}`);
@@ -13492,8 +13498,9 @@ function guestSdkProductLinkArtifacts(products, sdk, inputs, linkedArchives, rew
13492
13498
  for (const { product, root } of products) {
13493
13499
  for (const artifact of product.artifacts) {
13494
13500
  const file = import_node_path13.default.resolve(root, artifact.path);
13495
- const objects = artifact.kind === "archive" ? origins.filter(
13496
- (origin) => import_node_path13.default.resolve(origin.archive) === file && (!selectedObjects || selectedObjects.has(
13501
+ const archive = artifact.kind === "archive" ? canonicalArchivePath(file) : null;
13502
+ const objects = archive !== null ? origins.filter(
13503
+ (origin) => import_node_path13.default.resolve(origin.archive) === archive && (!selectedObjects || selectedObjects.has(
13497
13504
  import_node_path13.default.resolve(rewritten.get(origin.original) ?? origin.original)
13498
13505
  ))
13499
13506
  ) : [];
@@ -17452,7 +17459,7 @@ var darwinRecordsRegion = (quoted) => quoted.length ? ["-Wl,--start-lib", ...quo
17452
17459
  var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
17453
17460
  var MULTI_MANIFEST_VERSION = 68;
17454
17461
  var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
17455
- var compilerSourceDigest = true ? "94960e7e108c556e2184ef22baae1e061ca63c08c954c6ad0f677b524be5e117" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
17462
+ var compilerSourceDigest = true ? "0a0bc1c871aee83ea273120655f55a43ddccde646478a452b4c73d2daefd58c3" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
17456
17463
  function swiftArtifactHash(input, release, moduleRoot) {
17457
17464
  const hash = (0, import_node_crypto13.createHash)("sha256");
17458
17465
  hash.update(`swift-compile
@@ -30868,7 +30875,7 @@ function sourceClosureDigest(srcDir, entrypoints) {
30868
30875
  return hash.digest("hex");
30869
30876
  }
30870
30877
  var standinSourceDigest = (srcDir = __sootsim_import_meta_dirname) => sourceClosureDigest(srcDir, STANDIN_DIGEST_ENTRYPOINTS);
30871
- var STANDIN_SOURCE_DIGEST = true ? "11f82a07cd8d59c1bfcf554927b6e5a2d9b01d6846fd7107ca7c0f6f30519538" : standinSourceDigest();
30878
+ var STANDIN_SOURCE_DIGEST = true ? "f5dd13fe8982e117facf0d8c668773904364a887ec47c728db7584b73f34d119" : standinSourceDigest();
30872
30879
 
30873
30880
  // src/swift-standins.ts
30874
30881
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
@@ -31033,7 +31040,7 @@ function simulatorNativeLibrary(dir) {
31033
31040
  continue;
31034
31041
  if (typeof entry.LibraryPath !== "string" || typeof entry.LibraryIdentifier !== "string")
31035
31042
  throw new Error(`${dir}: invalid simulator library paths`);
31036
- const archive = /^lib.+\.a$/.test(entry.LibraryPath);
31043
+ const archive = /\.a$/.test(entry.LibraryPath);
31037
31044
  const framework = /\.framework$/.test(entry.LibraryPath);
31038
31045
  if (!archive && !framework) continue;
31039
31046
  const bundle = import_node_path44.default.resolve(dir, entry.LibraryIdentifier, entry.LibraryPath);
@@ -33592,7 +33599,7 @@ function standinLibrary(binary, searchRoot, toolchain) {
33592
33599
  if (prebuilt2) return import_node_path49.default.join(prebuilt2, recipe.archive);
33593
33600
  }
33594
33601
  }
33595
- const manifest = crateFor(searchRoot, library.slice("lib".length, -".a".length));
33602
+ const manifest = crateFor(searchRoot, import_node_path49.default.basename(library, ".a").replace(/^lib/, ""));
33596
33603
  if (!manifest) return null;
33597
33604
  const entry = rustCrateEntry(manifest, library);
33598
33605
  const prebuilt = fetchNativeEntry("rust", entry.name, entry.key);
package/dist-lib/vite.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2217 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2219 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -2923,7 +2923,7 @@ function readIosSdkTree(root) {
2923
2923
 
2924
2924
  // src/swift-standin-digest.ts
2925
2925
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
2926
- var STANDIN_SOURCE_DIGEST = true ? "11f82a07cd8d59c1bfcf554927b6e5a2d9b01d6846fd7107ca7c0f6f30519538" : standinSourceDigest();
2926
+ var STANDIN_SOURCE_DIGEST = true ? "f5dd13fe8982e117facf0d8c668773904364a887ec47c728db7584b73f34d119" : standinSourceDigest();
2927
2927
 
2928
2928
  // src/expo-native-workspace.ts
2929
2929
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
@@ -6417,7 +6417,7 @@ var FOUNDATION_IMPLICIT_MODULES = [
6417
6417
  var FOUNDATION_IMPLICIT_FLAGS = FOUNDATION_IMPLICIT_MODULES.map(
6418
6418
  (module2) => `, "-Xfrontend", "-import-module", "-Xfrontend", "${module2}"`
6419
6419
  ).join("");
6420
- var compilerSourceDigest = true ? "94960e7e108c556e2184ef22baae1e061ca63c08c954c6ad0f677b524be5e117" : swiftCompilerSourceDigest2(__sootsim_import_meta_dirname);
6420
+ var compilerSourceDigest = true ? "0a0bc1c871aee83ea273120655f55a43ddccde646478a452b4c73d2daefd58c3" : swiftCompilerSourceDigest2(__sootsim_import_meta_dirname);
6421
6421
  var CORE_FOUNDATION_HANDLE_IMPORTS = [
6422
6422
  "CFAllocator",
6423
6423
  "CFArray",
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2217 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2219 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
  let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2217 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2219 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/worklet-executable.ts
4
4
  import { parse } from "acorn";
package/kotlin/sdk.tar.gz CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "peachsim",
3
- "version": "0.1.2217",
3
+ "version": "0.1.2219",
4
4
  "description": "Vite and Metro plugins, testing drivers, and SDK exports for peach.",
5
5
  "author": "Tamagui LLC",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -30,6 +30,10 @@ import type {
30
30
 
31
31
  const SDK_CATALOG_DIRECTORY = 'swift.xctoolchain/usr/lib/swift_static/wasi'
32
32
 
33
+ function canonicalArchivePath(file: string): string {
34
+ return path.join(realpathSync(path.dirname(file)), path.basename(file))
35
+ }
36
+
33
37
  // the SDK view weakens three Foundation Bundle symbols. bind that view to the
34
38
  // catalogued archive by reproducing the exact transformation on its bytes.
35
39
  function sdkArtifactBytes(root: string, artifact: SwiftSdkProduct['artifacts'][number]) {
@@ -184,7 +188,7 @@ export function guestRuntimeInputIdentities(options: {
184
188
  ]
185
189
  add(file, JSON.stringify(identity))
186
190
  if (artifact.kind !== 'archive') continue
187
- for (const origin of origins.get(file) ?? [])
191
+ for (const origin of origins.get(canonicalArchivePath(file)) ?? [])
188
192
  add(
189
193
  path.resolve(origin.original),
190
194
  JSON.stringify([...identity, origin.member, origin.ordinal]),
@@ -308,7 +312,8 @@ export function guestRuntimeProductsForInputs(options: {
308
312
  for (const { product, root } of options.products) {
309
313
  byId.set(product.id, product)
310
314
  for (const artifact of product.artifacts) {
311
- const file = path.resolve(root, artifact.path)
315
+ const absolute = path.resolve(root, artifact.path)
316
+ const file = artifact.kind === 'archive' ? canonicalArchivePath(absolute) : absolute
312
317
  const owners = byFile.get(file) ?? []
313
318
  owners.push({ id: product.id, artifact })
314
319
  byFile.set(file, owners)
@@ -343,7 +348,9 @@ export function guestRuntimeProductsForInputs(options: {
343
348
  original.get(path.resolve(selection.artifact)) ?? path.resolve(selection.artifact)
344
349
  const origin = origins.get(file)
345
350
  const archive = origin ? path.resolve(origin.archive) : file
346
- const records = byFile.get(archive)
351
+ const records = byFile.get(
352
+ origin || selection.member !== null ? canonicalArchivePath(archive) : archive,
353
+ )
347
354
  if (frameworkObjects.has(file)) {
348
355
  if (frameworkId === null || !byId.has(frameworkId))
349
356
  throw new Error(`framework runtime product has no producer record ${file}`)
@@ -494,11 +501,12 @@ export function guestSdkProductLinkArtifacts(
494
501
  for (const { product, root } of products) {
495
502
  for (const artifact of product.artifacts) {
496
503
  const file = path.resolve(root, artifact.path)
504
+ const archive = artifact.kind === 'archive' ? canonicalArchivePath(file) : null
497
505
  const objects =
498
- artifact.kind === 'archive'
506
+ archive !== null
499
507
  ? origins.filter(
500
508
  (origin) =>
501
- path.resolve(origin.archive) === file &&
509
+ path.resolve(origin.archive) === archive &&
502
510
  (!selectedObjects ||
503
511
  selectedObjects.has(
504
512
  path.resolve(rewritten.get(origin.original) ?? origin.original),
@@ -2351,7 +2351,7 @@ export function standinLibrary(
2351
2351
  if (prebuilt) return path.join(prebuilt, recipe.archive)
2352
2352
  }
2353
2353
  }
2354
- const manifest = crateFor(searchRoot, library.slice('lib'.length, -'.a'.length))
2354
+ const manifest = crateFor(searchRoot, path.basename(library, '.a').replace(/^lib/, ''))
2355
2355
  if (!manifest) return null
2356
2356
  const entry = rustCrateEntry(manifest, library)
2357
2357
  const prebuilt = fetchNativeEntry('rust', entry.name, entry.key)
@@ -28,7 +28,7 @@ export function simulatorNativeLibrary(
28
28
  typeof entry.LibraryIdentifier !== 'string'
29
29
  )
30
30
  throw new Error(`${dir}: invalid simulator library paths`)
31
- const archive = /^lib.+\.a$/.test(entry.LibraryPath)
31
+ const archive = /\.a$/.test(entry.LibraryPath)
32
32
  const framework = /\.framework$/.test(entry.LibraryPath)
33
33
  if (!archive && !framework) continue
34
34
  const bundle = path.resolve(dir, entry.LibraryIdentifier, entry.LibraryPath)