peachsim 0.1.2191 → 0.1.2193

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 (103) 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 +69 -57
  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 +2 -2
  25. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  26. package/dist-lib/expo-swift-bundle.cjs +63 -51
  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 -6
  30. package/dist-lib/host/bridge-host.cjs +69 -57
  31. package/dist-lib/host/fetch-proxy-handler.cjs +5 -5
  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 +5 -5
  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 +5 -5
  47. package/dist-lib/native-app-identity-project.cjs +3 -3
  48. package/dist-lib/native-app-identity-project.mjs +3 -3
  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 +69 -58
  68. package/dist-lib/swift-compile.cjs +9 -18
  69. package/dist-lib/swift-compile.mjs +9 -18
  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 +41 -23
  75. package/dist-lib/swift.cjs +1 -1
  76. package/dist-lib/vite-swift.cjs +45 -33
  77. package/dist-lib/vite.cjs +5 -5
  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/node.d.ts +6 -0
  81. package/dist-types/packages/peach-engine/src/engine/scroll-momentum-math.d.ts +2 -1
  82. package/dist-types/packages/peach-engine/src/engine/yoga-layout.d.ts +4 -1
  83. package/dist-types/packages/peach-engine/src/render-worker/compositor-protocol.d.ts +1 -0
  84. package/dist-types/packages/peach-engine/src/render-worker/scroll-mirror.d.ts +1 -0
  85. package/dist-types/packages/peach-kit/src/capabilities.d.ts +4 -1
  86. package/package.json +1 -1
  87. package/runtime-companion.json +1 -1
  88. package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UICollectionView.h +1 -1
  89. package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UIDragPreview.h +1 -1
  90. package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UIDragPreviewParameters.h +1 -1
  91. package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UIPasteControl.h +4 -8
  92. package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UITargetedDragPreview.h +2 -2
  93. package/sdk/ios/System/Library/Frameworks/UIKitTypes.framework/Headers/UIKitTypes.h +7 -0
  94. package/src/expo-native-workspace.ts +21 -20
  95. package/src/home-paths.ts +0 -5
  96. package/src/nitro-adapter.lock.json +265 -265
  97. package/src/nitro-superset.lock.json +4 -4
  98. package/src/swift-compile.ts +3 -1
  99. package/src/swift-distribution.lock.json +17 -11
  100. package/src/swift-distribution.ts +3 -3
  101. package/src/swift-toolchain.ts +40 -30
  102. package/src/swift-wasm-prune.ts +3 -2
  103. package/src/turbo-runtime.lock.json +21 -21
