peachsim 0.1.2228 → 0.1.2231
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/device.ts +1 -1
- package/cli/commands/flow.ts +1 -1
- package/dist-lib/agent-daemon-client.cjs +1 -1
- package/dist-lib/agent-events.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 +35 -9
- package/dist-lib/capture-contract.cjs +1 -1
- package/dist-lib/capture-contract.mjs +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/config.mjs +1 -1
- package/dist-lib/detox/index.cjs +5 -2
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/expo-swift-bundle.cjs +33 -7
- 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 +76 -11
- package/dist-lib/host/fetch-proxy-handler.cjs +4 -4
- 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 +13 -5
- 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 +16 -14
- package/dist-lib/menu.mjs +16 -14
- 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 +7 -5
- package/dist-lib/native-app-identity-project.cjs +5 -3
- package/dist-lib/native-app-identity-project.mjs +5 -3
- 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/pdfium-raster.cjs +1 -1
- package/dist-lib/pdfium-raster.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/public-origins-lib-esm.json +25 -24
- package/dist-lib/public-origins-lib.json +55 -53
- package/dist-lib/react-native-host-modules.cjs +1 -1
- package/dist-lib/react-native-host-modules.mjs +1 -1
- package/dist-lib/reap-browser.cjs +1 -1
- package/dist-lib/scripts/dev-server-scanner.cjs +43 -3
- package/dist-lib/sdk.cjs +1 -1
- package/dist-lib/sdk.mjs +1 -1
- package/dist-lib/skills.cjs +77 -12
- 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 +32 -6
- package/dist-lib/vite.cjs +10 -4
- package/dist-lib/worklet-executable.cjs +1 -1
- package/dist-lib/worklet-executable.mjs +1 -1
- package/dist-types/packages/peach-engine/src/engine/canvaskit-api.d.ts +3 -0
- package/dist-types/packages/peach-engine/src/engine/native-layout.d.ts +10 -3
- package/dist-types/packages/peach-engine/src/engine/scene-table.d.ts +1 -1
- package/dist-types/packages/peach-engine/src/engine/types.d.ts +2 -1
- package/install.sh +12 -2
- package/kotlin/sdk.tar.gz +0 -0
- package/package.json +1 -1
- package/runtime-companion.json +1 -1
- package/scripts/dev-server-scanner.ts +64 -3
- package/src/appPackageContract.ts +1 -1
- package/src/conformance-pixel-comparison.ts +12 -7
- package/src/menu.ts +17 -99
- package/src/menuContract.ts +102 -0
- package/src/react-native-coverage/native-typescript-parser.ts +18 -8
- package/src/settingsContract.ts +8 -8
- package/src/swift-host.ts +27 -2
- package/src/vite-plugin-one.ts +2 -0
- package/src/vite-plugin.ts +9 -8
- package/src/xcode-project.ts +8 -2
package/dist-lib/skills.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2231 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -39,7 +39,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
39
39
|
var define_SWIFT_COVERAGE_SOURCE_DIGESTS_default;
|
|
40
40
|
var init_define_SWIFT_COVERAGE_SOURCE_DIGESTS = __esm({
|
|
41
41
|
"<define:__SWIFT_COVERAGE_SOURCE_DIGESTS__>"() {
|
|
42
|
-
define_SWIFT_COVERAGE_SOURCE_DIGESTS_default = { "swift-coverage/indexdump.ts": "0d82d8eeb96bf377f409ea7e33274c341a710c0e071f6b6e17571a23d8d92412", "swift-coverage/indexing.ts": "633ccf19eec1f382a8847d0ee1dca42a2792a3c60aafd43622ed5152b09b8272", "swift-coverage/types.ts": "bd8fae54ea6c53e110cd8a5d7b57c1d532dd0166e09fdaea63c4f270c3780dd1", "swift-coverage/source.ts": "c151758a9f67631bc61473c375df0dc017da6902a34533b2cf4fc4fd7d19b6ee", "swift-coverage/package.ts": "1f0068be7461fa7c5a7a891faf318f305cbed2e94c19667ba76627f7e5be260b", "swift-coverage/xcode.ts": "65a500b806ce1c3a496de27f2e0ad77287c0f6795c618342c08af647f92af1fa", "swift-coverage/xcode-assets.ts": "d98d6294b359528f7733b26db6f80f554782354faa235605f9562be4ad98b8a3", "swift-coverage/xcode-asset-symbols.ts": "1b2a67733bc9d139b351466270205452a6172140bc25080d72619e2952c44671", "swift-coverage/xcode-bridging.ts": "33184be8c5daf6646aa5a1276a4e15531f1be27b7c26f56550e0fbb1fc678a11", "swift-coverage/xcode-packages.ts": "8e6020d17d24474150a5a50d042aca6261819ef75c79680a287a66f395909915", "swift-coverage/xcode-strings.ts": "f2dd4c7cd8ef77035184b0132909c2fa09fd20ed06b7757c2f1f960bfdde031c", "swift-coverage/reader.ts": "da559b67ecd1161dea70c980b5f98f2c55af3550f0714479100fa5e9e813625c", "swift-coverage/provenance.ts": "eb3b41ae8b58b48f6758f084800f188dfb1edb227e483abdd6b80cde66e849b9", "swift-package-manifest.ts": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "
|
|
42
|
+
define_SWIFT_COVERAGE_SOURCE_DIGESTS_default = { "swift-coverage/indexdump.ts": "0d82d8eeb96bf377f409ea7e33274c341a710c0e071f6b6e17571a23d8d92412", "swift-coverage/indexing.ts": "633ccf19eec1f382a8847d0ee1dca42a2792a3c60aafd43622ed5152b09b8272", "swift-coverage/types.ts": "bd8fae54ea6c53e110cd8a5d7b57c1d532dd0166e09fdaea63c4f270c3780dd1", "swift-coverage/source.ts": "c151758a9f67631bc61473c375df0dc017da6902a34533b2cf4fc4fd7d19b6ee", "swift-coverage/package.ts": "1f0068be7461fa7c5a7a891faf318f305cbed2e94c19667ba76627f7e5be260b", "swift-coverage/xcode.ts": "65a500b806ce1c3a496de27f2e0ad77287c0f6795c618342c08af647f92af1fa", "swift-coverage/xcode-assets.ts": "d98d6294b359528f7733b26db6f80f554782354faa235605f9562be4ad98b8a3", "swift-coverage/xcode-asset-symbols.ts": "1b2a67733bc9d139b351466270205452a6172140bc25080d72619e2952c44671", "swift-coverage/xcode-bridging.ts": "33184be8c5daf6646aa5a1276a4e15531f1be27b7c26f56550e0fbb1fc678a11", "swift-coverage/xcode-packages.ts": "8e6020d17d24474150a5a50d042aca6261819ef75c79680a287a66f395909915", "swift-coverage/xcode-strings.ts": "f2dd4c7cd8ef77035184b0132909c2fa09fd20ed06b7757c2f1f960bfdde031c", "swift-coverage/reader.ts": "da559b67ecd1161dea70c980b5f98f2c55af3550f0714479100fa5e9e813625c", "swift-coverage/provenance.ts": "eb3b41ae8b58b48f6758f084800f188dfb1edb227e483abdd6b80cde66e849b9", "swift-package-manifest.ts": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "774c42f06f8d5c1f3f3a09f94379db2046af0016f1fcd6cbe595a9c2da5dcf95", "xcode-target-members.ts": "d49af77a690cff481b38333b5f63f6600123b1bb57f410b0adb298b010d2047b", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
|
|
43
43
|
}
|
|
44
44
|
});
|
|
45
45
|
|
|
@@ -63324,7 +63324,7 @@ function readXcodeAppTarget(input, targetName, configurationName, options = {})
|
|
|
63324
63324
|
const postBundleScripts = [];
|
|
63325
63325
|
for (const id of [...list(app.target.buildPhases)].reverse()) {
|
|
63326
63326
|
const phase = app.project.object(id);
|
|
63327
|
-
if (phase?.isa !== "PBXShellScriptBuildPhase" || list(phase.
|
|
63327
|
+
if (phase?.isa !== "PBXShellScriptBuildPhase" || list(phase.outputPaths).length || list(phase.outputFileListPaths).length)
|
|
63328
63328
|
break;
|
|
63329
63329
|
postBundleScripts.unshift({
|
|
63330
63330
|
name: str(phase.name) ?? id,
|
|
@@ -63333,6 +63333,8 @@ function readXcodeAppTarget(input, targetName, configurationName, options = {})
|
|
|
63333
63333
|
str(phase.shellScript) ?? ""
|
|
63334
63334
|
),
|
|
63335
63335
|
directory: app.project.projectDir,
|
|
63336
|
+
inputPaths: list(phase.inputPaths),
|
|
63337
|
+
inputFileListPaths: list(phase.inputFileListPaths),
|
|
63336
63338
|
environment: Object.fromEntries(
|
|
63337
63339
|
[...settingKeys].filter((key2) => /^[A-Za-z_][A-Za-z0-9_]*$/.test(key2)).map((key2) => [key2, settings(key2)])
|
|
63338
63340
|
)
|
|
@@ -65818,7 +65820,7 @@ var init_swift_standin_digest = __esm({
|
|
|
65818
65820
|
STANDIN_DIGEST_ENTRYPOINTS = ["swift-standins.ts", "swift-objc-compile.ts"];
|
|
65819
65821
|
SPECIFIER = /from\s*['"]([^'"]+)['"]|import\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
|
|
65820
65822
|
standinSourceDigest = (srcDir = __sootsim_import_meta_dirname) => sourceClosureDigest(srcDir, STANDIN_DIGEST_ENTRYPOINTS);
|
|
65821
|
-
STANDIN_SOURCE_DIGEST = true ? "
|
|
65823
|
+
STANDIN_SOURCE_DIGEST = true ? "f8700690d0cd621b5d9417ea570f1f45c7ec1ad54492b23aa9792102938e9e82" : standinSourceDigest();
|
|
65822
65824
|
}
|
|
65823
65825
|
});
|
|
65824
65826
|
|
|
@@ -66279,7 +66281,7 @@ var init_package_tree_digest = __esm({
|
|
|
66279
66281
|
|
|
66280
66282
|
// src/expo-native-prebuilt.ts
|
|
66281
66283
|
function expoNativeCompilerDigestValue() {
|
|
66282
|
-
return true ? "
|
|
66284
|
+
return true ? "aab5589ba02cd96332e686f60153187e7357cc46c8a6ec5369f1400cea6f6da0" : expoNativeCompilerDigest(__sootsim_import_meta_dirname);
|
|
66283
66285
|
}
|
|
66284
66286
|
function readSources(value) {
|
|
66285
66287
|
const sources = isRecord(value) ? value.sources : null;
|
|
@@ -76744,11 +76746,35 @@ function buildSwiftBundleFiles(packagePath, hosted, inputs, resourceBundles) {
|
|
|
76744
76746
|
CONTENTS_FOLDER_PATH: wrapper,
|
|
76745
76747
|
UNLOCALIZED_RESOURCES_FOLDER_PATH: wrapper,
|
|
76746
76748
|
INFOPLIST_PATH: `${wrapper}/Info.plist`,
|
|
76747
|
-
SCRIPT_INPUT_FILE_COUNT:
|
|
76748
|
-
SCRIPT_INPUT_FILE_LIST_COUNT:
|
|
76749
|
+
SCRIPT_INPUT_FILE_COUNT: String(phase.inputPaths.length),
|
|
76750
|
+
SCRIPT_INPUT_FILE_LIST_COUNT: String(phase.inputFileListPaths.length),
|
|
76749
76751
|
SCRIPT_OUTPUT_FILE_COUNT: "0",
|
|
76750
76752
|
SCRIPT_OUTPUT_FILE_LIST_COUNT: "0"
|
|
76751
76753
|
};
|
|
76754
|
+
const inputPath = (raw2) => {
|
|
76755
|
+
const file = import_node_path83.default.resolve(
|
|
76756
|
+
phase.directory,
|
|
76757
|
+
expand(raw2, (key2) => env[key2] ?? "")
|
|
76758
|
+
);
|
|
76759
|
+
if (!import_node_fs86.default.existsSync(file))
|
|
76760
|
+
throw new Error(
|
|
76761
|
+
`${xcode.app.name}: Run Script "${phase.name}" missing input ${file}`
|
|
76762
|
+
);
|
|
76763
|
+
if (!file.startsWith(`${dir}${import_node_path83.default.sep}`))
|
|
76764
|
+
watched.push(import_node_path83.default.relative(packagePath, file).split(import_node_path83.default.sep).join("/"));
|
|
76765
|
+
return file;
|
|
76766
|
+
};
|
|
76767
|
+
phase.inputPaths.forEach((raw2, index) => {
|
|
76768
|
+
env[`SCRIPT_INPUT_FILE_${index}`] = inputPath(raw2);
|
|
76769
|
+
});
|
|
76770
|
+
phase.inputFileListPaths.forEach((raw2, index) => {
|
|
76771
|
+
const source = inputPath(raw2);
|
|
76772
|
+
const entries = fileListEntries(source, inputPath);
|
|
76773
|
+
const expanded = import_node_path83.default.join(dir, `Input-${index}.xcfilelist`);
|
|
76774
|
+
import_node_fs86.default.writeFileSync(expanded, `${entries.join("\n")}
|
|
76775
|
+
`);
|
|
76776
|
+
env[`SCRIPT_INPUT_FILE_LIST_${index}`] = expanded;
|
|
76777
|
+
});
|
|
76752
76778
|
try {
|
|
76753
76779
|
const [shell, ...args] = phase.command;
|
|
76754
76780
|
(0, import_node_child_process47.execFileSync)(shell, args, {
|
|
@@ -86990,7 +87016,7 @@ var init_nitro_superset = __esm({
|
|
|
86990
87016
|
init_nitroContract();
|
|
86991
87017
|
init_swift_standin_digest();
|
|
86992
87018
|
NITRO_SUPERSET_ENTRY_NAME = "superset";
|
|
86993
|
-
NITRO_COMPILER_DIGEST = true ? "
|
|
87019
|
+
NITRO_COMPILER_DIGEST = true ? "b3ae355413a190ba1006db08b3fa373b79f99034163c936bd1ec2c89b9bce038" : nitroCompilerSourceDigest(__sootsim_import_meta_dirname, STANDIN_SOURCE_DIGEST2);
|
|
86994
87020
|
nitroSupersetLock = parseLock(nitro_superset_lock_default);
|
|
86995
87021
|
nitroSupersetKey = (inputs) => nativeEntryKey({ ...inputs, compiler: NITRO_COMPILER_DIGEST });
|
|
86996
87022
|
published2 = /* @__PURE__ */ new Map();
|
|
@@ -87702,7 +87728,7 @@ var init_one_sdk_bundle = __esm({
|
|
|
87702
87728
|
var runtime_companion_default;
|
|
87703
87729
|
var init_runtime_companion = __esm({
|
|
87704
87730
|
"runtime-companion.json"() {
|
|
87705
|
-
runtime_companion_default = { abi: 1, sha256: "
|
|
87731
|
+
runtime_companion_default = { abi: 1, sha256: "00799b02f54a61aa35db60817d564847a255eef875cbc7225013f1f27991ccde", file: "node/cli-00799b02f54a61aa35db60817d564847a255eef875cbc7225013f1f27991ccde.cjs" };
|
|
87706
87732
|
}
|
|
87707
87733
|
});
|
|
87708
87734
|
|
|
@@ -89809,6 +89835,29 @@ async function fetchManifestEnrichment(result, buildIconProxyUrl) {
|
|
|
89809
89835
|
});
|
|
89810
89836
|
invalidatePortCache(result.port);
|
|
89811
89837
|
}
|
|
89838
|
+
function oneNativeWidgetFromScan(scan2, result, identity2) {
|
|
89839
|
+
if (!Array.isArray(scan2)) return null;
|
|
89840
|
+
for (const entry of scan2) {
|
|
89841
|
+
if (!entry || typeof entry !== "object" || entry.port !== result.port) continue;
|
|
89842
|
+
if (typeof entry.bundleUrl !== "string") continue;
|
|
89843
|
+
let advertised;
|
|
89844
|
+
try {
|
|
89845
|
+
advertised = new URL(entry.bundleUrl);
|
|
89846
|
+
} catch {
|
|
89847
|
+
continue;
|
|
89848
|
+
}
|
|
89849
|
+
if (!isLoopbackHost(advertised.hostname) || advertised.port !== String(result.port))
|
|
89850
|
+
continue;
|
|
89851
|
+
const widget = configuredWidgetFromScan(scan2, advertised.href);
|
|
89852
|
+
if (widget?.projectRoot === identity2.root && widget.metadata.bundleId === identity2.bundleId)
|
|
89853
|
+
return {
|
|
89854
|
+
...widget,
|
|
89855
|
+
bundleUrl: result.bundleUrl,
|
|
89856
|
+
packageUrl: new URL("/__peach/swift-package/OneWidgets", result.bundleUrl).href
|
|
89857
|
+
};
|
|
89858
|
+
}
|
|
89859
|
+
return null;
|
|
89860
|
+
}
|
|
89812
89861
|
async function probePort(port, buildIconProxyUrl, listeningProcess, verdict) {
|
|
89813
89862
|
const demoApps = await loadOptionalDemoApps();
|
|
89814
89863
|
const probeHostname = await tcpPing(port);
|
|
@@ -89835,6 +89884,15 @@ async function probePort(port, buildIconProxyUrl, listeningProcess, verdict) {
|
|
|
89835
89884
|
]);
|
|
89836
89885
|
const manifestParsed = manifestRes ? safeParseManifest(manifestRes.body) : null;
|
|
89837
89886
|
const { launchUrl: manifestLaunchUrl, client: manifestClient } = readExpoManifestFields(manifestParsed);
|
|
89887
|
+
const metadata = manifestParsed?.metadata;
|
|
89888
|
+
const extra = manifestParsed?.extra;
|
|
89889
|
+
const expoGo = extra && typeof extra === "object" ? Reflect.get(extra, "expoGo") : null;
|
|
89890
|
+
const developer = expoGo && typeof expoGo === "object" ? Reflect.get(expoGo, "developer") : null;
|
|
89891
|
+
const projectRoot = developer && typeof developer === "object" ? Reflect.get(developer, "projectRoot") : null;
|
|
89892
|
+
const bundleId = manifestClient.ios?.bundleIdentifier;
|
|
89893
|
+
if (metadata && typeof metadata === "object" && Reflect.get(metadata, "oneNativeApp") === true && typeof projectRoot === "string" && typeof bundleId === "string")
|
|
89894
|
+
oneNativeApps.set(port, { root: projectRoot, bundleId });
|
|
89895
|
+
else if (manifestRes) oneNativeApps.delete(port);
|
|
89838
89896
|
const manifestState = !manifestRes ? "no-answer" : manifestParsed && (manifestLaunchUrl || typeof manifestClient.name === "string") ? "resolved" : "no-manifest";
|
|
89839
89897
|
const metroPackager = !!statusRes?.body.includes("packager-status:running") && !(manifestState === "resolved" && manifestLaunchUrl?.includes("/one/metro-entry.bundle"));
|
|
89840
89898
|
const [sootsimRes, swiftRes, kotlinRes, oneScanRes] = metroPackager ? [null, null, null, null] : await Promise.all([
|
|
@@ -90055,6 +90113,9 @@ async function scanDevServers(opts = {}) {
|
|
|
90055
90113
|
for (const p of [...knownOne]) {
|
|
90056
90114
|
if (!currentPorts.has(p)) knownOne.delete(p);
|
|
90057
90115
|
}
|
|
90116
|
+
for (const p of [...oneNativeApps.keys()]) {
|
|
90117
|
+
if (!currentPorts.has(p)) oneNativeApps.delete(p);
|
|
90118
|
+
}
|
|
90058
90119
|
for (const p of [...enrichmentCache.keys()]) {
|
|
90059
90120
|
if (!currentPorts.has(p)) enrichmentCache.delete(p);
|
|
90060
90121
|
}
|
|
@@ -90079,6 +90140,7 @@ async function scanDevServers(opts = {}) {
|
|
|
90079
90140
|
if (cached4 && cached4.pid !== pid) {
|
|
90080
90141
|
knownNonPatched.delete(port);
|
|
90081
90142
|
knownOne.delete(port);
|
|
90143
|
+
oneNativeApps.delete(port);
|
|
90082
90144
|
enrichmentCache.delete(port);
|
|
90083
90145
|
localIconPathCache.delete(port);
|
|
90084
90146
|
}
|
|
@@ -90106,7 +90168,8 @@ async function scanDevServers(opts = {}) {
|
|
|
90106
90168
|
}
|
|
90107
90169
|
await Promise.all(
|
|
90108
90170
|
results.map(async (result) => {
|
|
90109
|
-
|
|
90171
|
+
const nativeIdentity = oneNativeApps.get(result.port);
|
|
90172
|
+
if (result.framework !== "one" && result.framework !== "vxrn" && !nativeIdentity) {
|
|
90110
90173
|
result.widget = null;
|
|
90111
90174
|
return;
|
|
90112
90175
|
}
|
|
@@ -90121,7 +90184,8 @@ async function scanDevServers(opts = {}) {
|
|
|
90121
90184
|
result.widget ??= null;
|
|
90122
90185
|
return;
|
|
90123
90186
|
}
|
|
90124
|
-
|
|
90187
|
+
const scan3 = scanRes.statusCode === 200 && scanRes.contentType?.includes("json") ? safeParseManifest(scanRes.body) : null;
|
|
90188
|
+
result.widget = nativeIdentity ? oneNativeWidgetFromScan(scan3, result, nativeIdentity) : configuredWidgetFromScan(scan3, result.bundleUrl);
|
|
90125
90189
|
})
|
|
90126
90190
|
);
|
|
90127
90191
|
const pidByPort = /* @__PURE__ */ new Map();
|
|
@@ -90145,7 +90209,7 @@ async function scanDevServers(opts = {}) {
|
|
|
90145
90209
|
}
|
|
90146
90210
|
return results.filter((r) => !isSootSimSelfServer(r)).sort((a, b) => a.port - b.port);
|
|
90147
90211
|
}
|
|
90148
|
-
var import_child_process, import_promises11, import_http, import_net, import_node_fs107, import_node_os22, import_node_path108, LISTENER_LOCK_PATH, LISTENER_RESULT_PATH, LISTENER_LOCK_STALE_MS, LISTENER_LOCK_WAIT_MS, TIMEOUT_MS, MANIFEST_TIMEOUT_MS, SERVER_SCAN_PROBE_HEADER, TCP_GATE_MS, BODY_TIMEOUT_MS, FALLBACK_PORTS, SELF_PORT_RANGE_START, SELF_PORT_RANGE_END, DevServerScanUnavailableError, LISTING_TIMEOUT_MS, LISTENER_CACHE_MS, listenerCache, inflightListing, listenerHolds, cwdByPid, cwdQueue, cwdFlushing, localIconPathCache, localIconProbeInFlight, ENRICH_TIMEOUT_MS, enrichmentCache, enrichmentInFlight, knownNonPatched, knownOne, portCache, portCacheInvalidatedAt, NEGATIVE_CACHE_TTL_MS, WEAK_RESULT_CACHE_TTL_MS;
|
|
90212
|
+
var import_child_process, import_promises11, import_http, import_net, import_node_fs107, import_node_os22, import_node_path108, LISTENER_LOCK_PATH, LISTENER_RESULT_PATH, LISTENER_LOCK_STALE_MS, LISTENER_LOCK_WAIT_MS, TIMEOUT_MS, MANIFEST_TIMEOUT_MS, SERVER_SCAN_PROBE_HEADER, TCP_GATE_MS, BODY_TIMEOUT_MS, FALLBACK_PORTS, SELF_PORT_RANGE_START, SELF_PORT_RANGE_END, DevServerScanUnavailableError, LISTING_TIMEOUT_MS, LISTENER_CACHE_MS, listenerCache, inflightListing, listenerHolds, cwdByPid, cwdQueue, cwdFlushing, localIconPathCache, localIconProbeInFlight, ENRICH_TIMEOUT_MS, enrichmentCache, enrichmentInFlight, knownNonPatched, knownOne, oneNativeApps, portCache, portCacheInvalidatedAt, NEGATIVE_CACHE_TTL_MS, WEAK_RESULT_CACHE_TTL_MS;
|
|
90149
90213
|
var init_dev_server_scanner = __esm({
|
|
90150
90214
|
"scripts/dev-server-scanner.ts"() {
|
|
90151
90215
|
"use strict";
|
|
@@ -90210,6 +90274,7 @@ var init_dev_server_scanner = __esm({
|
|
|
90210
90274
|
enrichmentInFlight = /* @__PURE__ */ new Set();
|
|
90211
90275
|
knownNonPatched = /* @__PURE__ */ new Set();
|
|
90212
90276
|
knownOne = /* @__PURE__ */ new Set();
|
|
90277
|
+
oneNativeApps = /* @__PURE__ */ new Map();
|
|
90213
90278
|
portCache = /* @__PURE__ */ new Map();
|
|
90214
90279
|
portCacheInvalidatedAt = /* @__PURE__ */ new Map();
|
|
90215
90280
|
NEGATIVE_CACHE_TTL_MS = 3e4;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2231 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2231 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2231 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2231 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
package/dist-lib/swift.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2231 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/vite-swift.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2231 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -39,7 +39,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
39
39
|
var define_SWIFT_COVERAGE_SOURCE_DIGESTS_default;
|
|
40
40
|
var init_define_SWIFT_COVERAGE_SOURCE_DIGESTS = __esm({
|
|
41
41
|
"<define:__SWIFT_COVERAGE_SOURCE_DIGESTS__>"() {
|
|
42
|
-
define_SWIFT_COVERAGE_SOURCE_DIGESTS_default = { "swift-coverage/indexdump.ts": "0d82d8eeb96bf377f409ea7e33274c341a710c0e071f6b6e17571a23d8d92412", "swift-coverage/indexing.ts": "633ccf19eec1f382a8847d0ee1dca42a2792a3c60aafd43622ed5152b09b8272", "swift-coverage/types.ts": "bd8fae54ea6c53e110cd8a5d7b57c1d532dd0166e09fdaea63c4f270c3780dd1", "swift-coverage/source.ts": "c151758a9f67631bc61473c375df0dc017da6902a34533b2cf4fc4fd7d19b6ee", "swift-coverage/package.ts": "1f0068be7461fa7c5a7a891faf318f305cbed2e94c19667ba76627f7e5be260b", "swift-coverage/xcode.ts": "65a500b806ce1c3a496de27f2e0ad77287c0f6795c618342c08af647f92af1fa", "swift-coverage/xcode-assets.ts": "d98d6294b359528f7733b26db6f80f554782354faa235605f9562be4ad98b8a3", "swift-coverage/xcode-asset-symbols.ts": "1b2a67733bc9d139b351466270205452a6172140bc25080d72619e2952c44671", "swift-coverage/xcode-bridging.ts": "33184be8c5daf6646aa5a1276a4e15531f1be27b7c26f56550e0fbb1fc678a11", "swift-coverage/xcode-packages.ts": "8e6020d17d24474150a5a50d042aca6261819ef75c79680a287a66f395909915", "swift-coverage/xcode-strings.ts": "f2dd4c7cd8ef77035184b0132909c2fa09fd20ed06b7757c2f1f960bfdde031c", "swift-coverage/reader.ts": "da559b67ecd1161dea70c980b5f98f2c55af3550f0714479100fa5e9e813625c", "swift-coverage/provenance.ts": "eb3b41ae8b58b48f6758f084800f188dfb1edb227e483abdd6b80cde66e849b9", "swift-package-manifest.ts": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "
|
|
42
|
+
define_SWIFT_COVERAGE_SOURCE_DIGESTS_default = { "swift-coverage/indexdump.ts": "0d82d8eeb96bf377f409ea7e33274c341a710c0e071f6b6e17571a23d8d92412", "swift-coverage/indexing.ts": "633ccf19eec1f382a8847d0ee1dca42a2792a3c60aafd43622ed5152b09b8272", "swift-coverage/types.ts": "bd8fae54ea6c53e110cd8a5d7b57c1d532dd0166e09fdaea63c4f270c3780dd1", "swift-coverage/source.ts": "c151758a9f67631bc61473c375df0dc017da6902a34533b2cf4fc4fd7d19b6ee", "swift-coverage/package.ts": "1f0068be7461fa7c5a7a891faf318f305cbed2e94c19667ba76627f7e5be260b", "swift-coverage/xcode.ts": "65a500b806ce1c3a496de27f2e0ad77287c0f6795c618342c08af647f92af1fa", "swift-coverage/xcode-assets.ts": "d98d6294b359528f7733b26db6f80f554782354faa235605f9562be4ad98b8a3", "swift-coverage/xcode-asset-symbols.ts": "1b2a67733bc9d139b351466270205452a6172140bc25080d72619e2952c44671", "swift-coverage/xcode-bridging.ts": "33184be8c5daf6646aa5a1276a4e15531f1be27b7c26f56550e0fbb1fc678a11", "swift-coverage/xcode-packages.ts": "8e6020d17d24474150a5a50d042aca6261819ef75c79680a287a66f395909915", "swift-coverage/xcode-strings.ts": "f2dd4c7cd8ef77035184b0132909c2fa09fd20ed06b7757c2f1f960bfdde031c", "swift-coverage/reader.ts": "da559b67ecd1161dea70c980b5f98f2c55af3550f0714479100fa5e9e813625c", "swift-coverage/provenance.ts": "eb3b41ae8b58b48f6758f084800f188dfb1edb227e483abdd6b80cde66e849b9", "swift-package-manifest.ts": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "774c42f06f8d5c1f3f3a09f94379db2046af0016f1fcd6cbe595a9c2da5dcf95", "xcode-target-members.ts": "d49af77a690cff481b38333b5f63f6600123b1bb57f410b0adb298b010d2047b", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
|
|
43
43
|
}
|
|
44
44
|
});
|
|
45
45
|
|
|
@@ -29976,7 +29976,7 @@ function readXcodeAppTarget(input, targetName, configurationName, options = {})
|
|
|
29976
29976
|
const postBundleScripts = [];
|
|
29977
29977
|
for (const id of [...list(app.target.buildPhases)].reverse()) {
|
|
29978
29978
|
const phase = app.project.object(id);
|
|
29979
|
-
if (phase?.isa !== "PBXShellScriptBuildPhase" || list(phase.
|
|
29979
|
+
if (phase?.isa !== "PBXShellScriptBuildPhase" || list(phase.outputPaths).length || list(phase.outputFileListPaths).length)
|
|
29980
29980
|
break;
|
|
29981
29981
|
postBundleScripts.unshift({
|
|
29982
29982
|
name: str(phase.name) ?? id,
|
|
@@ -29985,6 +29985,8 @@ function readXcodeAppTarget(input, targetName, configurationName, options = {})
|
|
|
29985
29985
|
str(phase.shellScript) ?? ""
|
|
29986
29986
|
),
|
|
29987
29987
|
directory: app.project.projectDir,
|
|
29988
|
+
inputPaths: list(phase.inputPaths),
|
|
29989
|
+
inputFileListPaths: list(phase.inputFileListPaths),
|
|
29988
29990
|
environment: Object.fromEntries(
|
|
29989
29991
|
[...settingKeys].filter((key2) => /^[A-Za-z_][A-Za-z0-9_]*$/.test(key2)).map((key2) => [key2, settings(key2)])
|
|
29990
29992
|
)
|
|
@@ -31440,7 +31442,7 @@ function sourceClosureDigest(srcDir, entrypoints) {
|
|
|
31440
31442
|
return hash.digest("hex");
|
|
31441
31443
|
}
|
|
31442
31444
|
var standinSourceDigest = (srcDir = __sootsim_import_meta_dirname) => sourceClosureDigest(srcDir, STANDIN_DIGEST_ENTRYPOINTS);
|
|
31443
|
-
var STANDIN_SOURCE_DIGEST = true ? "
|
|
31445
|
+
var STANDIN_SOURCE_DIGEST = true ? "f8700690d0cd621b5d9417ea570f1f45c7ec1ad54492b23aa9792102938e9e82" : standinSourceDigest();
|
|
31444
31446
|
|
|
31445
31447
|
// src/swift-standins.ts
|
|
31446
31448
|
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
@@ -38020,11 +38022,35 @@ function buildSwiftBundleFiles(packagePath, hosted, inputs, resourceBundles) {
|
|
|
38020
38022
|
CONTENTS_FOLDER_PATH: wrapper,
|
|
38021
38023
|
UNLOCALIZED_RESOURCES_FOLDER_PATH: wrapper,
|
|
38022
38024
|
INFOPLIST_PATH: `${wrapper}/Info.plist`,
|
|
38023
|
-
SCRIPT_INPUT_FILE_COUNT:
|
|
38024
|
-
SCRIPT_INPUT_FILE_LIST_COUNT:
|
|
38025
|
+
SCRIPT_INPUT_FILE_COUNT: String(phase.inputPaths.length),
|
|
38026
|
+
SCRIPT_INPUT_FILE_LIST_COUNT: String(phase.inputFileListPaths.length),
|
|
38025
38027
|
SCRIPT_OUTPUT_FILE_COUNT: "0",
|
|
38026
38028
|
SCRIPT_OUTPUT_FILE_LIST_COUNT: "0"
|
|
38027
38029
|
};
|
|
38030
|
+
const inputPath = (raw2) => {
|
|
38031
|
+
const file = import_node_path55.default.resolve(
|
|
38032
|
+
phase.directory,
|
|
38033
|
+
expand(raw2, (key2) => env[key2] ?? "")
|
|
38034
|
+
);
|
|
38035
|
+
if (!import_node_fs54.default.existsSync(file))
|
|
38036
|
+
throw new Error(
|
|
38037
|
+
`${xcode.app.name}: Run Script "${phase.name}" missing input ${file}`
|
|
38038
|
+
);
|
|
38039
|
+
if (!file.startsWith(`${dir}${import_node_path55.default.sep}`))
|
|
38040
|
+
watched.push(import_node_path55.default.relative(packagePath, file).split(import_node_path55.default.sep).join("/"));
|
|
38041
|
+
return file;
|
|
38042
|
+
};
|
|
38043
|
+
phase.inputPaths.forEach((raw2, index) => {
|
|
38044
|
+
env[`SCRIPT_INPUT_FILE_${index}`] = inputPath(raw2);
|
|
38045
|
+
});
|
|
38046
|
+
phase.inputFileListPaths.forEach((raw2, index) => {
|
|
38047
|
+
const source = inputPath(raw2);
|
|
38048
|
+
const entries = fileListEntries(source, inputPath);
|
|
38049
|
+
const expanded = import_node_path55.default.join(dir, `Input-${index}.xcfilelist`);
|
|
38050
|
+
import_node_fs54.default.writeFileSync(expanded, `${entries.join("\n")}
|
|
38051
|
+
`);
|
|
38052
|
+
env[`SCRIPT_INPUT_FILE_LIST_${index}`] = expanded;
|
|
38053
|
+
});
|
|
38028
38054
|
try {
|
|
38029
38055
|
const [shell, ...args] = phase.command;
|
|
38030
38056
|
(0, import_node_child_process34.execFileSync)(shell, args, {
|
package/dist-lib/vite.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2231 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -39,7 +39,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
39
39
|
var define_SWIFT_COVERAGE_SOURCE_DIGESTS_default;
|
|
40
40
|
var init_define_SWIFT_COVERAGE_SOURCE_DIGESTS = __esm({
|
|
41
41
|
"<define:__SWIFT_COVERAGE_SOURCE_DIGESTS__>"() {
|
|
42
|
-
define_SWIFT_COVERAGE_SOURCE_DIGESTS_default = { "swift-coverage/indexdump.ts": "0d82d8eeb96bf377f409ea7e33274c341a710c0e071f6b6e17571a23d8d92412", "swift-coverage/indexing.ts": "633ccf19eec1f382a8847d0ee1dca42a2792a3c60aafd43622ed5152b09b8272", "swift-coverage/types.ts": "bd8fae54ea6c53e110cd8a5d7b57c1d532dd0166e09fdaea63c4f270c3780dd1", "swift-coverage/source.ts": "c151758a9f67631bc61473c375df0dc017da6902a34533b2cf4fc4fd7d19b6ee", "swift-coverage/package.ts": "1f0068be7461fa7c5a7a891faf318f305cbed2e94c19667ba76627f7e5be260b", "swift-coverage/xcode.ts": "65a500b806ce1c3a496de27f2e0ad77287c0f6795c618342c08af647f92af1fa", "swift-coverage/xcode-assets.ts": "d98d6294b359528f7733b26db6f80f554782354faa235605f9562be4ad98b8a3", "swift-coverage/xcode-asset-symbols.ts": "1b2a67733bc9d139b351466270205452a6172140bc25080d72619e2952c44671", "swift-coverage/xcode-bridging.ts": "33184be8c5daf6646aa5a1276a4e15531f1be27b7c26f56550e0fbb1fc678a11", "swift-coverage/xcode-packages.ts": "8e6020d17d24474150a5a50d042aca6261819ef75c79680a287a66f395909915", "swift-coverage/xcode-strings.ts": "f2dd4c7cd8ef77035184b0132909c2fa09fd20ed06b7757c2f1f960bfdde031c", "swift-coverage/reader.ts": "da559b67ecd1161dea70c980b5f98f2c55af3550f0714479100fa5e9e813625c", "swift-coverage/provenance.ts": "eb3b41ae8b58b48f6758f084800f188dfb1edb227e483abdd6b80cde66e849b9", "swift-package-manifest.ts": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "
|
|
42
|
+
define_SWIFT_COVERAGE_SOURCE_DIGESTS_default = { "swift-coverage/indexdump.ts": "0d82d8eeb96bf377f409ea7e33274c341a710c0e071f6b6e17571a23d8d92412", "swift-coverage/indexing.ts": "633ccf19eec1f382a8847d0ee1dca42a2792a3c60aafd43622ed5152b09b8272", "swift-coverage/types.ts": "bd8fae54ea6c53e110cd8a5d7b57c1d532dd0166e09fdaea63c4f270c3780dd1", "swift-coverage/source.ts": "c151758a9f67631bc61473c375df0dc017da6902a34533b2cf4fc4fd7d19b6ee", "swift-coverage/package.ts": "1f0068be7461fa7c5a7a891faf318f305cbed2e94c19667ba76627f7e5be260b", "swift-coverage/xcode.ts": "65a500b806ce1c3a496de27f2e0ad77287c0f6795c618342c08af647f92af1fa", "swift-coverage/xcode-assets.ts": "d98d6294b359528f7733b26db6f80f554782354faa235605f9562be4ad98b8a3", "swift-coverage/xcode-asset-symbols.ts": "1b2a67733bc9d139b351466270205452a6172140bc25080d72619e2952c44671", "swift-coverage/xcode-bridging.ts": "33184be8c5daf6646aa5a1276a4e15531f1be27b7c26f56550e0fbb1fc678a11", "swift-coverage/xcode-packages.ts": "8e6020d17d24474150a5a50d042aca6261819ef75c79680a287a66f395909915", "swift-coverage/xcode-strings.ts": "f2dd4c7cd8ef77035184b0132909c2fa09fd20ed06b7757c2f1f960bfdde031c", "swift-coverage/reader.ts": "da559b67ecd1161dea70c980b5f98f2c55af3550f0714479100fa5e9e813625c", "swift-coverage/provenance.ts": "eb3b41ae8b58b48f6758f084800f188dfb1edb227e483abdd6b80cde66e849b9", "swift-package-manifest.ts": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "774c42f06f8d5c1f3f3a09f94379db2046af0016f1fcd6cbe595a9c2da5dcf95", "xcode-target-members.ts": "d49af77a690cff481b38333b5f63f6600123b1bb57f410b0adb298b010d2047b", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
|
|
43
43
|
}
|
|
44
44
|
});
|
|
45
45
|
|
|
@@ -1072,7 +1072,7 @@ var init_src = __esm({
|
|
|
1072
1072
|
var runtime_companion_default;
|
|
1073
1073
|
var init_runtime_companion = __esm({
|
|
1074
1074
|
"runtime-companion.json"() {
|
|
1075
|
-
runtime_companion_default = { abi: 1, sha256: "
|
|
1075
|
+
runtime_companion_default = { abi: 1, sha256: "00799b02f54a61aa35db60817d564847a255eef875cbc7225013f1f27991ccde", file: "node/cli-00799b02f54a61aa35db60817d564847a255eef875cbc7225013f1f27991ccde.cjs" };
|
|
1076
1076
|
}
|
|
1077
1077
|
});
|
|
1078
1078
|
|
|
@@ -3228,7 +3228,7 @@ function readIosSdkTree(root) {
|
|
|
3228
3228
|
|
|
3229
3229
|
// src/swift-standin-digest.ts
|
|
3230
3230
|
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
3231
|
-
var STANDIN_SOURCE_DIGEST = true ? "
|
|
3231
|
+
var STANDIN_SOURCE_DIGEST = true ? "f8700690d0cd621b5d9417ea570f1f45c7ec1ad54492b23aa9792102938e9e82" : standinSourceDigest();
|
|
3232
3232
|
|
|
3233
3233
|
// src/expo-native-workspace.ts
|
|
3234
3234
|
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
@@ -6355,6 +6355,11 @@ var compilerArchives = {
|
|
|
6355
6355
|
}
|
|
6356
6356
|
}
|
|
6357
6357
|
};
|
|
6358
|
+
var SWIFT_PRIVATE_DISTRIBUTION_ENV = "PEACH_SWIFT_PRIVATE_DISTRIBUTION";
|
|
6359
|
+
function privateSwiftDistributionRoot() {
|
|
6360
|
+
const root = process.env[SWIFT_PRIVATE_DISTRIBUTION_ENV]?.trim();
|
|
6361
|
+
return root ? import_node_path10.default.resolve(root) : null;
|
|
6362
|
+
}
|
|
6358
6363
|
|
|
6359
6364
|
// src/swift-objc-runtime.ts
|
|
6360
6365
|
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
@@ -12664,6 +12669,7 @@ function peachPlugin(options = {}) {
|
|
|
12664
12669
|
let swiftPackages;
|
|
12665
12670
|
let swiftModuleRoot;
|
|
12666
12671
|
const moduleRootFor = () => {
|
|
12672
|
+
if (privateSwiftDistributionRoot()) return void 0;
|
|
12667
12673
|
if (swiftModuleRoot === void 0) {
|
|
12668
12674
|
const moduleRoot = import_path4.default.resolve(
|
|
12669
12675
|
import_path4.default.dirname((0, import_node_url2.fileURLToPath)(__sootsim_import_meta_url)),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2231 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -50,6 +50,9 @@ export interface CanvasKitGifApi {
|
|
|
50
50
|
_peachSkottieGifDemand(json: string, assets?: Record<string, ArrayBuffer | Uint8Array>): number;
|
|
51
51
|
}
|
|
52
52
|
export interface CanvasKitTextDataApi {
|
|
53
|
+
_peachRetainLayoutParagraph(slot: number, paragraph: Paragraph): void;
|
|
54
|
+
_peachLayoutParagraph(slot: number, width: number): Paragraph | null;
|
|
55
|
+
_peachReleaseLayoutParagraph(slot: number): void;
|
|
53
56
|
_peachMakeParagraph(collection: FontCollection, pointer: number, length: number): Paragraph | null;
|
|
54
57
|
HEAPU8: Uint8Array;
|
|
55
58
|
_malloc(length: number): number;
|
|
@@ -11,7 +11,6 @@ export interface NativeLayoutExports {
|
|
|
11
11
|
_peach_layout_values(): number;
|
|
12
12
|
_peach_layout_units(): number;
|
|
13
13
|
_peach_layout_enums(): number;
|
|
14
|
-
_peach_layout_scratch(): number;
|
|
15
14
|
_peach_layout_node_new(slot: number, pointScaleFactor: number, measured: number): void;
|
|
16
15
|
_peach_layout_node_free(slot: number): void;
|
|
17
16
|
_peach_layout_subtree_free(root: number): number;
|
|
@@ -31,6 +30,8 @@ export interface NativeLayoutExports {
|
|
|
31
30
|
_peach_layout_owner(slot: number): number;
|
|
32
31
|
_peach_layout_child_count(slot: number): number;
|
|
33
32
|
_peach_layout_mark_dirty(slot: number): void;
|
|
33
|
+
_peach_layout_text_policy(slot: number, policy: number, scale: number): void;
|
|
34
|
+
_peach_layout_measure_result(width: number, height: number, cacheable: number): void;
|
|
34
35
|
_peach_layout_force(slot: number): void;
|
|
35
36
|
_peach_layout_force_subtree(slot: number): void;
|
|
36
37
|
_peach_layout_seen(slot: number): void;
|
|
@@ -45,6 +46,7 @@ export interface NativeLayoutExports {
|
|
|
45
46
|
readonly HEAP32: Int32Array;
|
|
46
47
|
readonly HEAPF32: Float32Array;
|
|
47
48
|
peachLayoutMeasure?: MeasureHook;
|
|
49
|
+
peachLayoutTextLines?: (slot: number) => void;
|
|
48
50
|
peachLayoutExit?: (slot: number) => void;
|
|
49
51
|
}
|
|
50
52
|
export type MeasureHook = (slot: number, width: number, widthMode: number, height: number, heightMode: number) => void;
|
|
@@ -136,6 +138,12 @@ export declare const OVERFLOW_SCROLL = 2;
|
|
|
136
138
|
export declare const DISPLAY_FLEX = 0;
|
|
137
139
|
export declare const DISPLAY_NONE = 1;
|
|
138
140
|
export declare const DISPLAY_CONTENTS = 2;
|
|
141
|
+
export declare const TEXT_MEASURE = 1;
|
|
142
|
+
export declare const TEXT_MEASURE_PAPER = 2;
|
|
143
|
+
export declare const TEXT_MEASURE_ZERO_PROPOSAL = 4;
|
|
144
|
+
export declare const TEXT_MEASURE_STRETCH = 8;
|
|
145
|
+
export declare const TEXT_MEASURE_LINE_EVENTS = 16;
|
|
146
|
+
export declare const TEXT_MEASURE_HEIGHT_PROPOSAL = 32;
|
|
139
147
|
export declare const MEASURE_MODE_UNDEFINED = 0;
|
|
140
148
|
export declare const MEASURE_MODE_EXACTLY = 1;
|
|
141
149
|
export declare const MEASURE_MODE_AT_MOST = 2;
|
|
@@ -144,6 +152,5 @@ export interface NativeLayout {
|
|
|
144
152
|
readonly values: number;
|
|
145
153
|
readonly units: number;
|
|
146
154
|
readonly enums: number;
|
|
147
|
-
readonly scratch: number;
|
|
148
155
|
}
|
|
149
|
-
export declare function bindNativeLayout(ck: CanvasKit, measure: MeasureHook, exit: (slot: number) => void): NativeLayout;
|
|
156
|
+
export declare function bindNativeLayout(ck: CanvasKit, measure: MeasureHook, textLines: (slot: number) => void, exit: (slot: number) => void): NativeLayout;
|
|
@@ -177,7 +177,7 @@ export interface SceneNativeBinding {
|
|
|
177
177
|
_peach_numeric_text_parameters(handle: number): number;
|
|
178
178
|
_peach_numeric_text_draw(canvas: number, handle: number, x: number, y: number, elapsed: number): void;
|
|
179
179
|
_peach_numeric_text_drop(handle: number): void;
|
|
180
|
-
_peach_scene_set_image(slot: number, image: number, padLeft: number, padTop: number, padRight: number, padBottom: number, srcLeft: number, srcTop: number, srcRight: number, srcBottom: number, offsetX: number, adjustX: number, offsetY: number, adjustY: number, width: number, height: number, repeat: number, mipmaps: number, tintR: number, tintG: number, tintB: number, tintA: number, alpha: number, shape: number, sampling: number): void;
|
|
180
|
+
_peach_scene_set_image(slot: number, image: number, padLeft: number, padTop: number, padRight: number, padBottom: number, srcLeft: number, srcTop: number, srcRight: number, srcBottom: number, offsetX: number, adjustX: number, offsetY: number, adjustY: number, width: number, height: number, repeat: number, mipmaps: number, tintR: number, tintG: number, tintB: number, tintA: number, alpha: number, shape: number, sampling: number, swiftPixelOrigin: number): void;
|
|
181
181
|
_peach_scene_set_picture(slot: number, picture: number, fontGeneration: number, drawnNodes: number): void;
|
|
182
182
|
_peach_scene_set_ink(slot: number, glass: number, id: number, label: number): void;
|
|
183
183
|
_peach_ink_draw_picture(canvas: number, picture: number, shader: number, text: number, left: number, top: number, right: number, bottom: number): void;
|
|
@@ -429,7 +429,7 @@ export interface SootSimStyle {
|
|
|
429
429
|
_boxShadowOpacity?: SootSimAnimatedNumber;
|
|
430
430
|
filter?: SootSimAnimatedFilter;
|
|
431
431
|
_filter?: ParsedFilterOp[];
|
|
432
|
-
mixBlendMode?: 'normal' | 'plus-lighter' | 'multiply' | 'screen' | 'overlay' | 'darken' | 'lighten' | 'color-dodge' | 'color-burn' | 'hard-light' | 'soft-light' | 'difference' | 'exclusion' | 'hue' | 'saturation' | 'color' | 'luminosity' | 'destination-out';
|
|
432
|
+
mixBlendMode?: 'normal' | 'plus-lighter' | 'plus-darker' | 'multiply' | 'screen' | 'overlay' | 'darken' | 'lighten' | 'color-dodge' | 'color-burn' | 'hard-light' | 'soft-light' | 'difference' | 'exclusion' | 'hue' | 'saturation' | 'color' | 'luminosity' | 'destination-out';
|
|
433
433
|
isolation?: 'auto' | 'isolate';
|
|
434
434
|
outlineWidth?: number;
|
|
435
435
|
outlineStyle?: 'solid' | 'dashed' | 'dotted';
|
|
@@ -465,6 +465,7 @@ export interface SootSimStyle {
|
|
|
465
465
|
_hyphenationLocale?: string;
|
|
466
466
|
_hyphenationFactor?: number;
|
|
467
467
|
_swiftUIText?: true;
|
|
468
|
+
_swiftUIPickerValue?: true;
|
|
468
469
|
_composeText?: true;
|
|
469
470
|
_androidTextView?: true;
|
|
470
471
|
_androidTextSize?: 'dimension' | 'sp';
|
package/install.sh
CHANGED
|
@@ -38,6 +38,16 @@ command_exists() {
|
|
|
38
38
|
command -v "$1" >/dev/null 2>&1
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
+
# curl's --retry skips a connection reset mid-transfer, so retry the request.
|
|
42
|
+
fetch() {
|
|
43
|
+
attempt=1
|
|
44
|
+
until curl -fsSL "$@"; do
|
|
45
|
+
[ "$attempt" -ge 3 ] && return 1
|
|
46
|
+
attempt=$((attempt + 1))
|
|
47
|
+
sleep 2
|
|
48
|
+
done
|
|
49
|
+
}
|
|
50
|
+
|
|
41
51
|
command_exists curl || fail "curl is required to install peach"
|
|
42
52
|
|
|
43
53
|
case "$(uname -s)" in
|
|
@@ -92,8 +102,8 @@ say " version: $PEACH_VERSION"
|
|
|
92
102
|
say " command: $CLI"
|
|
93
103
|
say ""
|
|
94
104
|
say "Downloading the standalone peach executable..."
|
|
95
|
-
|
|
96
|
-
|
|
105
|
+
fetch "$ARTIFACT_URL" -o "$TMP_BIN" || fail "could not download peach"
|
|
106
|
+
fetch "$ARTIFACT_URL.sha256" -o "$TMP_SHA" ||
|
|
97
107
|
fail "could not download the peach checksum"
|
|
98
108
|
|
|
99
109
|
EXPECTED_SHA="$(tr -d '[:space:]' <"$TMP_SHA")"
|
package/kotlin/sdk.tar.gz
CHANGED
|
Binary file
|
package/package.json
CHANGED
package/runtime-companion.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"abi":1,"sha256":"
|
|
1
|
+
{"abi":1,"sha256":"00799b02f54a61aa35db60817d564847a255eef875cbc7225013f1f27991ccde","file":"node/cli-00799b02f54a61aa35db60817d564847a255eef875cbc7225013f1f27991ccde.cjs"}
|