peachsim 0.1.2200 → 0.1.2201

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 (83) 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/attached-projects.cjs +1 -1
  4. package/dist-lib/auth/shared-session.cjs +1 -1
  5. package/dist-lib/backend-origin.cjs +1 -1
  6. package/dist-lib/beta.cjs +1 -1
  7. package/dist-lib/beta.mjs +1 -1
  8. package/dist-lib/bridge-constants.cjs +1 -1
  9. package/dist-lib/bridge-contract-input.cjs +1 -1
  10. package/dist-lib/bridge-contract-input.mjs +1 -1
  11. package/dist-lib/bridge-contract.cjs +1 -1
  12. package/dist-lib/bridge-contract.mjs +1 -1
  13. package/dist-lib/bundle-channel.cjs +9 -8
  14. package/dist-lib/capture-contract.cjs +1 -1
  15. package/dist-lib/capture-contract.mjs +1 -1
  16. package/dist-lib/cloud-contract.cjs +1 -1
  17. package/dist-lib/cloud-contract.mjs +1 -1
  18. package/dist-lib/cloud-test-args.cjs +1 -1
  19. package/dist-lib/cloud-test-args.mjs +1 -1
  20. package/dist-lib/cloud.cjs +1 -1
  21. package/dist-lib/cloud.mjs +1 -1
  22. package/dist-lib/config.cjs +1 -1
  23. package/dist-lib/config.mjs +1 -1
  24. package/dist-lib/detox/index.cjs +1 -1
  25. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  26. package/dist-lib/expo-swift-bundle.cjs +5 -5
  27. package/dist-lib/expo-swift-metadata.cjs +1 -1
  28. package/dist-lib/expo-swift-metadata.mjs +1 -1
  29. package/dist-lib/home-paths.cjs +1 -1
  30. package/dist-lib/host/bridge-host.cjs +9 -8
  31. package/dist-lib/host/fetch-proxy-handler.cjs +2 -2
  32. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  33. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  34. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  35. package/dist-lib/host/websocket-proxy.cjs +1 -1
  36. package/dist-lib/index.cjs +2 -2
  37. package/dist-lib/jump-to-source-babel.cjs +1 -1
  38. package/dist-lib/jump-to-source-native.cjs +1 -1
  39. package/dist-lib/kotlin-host.cjs +1 -1
  40. package/dist-lib/menu.cjs +1 -1
  41. package/dist-lib/menu.mjs +1 -1
  42. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  43. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  44. package/dist-lib/metro-production-bundle.cjs +1 -1
  45. package/dist-lib/metro-production-bundle.mjs +1 -1
  46. package/dist-lib/metro.cjs +2 -2
  47. package/dist-lib/native-app-identity-project.cjs +1 -1
  48. package/dist-lib/native-app-identity-project.mjs +1 -1
  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/pdfium-raster.cjs +1 -1
  54. package/dist-lib/pdfium-raster.mjs +1 -1
  55. package/dist-lib/plist.cjs +1 -1
  56. package/dist-lib/plist.mjs +1 -1
  57. package/dist-lib/profiles.cjs +1 -1
  58. package/dist-lib/public-brand.cjs +1 -1
  59. package/dist-lib/public-origins-lib-esm.json +24 -24
  60. package/dist-lib/public-origins-lib.json +53 -53
  61. package/dist-lib/react-native-host-modules.cjs +1 -1
  62. package/dist-lib/react-native-host-modules.mjs +1 -1
  63. package/dist-lib/reap-browser.cjs +1 -1
  64. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  65. package/dist-lib/sdk.cjs +1 -1
  66. package/dist-lib/sdk.mjs +1 -1
  67. package/dist-lib/skills.cjs +9 -8
  68. package/dist-lib/swift-compile.cjs +1 -1
  69. package/dist-lib/swift-compile.mjs +1 -1
  70. package/dist-lib/swift-package.cjs +1 -1
  71. package/dist-lib/swift-package.mjs +1 -1
  72. package/dist-lib/swift-submit.cjs +1 -1
  73. package/dist-lib/swift-submit.mjs +1 -1
  74. package/dist-lib/swift-toolchain.cjs +1 -1
  75. package/dist-lib/swift.cjs +1 -1
  76. package/dist-lib/vite-swift.cjs +3 -3
  77. package/dist-lib/vite.cjs +2 -2
  78. package/dist-lib/worklet-executable.cjs +1 -1
  79. package/dist-lib/worklet-executable.mjs +1 -1
  80. package/dist-types/packages/peach-engine/src/engine/yoga-layout.d.ts +2 -1
  81. package/package.json +1 -1
  82. package/src/native-prebuilt.ts +1 -1
  83. package/src/turbo-compile.ts +4 -3
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2200 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2201 | (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;
package/dist-lib/sdk.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2200 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2201 | (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;
package/dist-lib/sdk.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2200 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2201 | (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
- /*! peach v0.1.2200 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2201 | (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;
@@ -34978,7 +34978,7 @@ function installNativeEntry(kind, name3, key2, source) {
34978
34978
  `native prebuilt ${kind}/${name3}/${key2}: ${file.path} does not match its descriptor`
34979
34979
  );
34980
34980
  }
34981
- const dir = entryCache(kind, name3, key2);
34981
+ const dir = nativeEntryCache(kind, name3, key2);
34982
34982
  import_node_fs24.default.mkdirSync(import_node_path20.default.dirname(dir), { recursive: true });
34983
34983
  const staging = `${dir}.${process.pid}.partial`;
34984
34984
  import_node_fs24.default.rmSync(staging, { recursive: true, force: true });
@@ -64807,7 +64807,7 @@ var init_swift_standin_digest = __esm({
64807
64807
  STANDIN_DIGEST_ENTRYPOINTS = ["swift-standins.ts", "swift-objc-compile.ts"];
64808
64808
  SPECIFIER = /from\s*['"]([^'"]+)['"]|import\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
64809
64809
  standinSourceDigest = (srcDir = __sootsim_import_meta_dirname) => sourceClosureDigest(srcDir, STANDIN_DIGEST_ENTRYPOINTS);
64810
- STANDIN_SOURCE_DIGEST = true ? "f645af113ec0277d6f260442290621337b4c73e3c3429a24104d2ef41e42c414" : standinSourceDigest();
64810
+ STANDIN_SOURCE_DIGEST = true ? "fc51a249ab5b00720eab27b7d9e4945936878069347a86180f9c5efd7f063012" : standinSourceDigest();
64811
64811
  }
64812
64812
  });
64813
64813
 
@@ -65268,7 +65268,7 @@ var init_package_tree_digest = __esm({
65268
65268
 
65269
65269
  // src/expo-native-prebuilt.ts
65270
65270
  function expoNativeCompilerDigestValue() {
65271
- return true ? "10ea5a39cc07a7005999f07ed9faacb9a012201a22a2777e90c502cefc559b57" : expoNativeCompilerDigest(__sootsim_import_meta_dirname);
65271
+ return true ? "8816e3d105fe01328bf8a0e9c292918ca1439d1ad710538b4adec37bf539ff64" : expoNativeCompilerDigest(__sootsim_import_meta_dirname);
65272
65272
  }
65273
65273
  function readSources(value) {
65274
65274
  const sources = isRecord(value) ? value.sources : null;
@@ -81361,12 +81361,13 @@ async function compileTurboModule(options) {
81361
81361
  await prepareTurboSourceDependencies(options.reactNativeRoot);
81362
81362
  const key2 = (0, import_node_crypto48.createHash)("sha256").update(options.providers.map(({ root }) => import_node_fs92.default.realpathSync(root)).join("\0")).update("\0").update(import_node_fs92.default.realpathSync(options.moduleRoot)).digest("hex");
81363
81363
  const scratch2 = import_node_path89.default.join(import_node_os19.default.tmpdir(), "peach-turbo-swift", key2);
81364
- import_node_fs92.default.rmSync(import_node_path89.default.join(scratch2, "codegen"), { recursive: true, force: true });
81364
+ import_node_fs92.default.mkdirSync(scratch2, { recursive: true });
81365
+ const codegenDir = import_node_fs92.default.mkdtempSync(import_node_path89.default.join(scratch2, "codegen-"));
81365
81366
  const collection = await collectTurboSources({
81366
81367
  appRoot: options.appRoot,
81367
81368
  reactNativeRoot: options.reactNativeRoot,
81368
81369
  providers: options.providers,
81369
- codegenDir: import_node_path89.default.join(scratch2, "codegen"),
81370
+ codegenDir,
81370
81371
  installedPods: options.installedPods,
81371
81372
  projectRoot: options.projectRoot
81372
81373
  });
@@ -81922,7 +81923,7 @@ var init_react_native_core = __esm({
81922
81923
  init_swift_distribution();
81923
81924
  init_swift_package();
81924
81925
  init_swiftContract();
81925
- recipe = true ? "e478990b317cbb1317ecdee97c5c283ccefbc1e6b37663c51c1651df4068c10c" : reactNativeCoreDigest2(__sootsim_import_meta_dirname);
81926
+ recipe = true ? "8e528ab6025e0ef9a1d843edd9ac64987107baad01b3b9057421899e079d304d" : reactNativeCoreDigest2(__sootsim_import_meta_dirname);
81926
81927
  strings4 = (value) => isRecord(value) && Object.values(value).every((item) => typeof item === "string");
81927
81928
  building = /* @__PURE__ */ new Map();
81928
81929
  }
@@ -85643,7 +85644,7 @@ var init_nitro_superset = __esm({
85643
85644
  init_nitroContract();
85644
85645
  init_swift_standin_digest();
85645
85646
  NITRO_SUPERSET_ENTRY_NAME = "superset";
85646
- NITRO_COMPILER_DIGEST = true ? "065c9212de59a0e52d6c755b23cfa2705a8103873c89642a4c41ec5ddfcc85c0" : nitroCompilerSourceDigest(__sootsim_import_meta_dirname, STANDIN_SOURCE_DIGEST2);
85647
+ NITRO_COMPILER_DIGEST = true ? "a44bfef0d94855bcdca31ba4792fc2c0c86e2f6bed19cbca1dbc8a4878b32c18" : nitroCompilerSourceDigest(__sootsim_import_meta_dirname, STANDIN_SOURCE_DIGEST2);
85647
85648
  nitroSupersetLock = parseLock(nitro_superset_lock_default);
85648
85649
  nitroSupersetKey = (inputs) => nativeEntryKey({ ...inputs, compiler: NITRO_COMPILER_DIGEST });
85649
85650
  published2 = /* @__PURE__ */ new Map();
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2200 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2201 | (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.2200 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2201 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/swift-compile.ts
4
4
  import {
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2200 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2201 | (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.2200 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2201 | (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.2200 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2201 | (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.2200 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2201 | (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.2200 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2201 | (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.2200 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2201 | (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.2200 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2201 | (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;
@@ -30649,7 +30649,7 @@ function sourceClosureDigest(srcDir, entrypoints) {
30649
30649
  return hash.digest("hex");
30650
30650
  }
30651
30651
  var standinSourceDigest = (srcDir = __sootsim_import_meta_dirname) => sourceClosureDigest(srcDir, STANDIN_DIGEST_ENTRYPOINTS);
30652
- var STANDIN_SOURCE_DIGEST = true ? "f645af113ec0277d6f260442290621337b4c73e3c3429a24104d2ef41e42c414" : standinSourceDigest();
30652
+ var STANDIN_SOURCE_DIGEST = true ? "fc51a249ab5b00720eab27b7d9e4945936878069347a86180f9c5efd7f063012" : standinSourceDigest();
30653
30653
 
30654
30654
  // src/swift-standins.ts
30655
30655
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
@@ -30739,7 +30739,7 @@ function installNativeEntry(kind, name3, key2, source) {
30739
30739
  `native prebuilt ${kind}/${name3}/${key2}: ${file.path} does not match its descriptor`
30740
30740
  );
30741
30741
  }
30742
- const dir = entryCache(kind, name3, key2);
30742
+ const dir = nativeEntryCache(kind, name3, key2);
30743
30743
  import_node_fs42.default.mkdirSync(import_node_path43.default.dirname(dir), { recursive: true });
30744
30744
  const staging = `${dir}.${process.pid}.partial`;
30745
30745
  import_node_fs42.default.rmSync(staging, { recursive: true, force: true });
package/dist-lib/vite.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2200 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2201 | (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;
@@ -1909,7 +1909,7 @@ function readIosSdkTree(root) {
1909
1909
 
1910
1910
  // src/swift-standin-digest.ts
1911
1911
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
1912
- var STANDIN_SOURCE_DIGEST = true ? "f645af113ec0277d6f260442290621337b4c73e3c3429a24104d2ef41e42c414" : standinSourceDigest();
1912
+ var STANDIN_SOURCE_DIGEST = true ? "fc51a249ab5b00720eab27b7d9e4945936878069347a86180f9c5efd7f063012" : standinSourceDigest();
1913
1913
 
1914
1914
  // src/expo-native-workspace.ts
1915
1915
  init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
@@ -1,4 +1,4 @@
1
- /*! peach v0.1.2200 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2201 | (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.2200 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
1
+ /*! peach v0.1.2201 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
2
2
 
3
3
  // src/worklet-executable.ts
4
4
  import { parse } from "acorn";
@@ -58,6 +58,7 @@ export declare function invalidateLayoutHook(target: unknown): void;
58
58
  export declare function placeFromLayoutHook(target: unknown, placement: LayoutHookPlacement | null): void;
59
59
  export declare function layoutHookFrame(target: unknown): SootSimLayout | null;
60
60
  export declare function releaseYogaRoot(root: SootSimNode): void;
61
- export declare function parkYogaRoot(root: SootSimNode): void;
61
+ export declare function nestsInParkedYogaTree(root: SootSimNode, owner: SootSimNode): boolean;
62
+ export declare function parkYogaRoot(root: SootSimNode): boolean;
62
63
  export declare function freeYogaTree(node: SootSimNode, seen?: Set<SootSimNode>): void;
63
64
  export declare function measureText(text: string, sourceStyle: SootSimStyle, maxWidth: number, ctx: MeasureContext, props?: Record<string, any>, node?: SootSimNode, includeInk?: boolean): MeasuredTextResult;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "peachsim",
3
- "version": "0.1.2200",
3
+ "version": "0.1.2201",
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",
@@ -170,7 +170,7 @@ export function installNativeEntry(
170
170
  `native prebuilt ${kind}/${name}/${key}: ${file.path} does not match its descriptor`,
171
171
  )
172
172
  }
173
- const dir = entryCache(kind, name, key)
173
+ const dir = nativeEntryCache(kind, name, key)
174
174
  fs.mkdirSync(path.dirname(dir), { recursive: true })
175
175
  const staging = `${dir}.${process.pid}.partial`
176
176
  fs.rmSync(staging, { recursive: true, force: true })
@@ -225,13 +225,14 @@ export async function compileTurboModule(options: {
225
225
  .update(fs.realpathSync(options.moduleRoot))
226
226
  .digest('hex')
227
227
  const scratch = path.join(os.tmpdir(), 'peach-turbo-swift', key)
228
- // the codegen intake writes only into a new or empty directory
229
- fs.rmSync(path.join(scratch, 'codegen'), { recursive: true, force: true })
228
+ // the codegen intake writes only into a new or empty directory, and parallel compiles share this scratch key
229
+ fs.mkdirSync(scratch, { recursive: true })
230
+ const codegenDir = fs.mkdtempSync(path.join(scratch, 'codegen-'))
230
231
  const collection = await collectTurboSources({
231
232
  appRoot: options.appRoot,
232
233
  reactNativeRoot: options.reactNativeRoot,
233
234
  providers: options.providers,
234
- codegenDir: path.join(scratch, 'codegen'),
235
+ codegenDir,
235
236
  installedPods: options.installedPods,
236
237
  projectRoot: options.projectRoot,
237
238
  })