peachsim 0.1.2182 → 0.1.2186
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/cpu-profile.ts +6 -2
- package/cli/commands/shell-url.ts +3 -6
- package/cli/outbound-endpoints.ts +11 -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 +371 -36
- 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 +2 -2
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/expo-swift-bundle.cjs +325 -28
- package/dist-lib/expo-swift-metadata.cjs +2 -1
- package/dist-lib/expo-swift-metadata.mjs +2 -1
- package/dist-lib/home-paths.cjs +1 -1
- package/dist-lib/host/bridge-host.cjs +364 -36
- package/dist-lib/host/fetch-proxy-handler.cjs +8 -5
- 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 +51 -7
- 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 +5 -3
- 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 +51 -7
- package/dist-lib/native-app-identity-project.cjs +49 -5
- package/dist-lib/native-app-identity-project.mjs +49 -5
- package/dist-lib/native-app-identity.cjs +40 -2
- package/dist-lib/native-app-identity.mjs +40 -2
- 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 +63 -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 +1 -1
- package/dist-lib/sdk.cjs +1 -1
- package/dist-lib/sdk.mjs +1 -1
- package/dist-lib/skills.cjs +383 -39
- package/dist-lib/swift-compile.cjs +2 -2
- package/dist-lib/swift-compile.mjs +2 -2
- package/dist-lib/swift-package.cjs +26 -1
- package/dist-lib/swift-package.mjs +25 -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 +286 -24
- package/dist-lib/vite.cjs +8 -5
- package/dist-lib/worklet-executable.cjs +1 -1
- package/dist-lib/worklet-executable.mjs +1 -1
- package/dist-types/packages/peach-engine/src/render-worker/compositor-backend.d.ts +1 -0
- package/kotlin/sdk.tar.gz +0 -0
- package/package.json +1 -1
- package/runtime-companion.json +1 -1
- package/sdk/ios/System/Library/Frameworks/ActivityKit.framework/Headers/ActivityKit.h +1 -0
- package/sdk/ios/System/Library/Frameworks/ActivityKit.framework/Modules/module.modulemap +4 -0
- package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UIImageAsset.h +1 -1
- package/sdk/ios/usr/lib/swift/ActivityKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface +14 -0
- package/sdk/ios/usr/lib/swift/CoreGraphics.swiftmodule/arm64-apple-ios-simulator.swiftinterface +14 -0
- package/sdk/ios/usr/lib/swift/Dispatch.swiftmodule/arm64-apple-ios-simulator.swiftinterface +3 -0
- package/sdk/ios/usr/lib/swift/Foundation.swiftmodule/arm64-apple-ios-simulator.swiftinterface +147 -16
- package/sdk/ios/usr/lib/swift/UIKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface +5 -0
- package/src/expo-native-workspace.ts +9 -2
- package/src/kotlin-host.ts +4 -2
- package/src/native-app-identity-project.ts +10 -2
- package/src/native-app-identity.ts +15 -1
- package/src/nativeAppIconContract.ts +37 -0
- package/src/swift-installed-targets.ts +8 -0
- package/src/swift-interface-bodies.ts +165 -0
- package/src/swift-objc-standin.ts +73 -13
- package/src/swift-package.ts +26 -0
- package/src/swift-source-pods.ts +27 -4
- package/src/swift-standin-emit.ts +30 -3
- package/src/swift-standins.ts +75 -12
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2186 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
var __create = Object.create;
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -32,7 +32,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
32
32
|
var define_SWIFT_COVERAGE_SOURCE_DIGESTS_default;
|
|
33
33
|
var init_define_SWIFT_COVERAGE_SOURCE_DIGESTS = __esm({
|
|
34
34
|
"<define:__SWIFT_COVERAGE_SOURCE_DIGESTS__>"() {
|
|
35
|
-
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": "99e03b74c961d2449afd58c2cbc415ba91d1d469a4f89e461c137fd6c305b27c", "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": "4b7d4a715cdaf57468ead23f2ff9dce76d02c6a888d73d144d4baa2ae571ba3c", "swift-package.ts": "
|
|
35
|
+
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": "99e03b74c961d2449afd58c2cbc415ba91d1d469a4f89e461c137fd6c305b27c", "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": "4b7d4a715cdaf57468ead23f2ff9dce76d02c6a888d73d144d4baa2ae571ba3c", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "65a0698bf022ace2f4254f3f891828dedf403d61c102238e242084a2279e04eb", "home-paths.ts": "f5583b61f8bdd81823b3b29ff519a48daf9993719f194ddb7de22218472e90f9", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "5f41cd0bd86cb0cffbfb0047348b963f81d5e51cb0e8dd574c739b1a27aa56de", "xcode-target-members.ts": "ad7589132bffab265e8a10b64e24484fe88b4a2b1cc0ee19a97f151a002eca77", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
38
|
|
|
@@ -1373,6 +1373,34 @@ init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
|
1373
1373
|
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
1374
1374
|
|
|
1375
1375
|
// src/nativeAppIconContract.ts
|
|
1376
|
+
function resolveNativeBundleIcons(icons, catalogNames, resolveReference) {
|
|
1377
|
+
if (!isRecord(icons) && catalogNames.length === 0) return void 0;
|
|
1378
|
+
const resolve = (value) => {
|
|
1379
|
+
if (typeof value === "string") return resolveReference(value);
|
|
1380
|
+
if (Array.isArray(value)) return value.map(resolve);
|
|
1381
|
+
if (isRecord(value))
|
|
1382
|
+
return Object.fromEntries(
|
|
1383
|
+
Object.entries(value).map(([key, entry]) => [
|
|
1384
|
+
resolveReference(key),
|
|
1385
|
+
resolve(entry)
|
|
1386
|
+
])
|
|
1387
|
+
);
|
|
1388
|
+
return value;
|
|
1389
|
+
};
|
|
1390
|
+
const dictionary = isRecord(icons) ? Object.fromEntries(
|
|
1391
|
+
Object.entries(icons).map(([key, value]) => [key, resolve(value)])
|
|
1392
|
+
) : {};
|
|
1393
|
+
if (catalogNames.length === 0) return dictionary;
|
|
1394
|
+
return {
|
|
1395
|
+
...dictionary,
|
|
1396
|
+
CFBundleAlternateIcons: {
|
|
1397
|
+
...Object.fromEntries(
|
|
1398
|
+
catalogNames.map((name) => [name, { CFBundleIconName: name }])
|
|
1399
|
+
),
|
|
1400
|
+
...isRecord(dictionary.CFBundleAlternateIcons) ? dictionary.CFBundleAlternateIcons : {}
|
|
1401
|
+
}
|
|
1402
|
+
};
|
|
1403
|
+
}
|
|
1376
1404
|
function resolveNativeAppIconArtwork(resources, readText, resourceUri, icons, primaryName, alternateNames, resolveReference) {
|
|
1377
1405
|
const members = new Set(resources);
|
|
1378
1406
|
const dictionary = isRecord(icons) ? icons : {};
|
|
@@ -1949,8 +1977,11 @@ function nativeAppIdentityFromIos(files, parseInfoPlist, iosTarget, resourceUri)
|
|
|
1949
1977
|
);
|
|
1950
1978
|
if (alternateSetting === null)
|
|
1951
1979
|
throw new Error("native alternate icon setting is unresolved");
|
|
1980
|
+
const catalogAlternateNames = [];
|
|
1952
1981
|
for (const match of alternateSetting.replace(/\\"/g, '"').matchAll(/"([^"]*)"|([^\s(),]+)/g)) {
|
|
1953
|
-
|
|
1982
|
+
const name = match[1] ?? match[2];
|
|
1983
|
+
alternateIconNames.add(name);
|
|
1984
|
+
catalogAlternateNames.push(name);
|
|
1954
1985
|
}
|
|
1955
1986
|
const intentIds = dictionary.OneAppIntentIdentifiers;
|
|
1956
1987
|
const appIntentIdentifiers = Array.isArray(intentIds) && intentIds.every((value) => typeof value === "string") ? intentIds.map((value) => resolveBuildSetting(value, settings)) : [];
|
|
@@ -2098,6 +2129,11 @@ function nativeAppIdentityFromIos(files, parseInfoPlist, iosTarget, resourceUri)
|
|
|
2098
2129
|
ipadSupportedInterfaceOrientations,
|
|
2099
2130
|
...defaultScreenOrientationMask === void 0 ? {} : { defaultScreenOrientationMask },
|
|
2100
2131
|
alternateIconNames: [...alternateIconNames],
|
|
2132
|
+
bundleIcons: resolveNativeBundleIcons(icons, catalogAlternateNames, (value) => {
|
|
2133
|
+
const resolved = resolveBuildSetting(value, settings);
|
|
2134
|
+
if (resolved === null) throw new Error("native bundle icon reference is unresolved");
|
|
2135
|
+
return resolved;
|
|
2136
|
+
}),
|
|
2101
2137
|
...resourceUri ? {
|
|
2102
2138
|
appIconArtwork: resolveNativeAppIconArtwork(
|
|
2103
2139
|
[...resources],
|
|
@@ -2169,6 +2205,9 @@ import { createHash as createHash2 } from "node:crypto";
|
|
|
2169
2205
|
import fs2 from "node:fs";
|
|
2170
2206
|
import path5 from "node:path";
|
|
2171
2207
|
|
|
2208
|
+
// src/swift-interface-bodies.ts
|
|
2209
|
+
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
2210
|
+
|
|
2172
2211
|
// src/swift-objc-platform.ts
|
|
2173
2212
|
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
2174
2213
|
import { spawnSync } from "node:child_process";
|
|
@@ -3439,7 +3478,7 @@ var FOUNDATION_IMPLICIT_MODULES = [
|
|
|
3439
3478
|
var FOUNDATION_IMPLICIT_FLAGS = FOUNDATION_IMPLICIT_MODULES.map(
|
|
3440
3479
|
(module) => `, "-Xfrontend", "-import-module", "-Xfrontend", "${module}"`
|
|
3441
3480
|
).join("");
|
|
3442
|
-
var compilerSourceDigest = true ? "
|
|
3481
|
+
var compilerSourceDigest = true ? "0d2e8d6fb4545fb31a692a87bd3215ef3a9a64a8c3e1b2fc1f2a3e79511325ec" : swiftCompilerSourceDigest(import.meta.dirname);
|
|
3443
3482
|
var CORE_FOUNDATION_HANDLE_IMPORTS = [
|
|
3444
3483
|
"CFAllocator",
|
|
3445
3484
|
"CFArray",
|
|
@@ -6043,9 +6082,13 @@ function readNativeAppIdentityFromXcodeTarget(app, parseInfoPlist = parsePlistSo
|
|
|
6043
6082
|
}
|
|
6044
6083
|
}
|
|
6045
6084
|
const alternateSetting = settings?.("ASSETCATALOG_COMPILER_ALTERNATE_APPICON_NAMES") ?? "";
|
|
6085
|
+
const catalogAlternateNames = [];
|
|
6046
6086
|
for (const match of alternateSetting.replace(/\\"/g, '"').matchAll(/"([^"]*)"|([^\s(),]+)/g)) {
|
|
6047
6087
|
const val = match[1] ?? match[2];
|
|
6048
|
-
if (val)
|
|
6088
|
+
if (val) {
|
|
6089
|
+
alternateIconNames.add(val);
|
|
6090
|
+
catalogAlternateNames.push(val);
|
|
6091
|
+
}
|
|
6049
6092
|
}
|
|
6050
6093
|
const permissionUsageDescriptions = {};
|
|
6051
6094
|
for (const [key, value] of Object.entries(dictionary)) {
|
|
@@ -6108,6 +6151,7 @@ function readNativeAppIdentityFromXcodeTarget(app, parseInfoPlist = parsePlistSo
|
|
|
6108
6151
|
ipadSupportedInterfaceOrientations,
|
|
6109
6152
|
...defaultScreenOrientationMask ? { defaultScreenOrientationMask } : {},
|
|
6110
6153
|
alternateIconNames: [...alternateIconNames],
|
|
6154
|
+
bundleIcons: resolveNativeBundleIcons(icons, catalogAlternateNames, (value) => value),
|
|
6111
6155
|
appIconArtwork: resolveNativeAppIconArtwork(
|
|
6112
6156
|
app.resources,
|
|
6113
6157
|
(file) => fs17.readFileSync(file, "utf8"),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2186 | (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;
|
|
@@ -265,6 +265,34 @@ function isSwiftImageVariants(value) {
|
|
|
265
265
|
}
|
|
266
266
|
|
|
267
267
|
// src/nativeAppIconContract.ts
|
|
268
|
+
function resolveNativeBundleIcons(icons, catalogNames, resolveReference) {
|
|
269
|
+
if (!isRecord(icons) && catalogNames.length === 0) return void 0;
|
|
270
|
+
const resolve = (value) => {
|
|
271
|
+
if (typeof value === "string") return resolveReference(value);
|
|
272
|
+
if (Array.isArray(value)) return value.map(resolve);
|
|
273
|
+
if (isRecord(value))
|
|
274
|
+
return Object.fromEntries(
|
|
275
|
+
Object.entries(value).map(([key, entry]) => [
|
|
276
|
+
resolveReference(key),
|
|
277
|
+
resolve(entry)
|
|
278
|
+
])
|
|
279
|
+
);
|
|
280
|
+
return value;
|
|
281
|
+
};
|
|
282
|
+
const dictionary = isRecord(icons) ? Object.fromEntries(
|
|
283
|
+
Object.entries(icons).map(([key, value]) => [key, resolve(value)])
|
|
284
|
+
) : {};
|
|
285
|
+
if (catalogNames.length === 0) return dictionary;
|
|
286
|
+
return {
|
|
287
|
+
...dictionary,
|
|
288
|
+
CFBundleAlternateIcons: {
|
|
289
|
+
...Object.fromEntries(
|
|
290
|
+
catalogNames.map((name) => [name, { CFBundleIconName: name }])
|
|
291
|
+
),
|
|
292
|
+
...isRecord(dictionary.CFBundleAlternateIcons) ? dictionary.CFBundleAlternateIcons : {}
|
|
293
|
+
}
|
|
294
|
+
};
|
|
295
|
+
}
|
|
268
296
|
function isNativeAppIconArtwork(value) {
|
|
269
297
|
return isRecord(value) && (value.primary === void 0 || isSwiftImageVariants(value.primary)) && isRecord(value.alternates) && Object.values(value.alternates).every(isSwiftImageVariants);
|
|
270
298
|
}
|
|
@@ -597,6 +625,7 @@ function isNativeAppIdentity(value) {
|
|
|
597
625
|
if (value.androidPhotoLibraryAddOnly !== void 0 && value.androidPhotoLibraryAddOnly !== true)
|
|
598
626
|
return false;
|
|
599
627
|
if (value.googleSignIn !== void 0 && !isRecord(value.googleSignIn)) return false;
|
|
628
|
+
if (value.bundleIcons !== void 0 && !isRecord(value.bundleIcons)) return false;
|
|
600
629
|
const descriptions = value.permissionUsageDescriptions;
|
|
601
630
|
if (value.reanimatedStaticFeatureFlags !== void 0 && (!isRecord(value.reanimatedStaticFeatureFlags) || !Object.values(value.reanimatedStaticFeatureFlags).every(
|
|
602
631
|
(flag) => typeof flag === "boolean"
|
|
@@ -687,6 +716,7 @@ function readNativeAppIdentity(value) {
|
|
|
687
716
|
...value.reanimatedStaticFeatureFlags === void 0 ? {} : { reanimatedStaticFeatureFlags: { ...value.reanimatedStaticFeatureFlags } },
|
|
688
717
|
...value.appIconArtwork === void 0 ? {} : { appIconArtwork: readNativeAppIconArtwork(value.appIconArtwork) },
|
|
689
718
|
...value.alternateIconNames === void 0 ? {} : { alternateIconNames: [...value.alternateIconNames] },
|
|
719
|
+
...value.bundleIcons === void 0 ? {} : { bundleIcons: structuredClone(value.bundleIcons) },
|
|
690
720
|
...value.androidManifestPermissions === void 0 ? {} : {
|
|
691
721
|
androidManifestPermissions: value.androidManifestPermissions.map(
|
|
692
722
|
(permission) => ({ ...permission })
|
|
@@ -1109,8 +1139,11 @@ function nativeAppIdentityFromIos(files, parseInfoPlist, iosTarget, resourceUri)
|
|
|
1109
1139
|
);
|
|
1110
1140
|
if (alternateSetting === null)
|
|
1111
1141
|
throw new Error("native alternate icon setting is unresolved");
|
|
1142
|
+
const catalogAlternateNames = [];
|
|
1112
1143
|
for (const match of alternateSetting.replace(/\\"/g, '"').matchAll(/"([^"]*)"|([^\s(),]+)/g)) {
|
|
1113
|
-
|
|
1144
|
+
const name = match[1] ?? match[2];
|
|
1145
|
+
alternateIconNames.add(name);
|
|
1146
|
+
catalogAlternateNames.push(name);
|
|
1114
1147
|
}
|
|
1115
1148
|
const intentIds = dictionary.OneAppIntentIdentifiers;
|
|
1116
1149
|
const appIntentIdentifiers = Array.isArray(intentIds) && intentIds.every((value) => typeof value === "string") ? intentIds.map((value) => resolveBuildSetting(value, settings)) : [];
|
|
@@ -1258,6 +1291,11 @@ function nativeAppIdentityFromIos(files, parseInfoPlist, iosTarget, resourceUri)
|
|
|
1258
1291
|
ipadSupportedInterfaceOrientations,
|
|
1259
1292
|
...defaultScreenOrientationMask === void 0 ? {} : { defaultScreenOrientationMask },
|
|
1260
1293
|
alternateIconNames: [...alternateIconNames],
|
|
1294
|
+
bundleIcons: resolveNativeBundleIcons(icons, catalogAlternateNames, (value) => {
|
|
1295
|
+
const resolved = resolveBuildSetting(value, settings);
|
|
1296
|
+
if (resolved === null) throw new Error("native bundle icon reference is unresolved");
|
|
1297
|
+
return resolved;
|
|
1298
|
+
}),
|
|
1261
1299
|
...resourceUri ? {
|
|
1262
1300
|
appIconArtwork: resolveNativeAppIconArtwork(
|
|
1263
1301
|
[...resources],
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2186 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
|
|
3
3
|
// ../peach-globals/src/bundle-global-footer.ts
|
|
4
4
|
function findBundleFooter(source, prefix) {
|
|
@@ -220,6 +220,34 @@ function isSwiftImageVariants(value) {
|
|
|
220
220
|
}
|
|
221
221
|
|
|
222
222
|
// src/nativeAppIconContract.ts
|
|
223
|
+
function resolveNativeBundleIcons(icons, catalogNames, resolveReference) {
|
|
224
|
+
if (!isRecord(icons) && catalogNames.length === 0) return void 0;
|
|
225
|
+
const resolve = (value) => {
|
|
226
|
+
if (typeof value === "string") return resolveReference(value);
|
|
227
|
+
if (Array.isArray(value)) return value.map(resolve);
|
|
228
|
+
if (isRecord(value))
|
|
229
|
+
return Object.fromEntries(
|
|
230
|
+
Object.entries(value).map(([key, entry]) => [
|
|
231
|
+
resolveReference(key),
|
|
232
|
+
resolve(entry)
|
|
233
|
+
])
|
|
234
|
+
);
|
|
235
|
+
return value;
|
|
236
|
+
};
|
|
237
|
+
const dictionary = isRecord(icons) ? Object.fromEntries(
|
|
238
|
+
Object.entries(icons).map(([key, value]) => [key, resolve(value)])
|
|
239
|
+
) : {};
|
|
240
|
+
if (catalogNames.length === 0) return dictionary;
|
|
241
|
+
return {
|
|
242
|
+
...dictionary,
|
|
243
|
+
CFBundleAlternateIcons: {
|
|
244
|
+
...Object.fromEntries(
|
|
245
|
+
catalogNames.map((name) => [name, { CFBundleIconName: name }])
|
|
246
|
+
),
|
|
247
|
+
...isRecord(dictionary.CFBundleAlternateIcons) ? dictionary.CFBundleAlternateIcons : {}
|
|
248
|
+
}
|
|
249
|
+
};
|
|
250
|
+
}
|
|
223
251
|
function isNativeAppIconArtwork(value) {
|
|
224
252
|
return isRecord(value) && (value.primary === void 0 || isSwiftImageVariants(value.primary)) && isRecord(value.alternates) && Object.values(value.alternates).every(isSwiftImageVariants);
|
|
225
253
|
}
|
|
@@ -552,6 +580,7 @@ function isNativeAppIdentity(value) {
|
|
|
552
580
|
if (value.androidPhotoLibraryAddOnly !== void 0 && value.androidPhotoLibraryAddOnly !== true)
|
|
553
581
|
return false;
|
|
554
582
|
if (value.googleSignIn !== void 0 && !isRecord(value.googleSignIn)) return false;
|
|
583
|
+
if (value.bundleIcons !== void 0 && !isRecord(value.bundleIcons)) return false;
|
|
555
584
|
const descriptions = value.permissionUsageDescriptions;
|
|
556
585
|
if (value.reanimatedStaticFeatureFlags !== void 0 && (!isRecord(value.reanimatedStaticFeatureFlags) || !Object.values(value.reanimatedStaticFeatureFlags).every(
|
|
557
586
|
(flag) => typeof flag === "boolean"
|
|
@@ -642,6 +671,7 @@ function readNativeAppIdentity(value) {
|
|
|
642
671
|
...value.reanimatedStaticFeatureFlags === void 0 ? {} : { reanimatedStaticFeatureFlags: { ...value.reanimatedStaticFeatureFlags } },
|
|
643
672
|
...value.appIconArtwork === void 0 ? {} : { appIconArtwork: readNativeAppIconArtwork(value.appIconArtwork) },
|
|
644
673
|
...value.alternateIconNames === void 0 ? {} : { alternateIconNames: [...value.alternateIconNames] },
|
|
674
|
+
...value.bundleIcons === void 0 ? {} : { bundleIcons: structuredClone(value.bundleIcons) },
|
|
645
675
|
...value.androidManifestPermissions === void 0 ? {} : {
|
|
646
676
|
androidManifestPermissions: value.androidManifestPermissions.map(
|
|
647
677
|
(permission) => ({ ...permission })
|
|
@@ -1064,8 +1094,11 @@ function nativeAppIdentityFromIos(files, parseInfoPlist, iosTarget, resourceUri)
|
|
|
1064
1094
|
);
|
|
1065
1095
|
if (alternateSetting === null)
|
|
1066
1096
|
throw new Error("native alternate icon setting is unresolved");
|
|
1097
|
+
const catalogAlternateNames = [];
|
|
1067
1098
|
for (const match of alternateSetting.replace(/\\"/g, '"').matchAll(/"([^"]*)"|([^\s(),]+)/g)) {
|
|
1068
|
-
|
|
1099
|
+
const name = match[1] ?? match[2];
|
|
1100
|
+
alternateIconNames.add(name);
|
|
1101
|
+
catalogAlternateNames.push(name);
|
|
1069
1102
|
}
|
|
1070
1103
|
const intentIds = dictionary.OneAppIntentIdentifiers;
|
|
1071
1104
|
const appIntentIdentifiers = Array.isArray(intentIds) && intentIds.every((value) => typeof value === "string") ? intentIds.map((value) => resolveBuildSetting(value, settings)) : [];
|
|
@@ -1213,6 +1246,11 @@ function nativeAppIdentityFromIos(files, parseInfoPlist, iosTarget, resourceUri)
|
|
|
1213
1246
|
ipadSupportedInterfaceOrientations,
|
|
1214
1247
|
...defaultScreenOrientationMask === void 0 ? {} : { defaultScreenOrientationMask },
|
|
1215
1248
|
alternateIconNames: [...alternateIconNames],
|
|
1249
|
+
bundleIcons: resolveNativeBundleIcons(icons, catalogAlternateNames, (value) => {
|
|
1250
|
+
const resolved = resolveBuildSetting(value, settings);
|
|
1251
|
+
if (resolved === null) throw new Error("native bundle icon reference is unresolved");
|
|
1252
|
+
return resolved;
|
|
1253
|
+
}),
|
|
1216
1254
|
...resourceUri ? {
|
|
1217
1255
|
appIconArtwork: resolveNativeAppIconArtwork(
|
|
1218
1256
|
[...resources],
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2186 | (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.2186 | (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/plist.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2186 | (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/plist.mjs
CHANGED
package/dist-lib/profiles.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2186 | (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.2186 | (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;
|
|
@@ -2,37 +2,37 @@
|
|
|
2
2
|
"version": 1,
|
|
3
3
|
"outputs": {
|
|
4
4
|
"beta.mjs": {
|
|
5
|
-
"sha256": "
|
|
5
|
+
"sha256": "4ff040e26c26ee8119bb23b16b5bd9bb679428a619a438d586a3b03a6f81a689",
|
|
6
6
|
"inputs": [
|
|
7
7
|
"packages/peachsim/src/beta.ts"
|
|
8
8
|
]
|
|
9
9
|
},
|
|
10
10
|
"bridge-contract.mjs": {
|
|
11
|
-
"sha256": "
|
|
11
|
+
"sha256": "161ea5802d1003714b21de61d115f70aae06168084ea71d64e133f29add97c16",
|
|
12
12
|
"inputs": [
|
|
13
13
|
"packages/peachsim/src/bridge-contract.ts"
|
|
14
14
|
]
|
|
15
15
|
},
|
|
16
16
|
"capture-contract.mjs": {
|
|
17
|
-
"sha256": "
|
|
17
|
+
"sha256": "49c39fce322b2a7ad01e490fce35390c0e2bc0fe958b7c929891bb9cd41380e4",
|
|
18
18
|
"inputs": [
|
|
19
19
|
"packages/peachsim/src/capture-contract.ts"
|
|
20
20
|
]
|
|
21
21
|
},
|
|
22
22
|
"cloud-contract.mjs": {
|
|
23
|
-
"sha256": "
|
|
23
|
+
"sha256": "08f6a7bceea198d4309e9869d402335c277fe10b129260d7d51499b94d703160",
|
|
24
24
|
"inputs": [
|
|
25
25
|
"packages/peachsim/src/cloud-contract.ts"
|
|
26
26
|
]
|
|
27
27
|
},
|
|
28
28
|
"cloud-test-args.mjs": {
|
|
29
|
-
"sha256": "
|
|
29
|
+
"sha256": "95440c399a7092babe1b41b72ceca872c72880cc1864f4c4274259675325f2ff",
|
|
30
30
|
"inputs": [
|
|
31
31
|
"packages/peachsim/src/cloud-test-args.ts"
|
|
32
32
|
]
|
|
33
33
|
},
|
|
34
34
|
"cloud.mjs": {
|
|
35
|
-
"sha256": "
|
|
35
|
+
"sha256": "49a44b38436e52f8df262e2960cd5f52e4855873563c1743aad846eb7ca555e9",
|
|
36
36
|
"inputs": [
|
|
37
37
|
"packages/peachsim/src/backend-origin.ts",
|
|
38
38
|
"packages/peachsim/src/capture-contract.ts",
|
|
@@ -44,14 +44,14 @@
|
|
|
44
44
|
]
|
|
45
45
|
},
|
|
46
46
|
"menu.mjs": {
|
|
47
|
-
"sha256": "
|
|
47
|
+
"sha256": "00650508e324943c7a4b7f6917aa7d838435e195dcc13a3f2760c15b4a22bcb6",
|
|
48
48
|
"inputs": [
|
|
49
49
|
"packages/peachsim/src/public-brand.ts",
|
|
50
50
|
"packages/peachsim/src/menu.ts"
|
|
51
51
|
]
|
|
52
52
|
},
|
|
53
53
|
"config.mjs": {
|
|
54
|
-
"sha256": "
|
|
54
|
+
"sha256": "4adb8a0f68c2e168fb288dd63c23769b13513a5f2e821d9802bfdac711705795",
|
|
55
55
|
"inputs": [
|
|
56
56
|
"packages/contrast-runtime-delivery/src/version.ts",
|
|
57
57
|
"packages/peach-globals/src/bundle-global-footer.ts",
|
|
@@ -61,20 +61,20 @@
|
|
|
61
61
|
]
|
|
62
62
|
},
|
|
63
63
|
"host/fetch-proxy-overrides.mjs": {
|
|
64
|
-
"sha256": "
|
|
64
|
+
"sha256": "5b9dab7b156a6755a45e2501ce57bfca5ec0b5433ef6bad286b1a98caf8f10c5",
|
|
65
65
|
"inputs": [
|
|
66
66
|
"packages/peachsim/src/host/fetch-proxy-overrides.ts"
|
|
67
67
|
]
|
|
68
68
|
},
|
|
69
69
|
"metro-fingerprint-registry.mjs": {
|
|
70
|
-
"sha256": "
|
|
70
|
+
"sha256": "65b6aed92a66cdfbb37ab43fbdfdc995b36e9eceae16a8e66293c34f50150b11",
|
|
71
71
|
"inputs": [
|
|
72
72
|
"packages/peachsim/src/is-record.ts",
|
|
73
73
|
"packages/peachsim/src/metro-fingerprint-registry.ts"
|
|
74
74
|
]
|
|
75
75
|
},
|
|
76
76
|
"metro-production-bundle.mjs": {
|
|
77
|
-
"sha256": "
|
|
77
|
+
"sha256": "818dca41d39562a08685003b3c7e89caa9351a41972f63bd0a3adfbb9d682888",
|
|
78
78
|
"inputs": [
|
|
79
79
|
"packages/peachsim/src/swift-coverage/indexdump.ts",
|
|
80
80
|
"packages/peachsim/src/swift-coverage/indexing.ts",
|
|
@@ -105,13 +105,13 @@
|
|
|
105
105
|
]
|
|
106
106
|
},
|
|
107
107
|
"worklet-executable.mjs": {
|
|
108
|
-
"sha256": "
|
|
108
|
+
"sha256": "a8280b6299a8e2a200b0557493ac5afb495a819492582193361f84c6cf8d261c",
|
|
109
109
|
"inputs": [
|
|
110
110
|
"packages/peachsim/src/worklet-executable.ts"
|
|
111
111
|
]
|
|
112
112
|
},
|
|
113
113
|
"native-app-identity.mjs": {
|
|
114
|
-
"sha256": "
|
|
114
|
+
"sha256": "f8c0f44645a89cdd09f2650ed34fdeeec9689399e7695cd89276eac507347fa9",
|
|
115
115
|
"inputs": [
|
|
116
116
|
"packages/peach-globals/src/bundle-global-footer.ts",
|
|
117
117
|
"packages/peachsim/src/android-string-value.ts",
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
]
|
|
127
127
|
},
|
|
128
128
|
"native-app-identity-project.mjs": {
|
|
129
|
-
"sha256": "
|
|
129
|
+
"sha256": "13726e828b44782d5c4ee7d6818f7453a529173f046aa96ce55112628ed8bcfc",
|
|
130
130
|
"inputs": [
|
|
131
131
|
"packages/peachsim/src/swift-coverage/indexdump.ts",
|
|
132
132
|
"packages/peachsim/src/swift-coverage/indexing.ts",
|
|
@@ -169,6 +169,7 @@
|
|
|
169
169
|
"packages/peachsim/src/xcode-target-members.ts",
|
|
170
170
|
"packages/peachsim/src/plist.ts",
|
|
171
171
|
"packages/peachsim/src/swift-objc-standin.ts",
|
|
172
|
+
"packages/peachsim/src/swift-interface-bodies.ts",
|
|
172
173
|
"packages/peachsim/src/swift-objc-platform.ts",
|
|
173
174
|
"packages/peachsim/src/swift-toolchain.ts",
|
|
174
175
|
"packages/peachsim/src/swift-objc-sdk.ts",
|
|
@@ -240,26 +241,26 @@
|
|
|
240
241
|
]
|
|
241
242
|
},
|
|
242
243
|
"native-firebase-metadata.mjs": {
|
|
243
|
-
"sha256": "
|
|
244
|
+
"sha256": "716205da4b4a50832de90ac79d4371a01c1d21ae0a3479f497ff00bce1b6d798",
|
|
244
245
|
"inputs": [
|
|
245
246
|
"packages/peach-globals/src/bundle-global-footer.ts",
|
|
246
247
|
"packages/peachsim/src/native-firebase-metadata.ts"
|
|
247
248
|
]
|
|
248
249
|
},
|
|
249
250
|
"plist.mjs": {
|
|
250
|
-
"sha256": "
|
|
251
|
+
"sha256": "4a51d325573dbc13947290338ffb70fd6077557b7b422aa037c7037799867aa8",
|
|
251
252
|
"inputs": [
|
|
252
253
|
"packages/peachsim/src/plist.ts"
|
|
253
254
|
]
|
|
254
255
|
},
|
|
255
256
|
"react-native-host-modules.mjs": {
|
|
256
|
-
"sha256": "
|
|
257
|
+
"sha256": "6c6da1044e88fe7ebfc6c656009befbf0d484c7ae05773b2c475d99ba2e94f10",
|
|
257
258
|
"inputs": [
|
|
258
259
|
"packages/peachsim/src/react-native-host-modules.ts"
|
|
259
260
|
]
|
|
260
261
|
},
|
|
261
262
|
"sdk.mjs": {
|
|
262
|
-
"sha256": "
|
|
263
|
+
"sha256": "e4865020e86b96cfba2707c84817fda0ca4da823a3ee27edafd9d4007519cb88",
|
|
263
264
|
"inputs": [
|
|
264
265
|
"packages/peachsim/src/bridge-contract.ts",
|
|
265
266
|
"packages/peachsim/src/is-record.ts",
|
|
@@ -276,7 +277,7 @@
|
|
|
276
277
|
]
|
|
277
278
|
},
|
|
278
279
|
"bridge-contract-input.mjs": {
|
|
279
|
-
"sha256": "
|
|
280
|
+
"sha256": "8a14e54fadab4ed52487042878e627a5e152cefd3815d32510a903a3316e69ba",
|
|
280
281
|
"inputs": [
|
|
281
282
|
"packages/peachsim/src/bridge-contract.ts",
|
|
282
283
|
"packages/peachsim/src/is-record.ts",
|
|
@@ -284,7 +285,7 @@
|
|
|
284
285
|
]
|
|
285
286
|
},
|
|
286
287
|
"swift-submit.mjs": {
|
|
287
|
-
"sha256": "
|
|
288
|
+
"sha256": "1bccd0107e78da327dcdc55bbf4d3c8a4822233f859dfb97d365dfd1281bc00f",
|
|
288
289
|
"inputs": [
|
|
289
290
|
"packages/peachsim/src/is-record.ts",
|
|
290
291
|
"packages/peachsim/src/swiftContract.ts",
|
|
@@ -292,19 +293,19 @@
|
|
|
292
293
|
]
|
|
293
294
|
},
|
|
294
295
|
"pdfium-raster.mjs": {
|
|
295
|
-
"sha256": "
|
|
296
|
+
"sha256": "3e0232862fc4b728f1c23a91bbf3b1d42ad712c8ac3705d258b8c588c6282c5e",
|
|
296
297
|
"inputs": [
|
|
297
298
|
"packages/peachsim/src/pdfium-raster.ts"
|
|
298
299
|
]
|
|
299
300
|
},
|
|
300
301
|
"swift-package.mjs": {
|
|
301
|
-
"sha256": "
|
|
302
|
+
"sha256": "e4a806a7b91254ec0832547fa4527f397ceb5b01625b3bc7ff9a8fa3fbee27f1",
|
|
302
303
|
"inputs": [
|
|
303
304
|
"packages/peachsim/src/swift-package.ts"
|
|
304
305
|
]
|
|
305
306
|
},
|
|
306
307
|
"swift-compile.mjs": {
|
|
307
|
-
"sha256": "
|
|
308
|
+
"sha256": "dff537518e5fc5095d36aa780dbdf71dc3f416a8b8c53e179ffa93869a274415",
|
|
308
309
|
"inputs": [
|
|
309
310
|
"packages/peachsim/src/swift-compile.ts",
|
|
310
311
|
"packages/peachsim/src/admitted-mac-build.ts",
|
|
@@ -361,7 +362,7 @@
|
|
|
361
362
|
]
|
|
362
363
|
},
|
|
363
364
|
"expo-swift-metadata.mjs": {
|
|
364
|
-
"sha256": "
|
|
365
|
+
"sha256": "d478862916c9597857fc71da499deb659a0b2c601e59bef57ca1ba6cb83b0ff7",
|
|
365
366
|
"inputs": [
|
|
366
367
|
"packages/peach-globals/src/bundle-global-footer.ts",
|
|
367
368
|
"packages/peachsim/src/is-record.ts",
|