peachsim 0.1.2179 → 0.1.2182
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/package.ts +7 -2
- package/cli/commands/shell-url.ts +28 -22
- 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 +225 -85
- 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 +140 -48
- 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 +201 -82
- 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 +4 -4
- 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 +11 -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 +4 -4
- package/dist-lib/native-app-identity-project.cjs +2 -2
- package/dist-lib/native-app-identity-project.mjs +2 -2
- 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 +24 -24
- package/dist-lib/public-origins-lib.json +53 -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 +239 -176
- package/dist-lib/swift-compile.cjs +85 -16
- package/dist-lib/swift-compile.mjs +85 -16
- package/dist-lib/swift-package.cjs +1 -1
- package/dist-lib/swift-package.mjs +1 -1
- package/dist-lib/swift-submit.cjs +2 -2
- package/dist-lib/swift-submit.mjs +2 -2
- package/dist-lib/swift-toolchain.cjs +1 -1
- package/dist-lib/swift.cjs +1 -1
- package/dist-lib/vite-swift.cjs +87 -18
- package/dist-lib/vite.cjs +4 -4
- package/dist-lib/worklet-executable.cjs +1 -1
- package/dist-lib/worklet-executable.mjs +1 -1
- package/dist-types/packages/peach-engine/src/cli-companion.d.ts +1 -0
- package/dist-types/packages/peach-engine/src/ios/frame-art.d.ts +41 -0
- package/dist-types/packages/peach-engine/src/ios/frame-paint.d.ts +43 -0
- package/dist-types/packages/peach-engine/src/ios/frame-svg.d.ts +4 -0
- package/dist-types/packages/peach-engine/src/render-worker/map-command-channel.d.ts +14 -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/UIKit.framework/Headers/UIScrollView.h +8 -25
- package/sdk/ios/System/Library/Frameworks/UIKitTypes.framework/Headers/UIKitTypes.h +26 -0
- package/src/expo-native-workspace.ts +17 -20
- package/src/expo-swift-bundle.ts +6 -1
- package/src/expo-swift-host.ts +35 -6
- package/src/expo-widgets-bundle.ts +12 -8
- package/src/expoSwiftContract.ts +3 -0
- package/src/kotlin-host.ts +10 -2
- package/src/native-bundles.ts +30 -10
- package/src/one-sdk/source.ts +10 -4
- package/src/one-sdk-bundle.ts +57 -24
- package/src/screenshots/frame-compose.ts +14 -109
- package/src/swift-compile.ts +105 -13
- package/src/swift-submit.ts +2 -1
- package/src/wasm-optimize.ts +13 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2182 | (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/cloud.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2182 | (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/cloud.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2182 | (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
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2182 | (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/config.mjs
CHANGED
package/dist-lib/detox/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2182 | (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;
|
|
@@ -2512,7 +2512,7 @@ function isValidRuntimeVersion(value) {
|
|
|
2512
2512
|
}
|
|
2513
2513
|
|
|
2514
2514
|
// runtime-companion.json
|
|
2515
|
-
var runtime_companion_default = { abi: 1, sha256: "
|
|
2515
|
+
var runtime_companion_default = { abi: 1, sha256: "d1826a4d4d05c87a157d5b160177de9cd6f1fd10a3d142804a92a0d57ff3060f", file: "node/cli-d1826a4d4d05c87a157d5b160177de9cd6f1fd10a3d142804a92a0d57ff3060f.cjs" };
|
|
2516
2516
|
|
|
2517
2517
|
// src/answeredNativePackages.ts
|
|
2518
2518
|
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2182 | (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.2182 | (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;
|
|
@@ -2036,7 +2036,7 @@ var MAX_SWIFT_COMPILE_METAL_TOTAL_BYTES = 8 * 1024 * 1024;
|
|
|
2036
2036
|
var MAX_SWIFT_COMPILE_IMAGES = 256;
|
|
2037
2037
|
var MAX_SWIFT_COMPILE_IMAGE_BYTES = 4 * 1024 * 1024;
|
|
2038
2038
|
var MAX_SWIFT_COMPILE_IMAGE_TOTAL_BYTES = 16 * 1024 * 1024;
|
|
2039
|
-
var SWIFT_HOST_ABI =
|
|
2039
|
+
var SWIFT_HOST_ABI = 70;
|
|
2040
2040
|
var POLL_INTERVAL_MS = 1500;
|
|
2041
2041
|
function httpSwiftCompileSubmit(context) {
|
|
2042
2042
|
const { assetReadToken, authorization, endpoint } = context;
|
|
@@ -20701,6 +20701,13 @@ var BINARYEN_RELEASES = /* @__PURE__ */ new Map([
|
|
|
20701
20701
|
]
|
|
20702
20702
|
]);
|
|
20703
20703
|
async function runWasmOpt(file, output2, skipPasses, binary2) {
|
|
20704
|
+
const admittedCores = windowAdmission()?.cores ?? Number(process.env.TM_EXEC_CPU_CORES);
|
|
20705
|
+
const requestedCores = Number(process.env.BINARYEN_CORES);
|
|
20706
|
+
const environment = { ...process.env, WASM_OPT_PATH: binary2 };
|
|
20707
|
+
if (Number.isInteger(admittedCores) && admittedCores > 0)
|
|
20708
|
+
environment.BINARYEN_CORES = String(
|
|
20709
|
+
Number.isInteger(requestedCores) && requestedCores > 0 ? Math.min(admittedCores, requestedCores) : admittedCores
|
|
20710
|
+
);
|
|
20704
20711
|
const result = await (0, import_wasm_opt.wasmOpt)(
|
|
20705
20712
|
[
|
|
20706
20713
|
"-Oz",
|
|
@@ -20710,7 +20717,7 @@ async function runWasmOpt(file, output2, skipPasses, binary2) {
|
|
|
20710
20717
|
"-o",
|
|
20711
20718
|
output2
|
|
20712
20719
|
],
|
|
20713
|
-
{ env:
|
|
20720
|
+
{ env: environment }
|
|
20714
20721
|
);
|
|
20715
20722
|
if (result.status !== 0)
|
|
20716
20723
|
throw new Error(`wasm-opt exited ${result.status}: ${result.stderr}`);
|
|
@@ -22744,7 +22751,7 @@ var darwinRecordsRegion = (quoted) => quoted.length ? ["-Wl,--start-lib", ...quo
|
|
|
22744
22751
|
var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
|
|
22745
22752
|
var MULTI_MANIFEST_VERSION = 68;
|
|
22746
22753
|
var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
|
|
22747
|
-
var compilerSourceDigest = true ? "
|
|
22754
|
+
var compilerSourceDigest = true ? "73960368f0b83cf042511655d857d5f64204fa539e2c984423a12c08657b068e" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
|
|
22748
22755
|
function swiftArtifactHash(input, release, moduleRoot) {
|
|
22749
22756
|
const hash = (0, import_node_crypto19.createHash)("sha256");
|
|
22750
22757
|
hash.update(`swift-compile
|
|
@@ -22870,6 +22877,20 @@ function emitSwiftPackageManifest(args) {
|
|
|
22870
22877
|
const prebuilt = args.prebuilt;
|
|
22871
22878
|
const linkedObjects = Boolean(distribution || prebuilt);
|
|
22872
22879
|
const cxxFlagsFor = (flags) => args.deferDarwinOverlay ? withoutWasmOverlayIsystem(flags) : flags;
|
|
22880
|
+
const packageModules = new Set(
|
|
22881
|
+
targets.filter(({ name: name3 }) => !args.sourceSwiftTargets?.has(name3)).map(({ name: name3 }) => swiftTargetModuleName(name3))
|
|
22882
|
+
);
|
|
22883
|
+
const mapsPackageModule = (flag) => {
|
|
22884
|
+
if (!flag.startsWith("-fmodule-map-file=")) return false;
|
|
22885
|
+
const file = flag.slice("-fmodule-map-file=".length).replaceAll(SWIFT_NATIVE_INPUT_ROOT, args.root);
|
|
22886
|
+
if (!file.includes("/Pods/Headers/")) return false;
|
|
22887
|
+
const map2 = args.files.get(file) ?? ((0, import_node_fs47.existsSync)(file) ? (0, import_node_fs47.readFileSync)(file) : void 0);
|
|
22888
|
+
const name3 = map2 === void 0 ? void 0 : moduleMapName(map2.toString());
|
|
22889
|
+
return name3 !== void 0 && packageModules.has(name3);
|
|
22890
|
+
};
|
|
22891
|
+
const withoutPackageModuleMaps = (flags) => flags.filter((flag) => !mapsPackageModule(flag));
|
|
22892
|
+
const targetCFlags = (flags) => cFlagArray(withoutPackageModuleMaps(flags));
|
|
22893
|
+
const targetCxxFlags = (flags) => cxxFlagArray(withoutPackageModuleMaps(flags));
|
|
22873
22894
|
const reachedFrameworks = /* @__PURE__ */ new Set();
|
|
22874
22895
|
const reach = (name3) => {
|
|
22875
22896
|
if (reachedFrameworks.has(name3) || targets.some((target) => swiftTargetModuleName(target.name) === name3))
|
|
@@ -22949,7 +22970,9 @@ function emitSwiftPackageManifest(args) {
|
|
|
22949
22970
|
const macroSettings = (values) => (values ?? []).map((value) => ` ${clangMacroSetting(value)},`).join("");
|
|
22950
22971
|
const flagArray = (literal2) => `peachCompilerArguments(${JSON.stringify(literal2.replace(/,\s*]$/, "]"))})`;
|
|
22951
22972
|
const swiftFlagArray = (literal2) => {
|
|
22952
|
-
const flags = JSON.parse(literal2.replace(/,\s*]$/, "]"))
|
|
22973
|
+
const flags = JSON.parse(literal2.replace(/,\s*]$/, "]")).filter(
|
|
22974
|
+
(flag, index, all) => !mapsPackageModule(flag) && !(flag === "-Xcc" && mapsPackageModule(all[index + 1] ?? ""))
|
|
22975
|
+
);
|
|
22953
22976
|
const content = flags.map((flag) => JSON.stringify(flag)).join("\n") + "\n";
|
|
22954
22977
|
const digest2 = (0, import_node_crypto19.createHash)("sha256").update(content).digest("hex");
|
|
22955
22978
|
const file = import_node_path44.default.join(args.root, ".peach-swift-arguments", `${digest2}.rsp`);
|
|
@@ -23109,18 +23132,18 @@ function emitSwiftPackageManifest(args) {
|
|
|
23109
23132
|
"c"
|
|
23110
23133
|
).map((entry) => ` ${entry},`).join(
|
|
23111
23134
|
""
|
|
23112
|
-
)} .unsafeFlags(${flagArray(
|
|
23135
|
+
)} .unsafeFlags(${flagArray(targetCFlags([...nativeFlags, ...native.clang.flags]))})]`,
|
|
23113
23136
|
...nativeCxx ? [
|
|
23114
23137
|
`cxxSettings: [${cxxDefines}${clangSettingEntries(
|
|
23115
23138
|
frameworkSearchFlags(target, "cxx"),
|
|
23116
23139
|
"cxx"
|
|
23117
23140
|
).map((entry) => ` ${entry},`).join(
|
|
23118
23141
|
""
|
|
23119
|
-
)} .unsafeFlags(${flagArray(
|
|
23142
|
+
)} .unsafeFlags(${flagArray(targetCxxFlags([...cxxFlagsFor(nativeFlags), ...native.clang.cxxFlags]))})]`
|
|
23120
23143
|
] : []
|
|
23121
23144
|
].join(", ") : [
|
|
23122
|
-
`cSettings: [${cDefines}${declaredClangSettings(target, "c")} .unsafeFlags(${flagArray(
|
|
23123
|
-
`cxxSettings: [${cxxDefines}${declaredClangSettings(target, "cxx")} .unsafeFlags(${flagArray(
|
|
23145
|
+
`cSettings: [${cDefines}${declaredClangSettings(target, "c")} .unsafeFlags(${flagArray(targetCFlags([...nativeFlags, ...native?.flags ?? []]))})]`,
|
|
23146
|
+
`cxxSettings: [${cxxDefines}${declaredClangSettings(target, "cxx")} .unsafeFlags(${flagArray(targetCxxFlags([...cxxFlagsFor(nativeFlags), ...native?.cxxFlags ?? []]))})]`
|
|
23124
23147
|
].join(", ");
|
|
23125
23148
|
const exclusions = native?.clang ? [] : [
|
|
23126
23149
|
...native ? native.exclude ?? native.lateSources : [],
|
|
@@ -23189,9 +23212,9 @@ function emitSwiftPackageManifest(args) {
|
|
|
23189
23212
|
` path: ${JSON.stringify(group.path)},`,
|
|
23190
23213
|
` sources: ${JSON.stringify(group.sources)},`,
|
|
23191
23214
|
` publicHeadersPath: ${JSON.stringify(native.groups ? "include" : "PeachSwiftImplementation")},`,
|
|
23192
|
-
` cSettings: [${macroSettings(owner?.cDefines)}${declaredClangSettings(owner, "c")} .unsafeFlags(${flagArray(
|
|
23215
|
+
` cSettings: [${macroSettings(owner?.cDefines)}${declaredClangSettings(owner, "c")} .unsafeFlags(${flagArray(targetCFlags([...nativeFlags, "-I", native.includeDirectory, ...args.headerDirectory ? ["-I", args.headerDirectory] : [], ...group.flags]))})],`,
|
|
23193
23216
|
...group.sources.some((source) => /\.(?:cc|cpp|cxx|mm)$/.test(source)) ? [
|
|
23194
|
-
` cxxSettings: [${macroSettings(owner?.cxxDefines)}${declaredClangSettings(owner, "cxx")} .unsafeFlags(${flagArray(
|
|
23217
|
+
` cxxSettings: [${macroSettings(owner?.cxxDefines)}${declaredClangSettings(owner, "cxx")} .unsafeFlags(${flagArray(targetCxxFlags([...cxxFlagsFor(nativeFlags), "-I", native.includeDirectory, ...group.cxxFlags]))})]),`
|
|
23195
23218
|
] : [" ),"]
|
|
23196
23219
|
]) : [];
|
|
23197
23220
|
}),
|
|
@@ -24718,7 +24741,10 @@ ${swiftProjectFilesProblems(input.projectFiles).join("\n")}`
|
|
|
24718
24741
|
const target = bySourcePath.find(
|
|
24719
24742
|
(candidate) => candidate.path === "." || file.startsWith(`${candidate.path}/`)
|
|
24720
24743
|
);
|
|
24721
|
-
|
|
24744
|
+
const excluded = target?.exclude?.some(
|
|
24745
|
+
(name3) => file === import_node_path44.default.posix.join(target.path, name3)
|
|
24746
|
+
);
|
|
24747
|
+
if (target && !excluded) swiftTargets.add(target.name);
|
|
24722
24748
|
}
|
|
24723
24749
|
const importedModules = /* @__PURE__ */ new Set();
|
|
24724
24750
|
const swiftImportedModules = /* @__PURE__ */ new Set();
|
|
@@ -25764,6 +25790,9 @@ module ${moduleName}.Swift {
|
|
|
25764
25790
|
frameworkLink,
|
|
25765
25791
|
[
|
|
25766
25792
|
...prebuilt.objects.map(quote),
|
|
25793
|
+
"-Wl,--start-lib",
|
|
25794
|
+
...prebuilt.lazyObjects.map(quote),
|
|
25795
|
+
"-Wl,--end-lib",
|
|
25767
25796
|
...darwinRecordsRegion(prebuilt.providers.map(quote))
|
|
25768
25797
|
].join("\n") + "\n"
|
|
25769
25798
|
);
|
|
@@ -26049,7 +26078,7 @@ function readCompiledArtifact(directory, hash) {
|
|
|
26049
26078
|
return null;
|
|
26050
26079
|
const bytes = (0, import_node_fs47.readFileSync)(import_node_path44.default.join(directory, "app.wasm"));
|
|
26051
26080
|
const gzip2 = (0, import_node_fs47.readFileSync)(import_node_path44.default.join(directory, "icu.gz"));
|
|
26052
|
-
if ((0, import_node_crypto19.createHash)("sha256").update(bytes).digest("hex") !== receipt.wasm || (0, import_node_crypto19.createHash)("sha256").update(gzip2).digest("hex") !== receipt.icu || bytes.length
|
|
26081
|
+
if ((0, import_node_crypto19.createHash)("sha256").update(bytes).digest("hex") !== receipt.wasm || (0, import_node_crypto19.createHash)("sha256").update(gzip2).digest("hex") !== receipt.icu || bytes.length <= 8 || bytes.readUInt32LE(0) !== 1836278016 || bytes.readUInt32LE(4) !== 1)
|
|
26053
26082
|
return null;
|
|
26054
26083
|
return { hash, bytes, icu: { sha256: receipt.icu, gzip: gzip2 } };
|
|
26055
26084
|
} catch (error) {
|
|
@@ -26170,7 +26199,13 @@ function linkedFrameworkTargets(moduleRoot, input) {
|
|
|
26170
26199
|
);
|
|
26171
26200
|
const targets = compileTargets(input);
|
|
26172
26201
|
const planning = targets.length > 0 ? targets : [{ name: "App", path: "." }];
|
|
26173
|
-
const siblings = swiftTargetDependencies(
|
|
26202
|
+
const siblings = swiftTargetDependencies(
|
|
26203
|
+
input.files,
|
|
26204
|
+
planning.map(
|
|
26205
|
+
(target) => input.libraries?.[target.name] ? { ...target, exclude: [] } : target
|
|
26206
|
+
),
|
|
26207
|
+
libraries.keys()
|
|
26208
|
+
);
|
|
26174
26209
|
const reached = /* @__PURE__ */ new Set();
|
|
26175
26210
|
const reach = (name3) => {
|
|
26176
26211
|
if (name3 === "SwiftUI") return;
|
|
@@ -26472,9 +26507,31 @@ async function buildFrameworkProducts(scratch2, args) {
|
|
|
26472
26507
|
}
|
|
26473
26508
|
const providers = (0, import_node_fs47.readdirSync)(providerDir).filter((file) => file.endsWith(".o")).sort().map((file) => import_node_path44.default.join(providerDir, file));
|
|
26474
26509
|
for (const provider of providers) linked.owners.set(provider, "DarwinRecords");
|
|
26510
|
+
const archive = import_node_path44.default.join(scratch2, "lib");
|
|
26511
|
+
(0, import_node_fs47.rmSync)(archive, { recursive: true, force: true });
|
|
26512
|
+
(0, import_node_fs47.mkdirSync)(archive);
|
|
26513
|
+
const archived = /* @__PURE__ */ new Map();
|
|
26514
|
+
for (const object5 of objects) {
|
|
26515
|
+
const target = linked.owners.get(object5);
|
|
26516
|
+
const dir = import_node_path44.default.join(release, `${target}.build`);
|
|
26517
|
+
if (!target || target === "Darwin" || !object5.startsWith(dir + import_node_path44.default.sep)) continue;
|
|
26518
|
+
const name3 = `${target}-${import_node_path44.default.relative(dir, object5).replaceAll(import_node_path44.default.sep, "-").replace(/\.swift\.o$/, ".o")}`;
|
|
26519
|
+
(0, import_node_fs47.symlinkSync)(object5, import_node_path44.default.join(archive, name3));
|
|
26520
|
+
archived.set(object5, `lib/${name3}`);
|
|
26521
|
+
}
|
|
26522
|
+
const roots = swiftObjcRootObjects(`${scratch2}
|
|
26523
|
+
${args.frameworkKey}`, scratch2, [
|
|
26524
|
+
...archived.values()
|
|
26525
|
+
]);
|
|
26526
|
+
const linkedObjects = objects.map((object5) => {
|
|
26527
|
+
const name3 = archived.get(object5);
|
|
26528
|
+
return name3 ? { path: import_node_path44.default.join(scratch2, name3), lazy: !roots.has(name3) } : { path: object5, lazy: false };
|
|
26529
|
+
});
|
|
26475
26530
|
return {
|
|
26531
|
+
root: scratch2,
|
|
26476
26532
|
modules: import_node_path44.default.join(release, "Modules"),
|
|
26477
|
-
objects,
|
|
26533
|
+
objects: linkedObjects.filter((object5) => !object5.lazy).map((object5) => object5.path),
|
|
26534
|
+
lazyObjects: linkedObjects.filter((object5) => object5.lazy).map((object5) => object5.path),
|
|
26478
26535
|
owners: linked.owners,
|
|
26479
26536
|
providers,
|
|
26480
26537
|
link,
|
|
@@ -26628,6 +26685,10 @@ ${args.frameworkKey}
|
|
|
26628
26685
|
for (const object5 of args.prebuilt.objects)
|
|
26629
26686
|
hash.update(`object
|
|
26630
26687
|
${object5}
|
|
26688
|
+
${statOf(object5)}`);
|
|
26689
|
+
for (const object5 of args.prebuilt.lazyObjects)
|
|
26690
|
+
hash.update(`lazy-object
|
|
26691
|
+
${object5}
|
|
26631
26692
|
${statOf(object5)}`);
|
|
26632
26693
|
for (const object5 of args.prebuilt.providers)
|
|
26633
26694
|
hash.update(`provider
|
|
@@ -27044,7 +27105,7 @@ function compileSwiftProjectOnce(input, options) {
|
|
|
27044
27105
|
pruneSwiftWasmLink(
|
|
27045
27106
|
root,
|
|
27046
27107
|
options.toolchainBin,
|
|
27047
|
-
frameworkRoot,
|
|
27108
|
+
prebuilt?.root ?? frameworkRoot,
|
|
27048
27109
|
input.staticClangTargets,
|
|
27049
27110
|
options.project,
|
|
27050
27111
|
void 0,
|
|
@@ -27068,11 +27129,19 @@ function compileSwiftProjectOnce(input, options) {
|
|
|
27068
27129
|
optimized
|
|
27069
27130
|
});
|
|
27070
27131
|
else if (input.optimize) await optimizeWasm(output2, optimized);
|
|
27132
|
+
const executable = input.optimize ? optimized : output2;
|
|
27133
|
+
await runCompiler(
|
|
27134
|
+
import_node_path44.default.join(options.toolchainBin, "llvm-objcopy"),
|
|
27135
|
+
["--remove-section=.swift1_autolink_entries", executable],
|
|
27136
|
+
buildOptions
|
|
27137
|
+
);
|
|
27071
27138
|
const artifact = {
|
|
27072
27139
|
hash,
|
|
27073
|
-
bytes: (0, import_node_fs47.readFileSync)(
|
|
27140
|
+
bytes: (0, import_node_fs47.readFileSync)(executable),
|
|
27074
27141
|
icu: await icu
|
|
27075
27142
|
};
|
|
27143
|
+
if (artifact.bytes.length <= 8)
|
|
27144
|
+
throw new Error("swift-compile: deferred linker produced no executable");
|
|
27076
27145
|
if (!options.project) saveCompiledArtifact(root, artifact);
|
|
27077
27146
|
saveSharedArtifact(sharedRoot, artifact);
|
|
27078
27147
|
report("compiled artifact verified");
|
|
@@ -31281,6 +31350,7 @@ async function prepareWorkspace(app, stage, key2, podsEnvironment) {
|
|
|
31281
31350
|
const nodeVersion = typeof manifest.engines?.node === "string" && /^\d+(\.\d+){0,2}$/.test(manifest.engines.node) ? manifest.engines.node : null;
|
|
31282
31351
|
const prefix = nodeVersion ? ["mise", "exec", `node@${nodeVersion}`, "--"] : [];
|
|
31283
31352
|
const bunPrefix = import_node_path54.default.join(cacheDir(), "package-managers", manager);
|
|
31353
|
+
const bunExecutable = import_node_path54.default.join(bunPrefix, "node_modules/.bin/bun");
|
|
31284
31354
|
const install = manager === "pnpm" || manager.startsWith("pnpm@") ? [
|
|
31285
31355
|
"npx",
|
|
31286
31356
|
"--yes",
|
|
@@ -31289,11 +31359,7 @@ async function prepareWorkspace(app, stage, key2, podsEnvironment) {
|
|
|
31289
31359
|
"--frozen-lockfile",
|
|
31290
31360
|
// the copied node_modules link into the store pnpm chose on the app's volume
|
|
31291
31361
|
...pnpmStoreArgs(root)
|
|
31292
|
-
] : manager === "yarn" || manager.startsWith("yarn@") ? ["corepack", "yarn", "install", "--immutable"] : manager === "bun" || manager.startsWith("bun@") ? manager === "bun" ? ["bun", "install", "--frozen-lockfile"] : [
|
|
31293
|
-
import_node_path54.default.join(bunPrefix, "node_modules/.bin/bun"),
|
|
31294
|
-
"install",
|
|
31295
|
-
"--frozen-lockfile"
|
|
31296
|
-
] : (
|
|
31362
|
+
] : manager === "yarn" || manager.startsWith("yarn@") ? ["corepack", "yarn", "install", "--immutable"] : manager === "bun" || manager.startsWith("bun@") ? manager === "bun" ? ["bun", "install", "--frozen-lockfile"] : [bunExecutable, "install", "--frozen-lockfile"] : (
|
|
31297
31363
|
// npm ci would delete the cloned tree before installing it again
|
|
31298
31364
|
["npm", "install", "--no-audit", "--no-fund"]
|
|
31299
31365
|
);
|
|
@@ -31302,22 +31368,22 @@ async function prepareWorkspace(app, stage, key2, podsEnvironment) {
|
|
|
31302
31368
|
const command = [...prefix, ...args];
|
|
31303
31369
|
await run8(command[0], command.slice(1), cwd, env);
|
|
31304
31370
|
};
|
|
31371
|
+
if (manager.startsWith("bun@") && (!projectReady || !import_node_fs56.default.existsSync(bunExecutable)))
|
|
31372
|
+
await execute(
|
|
31373
|
+
[
|
|
31374
|
+
"npm",
|
|
31375
|
+
"install",
|
|
31376
|
+
"--prefix",
|
|
31377
|
+
bunPrefix,
|
|
31378
|
+
// the bun package ships a placeholder binary its postinstall replaces
|
|
31379
|
+
"--ignore-scripts=false",
|
|
31380
|
+
"--no-audit",
|
|
31381
|
+
"--no-fund",
|
|
31382
|
+
manager
|
|
31383
|
+
],
|
|
31384
|
+
work
|
|
31385
|
+
);
|
|
31305
31386
|
if (!projectReady) {
|
|
31306
|
-
if (manager.startsWith("bun@"))
|
|
31307
|
-
await execute(
|
|
31308
|
-
[
|
|
31309
|
-
"npm",
|
|
31310
|
-
"install",
|
|
31311
|
-
"--prefix",
|
|
31312
|
-
bunPrefix,
|
|
31313
|
-
// the bun package ships a placeholder binary its postinstall replaces
|
|
31314
|
-
"--ignore-scripts=false",
|
|
31315
|
-
"--no-audit",
|
|
31316
|
-
"--no-fund",
|
|
31317
|
-
manager
|
|
31318
|
-
],
|
|
31319
|
-
work
|
|
31320
|
-
);
|
|
31321
31387
|
if (install[0] === "npm" && import_node_fs56.default.existsSync(import_node_path54.default.join(work, "package-lock.json"))) {
|
|
31322
31388
|
await execute(
|
|
31323
31389
|
["npm", "ci", "--dry-run", "--ignore-scripts", "--no-audit", "--no-fund"],
|
|
@@ -31943,7 +32009,7 @@ function sourceClosureDigest(srcDir, entrypoints) {
|
|
|
31943
32009
|
return hash.digest("hex");
|
|
31944
32010
|
}
|
|
31945
32011
|
var standinSourceDigest = (srcDir = __sootsim_import_meta_dirname) => sourceClosureDigest(srcDir, STANDIN_DIGEST_ENTRYPOINTS);
|
|
31946
|
-
var STANDIN_SOURCE_DIGEST = true ? "
|
|
32012
|
+
var STANDIN_SOURCE_DIGEST = true ? "cc396d180b261e922288f645807b4a704fa92410ffc902bfbaac72b81af6413a" : standinSourceDigest();
|
|
31947
32013
|
|
|
31948
32014
|
// src/expoSwiftContract.ts
|
|
31949
32015
|
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
@@ -32209,7 +32275,7 @@ async function packageTreeDigest(root) {
|
|
|
32209
32275
|
// src/expo-native-prebuilt.ts
|
|
32210
32276
|
var EXPO_NATIVE_ENTRY_NAME = "ios";
|
|
32211
32277
|
function expoNativeCompilerDigestValue() {
|
|
32212
|
-
return true ? "
|
|
32278
|
+
return true ? "2799fbdcc514ac59227047679bf5780658834c45f46965b7b41455f6453d53e2" : expoNativeCompilerDigest(__sootsim_import_meta_dirname);
|
|
32213
32279
|
}
|
|
32214
32280
|
var IDENTITY_SOURCE_SKIPS = 1 | 4 | 8 | 16 | 32 | 64 | 128 | 4096;
|
|
32215
32281
|
function readSources(value) {
|
|
@@ -44172,7 +44238,15 @@ function targetSettings2(units) {
|
|
|
44172
44238
|
}
|
|
44173
44239
|
return settings;
|
|
44174
44240
|
}
|
|
44175
|
-
function
|
|
44241
|
+
function oneSDKStamp(oneSDK) {
|
|
44242
|
+
if (!oneSDK) return "";
|
|
44243
|
+
const hash = (0, import_node_crypto40.createHash)("sha256");
|
|
44244
|
+
for (const files2 of [oneSDK.targets, oneSDK.entry])
|
|
44245
|
+
for (const [name3, source] of [...files2].sort(([a], [b]) => a.localeCompare(b)))
|
|
44246
|
+
hash.update(`${name3}\0${source}\0`);
|
|
44247
|
+
return hash.digest("hex");
|
|
44248
|
+
}
|
|
44249
|
+
function expoEntry(units, oneSDK = false) {
|
|
44176
44250
|
const namespaces = [...new Set(units.map((unit2) => unit2.namespace))].filter((namespace) => namespace !== "PeachExpoApp").filter(
|
|
44177
44251
|
(namespace) => units.some(
|
|
44178
44252
|
(unit2) => Object.keys(unit2.files).some((file) => file.startsWith(`Sources/${namespace}/`))
|
|
@@ -44182,13 +44256,14 @@ function expoEntry(units) {
|
|
|
44182
44256
|
const subscribers = units.flatMap((unit2) => unit2.appDelegateSubscribers);
|
|
44183
44257
|
const handlers = units.flatMap((unit2) => unit2.reactDelegateHandlers);
|
|
44184
44258
|
const delegates = subscribers.length + handlers.length > 0 ? `; PeachExpoRuntime.registerDelegates(subscribers: [${subscribers.join(", ")}], handlers: [${handlers.join(", ")}])` : "";
|
|
44259
|
+
const view = oneSDK ? '@ViewBuilder func view(props: JSON) -> some View {\n if props["oneSDKHost"] != nil { OneSDKUIKitHost(props: props) } else { PeachExpoNativeView(props: props) }\n }' : "func view(props: JSON) -> PeachExpoNativeView { PeachExpoNativeView(props: props) }";
|
|
44185
44260
|
return `import SwiftUI
|
|
44186
44261
|
internal import ExpoModulesCore
|
|
44187
|
-
${bridgeModules.length ? "import React\n" : ""}${namespaces.map((namespace) => `import ${namespace}`).join("\n")}
|
|
44262
|
+
${bridgeModules.length ? "import React\n" : ""}${oneSDK ? "import One\nimport OneSDKBindings\n" : ""}${namespaces.map((namespace) => `import ${namespace}`).join("\n")}
|
|
44188
44263
|
|
|
44189
44264
|
@main struct PeachExpoApp: PeachPackage {
|
|
44190
44265
|
init() { MainActor.assumeIsolated { PeachExpoRuntime.register([${units.flatMap((unit2) => unit2.classes).join(", ")}])${delegates}${bridgeModules.length ? `; RCTModuleHost.register([${bridgeModules.join(", ")}])` : ""} } }
|
|
44191
|
-
|
|
44266
|
+
${view}
|
|
44192
44267
|
}
|
|
44193
44268
|
|
|
44194
44269
|
@_expose(wasm, "peach_expo_call")
|
|
@@ -44284,7 +44359,7 @@ async function compileExpoSwiftModules(root, base, publishArtifact, options = {}
|
|
|
44284
44359
|
installSwiftInputTrace();
|
|
44285
44360
|
let key2;
|
|
44286
44361
|
try {
|
|
44287
|
-
key2 = `${await discoveryKey(root, options.installedWorkspace, true, options.iosTarget, options.moduleRoot)}\0${options.only?.join(",") ?? ""}`;
|
|
44362
|
+
key2 = `${await discoveryKey(root, options.installedWorkspace, true, options.iosTarget, options.moduleRoot)}\0${options.only?.join(",") ?? ""}\0${oneSDKStamp(options.oneSDK)}`;
|
|
44288
44363
|
} catch {
|
|
44289
44364
|
return compileExpoSwiftModulesTraced(root, base, publishArtifact, options);
|
|
44290
44365
|
}
|
|
@@ -44321,11 +44396,23 @@ async function compileExpoSwiftModulesTraced(root, base, publishArtifact, option
|
|
|
44321
44396
|
throw new Error(`conflicting Expo Swift binary source ${name3}`);
|
|
44322
44397
|
files2[name3] = source;
|
|
44323
44398
|
}
|
|
44324
|
-
|
|
44399
|
+
const settings = targetSettings2(linked2);
|
|
44400
|
+
if (options.oneSDK) {
|
|
44401
|
+
for (const [name3, source] of options.oneSDK.targets) files2[name3] = source;
|
|
44402
|
+
for (const [name3, source] of options.oneSDK.entry)
|
|
44403
|
+
files2[`Sources/PeachExpoApp/${name3}`] = source;
|
|
44404
|
+
settings.set("OneSDKBindings", {
|
|
44405
|
+
languageMode: 5,
|
|
44406
|
+
mainActorIsolation: false,
|
|
44407
|
+
swiftFlags: ["-suppress-warnings"],
|
|
44408
|
+
dependencies: [{ kind: "target", name: "One" }]
|
|
44409
|
+
});
|
|
44410
|
+
}
|
|
44411
|
+
files2[EXPO_SWIFT_ENTRY] = expoEntry(linked2, options.oneSDK !== void 0);
|
|
44325
44412
|
files2["Package.swift"] = expoManifest(
|
|
44326
44413
|
files2,
|
|
44327
44414
|
linked2.map((unit2) => generations.get(unit2) ?? "").join(","),
|
|
44328
|
-
|
|
44415
|
+
settings
|
|
44329
44416
|
);
|
|
44330
44417
|
const provider = linked2.some((unit2) => unit2.reactNativeProvider) ? reactProvider : void 0;
|
|
44331
44418
|
if (provider) {
|
|
@@ -44686,7 +44773,11 @@ async function compileExpoSwiftModulesTraced(root, base, publishArtifact, option
|
|
|
44686
44773
|
stamps.set(unit2, stamp);
|
|
44687
44774
|
candidates.push(unit2);
|
|
44688
44775
|
}
|
|
44689
|
-
const preparedKey = expoSwiftPreparedKey(
|
|
44776
|
+
const preparedKey = expoSwiftPreparedKey(
|
|
44777
|
+
base,
|
|
44778
|
+
units,
|
|
44779
|
+
reactProviderStamp + oneSDKStamp(options.oneSDK)
|
|
44780
|
+
);
|
|
44690
44781
|
if (!publishArtifact) {
|
|
44691
44782
|
const prepared = preparedExpoSwift.get(preparedKey);
|
|
44692
44783
|
if (prepared) {
|
|
@@ -44878,7 +44969,7 @@ async function compileExpoSwiftModulesTraced(root, base, publishArtifact, option
|
|
|
44878
44969
|
}
|
|
44879
44970
|
|
|
44880
44971
|
// src/expo-swift-bundle.ts
|
|
44881
|
-
async function buildExpoSwiftBundle(appRoot) {
|
|
44972
|
+
async function buildExpoSwiftBundle(appRoot, oneSDK) {
|
|
44882
44973
|
const assets2 = [];
|
|
44883
44974
|
const metadata = await compileExpoSwiftModules(
|
|
44884
44975
|
appRoot,
|
|
@@ -44891,7 +44982,8 @@ async function buildExpoSwiftBundle(appRoot) {
|
|
|
44891
44982
|
contentType: "application/wasm"
|
|
44892
44983
|
});
|
|
44893
44984
|
if ("gzip" in artifact.icu) assets2.push(await swiftIcuBundleAsset(artifact.icu));
|
|
44894
|
-
}
|
|
44985
|
+
},
|
|
44986
|
+
{ oneSDK }
|
|
44895
44987
|
);
|
|
44896
44988
|
if (!metadata) return null;
|
|
44897
44989
|
return { metadata, assets: assets2 };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2182 | (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/home-paths.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2182 | (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;
|