@@ -217,7 +217,10 @@ export interface SootSimEngineConfig {
217
217
  adoptSlotContainer: (outlet: unknown, container: SlotContainer) => void;
218
218
  dropSlotContainer: (outlet: unknown, container: SlotContainer) => void;
219
219
  releaseSlotContainer: (container: SlotContainer) => void;
220
- setLayoutHook: (view: unknown, hook: ((view: SlotContainer) => void) | null) => void;
220
+ setLayoutHook: (view: unknown, hook: ((view: SlotContainer) => void) | null, options?: {
221
+ subtree: boolean;
222
+ }) => void;
223
+ invalidateLayoutHook: (view: unknown) => void;
221
224
  placeFromLayoutHook: (view: unknown, placement: LayoutHookPlacement | null) => void;
222
225
  layoutHookFrame: (view: unknown) => {
223
226
  x: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "peachsim",
3
- "version": "0.1.2191",
3
+ "version": "0.1.2193",
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",
@@ -1 +1 @@
1
- {"abi":1,"sha256":"c63f83dd24fd36986b72da8da6b6a51edce0a2d061e3bc05d3439d22b1a86c91","file":"node/cli-c63f83dd24fd36986b72da8da6b6a51edce0a2d061e3bc05d3439d22b1a86c91.cjs"}
1
+ {"abi":1,"sha256":"38d58f4713cbf87e8d4cde206f6a1fb9bf3898b6b885f45db610ad1fccde083a","file":"node/cli-38d58f4713cbf87e8d4cde206f6a1fb9bf3898b6b885f45db610ad1fccde083a.cjs"}
@@ -626,7 +626,7 @@ API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
626
626
 
627
627
 
628
628
  UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
629
- @interface UICollectionViewDropProposal : UIDropProposal
629
+ PEACH_SWIFT_CLASS(UIKitCore) @interface UICollectionViewDropProposal : UIDropProposal
630
630
 
631
631
  - (instancetype)initWithDropOperation:(UIDropOperation)operation intent:(UICollectionViewDropIntent)intent;
632
632
 
@@ -15,7 +15,7 @@ NS_HEADER_AUDIT_BEGIN(nullability, sendability)
15
15
  @class UIDragPreviewParameters, UIView;
16
16
 
17
17
  UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
18
- @interface UIDragPreview : NSObject <NSCopying>
18
+ PEACH_SWIFT_CLASS(UIKitCore) @interface UIDragPreview : NSObject <NSCopying>
19
19
 
20
20
  /* UIDragPreview is a preview used after a drag has started,
21
21
  * when no lift, drop, or cancel animation is running.
@@ -11,7 +11,7 @@
11
11
  NS_HEADER_AUDIT_BEGIN(nullability, sendability)
12
12
 
13
13
  UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
14
- @interface UIDragPreviewParameters : UIPreviewParameters
14
+ PEACH_SWIFT_CLASS(UIKitCore) @interface UIDragPreviewParameters : UIPreviewParameters
15
15
 
16
16
  @end
17
17
 
@@ -6,6 +6,7 @@
6
6
  // Copyright © 2022 Apple Inc. All rights reserved.
7
7
  //
8
8
 
9
+ #import <UIKitTypes/UIKitTypes.h>
9
10
  #import <CoreGraphics/CoreGraphics.h>
10
11
  #import <Foundation/Foundation.h>
11
12
  #import <UIKit/UIButtonConfiguration.h>
@@ -17,15 +18,10 @@ NS_HEADER_AUDIT_BEGIN(nullability, sendability)
17
18
  @class NSCoder;
18
19
  @protocol UIPasteConfigurationSupporting;
19
20
 
20
- typedef NS_ENUM(NSUInteger, UIPasteControlDisplayMode) {
21
- UIPasteControlDisplayModeIconAndLabel,
22
- UIPasteControlDisplayModeIconOnly,
23
- UIPasteControlDisplayModeLabelOnly,
24
- UIPasteControlDisplayModeArrowAndLabel
25
- } API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NAME(UIPasteControl.DisplayMode);
21
+
26
22
 
27
23
  UIKIT_EXTERN API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NAME(UIPasteControl.Configuration) NS_SWIFT_UI_ACTOR
28
- @interface UIPasteControlConfiguration : NSObject <NSSecureCoding>
24
+ PEACH_SWIFT_CLASS(UIKitCore) @interface UIPasteControlConfiguration : NSObject <NSSecureCoding>
29
25
  @property (nonatomic, assign) UIPasteControlDisplayMode displayMode;
30
26
  @property (nonatomic, assign) UIButtonConfigurationCornerStyle cornerStyle NS_REFINED_FOR_SWIFT;
31
27
  @property (nonatomic, assign) CGFloat cornerRadius;
@@ -35,7 +31,7 @@ UIKIT_EXTERN API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_NA
35
31
  @end
36
32
 
37
33
  UIKIT_EXTERN API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
38
- @interface UIPasteControl : UIControl
34
+ PEACH_SWIFT_CLASS(UIKitCore) @interface UIPasteControl : UIControl
39
35
  @property (nonatomic, readonly) UIPasteControlConfiguration *configuration;
40
36
  @property (nonatomic, nullable, weak) id<UIPasteConfigurationSupporting> target;
41
37
 
@@ -13,11 +13,11 @@ NS_HEADER_AUDIT_BEGIN(nullability, sendability)
13
13
  @class UIDragPreviewParameters, UIView;
14
14
 
15
15
  UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
16
- @interface UIDragPreviewTarget : UIPreviewTarget
16
+ PEACH_SWIFT_CLASS(UIKitCore) @interface UIDragPreviewTarget : UIPreviewTarget
17
17
  @end
18
18
 
19
19
  UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_UI_ACTOR
20
- @interface UITargetedDragPreview : UITargetedPreview
20
+ PEACH_SWIFT_CLASS(UIKitCore) @interface UITargetedDragPreview : UITargetedPreview
21
21
 
22
22
  /* Returns a preview with the same view and parameters, but a new target.
23
23
  *
@@ -2401,6 +2401,13 @@ typedef NS_ENUM(NSInteger, UITextSearchMatchMethod) {
2401
2401
  /// Word is an exact match for the search string.
2402
2402
  UITextSearchMatchMethodFullWord,
2403
2403
  } API_UNAVAILABLE(watchos);
2404
+
2405
+ typedef NS_ENUM(NSUInteger, UIPasteControlDisplayMode) {
2406
+ UIPasteControlDisplayModeIconAndLabel,
2407
+ UIPasteControlDisplayModeIconOnly,
2408
+ UIPasteControlDisplayModeLabelOnly,
2409
+ UIPasteControlDisplayModeArrowAndLabel
2410
+ } API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos);
2404
2411
  PEACH_SWIFT_CLASS(UIKitCore) @interface UIColor : NSObject <NSSecureCoding, NSCopying>
2405
2412
  @end
2406
2413
 
@@ -721,10 +721,12 @@ export async function prepareInstalledExpoWorkspace(app: string, work: string) {
721
721
  })
722
722
  }
723
723
 
724
- // the copy tracks the files its source checkout tracks, including ignored ones the
725
- // project commits, so a postinstall that marks them with `git update-index` finds them
726
- function trackedSourceFiles(root: string, work: string): string[] {
727
- const listed = spawnSync('git', ['ls-files', '-z'], {
724
+ // the copy's index lists the files its source checkout tracks, including ignored ones
725
+ // the project commits, so a postinstall that marks them with `git update-index` finds
726
+ // them. the entries reuse the source index's object ids: hashing or storing a monorepo's
727
+ // worth of blobs takes minutes, and nothing reads their contents from this repository
728
+ function trackedSourceEntries(root: string, work: string): string[] {
729
+ const listed = spawnSync('git', ['ls-files', '--stage', '-z'], {
728
730
  cwd: root,
729
731
  env: { ...process.env, ...isolatedGitEnv },
730
732
  maxBuffer: 256 * 1024 * 1024,
@@ -733,25 +735,16 @@ function trackedSourceFiles(root: string, work: string): string[] {
733
735
  return listed.stdout
734
736
  .toString('utf8')
735
737
  .split('\0')
736
- .filter((file) => file !== '' && fs.existsSync(path.join(work, file)))
738
+ .filter((entry) => {
739
+ const tab = entry.indexOf('\t')
740
+ return tab > 0 && fs.existsSync(path.join(work, entry.slice(tab + 1)))
741
+ })
737
742
  }
738
743
 
739
744
  function initializeWorkspaceGit(root: string, work: string) {
740
745
  requireNativeGit()
741
- execFileSync('git', ['init', '--quiet'], {
742
- cwd: work,
743
- env: { ...process.env, ...isolatedGitEnv },
744
- timeout: 60_000,
745
- })
746
- const tracked = trackedSourceFiles(root, work)
747
- if (tracked.length > 0)
748
- // update-index takes exact paths; add matches every file against every pathspec, which is quadratic here
749
- execFileSync('git', ['update-index', '--add', '-z', '--stdin'], {
750
- cwd: work,
751
- env: { ...process.env, ...isolatedGitEnv },
752
- input: tracked.join('\0'),
753
- timeout: 120_000,
754
- })
746
+ const env = { ...process.env, ...isolatedGitEnv }
747
+ execFileSync('git', ['init', '--quiet'], { cwd: work, env, timeout: 60_000 })
755
748
  execFileSync(
756
749
  'git',
757
750
  [
@@ -768,8 +761,16 @@ function initializeWorkspaceGit(root: string, work: string) {
768
761
  '-m',
769
762
  'prepared workspace',
770
763
  ],
771
- { cwd: work, env: { ...process.env, ...isolatedGitEnv }, timeout: 60_000 },
764
+ { cwd: work, env, timeout: 60_000 },
772
765
  )
766
+ const tracked = trackedSourceEntries(root, work)
767
+ if (tracked.length > 0)
768
+ execFileSync('git', ['update-index', '-z', '--index-info'], {
769
+ cwd: work,
770
+ env,
771
+ input: tracked.join('\0'),
772
+ timeout: 60_000,
773
+ })
773
774
  }
774
775
 
775
776
  async function prepareWorkspace(
package/src/home-paths.ts CHANGED
@@ -55,11 +55,6 @@ export function rnxHomeDir(): string {
55
55
  return override && override.length > 0 ? path.resolve(override) : ambientHomeDir()
56
56
  }
57
57
 
58
- // where the pinned wasm SDK installs unless PEACH_SWIFT_SDKS_PATH names another
59
- export function peachSwiftSdksDir(): string {
60
- return process.env.PEACH_SWIFT_SDKS_PATH ?? path.join(rnxHomeDir(), 'swift', 'sdks')
61
- }
62
-
63
58
  // detect when peach is running from a source checkout (the Contrast monorepo)
64
59
  // rather than a published npm install. used to skip auto-install of the
65
60
  // persistent launchd / systemd agent: dev shells shouldn't register an agent