peachsim 0.1.933 → 0.1.935
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/cli/commands/debug.ts +24 -18
- package/cli/commands/inspect/core.ts +4 -1
- 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 +22 -2
- 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 +1 -1
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/expo-swift-bundle.cjs +22 -2
- 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 +22 -2
- 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 +4 -3
- package/dist-lib/sdk.mjs +4 -3
- package/dist-lib/skills.cjs +22 -2
- 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 +22 -2
- 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-host.ts +14 -1
- package/src/xcode-project.ts +24 -0
package/cli/commands/debug.ts
CHANGED
|
@@ -69,6 +69,7 @@ usage:
|
|
|
69
69
|
peach debug <subcommand> [args]
|
|
70
70
|
|
|
71
71
|
record, recent, and clear-events target the tenant; --host selects the page buffer.
|
|
72
|
+
snapshot, snapshots, diff, and clear-snapshots also target the tenant by default.
|
|
72
73
|
enable/disable/toggle also update the tenant unless --host is passed.
|
|
73
74
|
shell event buffers are separate; shell console logs are forwarded to the host.
|
|
74
75
|
|
|
@@ -486,27 +487,28 @@ export async function runDebug(args: string[], opts: DebugOptions) {
|
|
|
486
487
|
|
|
487
488
|
case 'snapshot': {
|
|
488
489
|
const label = rest[0]
|
|
489
|
-
const
|
|
490
|
-
? `window.__sootsimDebug.snapshot(${JSON.stringify(label)})`
|
|
491
|
-
: 'window.__sootsimDebug.snapshot()'
|
|
490
|
+
const expression = label ? `snapshot(${JSON.stringify(label)})` : 'snapshot()'
|
|
492
491
|
// the tree snapshot contains a Map, which doesn't serialize cleanly.
|
|
493
492
|
// project to the same shape the diff command will accept: label +
|
|
494
493
|
// size. to inspect contents, use `find sheets` / `find portals` or
|
|
495
494
|
// take a diff.
|
|
496
|
-
const result = await
|
|
497
|
-
label: string
|
|
498
|
-
at: number
|
|
499
|
-
nodes: unknown
|
|
500
|
-
}>(
|
|
495
|
+
const result = await callDebugBridge(
|
|
501
496
|
bridge,
|
|
502
|
-
|
|
497
|
+
expression,
|
|
498
|
+
args.includes('--host'),
|
|
499
|
+
(code) =>
|
|
500
|
+
`(() => { const s = ${code}; if (!s) return null; return { label: s.label, at: s.at, size: s.nodes.size }; })()`,
|
|
503
501
|
)
|
|
504
502
|
console.log(fmt(result, pretty))
|
|
505
503
|
break
|
|
506
504
|
}
|
|
507
505
|
|
|
508
506
|
case 'snapshots': {
|
|
509
|
-
const result = await
|
|
507
|
+
const result = await callDebugBridge(
|
|
508
|
+
bridge,
|
|
509
|
+
'snapshots()',
|
|
510
|
+
args.includes('--host'),
|
|
511
|
+
)
|
|
510
512
|
console.log(fmt(result, pretty))
|
|
511
513
|
break
|
|
512
514
|
}
|
|
@@ -519,8 +521,12 @@ export async function runDebug(args: string[], opts: DebugOptions) {
|
|
|
519
521
|
rnxExit(1)
|
|
520
522
|
}
|
|
521
523
|
// Maps don't serialize — project added/removed/changed arrays only
|
|
522
|
-
const
|
|
523
|
-
|
|
524
|
+
const result = await callDebugBridge(
|
|
525
|
+
bridge,
|
|
526
|
+
`diff(${JSON.stringify(a)}, ${JSON.stringify(b)})`,
|
|
527
|
+
args.includes('--host'),
|
|
528
|
+
(code) => `(() => {
|
|
529
|
+
const d = ${code};
|
|
524
530
|
if (!d) return null;
|
|
525
531
|
return {
|
|
526
532
|
a: d.a,
|
|
@@ -530,18 +536,18 @@ export async function runDebug(args: string[], opts: DebugOptions) {
|
|
|
530
536
|
removed: d.removed,
|
|
531
537
|
changed: d.changed,
|
|
532
538
|
};
|
|
533
|
-
})()
|
|
534
|
-
|
|
539
|
+
})()`,
|
|
540
|
+
)
|
|
535
541
|
console.log(fmt(result, pretty))
|
|
536
542
|
break
|
|
537
543
|
}
|
|
538
544
|
|
|
539
545
|
case 'clear-snapshots': {
|
|
540
546
|
const label = rest[0]
|
|
541
|
-
const
|
|
542
|
-
? `
|
|
543
|
-
: '
|
|
544
|
-
await
|
|
547
|
+
const expression = label
|
|
548
|
+
? `clearSnapshots(${JSON.stringify(label)})`
|
|
549
|
+
: 'clearSnapshots()'
|
|
550
|
+
await callDebugBridge(bridge, expression, args.includes('--host'))
|
|
545
551
|
console.log(fmt({ cleared: label || 'all' }, pretty))
|
|
546
552
|
break
|
|
547
553
|
}
|
|
@@ -1959,12 +1959,15 @@ export async function inspectDebugFind(
|
|
|
1959
1959
|
|
|
1960
1960
|
// debug buffers belong to their execution context. tenant calls use the
|
|
1961
1961
|
// existing test bridge; host calls keep shell/compositor flag forwarding intact.
|
|
1962
|
+
// project maps before the selected context serializes the result.
|
|
1962
1963
|
export async function callDebugBridge(
|
|
1963
1964
|
bridge: InspectBridge,
|
|
1964
1965
|
expression: string,
|
|
1965
1966
|
host = false,
|
|
1967
|
+
project?: (expression: string) => string,
|
|
1966
1968
|
): Promise<unknown> {
|
|
1967
|
-
const
|
|
1969
|
+
const call = `globalThis.__sootsimDebug.${expression}`
|
|
1970
|
+
const code = project ? project(call) : call
|
|
1968
1971
|
if (host) return bridge.send({ type: 'evaluate', code })
|
|
1969
1972
|
return bridge.send({
|
|
1970
1973
|
type: 'evaluate',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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.935 | (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.935 | (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.935 | (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.935 | (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.935 | (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.935 | (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.935 | (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.935 | (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.935 | (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.935 | (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.935 | (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;
|
|
@@ -7296,6 +7296,21 @@ function workspaceReferences(workspace) {
|
|
|
7296
7296
|
}
|
|
7297
7297
|
return references;
|
|
7298
7298
|
}
|
|
7299
|
+
function enclosingXcodeWorkspace(xcodeproj) {
|
|
7300
|
+
const project = import_node_fs13.default.realpathSync(xcodeproj);
|
|
7301
|
+
for (let dir = import_node_path14.default.dirname(project); ; dir = import_node_path14.default.dirname(dir)) {
|
|
7302
|
+
for (const name2 of import_node_fs13.default.readdirSync(dir)) {
|
|
7303
|
+
if (!name2.endsWith(".xcworkspace")) continue;
|
|
7304
|
+
const workspace = import_node_path14.default.join(dir, name2);
|
|
7305
|
+
if (!import_node_fs13.default.existsSync(import_node_path14.default.join(workspace, "contents.xcworkspacedata"))) continue;
|
|
7306
|
+
if (workspaceReferences(workspace).some(
|
|
7307
|
+
(reference) => import_node_fs13.default.existsSync(reference) && import_node_fs13.default.realpathSync(reference) === project
|
|
7308
|
+
))
|
|
7309
|
+
return workspace;
|
|
7310
|
+
}
|
|
7311
|
+
if (import_node_fs13.default.existsSync(import_node_path14.default.join(dir, ".git")) || import_node_path14.default.dirname(dir) === dir) return null;
|
|
7312
|
+
}
|
|
7313
|
+
}
|
|
7299
7314
|
function xcodeProjectFile(xcodeproj) {
|
|
7300
7315
|
for (const name2 of ["project.pbxproj", "project.xcproj"]) {
|
|
7301
7316
|
const file = import_node_path14.default.join(xcodeproj, name2);
|
|
@@ -8354,12 +8369,17 @@ async function missingModulesMessage(packagePath, missing) {
|
|
|
8354
8369
|
})
|
|
8355
8370
|
);
|
|
8356
8371
|
const width = Math.max(...[...missing.keys()].map((name2) => name2.length));
|
|
8372
|
+
const opened = xcodeProjects.get(packagePath)?.xcodeproj;
|
|
8373
|
+
const workspace = opened?.endsWith(".xcodeproj") ? enclosingXcodeWorkspace(opened) : null;
|
|
8357
8374
|
return [
|
|
8358
8375
|
`Peach does not provide ${missing.size} module${missing.size === 1 ? "" : "s"} this app imports:`,
|
|
8359
8376
|
...[...missing].map(([name2, files2]) => {
|
|
8360
8377
|
const gap = gaps.get(name2);
|
|
8361
8378
|
return ` ${name2.padEnd(width)} ${files2.length} file${files2.length === 1 ? "" : "s"}${gap ? `, ${gap.source.includes("://") ? `package ${gap.source}` : gap.source.startsWith("/") ? `package ${import_node_path15.default.relative(packagePath, gap.source) || "."}` : gap.source} (${gap.reason})` : ""}`;
|
|
8362
|
-
})
|
|
8379
|
+
}),
|
|
8380
|
+
...workspace ? [
|
|
8381
|
+
`${import_node_path15.default.basename(opened)} is part of ${import_node_path15.default.relative(process.cwd(), workspace)}, which holds its local packages and Package.resolved pins; pass the workspace to build what Xcode builds there.`
|
|
8382
|
+
] : []
|
|
8363
8383
|
].join("\n");
|
|
8364
8384
|
}
|
|
8365
8385
|
async function compileRemote(packagePath, snapshot, hosted) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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.935 | (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.935 | (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.935 | (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.935 | (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.935 | (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.935 | (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/detox/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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.935 | (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.935 | (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;
|
|
@@ -7151,6 +7151,21 @@ function workspaceReferences(workspace) {
|
|
|
7151
7151
|
}
|
|
7152
7152
|
return references;
|
|
7153
7153
|
}
|
|
7154
|
+
function enclosingXcodeWorkspace(xcodeproj) {
|
|
7155
|
+
const project = import_node_fs13.default.realpathSync(xcodeproj);
|
|
7156
|
+
for (let dir = import_node_path14.default.dirname(project); ; dir = import_node_path14.default.dirname(dir)) {
|
|
7157
|
+
for (const name2 of import_node_fs13.default.readdirSync(dir)) {
|
|
7158
|
+
if (!name2.endsWith(".xcworkspace")) continue;
|
|
7159
|
+
const workspace = import_node_path14.default.join(dir, name2);
|
|
7160
|
+
if (!import_node_fs13.default.existsSync(import_node_path14.default.join(workspace, "contents.xcworkspacedata"))) continue;
|
|
7161
|
+
if (workspaceReferences(workspace).some(
|
|
7162
|
+
(reference) => import_node_fs13.default.existsSync(reference) && import_node_fs13.default.realpathSync(reference) === project
|
|
7163
|
+
))
|
|
7164
|
+
return workspace;
|
|
7165
|
+
}
|
|
7166
|
+
if (import_node_fs13.default.existsSync(import_node_path14.default.join(dir, ".git")) || import_node_path14.default.dirname(dir) === dir) return null;
|
|
7167
|
+
}
|
|
7168
|
+
}
|
|
7154
7169
|
var loaded = /* @__PURE__ */ new Map();
|
|
7155
7170
|
function xcodeProjectFile(xcodeproj) {
|
|
7156
7171
|
for (const name2 of ["project.pbxproj", "project.xcproj"]) {
|
|
@@ -8248,12 +8263,17 @@ async function missingModulesMessage(packagePath, missing) {
|
|
|
8248
8263
|
})
|
|
8249
8264
|
);
|
|
8250
8265
|
const width = Math.max(...[...missing.keys()].map((name2) => name2.length));
|
|
8266
|
+
const opened = xcodeProjects.get(packagePath)?.xcodeproj;
|
|
8267
|
+
const workspace = opened?.endsWith(".xcodeproj") ? enclosingXcodeWorkspace(opened) : null;
|
|
8251
8268
|
return [
|
|
8252
8269
|
`Peach does not provide ${missing.size} module${missing.size === 1 ? "" : "s"} this app imports:`,
|
|
8253
8270
|
...[...missing].map(([name2, files2]) => {
|
|
8254
8271
|
const gap = gaps.get(name2);
|
|
8255
8272
|
return ` ${name2.padEnd(width)} ${files2.length} file${files2.length === 1 ? "" : "s"}${gap ? `, ${gap.source.includes("://") ? `package ${gap.source}` : gap.source.startsWith("/") ? `package ${import_node_path15.default.relative(packagePath, gap.source) || "."}` : gap.source} (${gap.reason})` : ""}`;
|
|
8256
|
-
})
|
|
8273
|
+
}),
|
|
8274
|
+
...workspace ? [
|
|
8275
|
+
`${import_node_path15.default.basename(opened)} is part of ${import_node_path15.default.relative(process.cwd(), workspace)}, which holds its local packages and Package.resolved pins; pass the workspace to build what Xcode builds there.`
|
|
8276
|
+
] : []
|
|
8257
8277
|
].join("\n");
|
|
8258
8278
|
}
|
|
8259
8279
|
async function compileRemote(packagePath, snapshot, hosted) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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/home-paths.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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.935 | (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;
|
|
@@ -16400,6 +16400,21 @@ function workspaceReferences(workspace) {
|
|
|
16400
16400
|
}
|
|
16401
16401
|
return references;
|
|
16402
16402
|
}
|
|
16403
|
+
function enclosingXcodeWorkspace(xcodeproj) {
|
|
16404
|
+
const project = import_node_fs18.default.realpathSync(xcodeproj);
|
|
16405
|
+
for (let dir = import_node_path19.default.dirname(project); ; dir = import_node_path19.default.dirname(dir)) {
|
|
16406
|
+
for (const name2 of import_node_fs18.default.readdirSync(dir)) {
|
|
16407
|
+
if (!name2.endsWith(".xcworkspace")) continue;
|
|
16408
|
+
const workspace = import_node_path19.default.join(dir, name2);
|
|
16409
|
+
if (!import_node_fs18.default.existsSync(import_node_path19.default.join(workspace, "contents.xcworkspacedata"))) continue;
|
|
16410
|
+
if (workspaceReferences(workspace).some(
|
|
16411
|
+
(reference) => import_node_fs18.default.existsSync(reference) && import_node_fs18.default.realpathSync(reference) === project
|
|
16412
|
+
))
|
|
16413
|
+
return workspace;
|
|
16414
|
+
}
|
|
16415
|
+
if (import_node_fs18.default.existsSync(import_node_path19.default.join(dir, ".git")) || import_node_path19.default.dirname(dir) === dir) return null;
|
|
16416
|
+
}
|
|
16417
|
+
}
|
|
16403
16418
|
var loaded = /* @__PURE__ */ new Map();
|
|
16404
16419
|
function xcodeProjectFile(xcodeproj) {
|
|
16405
16420
|
for (const name2 of ["project.pbxproj", "project.xcproj"]) {
|
|
@@ -17501,12 +17516,17 @@ async function missingModulesMessage(packagePath, missing) {
|
|
|
17501
17516
|
})
|
|
17502
17517
|
);
|
|
17503
17518
|
const width = Math.max(...[...missing.keys()].map((name2) => name2.length));
|
|
17519
|
+
const opened = xcodeProjects.get(packagePath)?.xcodeproj;
|
|
17520
|
+
const workspace = opened?.endsWith(".xcodeproj") ? enclosingXcodeWorkspace(opened) : null;
|
|
17504
17521
|
return [
|
|
17505
17522
|
`Peach does not provide ${missing.size} module${missing.size === 1 ? "" : "s"} this app imports:`,
|
|
17506
17523
|
...[...missing].map(([name2, files2]) => {
|
|
17507
17524
|
const gap = gaps.get(name2);
|
|
17508
17525
|
return ` ${name2.padEnd(width)} ${files2.length} file${files2.length === 1 ? "" : "s"}${gap ? `, ${gap.source.includes("://") ? `package ${gap.source}` : gap.source.startsWith("/") ? `package ${import_node_path20.default.relative(packagePath, gap.source) || "."}` : gap.source} (${gap.reason})` : ""}`;
|
|
17509
|
-
})
|
|
17526
|
+
}),
|
|
17527
|
+
...workspace ? [
|
|
17528
|
+
`${import_node_path20.default.basename(opened)} is part of ${import_node_path20.default.relative(process.cwd(), workspace)}, which holds its local packages and Package.resolved pins; pass the workspace to build what Xcode builds there.`
|
|
17529
|
+
] : []
|
|
17510
17530
|
].join("\n");
|
|
17511
17531
|
}
|
|
17512
17532
|
async function compileRemote(packagePath, snapshot, hosted) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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.935 | (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.935 | (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.935 | (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/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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.935 | (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.935 | (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;
|
package/dist-lib/kotlin-host.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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;
|
package/dist-lib/menu.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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/menu.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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.935 | (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/metro.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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.935 | (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.935 | (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/plist.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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;
|
package/dist-lib/plist.mjs
CHANGED
package/dist-lib/profiles.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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.935 | (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.935 | (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/render-mode.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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.935 | (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;
|
package/dist-lib/sdk.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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;
|
|
@@ -1272,8 +1272,9 @@ async function inspectDebugFind(bridge, target) {
|
|
|
1272
1272
|
code: `window.__sootsimTest.debugFind(${JSON.stringify(target)})`
|
|
1273
1273
|
});
|
|
1274
1274
|
}
|
|
1275
|
-
async function callDebugBridge(bridge, expression, host = false) {
|
|
1276
|
-
const
|
|
1275
|
+
async function callDebugBridge(bridge, expression, host = false, project) {
|
|
1276
|
+
const call = `globalThis.__sootsimDebug.${expression}`;
|
|
1277
|
+
const code = project ? project(call) : call;
|
|
1277
1278
|
if (host) return bridge.send({ type: "evaluate", code });
|
|
1278
1279
|
return bridge.send({
|
|
1279
1280
|
type: "evaluate",
|
package/dist-lib/sdk.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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);
|
|
@@ -1168,8 +1168,9 @@ async function inspectDebugFind(bridge, target) {
|
|
|
1168
1168
|
code: `window.__sootsimTest.debugFind(${JSON.stringify(target)})`
|
|
1169
1169
|
});
|
|
1170
1170
|
}
|
|
1171
|
-
async function callDebugBridge(bridge, expression, host = false) {
|
|
1172
|
-
const
|
|
1171
|
+
async function callDebugBridge(bridge, expression, host = false, project) {
|
|
1172
|
+
const call = `globalThis.__sootsimDebug.${expression}`;
|
|
1173
|
+
const code = project ? project(call) : call;
|
|
1173
1174
|
if (host) return bridge.send({ type: "evaluate", code });
|
|
1174
1175
|
return bridge.send({
|
|
1175
1176
|
type: "evaluate",
|
package/dist-lib/skills.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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;
|
|
@@ -36372,6 +36372,21 @@ function workspaceReferences(workspace) {
|
|
|
36372
36372
|
}
|
|
36373
36373
|
return references;
|
|
36374
36374
|
}
|
|
36375
|
+
function enclosingXcodeWorkspace(xcodeproj) {
|
|
36376
|
+
const project = import_node_fs18.default.realpathSync(xcodeproj);
|
|
36377
|
+
for (let dir = import_node_path19.default.dirname(project); ; dir = import_node_path19.default.dirname(dir)) {
|
|
36378
|
+
for (const name2 of import_node_fs18.default.readdirSync(dir)) {
|
|
36379
|
+
if (!name2.endsWith(".xcworkspace")) continue;
|
|
36380
|
+
const workspace = import_node_path19.default.join(dir, name2);
|
|
36381
|
+
if (!import_node_fs18.default.existsSync(import_node_path19.default.join(workspace, "contents.xcworkspacedata"))) continue;
|
|
36382
|
+
if (workspaceReferences(workspace).some(
|
|
36383
|
+
(reference) => import_node_fs18.default.existsSync(reference) && import_node_fs18.default.realpathSync(reference) === project
|
|
36384
|
+
))
|
|
36385
|
+
return workspace;
|
|
36386
|
+
}
|
|
36387
|
+
if (import_node_fs18.default.existsSync(import_node_path19.default.join(dir, ".git")) || import_node_path19.default.dirname(dir) === dir) return null;
|
|
36388
|
+
}
|
|
36389
|
+
}
|
|
36375
36390
|
function xcodeProjectFile(xcodeproj) {
|
|
36376
36391
|
for (const name2 of ["project.pbxproj", "project.xcproj"]) {
|
|
36377
36392
|
const file = import_node_path19.default.join(xcodeproj, name2);
|
|
@@ -37436,12 +37451,17 @@ async function missingModulesMessage(packagePath, missing) {
|
|
|
37436
37451
|
})
|
|
37437
37452
|
);
|
|
37438
37453
|
const width = Math.max(...[...missing.keys()].map((name2) => name2.length));
|
|
37454
|
+
const opened = xcodeProjects.get(packagePath)?.xcodeproj;
|
|
37455
|
+
const workspace = opened?.endsWith(".xcodeproj") ? enclosingXcodeWorkspace(opened) : null;
|
|
37439
37456
|
return [
|
|
37440
37457
|
`Peach does not provide ${missing.size} module${missing.size === 1 ? "" : "s"} this app imports:`,
|
|
37441
37458
|
...[...missing].map(([name2, files2]) => {
|
|
37442
37459
|
const gap = gaps.get(name2);
|
|
37443
37460
|
return ` ${name2.padEnd(width)} ${files2.length} file${files2.length === 1 ? "" : "s"}${gap ? `, ${gap.source.includes("://") ? `package ${gap.source}` : gap.source.startsWith("/") ? `package ${import_node_path20.default.relative(packagePath, gap.source) || "."}` : gap.source} (${gap.reason})` : ""}`;
|
|
37444
|
-
})
|
|
37461
|
+
}),
|
|
37462
|
+
...workspace ? [
|
|
37463
|
+
`${import_node_path20.default.basename(opened)} is part of ${import_node_path20.default.relative(process.cwd(), workspace)}, which holds its local packages and Package.resolved pins; pass the workspace to build what Xcode builds there.`
|
|
37464
|
+
] : []
|
|
37445
37465
|
].join("\n");
|
|
37446
37466
|
}
|
|
37447
37467
|
async function compileRemote(packagePath, snapshot, hosted) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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.935 | (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.935 | (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.935 | (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;
|
package/dist-lib/swift.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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/vite-swift.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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;
|
|
@@ -7144,6 +7144,21 @@ function workspaceReferences(workspace) {
|
|
|
7144
7144
|
}
|
|
7145
7145
|
return references;
|
|
7146
7146
|
}
|
|
7147
|
+
function enclosingXcodeWorkspace(xcodeproj) {
|
|
7148
|
+
const project = import_node_fs13.default.realpathSync(xcodeproj);
|
|
7149
|
+
for (let dir = import_node_path14.default.dirname(project); ; dir = import_node_path14.default.dirname(dir)) {
|
|
7150
|
+
for (const name2 of import_node_fs13.default.readdirSync(dir)) {
|
|
7151
|
+
if (!name2.endsWith(".xcworkspace")) continue;
|
|
7152
|
+
const workspace = import_node_path14.default.join(dir, name2);
|
|
7153
|
+
if (!import_node_fs13.default.existsSync(import_node_path14.default.join(workspace, "contents.xcworkspacedata"))) continue;
|
|
7154
|
+
if (workspaceReferences(workspace).some(
|
|
7155
|
+
(reference) => import_node_fs13.default.existsSync(reference) && import_node_fs13.default.realpathSync(reference) === project
|
|
7156
|
+
))
|
|
7157
|
+
return workspace;
|
|
7158
|
+
}
|
|
7159
|
+
if (import_node_fs13.default.existsSync(import_node_path14.default.join(dir, ".git")) || import_node_path14.default.dirname(dir) === dir) return null;
|
|
7160
|
+
}
|
|
7161
|
+
}
|
|
7147
7162
|
var loaded = /* @__PURE__ */ new Map();
|
|
7148
7163
|
function xcodeProjectFile(xcodeproj) {
|
|
7149
7164
|
for (const name2 of ["project.pbxproj", "project.xcproj"]) {
|
|
@@ -8256,12 +8271,17 @@ async function missingModulesMessage(packagePath, missing) {
|
|
|
8256
8271
|
})
|
|
8257
8272
|
);
|
|
8258
8273
|
const width = Math.max(...[...missing.keys()].map((name2) => name2.length));
|
|
8274
|
+
const opened = xcodeProjects.get(packagePath)?.xcodeproj;
|
|
8275
|
+
const workspace = opened?.endsWith(".xcodeproj") ? enclosingXcodeWorkspace(opened) : null;
|
|
8259
8276
|
return [
|
|
8260
8277
|
`Peach does not provide ${missing.size} module${missing.size === 1 ? "" : "s"} this app imports:`,
|
|
8261
8278
|
...[...missing].map(([name2, files2]) => {
|
|
8262
8279
|
const gap = gaps.get(name2);
|
|
8263
8280
|
return ` ${name2.padEnd(width)} ${files2.length} file${files2.length === 1 ? "" : "s"}${gap ? `, ${gap.source.includes("://") ? `package ${gap.source}` : gap.source.startsWith("/") ? `package ${import_node_path15.default.relative(packagePath, gap.source) || "."}` : gap.source} (${gap.reason})` : ""}`;
|
|
8264
|
-
})
|
|
8281
|
+
}),
|
|
8282
|
+
...workspace ? [
|
|
8283
|
+
`${import_node_path15.default.basename(opened)} is part of ${import_node_path15.default.relative(process.cwd(), workspace)}, which holds its local packages and Package.resolved pins; pass the workspace to build what Xcode builds there.`
|
|
8284
|
+
] : []
|
|
8265
8285
|
].join("\n");
|
|
8266
8286
|
}
|
|
8267
8287
|
async function compileRemote(packagePath, snapshot, hosted) {
|
package/dist-lib/vite.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.935 | (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.935 | (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/package.json
CHANGED
package/src/swift-host.ts
CHANGED
|
@@ -54,7 +54,11 @@ import {
|
|
|
54
54
|
type SwiftImageUpload,
|
|
55
55
|
type SwiftNativeModules,
|
|
56
56
|
} from './swift-submit'
|
|
57
|
-
import {
|
|
57
|
+
import {
|
|
58
|
+
enclosingXcodeWorkspace,
|
|
59
|
+
readXcodeAppTarget,
|
|
60
|
+
type XcodeAppTarget,
|
|
61
|
+
} from './xcode-project'
|
|
58
62
|
import type { SwiftEntryModuleArgs } from '../../sootsim-swift/src/entryModule'
|
|
59
63
|
import type {
|
|
60
64
|
AppCatalogColor,
|
|
@@ -1097,12 +1101,21 @@ async function missingModulesMessage(
|
|
|
1097
1101
|
}),
|
|
1098
1102
|
)
|
|
1099
1103
|
const width = Math.max(...[...missing.keys()].map((name) => name.length))
|
|
1104
|
+
const opened = xcodeProjects.get(packagePath)?.xcodeproj
|
|
1105
|
+
const workspace = opened?.endsWith('.xcodeproj')
|
|
1106
|
+
? enclosingXcodeWorkspace(opened)
|
|
1107
|
+
: null
|
|
1100
1108
|
return [
|
|
1101
1109
|
`Peach does not provide ${missing.size} module${missing.size === 1 ? '' : 's'} this app imports:`,
|
|
1102
1110
|
...[...missing].map(([name, files]) => {
|
|
1103
1111
|
const gap = gaps.get(name)
|
|
1104
1112
|
return ` ${name.padEnd(width)} ${files.length} file${files.length === 1 ? '' : 's'}${gap ? `, ${gap.source.includes('://') ? `package ${gap.source}` : gap.source.startsWith('/') ? `package ${path.relative(packagePath, gap.source) || '.'}` : gap.source} (${gap.reason})` : ''}`
|
|
1105
1113
|
}),
|
|
1114
|
+
...(workspace
|
|
1115
|
+
? [
|
|
1116
|
+
`${path.basename(opened!)} is part of ${path.relative(process.cwd(), workspace)}, which holds its local packages and Package.resolved pins; pass the workspace to build what Xcode builds there.`,
|
|
1117
|
+
]
|
|
1118
|
+
: []),
|
|
1106
1119
|
].join('\n')
|
|
1107
1120
|
}
|
|
1108
1121
|
|
package/src/xcode-project.ts
CHANGED
|
@@ -313,6 +313,30 @@ function workspaceReferences(workspace: string): string[] {
|
|
|
313
313
|
return references
|
|
314
314
|
}
|
|
315
315
|
|
|
316
|
+
/**
|
|
317
|
+
* the workspace in an ancestor directory that lists `xcodeproj`, up to the
|
|
318
|
+
* repository root: opened alone, the project misses the local packages and
|
|
319
|
+
* Package.resolved pins that workspace holds.
|
|
320
|
+
*/
|
|
321
|
+
export function enclosingXcodeWorkspace(xcodeproj: string): string | null {
|
|
322
|
+
const project = fs.realpathSync(xcodeproj)
|
|
323
|
+
for (let dir = path.dirname(project); ; dir = path.dirname(dir)) {
|
|
324
|
+
for (const name of fs.readdirSync(dir)) {
|
|
325
|
+
if (!name.endsWith('.xcworkspace')) continue
|
|
326
|
+
const workspace = path.join(dir, name)
|
|
327
|
+
if (!fs.existsSync(path.join(workspace, 'contents.xcworkspacedata'))) continue
|
|
328
|
+
if (
|
|
329
|
+
workspaceReferences(workspace).some(
|
|
330
|
+
(reference) =>
|
|
331
|
+
fs.existsSync(reference) && fs.realpathSync(reference) === project,
|
|
332
|
+
)
|
|
333
|
+
)
|
|
334
|
+
return workspace
|
|
335
|
+
}
|
|
336
|
+
if (fs.existsSync(path.join(dir, '.git')) || path.dirname(dir) === dir) return null
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
|
|
316
340
|
/**
|
|
317
341
|
* the workspace or project a path names: the bundle itself, or in a
|
|
318
342
|
* directory its one workspace, else its one project, as xcode opens it.
|