peachsim 0.1.833 → 0.1.835
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/detox/index.ts +82 -20
- package/dist-lib/agent-daemon-client.cjs +1 -1
- package/dist-lib/agent-events.cjs +1 -1
- package/dist-lib/agent-identity.cjs +1 -1
- package/dist-lib/agent-sessions.cjs +1 -1
- package/dist-lib/attached-projects.cjs +1 -1
- package/dist-lib/auth/shared-session.cjs +1 -1
- package/dist-lib/backend-origin.cjs +1 -1
- package/dist-lib/beta.cjs +1 -1
- package/dist-lib/beta.mjs +1 -1
- package/dist-lib/bridge-constants.cjs +1 -1
- package/dist-lib/bridge-contract-input.cjs +1 -1
- package/dist-lib/bridge-contract-input.mjs +1 -1
- package/dist-lib/bridge-contract.cjs +1 -1
- package/dist-lib/bridge-contract.mjs +1 -1
- package/dist-lib/bundle-channel.cjs +9 -9
- package/dist-lib/capture-contract.cjs +1 -1
- package/dist-lib/capture-contract.mjs +1 -1
- package/dist-lib/cli-constants.cjs +1 -1
- package/dist-lib/cloud-contract.cjs +1 -1
- package/dist-lib/cloud-contract.mjs +1 -1
- package/dist-lib/cloud-test-args.cjs +1 -1
- package/dist-lib/cloud-test-args.mjs +1 -1
- package/dist-lib/cloud.cjs +1 -1
- package/dist-lib/cloud.mjs +1 -1
- package/dist-lib/config.cjs +1 -1
- package/dist-lib/detox/index.cjs +48 -18
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/expo-swift-bundle.cjs +9 -9
- package/dist-lib/expo-swift-metadata.cjs +1 -1
- package/dist-lib/expo-swift-metadata.mjs +1 -1
- package/dist-lib/home-paths.cjs +1 -1
- package/dist-lib/host/bridge-host.cjs +9 -9
- package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
- package/dist-lib/host/replacement-module-handler.cjs +1 -1
- package/dist-lib/host/websocket-proxy.cjs +1 -1
- package/dist-lib/index.cjs +1 -1
- package/dist-lib/jump-to-source-babel.cjs +1 -1
- package/dist-lib/jump-to-source-native.cjs +1 -1
- package/dist-lib/kotlin-host.cjs +1 -1
- package/dist-lib/menu.cjs +1 -1
- package/dist-lib/menu.mjs +1 -1
- package/dist-lib/metro-fingerprint-registry.cjs +1 -1
- package/dist-lib/metro-fingerprint-registry.mjs +1 -1
- package/dist-lib/metro-production-bundle.cjs +1 -1
- package/dist-lib/metro-production-bundle.mjs +1 -1
- package/dist-lib/metro.cjs +1 -1
- package/dist-lib/native-app-identity.cjs +1 -1
- package/dist-lib/native-app-identity.mjs +1 -1
- package/dist-lib/native-firebase-metadata.cjs +1 -1
- package/dist-lib/native-firebase-metadata.mjs +1 -1
- package/dist-lib/plist.cjs +1 -1
- package/dist-lib/plist.mjs +1 -1
- package/dist-lib/profiles.cjs +1 -1
- package/dist-lib/public-brand.cjs +1 -1
- package/dist-lib/react-native-host-modules.cjs +1 -1
- package/dist-lib/react-native-host-modules.mjs +1 -1
- package/dist-lib/render-mode.cjs +1 -1
- package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
- package/dist-lib/sdk.cjs +1 -1
- package/dist-lib/sdk.mjs +1 -1
- package/dist-lib/skills.cjs +9 -9
- package/dist-lib/swift-compile.cjs +1 -1
- package/dist-lib/swift-compile.mjs +1 -1
- package/dist-lib/swift-package.cjs +1 -1
- package/dist-lib/swift-package.mjs +1 -1
- package/dist-lib/swift-submit.cjs +1 -1
- package/dist-lib/swift-submit.mjs +1 -1
- package/dist-lib/swift-toolchain.cjs +1 -1
- package/dist-lib/swift.cjs +1 -1
- package/dist-lib/vite-swift.cjs +9 -9
- package/dist-lib/vite.cjs +1 -1
- package/dist-lib/worklet-executable.cjs +1 -1
- package/dist-lib/worklet-executable.mjs +1 -1
- package/package.json +1 -1
- package/src/swift-distribution.lock.json +8 -8
package/detox/index.ts
CHANGED
|
@@ -57,6 +57,15 @@ import type { Browser, BrowserContext, Page } from 'playwright-core'
|
|
|
57
57
|
export { by }
|
|
58
58
|
export type { SootSimElement } from './element-types'
|
|
59
59
|
|
|
60
|
+
declare global {
|
|
61
|
+
interface Window {
|
|
62
|
+
// installed by takeScreenshotStagesFast; each input action calls it just
|
|
63
|
+
// before handing its input to the engine so an input-anchored capture
|
|
64
|
+
// starts its stage clock at that dispatch
|
|
65
|
+
__sootsimAnchorTimedInput?: () => void
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
60
69
|
const BASE_URL = process.env.PEACH_URL || 'http://localhost:5173'
|
|
61
70
|
const SCREENSHOT_DIR =
|
|
62
71
|
process.env.PEACH_SCREENSHOT_DIR ||
|
|
@@ -744,6 +753,7 @@ async function dispatchTapAtSootsimPoint(page: Page, x: number, y: number) {
|
|
|
744
753
|
await page.evaluate(
|
|
745
754
|
async ({ x, y }) => {
|
|
746
755
|
const interactTap = window.SootSim?.bridges?.interact?.tap
|
|
756
|
+
window.__sootsimAnchorTimedInput?.()
|
|
747
757
|
if (typeof interactTap === 'function') {
|
|
748
758
|
const result = await interactTap(x, y)
|
|
749
759
|
if (result && (typeof result !== 'object' || result.hit !== false)) return
|
|
@@ -762,7 +772,16 @@ async function isFocusedTextInputNode(page: Page, nodeInfo: any): Promise<boolea
|
|
|
762
772
|
const focused = await page.evaluate(
|
|
763
773
|
async () => (await window.__sootsimTest!.getFocusedNode?.()) ?? null,
|
|
764
774
|
)
|
|
765
|
-
return !!focused &&
|
|
775
|
+
return !!focused && focusIsWithin(focused, nodeInfo?.nodeId)
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
// espresso's typeText taps the matched view and types into whatever took
|
|
779
|
+
// focus, so a native host whose editor child holds focus takes the text.
|
|
780
|
+
function focusIsWithin(
|
|
781
|
+
focused: { nodeId: number; ancestorNodeIds: number[] },
|
|
782
|
+
nodeId: number,
|
|
783
|
+
): boolean {
|
|
784
|
+
return focused.nodeId === nodeId || focused.ancestorNodeIds.includes(nodeId)
|
|
766
785
|
}
|
|
767
786
|
|
|
768
787
|
async function focusElementForTextEntry(el: SootSimElement): Promise<void> {
|
|
@@ -777,10 +796,8 @@ async function focusElementForTextEntry(el: SootSimElement): Promise<void> {
|
|
|
777
796
|
// would edit around a caret the tap then moves, so wait for its focus.
|
|
778
797
|
await pollUntil(
|
|
779
798
|
() =>
|
|
780
|
-
page.evaluate(
|
|
781
|
-
|
|
782
|
-
),
|
|
783
|
-
(focusedNodeId) => focusedNodeId === node.nodeId,
|
|
799
|
+
page.evaluate(async () => (await window.__sootsimTest!.getFocusedNode?.()) ?? null),
|
|
800
|
+
(focused) => focused !== null && focusIsWithin(focused, node.nodeId),
|
|
784
801
|
{
|
|
785
802
|
timeoutMs: 5000,
|
|
786
803
|
label: `SootSim text input ${node.nodeId} to focus`,
|
|
@@ -1157,6 +1174,7 @@ function createSootSimElement(matcher: Matcher): SootSimElement {
|
|
|
1157
1174
|
if (typeof longPress !== 'function') {
|
|
1158
1175
|
throw new Error('sootsim longPress bridge is not installed')
|
|
1159
1176
|
}
|
|
1177
|
+
window.__sootsimAnchorTimedInput?.()
|
|
1160
1178
|
await longPress(x, y, duration)
|
|
1161
1179
|
},
|
|
1162
1180
|
{ duration, x: target.x, y: target.y },
|
|
@@ -1433,6 +1451,7 @@ function createSootSimElement(matcher: Matcher): SootSimElement {
|
|
|
1433
1451
|
if (typeof drag !== 'function') {
|
|
1434
1452
|
throw new Error('sootsim interact bridge is not installed')
|
|
1435
1453
|
}
|
|
1454
|
+
window.__sootsimAnchorTimedInput?.()
|
|
1436
1455
|
await drag(fromX, fromY, toX, toY, steps, stepMs)
|
|
1437
1456
|
},
|
|
1438
1457
|
{
|
|
@@ -2854,6 +2873,7 @@ export const device = {
|
|
|
2854
2873
|
label: string
|
|
2855
2874
|
offsetMs: number
|
|
2856
2875
|
actualMs: number
|
|
2876
|
+
captureCompletedMs: number
|
|
2857
2877
|
captureRequestedAtMs: number
|
|
2858
2878
|
path: string
|
|
2859
2879
|
}>
|
|
@@ -2862,18 +2882,25 @@ export const device = {
|
|
|
2862
2882
|
}> {
|
|
2863
2883
|
const page = getPage()
|
|
2864
2884
|
const token = `timed-${process.pid}-${Date.now()}-${Math.random()}`
|
|
2885
|
+
// anchorAfterTrigger false anchors the stages at the moment the trigger
|
|
2886
|
+
// hands its input to the engine's interact bridge, after the trigger has
|
|
2887
|
+
// resolved its target. arming before the trigger counted node resolution
|
|
2888
|
+
// and layout polling as elapsed press time.
|
|
2889
|
+
const anchorOnInput = options.anchorAfterTrigger === false
|
|
2865
2890
|
const capturePromise: Promise<{
|
|
2866
2891
|
captureAnchorMs: number
|
|
2867
2892
|
frames: Array<{
|
|
2868
2893
|
label: string
|
|
2869
2894
|
offsetMs: number
|
|
2870
2895
|
actualMs: number
|
|
2896
|
+
captureCompletedMs: number
|
|
2871
2897
|
captureRequestedAtMs: number
|
|
2872
2898
|
dataUrl: string
|
|
2873
2899
|
}>
|
|
2874
2900
|
}> = page.evaluate(
|
|
2875
2901
|
async (input) => {
|
|
2876
2902
|
type CaptureState = {
|
|
2903
|
+
anchorOnInput: boolean
|
|
2877
2904
|
anchorPerformanceMs: number | null
|
|
2878
2905
|
anchorWallMs: number | null
|
|
2879
2906
|
cancelled: boolean
|
|
@@ -2903,12 +2930,23 @@ export const device = {
|
|
|
2903
2930
|
captureWindow.__sootsimTimedCaptures ??
|
|
2904
2931
|
(captureWindow.__sootsimTimedCaptures = {})
|
|
2905
2932
|
const state: CaptureState = {
|
|
2933
|
+
anchorOnInput: input.anchorOnInput,
|
|
2906
2934
|
anchorPerformanceMs: null,
|
|
2907
2935
|
anchorWallMs: null,
|
|
2908
2936
|
cancelled: false,
|
|
2909
2937
|
ready: false,
|
|
2910
2938
|
}
|
|
2911
2939
|
registry[input.token] = state
|
|
2940
|
+
window.__sootsimAnchorTimedInput = () => {
|
|
2941
|
+
const anchorPerformanceMs = performance.now()
|
|
2942
|
+
const anchorWallMs = Date.now()
|
|
2943
|
+
for (const capture of Object.values(registry)) {
|
|
2944
|
+
if (!capture.anchorOnInput || !capture.ready) continue
|
|
2945
|
+
if (capture.anchorPerformanceMs !== null) continue
|
|
2946
|
+
capture.anchorPerformanceMs = anchorPerformanceMs
|
|
2947
|
+
capture.anchorWallMs = anchorWallMs
|
|
2948
|
+
}
|
|
2949
|
+
}
|
|
2912
2950
|
// initial warm-up: ensure the worker has produced at least one
|
|
2913
2951
|
// frame after the menu's portal mount before we start sampling.
|
|
2914
2952
|
// (a pump at higher cadence was tried and starved tap propagation —
|
|
@@ -2928,6 +2966,7 @@ export const device = {
|
|
|
2928
2966
|
label: string
|
|
2929
2967
|
offsetMs: number
|
|
2930
2968
|
actualMs: number
|
|
2969
|
+
captureCompletedMs: number
|
|
2931
2970
|
captureRequestedAtMs: number
|
|
2932
2971
|
dataUrl: string | null
|
|
2933
2972
|
}
|
|
@@ -2943,6 +2982,10 @@ export const device = {
|
|
|
2943
2982
|
const fire = async () => {
|
|
2944
2983
|
const actualMs = performance.now() - captureAnchorPerformanceMs
|
|
2945
2984
|
const captureRequestedAtMs = Date.now()
|
|
2985
|
+
// the sample's content is fixed somewhere between the
|
|
2986
|
+
// request and the completed composite paint; the engine
|
|
2987
|
+
// exposes no producer timestamp for the frame it reads.
|
|
2988
|
+
let captureCompletedMs = actualMs
|
|
2946
2989
|
try {
|
|
2947
2990
|
let dataUrl: string | null = null
|
|
2948
2991
|
if (live && typeof live.captureFresh === 'function') {
|
|
@@ -2950,6 +2993,7 @@ export const device = {
|
|
|
2950
2993
|
// worker round-trip. the background pump keeps the
|
|
2951
2994
|
// canvas fresh.
|
|
2952
2995
|
const { canvas } = await live.captureFresh()
|
|
2996
|
+
captureCompletedMs = performance.now() - captureAnchorPerformanceMs
|
|
2953
2997
|
if (canvas) {
|
|
2954
2998
|
const bmp = await createImageBitmap(canvas)
|
|
2955
2999
|
const enc = document.createElement('canvas')
|
|
@@ -2965,11 +3009,13 @@ export const device = {
|
|
|
2965
3009
|
}
|
|
2966
3010
|
if (!dataUrl) {
|
|
2967
3011
|
dataUrl = await screenshot({ format: 'png' })
|
|
3012
|
+
captureCompletedMs = performance.now() - captureAnchorPerformanceMs
|
|
2968
3013
|
}
|
|
2969
3014
|
resolve({
|
|
2970
3015
|
label: stage.label,
|
|
2971
3016
|
offsetMs: stage.offsetMs,
|
|
2972
3017
|
actualMs,
|
|
3018
|
+
captureCompletedMs,
|
|
2973
3019
|
captureRequestedAtMs,
|
|
2974
3020
|
dataUrl,
|
|
2975
3021
|
})
|
|
@@ -2978,6 +3024,7 @@ export const device = {
|
|
|
2978
3024
|
label: stage.label,
|
|
2979
3025
|
offsetMs: stage.offsetMs,
|
|
2980
3026
|
actualMs,
|
|
3027
|
+
captureCompletedMs,
|
|
2981
3028
|
captureRequestedAtMs,
|
|
2982
3029
|
dataUrl: null,
|
|
2983
3030
|
})
|
|
@@ -2999,6 +3046,7 @@ export const device = {
|
|
|
2999
3046
|
label: string
|
|
3000
3047
|
offsetMs: number
|
|
3001
3048
|
actualMs: number
|
|
3049
|
+
captureCompletedMs: number
|
|
3002
3050
|
captureRequestedAtMs: number
|
|
3003
3051
|
dataUrl: string
|
|
3004
3052
|
}> = []
|
|
@@ -3008,6 +3056,7 @@ export const device = {
|
|
|
3008
3056
|
label: snap.label,
|
|
3009
3057
|
offsetMs: snap.offsetMs,
|
|
3010
3058
|
actualMs: snap.actualMs,
|
|
3059
|
+
captureCompletedMs: snap.captureCompletedMs,
|
|
3011
3060
|
captureRequestedAtMs: snap.captureRequestedAtMs,
|
|
3012
3061
|
dataUrl: snap.dataUrl,
|
|
3013
3062
|
})
|
|
@@ -3015,7 +3064,7 @@ export const device = {
|
|
|
3015
3064
|
delete registry[input.token]
|
|
3016
3065
|
return { captureAnchorMs, frames: out }
|
|
3017
3066
|
},
|
|
3018
|
-
{ stages, skipWarmup: options.skipWarmup === true, token },
|
|
3067
|
+
{ anchorOnInput, stages, skipWarmup: options.skipWarmup === true, token },
|
|
3019
3068
|
)
|
|
3020
3069
|
|
|
3021
3070
|
await page.waitForFunction(
|
|
@@ -3031,7 +3080,7 @@ export const device = {
|
|
|
3031
3080
|
{ timeout: 5000 },
|
|
3032
3081
|
)
|
|
3033
3082
|
|
|
3034
|
-
const armCapture = (anchorMs
|
|
3083
|
+
const armCapture = (anchorMs: number) =>
|
|
3035
3084
|
page.evaluate(
|
|
3036
3085
|
({ anchorMs, captureToken }) => {
|
|
3037
3086
|
const registry = (
|
|
@@ -3048,9 +3097,8 @@ export const device = {
|
|
|
3048
3097
|
).__sootsimTimedCaptures
|
|
3049
3098
|
const capture = registry?.[captureToken]
|
|
3050
3099
|
if (!capture?.ready) throw new Error('peach timed capture was not armed')
|
|
3051
|
-
|
|
3052
|
-
capture.
|
|
3053
|
-
capture.anchorPerformanceMs = performance.now() - (nowMs - capture.anchorWallMs)
|
|
3100
|
+
capture.anchorWallMs = anchorMs
|
|
3101
|
+
capture.anchorPerformanceMs = performance.now() - (Date.now() - anchorMs)
|
|
3054
3102
|
return capture.anchorWallMs
|
|
3055
3103
|
},
|
|
3056
3104
|
{ anchorMs, captureToken: token },
|
|
@@ -3060,17 +3108,29 @@ export const device = {
|
|
|
3060
3108
|
let triggerCompletedMs = 0
|
|
3061
3109
|
try {
|
|
3062
3110
|
let captureAnchorMs: number
|
|
3063
|
-
if (
|
|
3064
|
-
|
|
3065
|
-
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
|
|
3071
|
-
|
|
3111
|
+
if (anchorOnInput) {
|
|
3112
|
+
triggerStartMs = Date.now()
|
|
3113
|
+
await Promise.resolve(options.trigger())
|
|
3114
|
+
triggerCompletedMs = Date.now()
|
|
3115
|
+
// the capture deletes its entry once every stage is sampled, which
|
|
3116
|
+
// can precede a long trigger's return; only a live entry can be unanchored
|
|
3117
|
+
const unanchored = await page.evaluate(
|
|
3118
|
+
(captureToken) =>
|
|
3119
|
+
(
|
|
3120
|
+
window as Window & {
|
|
3121
|
+
__sootsimTimedCaptures?: Record<string, { anchorWallMs: number | null }>
|
|
3122
|
+
}
|
|
3123
|
+
).__sootsimTimedCaptures?.[captureToken]?.anchorWallMs === null,
|
|
3124
|
+
token,
|
|
3125
|
+
)
|
|
3126
|
+
if (unanchored) {
|
|
3127
|
+
throw new Error(
|
|
3128
|
+
'peach timed capture: the trigger completed without dispatching input to anchor its stages',
|
|
3129
|
+
)
|
|
3130
|
+
}
|
|
3131
|
+
const capture = await capturePromise
|
|
3072
3132
|
return {
|
|
3073
|
-
captureAnchorMs,
|
|
3133
|
+
captureAnchorMs: capture.captureAnchorMs,
|
|
3074
3134
|
frames: writeFastScreenshotFrames(namePrefix, capture.frames),
|
|
3075
3135
|
triggerCompletedMs,
|
|
3076
3136
|
triggerStartMs,
|
|
@@ -3252,6 +3312,7 @@ export const device = {
|
|
|
3252
3312
|
await page.evaluate(
|
|
3253
3313
|
async ({ x: tx, y: ty }) => {
|
|
3254
3314
|
const interactTap = window.SootSim?.bridges?.interact?.tap
|
|
3315
|
+
window.__sootsimAnchorTimedInput?.()
|
|
3255
3316
|
if (typeof interactTap === 'function') {
|
|
3256
3317
|
const result = await interactTap(tx, ty)
|
|
3257
3318
|
if (result && (typeof result !== 'object' || result.hit !== false)) return
|
|
@@ -3281,6 +3342,7 @@ export const device = {
|
|
|
3281
3342
|
if (typeof longPress !== 'function') {
|
|
3282
3343
|
throw new Error('sootsim longPress bridge is not installed')
|
|
3283
3344
|
}
|
|
3345
|
+
window.__sootsimAnchorTimedInput?.()
|
|
3284
3346
|
const hit = await longPress(px, py, ms)
|
|
3285
3347
|
if (!hit) {
|
|
3286
3348
|
throw new Error(`sootsim longPress missed at ${px},${py}`)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.835 | (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.
|
|
1
|
+
/*! rnx v0.1.835 | (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.
|
|
1
|
+
/*! rnx v0.1.835 | (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.
|
|
1
|
+
/*! rnx v0.1.835 | (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.
|
|
1
|
+
/*! rnx v0.1.835 | (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.
|
|
1
|
+
/*! rnx v0.1.835 | (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.
|
|
1
|
+
/*! rnx v0.1.835 | (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.
|
|
1
|
+
/*! rnx v0.1.835 | (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.
|
|
1
|
+
/*! rnx v0.1.835 | (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.
|
|
1
|
+
/*! rnx v0.1.835 | (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.
|
|
1
|
+
/*! rnx v0.1.835 | (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.
|
|
1
|
+
/*! rnx v0.1.835 | (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;
|
|
@@ -2369,24 +2369,24 @@ var swift_distribution_lock_default;
|
|
|
2369
2369
|
var init_swift_distribution_lock = __esm({
|
|
2370
2370
|
"src/swift-distribution.lock.json"() {
|
|
2371
2371
|
swift_distribution_lock_default = {
|
|
2372
|
-
id: "
|
|
2372
|
+
id: "8a53b074b33eb8b5",
|
|
2373
2373
|
release: "swift-6.3-RELEASE",
|
|
2374
2374
|
wasmSdkId: "swift-6.3-RELEASE_wasm-peach-41921598-peach-edd95e37",
|
|
2375
2375
|
wasmSdkUrl: "https://r2.rnxsim.com/swift-wasm-sdk/swift-6.3-RELEASE_wasm-peach-41921598-peach-edd95e37.artifactbundle.tar.gz",
|
|
2376
2376
|
wasmSdkChecksum: "e8b76a6b78c21e9e16a6943a691ea001aeb0a18518d775a26130520303eb5c6d",
|
|
2377
|
-
source: "
|
|
2377
|
+
source: "882ff4ff4b262e108926af9d13985fba69132c1a",
|
|
2378
2378
|
hosts: {
|
|
2379
2379
|
"darwin-arm64": {
|
|
2380
|
-
sha256: "
|
|
2381
|
-
size:
|
|
2380
|
+
sha256: "6199b51b4d4f963db72bff2fc7174d7944bbf7c6f0379b58fc9fe1db81081dd7",
|
|
2381
|
+
size: 39773614
|
|
2382
2382
|
},
|
|
2383
2383
|
"linux-x64": {
|
|
2384
|
-
sha256: "
|
|
2385
|
-
size:
|
|
2384
|
+
sha256: "dd414d2c73175b5ea4e142f414615e2648102f827a998b8a80edf3c0a8acbb0f",
|
|
2385
|
+
size: 39779064
|
|
2386
2386
|
},
|
|
2387
2387
|
"linux-arm64": {
|
|
2388
|
-
sha256: "
|
|
2389
|
-
size:
|
|
2388
|
+
sha256: "67396e3baa888a4463ecfdeb9f14996e8f5ee397c181e64cf0e82868b27d3463",
|
|
2389
|
+
size: 39778119
|
|
2390
2390
|
}
|
|
2391
2391
|
}
|
|
2392
2392
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.835 | (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.
|
|
1
|
+
/*! rnx v0.1.835 | (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.
|
|
1
|
+
/*! rnx v0.1.835 | (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.
|
|
1
|
+
/*! rnx v0.1.835 | (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/cloud.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.835 | (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/cloud.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.835 | (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);
|
package/dist-lib/config.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.835 | (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;
|