peachsim 0.1.2208 → 0.1.2209
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/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 +448 -22
- 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 +436 -16
- 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 +448 -22
- 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 +7 -1
- package/dist-lib/menu.cjs +1 -1
- package/dist-lib/menu.mjs +1 -1
- package/dist-lib/metro-fingerprint-registry.cjs +1 -1
- package/dist-lib/metro-fingerprint-registry.mjs +1 -1
- package/dist-lib/metro-production-bundle.cjs +1 -1
- package/dist-lib/metro-production-bundle.mjs +1 -1
- package/dist-lib/metro.cjs +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 +59 -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 +5482 -381
- package/dist-lib/swift-compile.cjs +98 -6
- package/dist-lib/swift-compile.mjs +98 -6
- 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 +351 -13
- 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/engine/animated.d.ts +2 -1
- package/dist-types/packages/peach-engine/src/engine/animation-graph.d.ts +1 -0
- package/dist-types/packages/peach-engine/src/engine/liquid-glass.d.ts +6 -0
- package/dist-types/packages/peach-engine/src/engine/node.d.ts +1 -0
- package/dist-types/packages/peach-engine/src/engine/types.d.ts +1 -0
- package/dist-types/packages/peach-engine/src/render-worker/canvaskit-webgpu.d.ts +8 -0
- package/dist-types/packages/peach-engine/src/render-worker/compositor-gpu.d.ts +3 -0
- package/dist-types/packages/peach-engine/src/render-worker/compositor-protocol.d.ts +14 -0
- package/dist-types/packages/peach-engine/src/render-worker/compositor-runtime/render-tree.d.ts +18 -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/Foundation.framework/Headers/NSCompoundPredicate.h +1 -1
- package/sdk/ios/System/Library/Frameworks/Foundation.framework/Headers/NSExpression.h +1 -1
- package/sdk/ios/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h +1 -1
- package/sdk/ios/System/Library/Frameworks/Foundation.framework/Headers/NSMeasurementFormatter.h +1 -1
- package/sdk/ios/System/Library/Frameworks/Intents.framework/Headers/INObjectCollection.h +27 -0
- package/sdk/ios/System/Library/Frameworks/Intents.framework/Headers/INObjectSection.h +24 -0
- package/sdk/ios/System/Library/Frameworks/Intents.framework/Headers/Intents.h +9 -0
- package/sdk/ios/System/Library/Frameworks/Intents.framework/Modules/module.modulemap +5 -0
- package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UIFeedbackGenerator.h +1 -1
- package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UIImpactFeedbackGenerator.h +1 -1
- package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UINibLoading.h +1 -1
- package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UINotificationFeedbackGenerator.h +1 -1
- package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UISelectionFeedbackGenerator.h +1 -1
- package/sdk/ios/usr/include/ObjectiveC.apinotes +7 -0
- package/src/android-theme.ts +136 -2
- package/src/expo-swift-host.ts +90 -1
- package/src/generated/android-framework-text.json +4566 -0
- package/src/generated/android-framework-themes.json +11 -0
- package/src/kotlin-app.ts +24 -4
- package/src/kotlin-host.ts +9 -0
- package/src/nitro-adapter.lock.json +246 -246
- package/src/nitro-superset.lock.json +4 -4
- package/src/swift-compile.ts +120 -2
- package/src/swift-distribution.lock.json +8 -8
- package/src/swift-objc-standin.ts +9 -2
- package/src/swift-shared-sdk.ts +2 -1
- package/src/swift-standin-builtin-behavior.ts +248 -0
- package/src/swift-standin-emit.ts +2 -0
- package/src/swift-standins.ts +17 -5
- package/src/turbo-runtime.lock.json +17 -17
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2209 | (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;
|
|
@@ -10560,9 +10560,14 @@ function objcView(surface, toolchainBin, stdlib, cacheDir5, work, original, vend
|
|
|
10560
10560
|
recursive: true
|
|
10561
10561
|
});
|
|
10562
10562
|
const modulemap = import_node_fs32.default.readFileSync(surface.modulemap, "utf8");
|
|
10563
|
+
const forwardEnum = [...originals.values()].some(
|
|
10564
|
+
(text6) => /typedef\s+NS_(?:CLOSED_)?(?:ENUM|OPTIONS)\s*\(\s*\w+\s*,\s*\w+\s*\)\s*;/.test(
|
|
10565
|
+
text6
|
|
10566
|
+
)
|
|
10567
|
+
);
|
|
10563
10568
|
import_node_fs32.default.writeFileSync(
|
|
10564
10569
|
import_node_path29.default.join(frameworks, `${surface.module}.framework`, "Modules", "module.modulemap"),
|
|
10565
|
-
surface.interface ? modulemap.replace(
|
|
10570
|
+
surface.interface && !forwardEnum ? modulemap.replace(
|
|
10566
10571
|
new RegExp(`\\n\\s*module\\s+${surface.module}\\.Swift\\s*\\{[^}]*\\}`),
|
|
10567
10572
|
""
|
|
10568
10573
|
) : modulemap
|
|
@@ -11690,7 +11695,7 @@ function swiftSharedSdkViewOptions(moduleRoot, distribution, toolchainBin, sdk)
|
|
|
11690
11695
|
const overlay = import_node_path30.default.join(swiftSharedSdkRoot(moduleRoot, distribution), "wasm/include");
|
|
11691
11696
|
const overlayFiles = (0, import_node_fs33.readdirSync)(overlay, { recursive: true, withFileTypes: true }).filter((entry) => entry.isFile()).map((entry) => import_node_path30.default.join(entry.parentPath, entry.name)).sort();
|
|
11692
11697
|
const key2 = JSON.stringify([
|
|
11693
|
-
"
|
|
11698
|
+
"v23",
|
|
11694
11699
|
toolchainBin,
|
|
11695
11700
|
sdk,
|
|
11696
11701
|
frameworks,
|
|
@@ -11747,6 +11752,7 @@ function swiftSharedSdkViewOptions(moduleRoot, distribution, toolchainBin, sdk)
|
|
|
11747
11752
|
...[
|
|
11748
11753
|
"MacTypes.h",
|
|
11749
11754
|
"objc/NSObject.h",
|
|
11755
|
+
"ObjectiveC.apinotes",
|
|
11750
11756
|
"net/if.h",
|
|
11751
11757
|
"notify.h",
|
|
11752
11758
|
"notify.modulemap",
|
|
@@ -19790,6 +19796,41 @@ function swiftSystemLibraryExclusions(files2, targets, distributionModules) {
|
|
|
19790
19796
|
)
|
|
19791
19797
|
);
|
|
19792
19798
|
}
|
|
19799
|
+
function distributionClangModulePresent(modules, name3) {
|
|
19800
|
+
return (0, import_node_fs50.existsSync)(import_node_path47.default.join(modules, `${name3}.swiftmodule`)) || (0, import_node_fs50.existsSync)(import_node_path47.default.join(modules, name3, "module.modulemap"));
|
|
19801
|
+
}
|
|
19802
|
+
function distributionClangModuleMap(root, modules) {
|
|
19803
|
+
const missing = DISTRIBUTION_CLANG_MODULES.filter(
|
|
19804
|
+
(mod) => !distributionClangModulePresent(modules, mod.name)
|
|
19805
|
+
);
|
|
19806
|
+
if (missing.length === 0) return null;
|
|
19807
|
+
const key2 = (0, import_node_crypto21.createHash)("sha256").update(modules).update(missing.map((mod) => `${mod.name}\0${mod.source}`).join("\0")).digest("hex").slice(0, 16);
|
|
19808
|
+
const directory2 = import_node_path47.default.join(root, `.peach-clang-modules-${key2}`);
|
|
19809
|
+
const mapPath = import_node_path47.default.join(directory2, "module.modulemap");
|
|
19810
|
+
if (!(0, import_node_fs50.existsSync)(mapPath)) {
|
|
19811
|
+
(0, import_node_fs50.mkdirSync)(directory2, { recursive: true });
|
|
19812
|
+
const parts = [];
|
|
19813
|
+
for (const mod of missing) {
|
|
19814
|
+
const destination = import_node_path47.default.join(directory2, mod.header);
|
|
19815
|
+
(0, import_node_fs50.mkdirSync)(import_node_path47.default.dirname(destination), { recursive: true });
|
|
19816
|
+
(0, import_node_fs50.writeFileSync)(destination, mod.source);
|
|
19817
|
+
parts.push(
|
|
19818
|
+
`module ${mod.name} {
|
|
19819
|
+
requires objc
|
|
19820
|
+
header "${mod.header}"
|
|
19821
|
+
export *
|
|
19822
|
+
}
|
|
19823
|
+
`
|
|
19824
|
+
);
|
|
19825
|
+
}
|
|
19826
|
+
(0, import_node_fs50.writeFileSync)(mapPath, parts.join("\n"));
|
|
19827
|
+
}
|
|
19828
|
+
return mapPath;
|
|
19829
|
+
}
|
|
19830
|
+
function distributionClangModuleOptions(root, modules) {
|
|
19831
|
+
const map2 = distributionClangModuleMap(root, modules);
|
|
19832
|
+
return map2 === null ? [] : ["-Xcc", `-fmodule-map-file=${map2}`];
|
|
19833
|
+
}
|
|
19793
19834
|
function providedModulesPath(root, modules, excluded) {
|
|
19794
19835
|
if (!excluded || excluded.size === 0) return modules;
|
|
19795
19836
|
const entries = (0, import_node_fs50.readdirSync)(modules).filter((entry) => !excluded.has(entry.replace(/\..*$/, ""))).sort();
|
|
@@ -20122,7 +20163,7 @@ function emitSwiftPackageManifest(args) {
|
|
|
20122
20163
|
import_node_path47.default.join(moduleRoot, "modules"),
|
|
20123
20164
|
args.moduleExcludes
|
|
20124
20165
|
)
|
|
20125
|
-
)}` : prebuilt ? `, "-Isystem", ${JSON.stringify(providedModulesPath(args.root, prebuilt.modules, args.moduleExcludes))}${prebuilt.moduleMaps.map((map2) => `, "-Xcc", ${JSON.stringify(`-fmodule-map-file=${map2}`)}`).join("")}` : "");
|
|
20166
|
+
)}${distributionClangModuleOptions(args.root, import_node_path47.default.join(moduleRoot, "modules")).map((flag) => `, ${JSON.stringify(flag)}`).join("")}` : prebuilt ? `, "-Isystem", ${JSON.stringify(providedModulesPath(args.root, prebuilt.modules, args.moduleExcludes))}${prebuilt.moduleMaps.map((map2) => `, "-Xcc", ${JSON.stringify(`-fmodule-map-file=${map2}`)}`).join("")}` : "");
|
|
20126
20167
|
const nativeFlags = [
|
|
20127
20168
|
...args.nativeFlags?.get(target.name) ?? [],
|
|
20128
20169
|
...args.nativeHeaderFlags ?? []
|
|
@@ -20329,7 +20370,9 @@ function syncSwiftTree(base, files2) {
|
|
|
20329
20370
|
const walk3 = (dir) => {
|
|
20330
20371
|
for (const entry of (0, import_node_fs50.readdirSync)(dir, { withFileTypes: true })) {
|
|
20331
20372
|
const full = import_node_path47.default.join(dir, entry.name);
|
|
20332
|
-
if (dir === base && (entry.name === ".build" || entry.name.startsWith(".peach-modules-") ||
|
|
20373
|
+
if (dir === base && (entry.name === ".build" || entry.name.startsWith(".peach-modules-") || // distribution clang maps are written beside the project and named
|
|
20374
|
+
// from the compiler flags, so a sync must not remove them.
|
|
20375
|
+
entry.name.startsWith(".peach-clang-modules-") || entry.name === SWIFT_LINK_STAMP))
|
|
20333
20376
|
continue;
|
|
20334
20377
|
if (entry.isDirectory()) walk3(full);
|
|
20335
20378
|
else if (!files2.has(full)) (0, import_node_fs50.rmSync)(full, { force: true });
|
|
@@ -21954,6 +21997,9 @@ module ${moduleName}.Swift {
|
|
|
21954
21997
|
if (!distribution) {
|
|
21955
21998
|
modulePlan.update((0, import_node_fs50.readFileSync)(import_node_path47.default.join(moduleRoot, "Package.swift")));
|
|
21956
21999
|
}
|
|
22000
|
+
modulePlan.update(
|
|
22001
|
+
Object.keys(input.files).filter((file) => file.endsWith(".swift")).sort().join("\n")
|
|
22002
|
+
);
|
|
21957
22003
|
const resourcePlan = (0, import_node_crypto21.createHash)("sha256").update(
|
|
21958
22004
|
JSON.stringify(
|
|
21959
22005
|
resourceTargets.filter((target) => target.resources).map((target) => [
|
|
@@ -22376,6 +22422,10 @@ module ${moduleName}.Swift {
|
|
|
22376
22422
|
import_node_path47.default.join(moduleRoot, "modules"),
|
|
22377
22423
|
moduleExcludes
|
|
22378
22424
|
) : prebuilt ? providedModulesPath(layout2.root, prebuilt.modules, moduleExcludes) : import_node_path47.default.join(layout2.root, ".build", WASM_TRIPLE, "release", "Modules"),
|
|
22425
|
+
...distribution ? distributionClangModuleOptions(
|
|
22426
|
+
layout2.root,
|
|
22427
|
+
import_node_path47.default.join(moduleRoot, "modules")
|
|
22428
|
+
) : [],
|
|
22379
22429
|
...prebuilt?.moduleMaps.flatMap((map2) => [
|
|
22380
22430
|
"-Xcc",
|
|
22381
22431
|
`-fmodule-map-file=${map2}`
|
|
@@ -23232,7 +23282,7 @@ function compileSwiftProjectOnce(input, options) {
|
|
|
23232
23282
|
report("reusing verified disk artifact");
|
|
23233
23283
|
return retain(root, previous);
|
|
23234
23284
|
}
|
|
23235
|
-
if (!options.intermediates && process.platform === "darwin" && process.env.TM_SESSION && !windowAdmission() && process.env.CI !== "true" && moduleRoot === sourceSwiftCheckout() && !swiftDistributionAt(moduleRoot)) {
|
|
23285
|
+
if (!options.intermediates && process.platform === "darwin" && !options.intermediates && process.env.TM_SESSION && !windowAdmission() && process.env.CI !== "true" && moduleRoot === sourceSwiftCheckout() && !swiftDistributionAt(moduleRoot)) {
|
|
23236
23286
|
const requestRoot = (0, import_node_fs50.mkdtempSync)(`${root}.builder-request-`);
|
|
23237
23287
|
const output2 = import_node_path47.default.join(requestRoot, "output");
|
|
23238
23288
|
const request = import_node_path47.default.join(requestRoot, "request.json");
|
|
@@ -23615,7 +23665,7 @@ function compileSwiftProjectOnce(input, options) {
|
|
|
23615
23665
|
options.signal
|
|
23616
23666
|
);
|
|
23617
23667
|
}
|
|
23618
|
-
var import_node_child_process27, import_node_crypto21, import_node_fs50, import_node_os11, import_node_path47, v5, WASM_TRIPLE, SWIFTPM_PROGRESS, SWIFTPM_NOISE, SWIFT_BUILDER_TRANSPORT_MARGIN_MS, SWIFT_BUILDER_DEFAULT_COMPILE_MS, clangInterfaceHeader, swiftInterfaceDeclarations, linkedModuleDigests, SYSTEM_MODULE_LIBRARIES, SYSTEM_MODULE_IMPORT, OPTIONAL_FRAMEWORK_DEPENDENCIES, OPTIONAL_FRAMEWORKS, SWIFT_IMPORT, kleeneNot, kleeneAnd, kleeneOr, sdkPaths, availableModules, sdkOverlayFrameworks, ONE_PRODUCT, SPRITEKIT_PRODUCT, importsSpriteKit, FOUNDATION_IMPLICIT_MODULES, FOUNDATION_IMPLICIT_FLAGS, ONE_IMPLICIT_FLAGS, executableLinkFlags, darwinRecordsRegion, REACTOR_FLAG, MULTI_MANIFEST_VERSION, SWIFT_HEADER_PRODUCTS_TARGET, compilerSourceDigest, nativeCxxCompilerFlags, cFlagArray, cxxFlagArray, DIRECTIVE, OS_IOS, DELEGATE_CLASS, FOUNDATION_NETWORKING_TYPES, FOUNDATION_OVERLAY_TYPES, FOUNDATION_OVERLAY_GLOBALS, CORE_FOUNDATION_OVERLAY_GLOBALS, CORE_FOUNDATION_GEOMETRY_TYPES, CORE_FOUNDATION_GRAPHICS_TYPES, CORE_FOUNDATION_HANDLE_IMPORTS, emptyMacroEnvironment, HIDDEN_UNITS, LIBXML_REFERENCE, LIBXML_SOURCE, ROOT_LOCKS, host, rootLocks, SHARED_ARTIFACT_BUDGET_BYTES, SHARED_ARTIFACT_GRACE_MS, RETIRED_PREFIX, retainedArtifacts, FRAMEWORK_LINK_TARGET, SWIFT_LINK_STAMP, SWIFT_FRAMEWORK_SLOTS, SWIFT_FRAMEWORK_SLOT_KEY, SWIFT_FRAMEWORK_SLOT_ORIGIN;
|
|
23668
|
+
var import_node_child_process27, import_node_crypto21, import_node_fs50, import_node_os11, import_node_path47, v5, WASM_TRIPLE, SWIFTPM_PROGRESS, SWIFTPM_NOISE, SWIFT_BUILDER_TRANSPORT_MARGIN_MS, SWIFT_BUILDER_DEFAULT_COMPILE_MS, clangInterfaceHeader, swiftInterfaceDeclarations, linkedModuleDigests, SYSTEM_MODULE_LIBRARIES, SYSTEM_MODULE_IMPORT, OPTIONAL_FRAMEWORK_DEPENDENCIES, OPTIONAL_FRAMEWORKS, SWIFT_IMPORT, kleeneNot, kleeneAnd, kleeneOr, sdkPaths, availableModules, sdkOverlayFrameworks, DISTRIBUTION_CLANG_MODULES, ONE_PRODUCT, SPRITEKIT_PRODUCT, importsSpriteKit, FOUNDATION_IMPLICIT_MODULES, FOUNDATION_IMPLICIT_FLAGS, ONE_IMPLICIT_FLAGS, executableLinkFlags, darwinRecordsRegion, REACTOR_FLAG, MULTI_MANIFEST_VERSION, SWIFT_HEADER_PRODUCTS_TARGET, compilerSourceDigest, nativeCxxCompilerFlags, cFlagArray, cxxFlagArray, DIRECTIVE, OS_IOS, DELEGATE_CLASS, FOUNDATION_NETWORKING_TYPES, FOUNDATION_OVERLAY_TYPES, FOUNDATION_OVERLAY_GLOBALS, CORE_FOUNDATION_OVERLAY_GLOBALS, CORE_FOUNDATION_GEOMETRY_TYPES, CORE_FOUNDATION_GRAPHICS_TYPES, CORE_FOUNDATION_HANDLE_IMPORTS, emptyMacroEnvironment, HIDDEN_UNITS, LIBXML_REFERENCE, LIBXML_SOURCE, ROOT_LOCKS, host, rootLocks, SHARED_ARTIFACT_BUDGET_BYTES, SHARED_ARTIFACT_GRACE_MS, RETIRED_PREFIX, retainedArtifacts, FRAMEWORK_LINK_TARGET, SWIFT_LINK_STAMP, SWIFT_FRAMEWORK_SLOTS, SWIFT_FRAMEWORK_SLOT_KEY, SWIFT_FRAMEWORK_SLOT_ORIGIN;
|
|
23619
23669
|
var init_swift_compile = __esm({
|
|
23620
23670
|
"src/swift-compile.ts"() {
|
|
23621
23671
|
"use strict";
|
|
@@ -23750,6 +23800,53 @@ var init_swift_compile = __esm({
|
|
|
23750
23800
|
sdkPaths = /* @__PURE__ */ new Map();
|
|
23751
23801
|
availableModules = /* @__PURE__ */ new Map();
|
|
23752
23802
|
sdkOverlayFrameworks = /* @__PURE__ */ new Map();
|
|
23803
|
+
DISTRIBUTION_CLANG_MODULES = [
|
|
23804
|
+
{
|
|
23805
|
+
name: "EXStructuredHeaders",
|
|
23806
|
+
header: "EXStructuredHeaders/EXStructuredHeadersParser.h",
|
|
23807
|
+
source: `// Copyright \xA9 2021 650 Industries. All rights reserved.
|
|
23808
|
+
|
|
23809
|
+
#import <Foundation/Foundation.h>
|
|
23810
|
+
|
|
23811
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
23812
|
+
|
|
23813
|
+
typedef NS_ENUM(NSInteger, EXStructuredHeadersParserFieldType) {
|
|
23814
|
+
EXStructuredHeadersParserFieldTypeDictionary,
|
|
23815
|
+
EXStructuredHeadersParserFieldTypeList,
|
|
23816
|
+
EXStructuredHeadersParserFieldTypeItem
|
|
23817
|
+
};
|
|
23818
|
+
|
|
23819
|
+
@interface EXStructuredHeadersParser : NSObject
|
|
23820
|
+
|
|
23821
|
+
- (instancetype)initWithRawInput:(NSString *)raw
|
|
23822
|
+
fieldType:(EXStructuredHeadersParserFieldType)fieldType;
|
|
23823
|
+
|
|
23824
|
+
- (instancetype)initWithRawInput:(NSString *)raw
|
|
23825
|
+
fieldType:(EXStructuredHeadersParserFieldType)fieldType
|
|
23826
|
+
ignoringParameters:(BOOL)shouldIgnoreParameters;
|
|
23827
|
+
|
|
23828
|
+
- (nullable id)parseStructuredFieldsWithError:(NSError ** _Nullable)error;
|
|
23829
|
+
|
|
23830
|
+
@end
|
|
23831
|
+
|
|
23832
|
+
NS_ASSUME_NONNULL_END
|
|
23833
|
+
`
|
|
23834
|
+
},
|
|
23835
|
+
{
|
|
23836
|
+
name: "EXUpdatesBSPatch",
|
|
23837
|
+
header: "EXUpdatesBSPatch.h",
|
|
23838
|
+
source: `// Copyright 2015-present 650 Industries. All rights reserved.
|
|
23839
|
+
|
|
23840
|
+
#pragma once
|
|
23841
|
+
|
|
23842
|
+
#import <Foundation/Foundation.h>
|
|
23843
|
+
|
|
23844
|
+
int EXUpdatesApplyBSDiffPatch(const char * _Nonnull oldFilePath,
|
|
23845
|
+
const char * _Nonnull newFilePath,
|
|
23846
|
+
const char * _Nonnull patchFilePath);
|
|
23847
|
+
`
|
|
23848
|
+
}
|
|
23849
|
+
];
|
|
23753
23850
|
ONE_PRODUCT = '.product(name: "One", package: "sootsim-swift")';
|
|
23754
23851
|
SPRITEKIT_PRODUCT = '.product(name: "SpriteKit", package: "sootsim-swift")';
|
|
23755
23852
|
importsSpriteKit = (files2) => Object.entries(files2).some(
|
|
@@ -23781,7 +23878,7 @@ var init_swift_compile = __esm({
|
|
|
23781
23878
|
REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
|
|
23782
23879
|
MULTI_MANIFEST_VERSION = 68;
|
|
23783
23880
|
SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
|
|
23784
|
-
compilerSourceDigest = true ? "
|
|
23881
|
+
compilerSourceDigest = true ? "f113c3b74986e3d582dde643cb5771f750e5c836703fb20a79a1d67a53884748" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
|
|
23785
23882
|
nativeCxxCompilerFlags = ["-fno-cxx-modules"];
|
|
23786
23883
|
cFlagArray = (flags) => JSON.stringify(withoutGlogModuleMap(flags));
|
|
23787
23884
|
cxxFlagArray = (flags) => JSON.stringify([...nativeCxxCompilerFlags, ...withoutGlogModuleMap(flags)]);
|
|
@@ -27890,7 +27987,7 @@ var init_swift_standin_digest = __esm({
|
|
|
27890
27987
|
STANDIN_DIGEST_ENTRYPOINTS = ["swift-standins.ts", "swift-objc-compile.ts"];
|
|
27891
27988
|
SPECIFIER = /from\s*['"]([^'"]+)['"]|import\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
|
|
27892
27989
|
standinSourceDigest = (srcDir = __sootsim_import_meta_dirname) => sourceClosureDigest(srcDir, STANDIN_DIGEST_ENTRYPOINTS);
|
|
27893
|
-
STANDIN_SOURCE_DIGEST = true ? "
|
|
27990
|
+
STANDIN_SOURCE_DIGEST = true ? "30ee25efff915489853ffb5c34661d03b2ca480fc48fe80201fced1d4821577a" : standinSourceDigest();
|
|
27894
27991
|
}
|
|
27895
27992
|
});
|
|
27896
27993
|
|
|
@@ -29810,6 +29907,244 @@ var init_swift_cxx_standin = __esm({
|
|
|
29810
29907
|
}
|
|
29811
29908
|
});
|
|
29812
29909
|
|
|
29910
|
+
// src/swift-standin-builtin-behavior.ts
|
|
29911
|
+
function withBuiltinStandinBehavior(behavior) {
|
|
29912
|
+
const merged = { ...behavior };
|
|
29913
|
+
for (const [module2, members2] of Object.entries(BUILTIN_STANDIN_BEHAVIOR))
|
|
29914
|
+
merged[module2] = {
|
|
29915
|
+
...Object.fromEntries(
|
|
29916
|
+
Object.entries(members2).map(([path74, entry]) => [
|
|
29917
|
+
path74,
|
|
29918
|
+
{ ...entry, builtin: true }
|
|
29919
|
+
])
|
|
29920
|
+
),
|
|
29921
|
+
...behavior[module2]
|
|
29922
|
+
};
|
|
29923
|
+
return merged;
|
|
29924
|
+
}
|
|
29925
|
+
var BUILTIN_STANDIN_BEHAVIOR;
|
|
29926
|
+
var init_swift_standin_builtin_behavior = __esm({
|
|
29927
|
+
"src/swift-standin-builtin-behavior.ts"() {
|
|
29928
|
+
"use strict";
|
|
29929
|
+
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
29930
|
+
BUILTIN_STANDIN_BEHAVIOR = {
|
|
29931
|
+
GoogleCast: {
|
|
29932
|
+
kGCKCastDeviceCategory: { body: 'return "com.google.cast.CastDevice"' },
|
|
29933
|
+
kGCKDefaultMediaReceiverApplicationID: { body: 'return "CC1AD845"' },
|
|
29934
|
+
kGCKErrorDomain: { body: 'return "com.google.cast.GCKError"' },
|
|
29935
|
+
"GCKError.init(code:)": {
|
|
29936
|
+
body: "super.init(domain: kGCKErrorDomain, code: code.rawValue, userInfo: nil)"
|
|
29937
|
+
},
|
|
29938
|
+
"GCKDiscoveryCriteria.applicationIDs": { stored: "" },
|
|
29939
|
+
"GCKDiscoveryCriteria.namespaces": { stored: "" },
|
|
29940
|
+
"GCKDiscoveryCriteria.hasApplicationIDs": { body: "return applicationIDs != nil" },
|
|
29941
|
+
"GCKDiscoveryCriteria.hasNamespaces": { body: "return namespaces != nil" },
|
|
29942
|
+
"GCKDiscoveryCriteria.init(applicationID:)": {
|
|
29943
|
+
body: "super.init(); applicationIDs = NSOrderedSet(object: applicationID)"
|
|
29944
|
+
},
|
|
29945
|
+
"GCKDiscoveryCriteria.init(namespaces:)": {
|
|
29946
|
+
body: "super.init(); self.namespaces = namespaces"
|
|
29947
|
+
},
|
|
29948
|
+
GCKLaunchOptions: {
|
|
29949
|
+
members: `
|
|
29950
|
+
private static var peachDeviceLanguageCode: String? { Locale.preferredLanguages.first }
|
|
29951
|
+
`
|
|
29952
|
+
},
|
|
29953
|
+
"GCKLaunchOptions.languageCode": { stored: "" },
|
|
29954
|
+
"GCKLaunchOptions.relaunchIfRunning": { stored: "false" },
|
|
29955
|
+
"GCKLaunchOptions.androidReceiverCompatible": { stored: "false" },
|
|
29956
|
+
"GCKLaunchOptions.init()": {
|
|
29957
|
+
body: "super.init(); languageCode = GCKLaunchOptions.peachDeviceLanguageCode"
|
|
29958
|
+
},
|
|
29959
|
+
"GCKLaunchOptions.init(relaunchIfRunning:)": {
|
|
29960
|
+
body: `
|
|
29961
|
+
super.init()
|
|
29962
|
+
languageCode = GCKLaunchOptions.peachDeviceLanguageCode
|
|
29963
|
+
self.relaunchIfRunning = relaunchIfRunning
|
|
29964
|
+
`
|
|
29965
|
+
},
|
|
29966
|
+
"GCKLaunchOptions.init(languageCode:relaunchIfRunning:)": {
|
|
29967
|
+
body: `
|
|
29968
|
+
super.init()
|
|
29969
|
+
self.languageCode = languageCode
|
|
29970
|
+
self.relaunchIfRunning = relaunchIfRunning
|
|
29971
|
+
`
|
|
29972
|
+
},
|
|
29973
|
+
"GCKLaunchOptions.init(relaunchIfRunning:androidReceiverCompatible:)": {
|
|
29974
|
+
body: `
|
|
29975
|
+
super.init()
|
|
29976
|
+
languageCode = GCKLaunchOptions.peachDeviceLanguageCode
|
|
29977
|
+
self.relaunchIfRunning = relaunchIfRunning
|
|
29978
|
+
self.androidReceiverCompatible = androidReceiverCompatible
|
|
29979
|
+
`
|
|
29980
|
+
},
|
|
29981
|
+
"GCKLaunchOptions.init(relaunchIfRunning:languageCode:androidReceiverCompatible:)": {
|
|
29982
|
+
body: `
|
|
29983
|
+
super.init()
|
|
29984
|
+
self.languageCode = languageCode
|
|
29985
|
+
self.relaunchIfRunning = relaunchIfRunning
|
|
29986
|
+
self.androidReceiverCompatible = androidReceiverCompatible
|
|
29987
|
+
`
|
|
29988
|
+
},
|
|
29989
|
+
GCKCastOptions: {
|
|
29990
|
+
members: "fileprivate var peachDiscoveryCriteria: GCKDiscoveryCriteria?"
|
|
29991
|
+
},
|
|
29992
|
+
"GCKCastOptions.init(discoveryCriteria:)": {
|
|
29993
|
+
body: "super.init(); peachDiscoveryCriteria = discoveryCriteria"
|
|
29994
|
+
},
|
|
29995
|
+
"GCKCastOptions.init(receiverApplicationID:)": {
|
|
29996
|
+
body: "super.init(); peachDiscoveryCriteria = GCKDiscoveryCriteria(applicationID: applicationID)"
|
|
29997
|
+
},
|
|
29998
|
+
"GCKCastOptions.init(supportedNamespaces:)": {
|
|
29999
|
+
body: "super.init(); peachDiscoveryCriteria = GCKDiscoveryCriteria(namespaces: Set(namespaces))"
|
|
30000
|
+
},
|
|
30001
|
+
"GCKCastOptions.physicalVolumeButtonsWillControlDeviceVolume": { stored: "false" },
|
|
30002
|
+
"GCKCastOptions.disableDiscoveryAutostart": { stored: "false" },
|
|
30003
|
+
"GCKCastOptions.disableAnalyticsLogging": { stored: "false" },
|
|
30004
|
+
"GCKCastOptions.launchOptions": { stored: "" },
|
|
30005
|
+
"GCKCastOptions.sharedContainerIdentifier": { stored: "" },
|
|
30006
|
+
"GCKCastOptions.suspendSessionsWhenBackgrounded": { stored: "true" },
|
|
30007
|
+
"GCKCastOptions.stopReceiverApplicationWhenEndingSession": { stored: "false" },
|
|
30008
|
+
"GCKCastOptions.startDiscoveryAfterFirstTapOnCastButton": { stored: "true" },
|
|
30009
|
+
GCKCastContext: {
|
|
30010
|
+
members: `
|
|
30011
|
+
nonisolated(unsafe) fileprivate static var peachShared: GCKCastContext?
|
|
30012
|
+
fileprivate let peachDiscoveryManager = GCKDiscoveryManager()
|
|
30013
|
+
fileprivate let peachSessionManager = GCKSessionManager()
|
|
30014
|
+
fileprivate var peachCredentialsData: GCKCredentialsData?
|
|
30015
|
+
fileprivate static func peachInitialize(_ options: GCKCastOptions) {
|
|
30016
|
+
let context = GCKCastContext()
|
|
30017
|
+
peachShared = context
|
|
30018
|
+
if !options.disableDiscoveryAutostart && !options.startDiscoveryAfterFirstTapOnCastButton {
|
|
30019
|
+
context.peachDiscoveryManager.startDiscovery()
|
|
30020
|
+
}
|
|
30021
|
+
}
|
|
30022
|
+
`
|
|
30023
|
+
},
|
|
30024
|
+
"GCKCastContext.imageCache": { stored: "" },
|
|
30025
|
+
"GCKCastContext.imagePicker": { stored: "" },
|
|
30026
|
+
"GCKCastContext.useDefaultExpandedMediaControls": { stored: "false" },
|
|
30027
|
+
"GCKCastContext.castState": { body: "return .noDevicesAvailable" },
|
|
30028
|
+
"GCKCastContext.discoveryManager": { body: "return peachDiscoveryManager" },
|
|
30029
|
+
"GCKCastContext.sessionManager": { body: "return peachSessionManager" },
|
|
30030
|
+
"GCKCastContext.setLaunch(_:)": { body: "peachCredentialsData = credentialsData" },
|
|
30031
|
+
"GCKCastContext.isSharedInstanceInitialized()": {
|
|
30032
|
+
body: "return peachShared != nil"
|
|
30033
|
+
},
|
|
30034
|
+
"GCKCastContext.sharedInstance()": {
|
|
30035
|
+
body: `
|
|
30036
|
+
guard let shared = peachShared else {
|
|
30037
|
+
fatalError("GCKCastContext.sharedInstance() was called before the shared instance was initialized")
|
|
30038
|
+
}
|
|
30039
|
+
return unsafeDowncast(shared, to: Self.self)
|
|
30040
|
+
`
|
|
30041
|
+
},
|
|
30042
|
+
"GCKCastContext.setSharedInstanceWith(_:)": {
|
|
30043
|
+
body: `
|
|
30044
|
+
if peachShared != nil {
|
|
30045
|
+
fatalError("GCKCastContext.setSharedInstanceWith(_:) was called when the shared instance was already initialized")
|
|
30046
|
+
}
|
|
30047
|
+
peachInitialize(options)
|
|
30048
|
+
`
|
|
30049
|
+
},
|
|
30050
|
+
"GCKCastContext.setSharedInstanceWith(_:error:)": {
|
|
30051
|
+
body: `
|
|
30052
|
+
if peachShared != nil {
|
|
30053
|
+
error?.pointee = GCKError(code: .alreadyInitialized)
|
|
30054
|
+
return false
|
|
30055
|
+
}
|
|
30056
|
+
peachInitialize(options)
|
|
30057
|
+
return true
|
|
30058
|
+
`
|
|
30059
|
+
},
|
|
30060
|
+
GCKDiscoveryManager: {
|
|
30061
|
+
members: `
|
|
30062
|
+
private final class PeachListener {
|
|
30063
|
+
weak var listener: (any GCKDiscoveryManagerListener)?
|
|
30064
|
+
init(_ listener: any GCKDiscoveryManagerListener) { self.listener = listener }
|
|
30065
|
+
}
|
|
30066
|
+
private var peachListeners: [PeachListener] = []
|
|
30067
|
+
private var peachState: GCKDiscoveryState = .stopped
|
|
30068
|
+
`
|
|
30069
|
+
},
|
|
30070
|
+
"GCKDiscoveryManager.discoveryState": { body: "return peachState" },
|
|
30071
|
+
"GCKDiscoveryManager.hasDiscoveredDevices": { body: "return false" },
|
|
30072
|
+
"GCKDiscoveryManager.passiveScan": { stored: "false" },
|
|
30073
|
+
"GCKDiscoveryManager.discoveryActive": { body: "return peachState == .running" },
|
|
30074
|
+
"GCKDiscoveryManager.deviceCount": { body: "return 0" },
|
|
30075
|
+
"GCKDiscoveryManager.add(_:)": {
|
|
30076
|
+
body: `
|
|
30077
|
+
peachListeners.removeAll { $0.listener == nil }
|
|
30078
|
+
if !peachListeners.contains(where: { $0.listener === listener }) {
|
|
30079
|
+
peachListeners.append(PeachListener(listener))
|
|
30080
|
+
}
|
|
30081
|
+
`
|
|
30082
|
+
},
|
|
30083
|
+
"GCKDiscoveryManager.remove(_:)": {
|
|
30084
|
+
body: "peachListeners.removeAll { $0.listener == nil || $0.listener === listener }"
|
|
30085
|
+
},
|
|
30086
|
+
"GCKDiscoveryManager.startDiscovery()": {
|
|
30087
|
+
body: `
|
|
30088
|
+
if peachState == .running { return }
|
|
30089
|
+
peachState = .running
|
|
30090
|
+
for entry in peachListeners {
|
|
30091
|
+
entry.listener?.didStartDiscovery(forDeviceCategory: kGCKCastDeviceCategory)
|
|
30092
|
+
}
|
|
30093
|
+
`
|
|
30094
|
+
},
|
|
30095
|
+
"GCKDiscoveryManager.stopDiscovery()": { body: "peachState = .stopped" },
|
|
30096
|
+
"GCKDiscoveryManager.isDiscoveryActive(forDeviceCategory:)": {
|
|
30097
|
+
body: "return peachState == .running && deviceCategory == kGCKCastDeviceCategory"
|
|
30098
|
+
},
|
|
30099
|
+
"GCKDiscoveryManager.device(at:)": {
|
|
30100
|
+
body: 'fatalError("GCKDiscoveryManager.device(at:) index \\(index) is out of range: no Cast device is discovered")'
|
|
30101
|
+
},
|
|
30102
|
+
"GCKDiscoveryManager.device(withUniqueID:)": { body: "return nil" },
|
|
30103
|
+
"GCKDiscoveryManager.cancelFindOperation()": { body: "" },
|
|
30104
|
+
GCKSessionManager: {
|
|
30105
|
+
members: `
|
|
30106
|
+
private var peachListeners: [any GCKSessionManagerListener] = []
|
|
30107
|
+
private var peachDefaultSessionOptions: [String: [String: any NSCoding & NSObjectProtocol]] = [:]
|
|
30108
|
+
`
|
|
30109
|
+
},
|
|
30110
|
+
"GCKSessionManager.currentSession": { body: "return nil" },
|
|
30111
|
+
"GCKSessionManager.currentCastSession": { body: "return nil" },
|
|
30112
|
+
"GCKSessionManager.connectionState": { body: "return .disconnected" },
|
|
30113
|
+
"GCKSessionManager.hasConnectedSession()": { body: "return false" },
|
|
30114
|
+
"GCKSessionManager.hasConnectedCastSession()": { body: "return false" },
|
|
30115
|
+
"GCKSessionManager.startSession(with:)": { body: "return false" },
|
|
30116
|
+
"GCKSessionManager.startSession(with:sessionOptions:)": { body: "return false" },
|
|
30117
|
+
"GCKSessionManager.suspendSession(with:)": { body: "return false" },
|
|
30118
|
+
"GCKSessionManager.endSession()": { body: "return false" },
|
|
30119
|
+
"GCKSessionManager.endSessionAndStopCasting(_:)": { body: "return false" },
|
|
30120
|
+
"GCKSessionManager.setDefaultSessionOptions(_:forDeviceCategory:)": {
|
|
30121
|
+
body: "peachDefaultSessionOptions[category] = sessionOptions"
|
|
30122
|
+
},
|
|
30123
|
+
"GCKSessionManager.defaultSessionOptions(forDeviceCategory:)": {
|
|
30124
|
+
body: "return peachDefaultSessionOptions[category]"
|
|
30125
|
+
},
|
|
30126
|
+
"GCKSessionManager.add(_:)": {
|
|
30127
|
+
body: `
|
|
30128
|
+
if !peachListeners.contains(where: { $0 === listener }) { peachListeners.append(listener) }
|
|
30129
|
+
`
|
|
30130
|
+
},
|
|
30131
|
+
"GCKSessionManager.remove(_:)": {
|
|
30132
|
+
body: "peachListeners.removeAll { $0 === listener }"
|
|
30133
|
+
},
|
|
30134
|
+
GCKLogger: {
|
|
30135
|
+
members: "nonisolated(unsafe) fileprivate static let peachShared = GCKLogger()"
|
|
30136
|
+
},
|
|
30137
|
+
"GCKLogger.sharedInstance()": { body: "return peachShared" },
|
|
30138
|
+
"GCKLogger.delegate": { stored: "" },
|
|
30139
|
+
"GCKLogger.filter": { stored: "" },
|
|
30140
|
+
"GCKLogger.loggingEnabled": { stored: "true" },
|
|
30141
|
+
"GCKLogger.fileLoggingEnabled": { stored: "false" },
|
|
30142
|
+
"GCKLogger.consoleLoggingEnabled": { stored: "false" }
|
|
30143
|
+
}
|
|
30144
|
+
};
|
|
30145
|
+
}
|
|
30146
|
+
});
|
|
30147
|
+
|
|
29813
30148
|
// src/swift-standins.ts
|
|
29814
30149
|
function exec(file, args, cwd) {
|
|
29815
30150
|
return (0, import_node_child_process37.execFileSync)(file, args, {
|
|
@@ -30787,12 +31122,15 @@ function objcStandin(surface, binary2, toolchain, work, behavior, frameworks, si
|
|
|
30787
31122
|
dependencyGraphs
|
|
30788
31123
|
);
|
|
30789
31124
|
}
|
|
30790
|
-
function graphStandin(module2, graphs, values, wasm, binary2, toolchain, work, requiredInits2,
|
|
31125
|
+
function graphStandin(module2, graphs, values, wasm, binary2, toolchain, work, requiredInits2, declared, imports2 = [], requireSwift = false, objcProperties = /* @__PURE__ */ new Map(), placeholder = null, inheritedConformances = /* @__PURE__ */ new Map(), projections = /* @__PURE__ */ new Map(), dependencyGraphs = []) {
|
|
30791
31126
|
const paths = new Set(
|
|
30792
31127
|
graphs.flatMap(
|
|
30793
31128
|
(graph) => graph.symbols.map((symbol2) => symbol2.pathComponents.join("."))
|
|
30794
31129
|
)
|
|
30795
31130
|
);
|
|
31131
|
+
const behavior = new Map(
|
|
31132
|
+
[...declared].filter(([name3, entry]) => !entry.builtin || paths.has(name3))
|
|
31133
|
+
);
|
|
30796
31134
|
const swiftPaths = new Set(
|
|
30797
31135
|
requireSwift ? graphs.flatMap(
|
|
30798
31136
|
(graph) => graph.symbols.filter(isSwiftDeclaration).map((symbol2) => symbol2.pathComponents.join("."))
|
|
@@ -31658,7 +31996,8 @@ function readStandinResults(receipt, generation, targets) {
|
|
|
31658
31996
|
}
|
|
31659
31997
|
return { standins, gaps };
|
|
31660
31998
|
}
|
|
31661
|
-
function standinGenerationInputs(binaries, toolchain,
|
|
31999
|
+
function standinGenerationInputs(binaries, toolchain, configuredBehavior = {}, sourceDir) {
|
|
32000
|
+
const behavior = withBuiltinStandinBehavior(configuredBehavior);
|
|
31662
32001
|
const { moduleRoot, release } = toolchain;
|
|
31663
32002
|
const sdk = swiftModuleSdk(moduleRoot);
|
|
31664
32003
|
const digest3 = sourceDir === void 0 ? STANDIN_SOURCE_DIGEST : standinSourceDigest(sourceDir);
|
|
@@ -31921,8 +32260,13 @@ ${roots.map((file) => ` header "${file}"`).join("\n")}
|
|
|
31921
32260
|
}
|
|
31922
32261
|
return settle(result);
|
|
31923
32262
|
}
|
|
31924
|
-
async function swiftStandins(binaries, toolchain, provided = /* @__PURE__ */ new Set(),
|
|
31925
|
-
const built2 = await buildStandins(
|
|
32263
|
+
async function swiftStandins(binaries, toolchain, provided = /* @__PURE__ */ new Set(), configuredBehavior = {}, options = {}) {
|
|
32264
|
+
const built2 = await buildStandins(
|
|
32265
|
+
binaries,
|
|
32266
|
+
toolchain,
|
|
32267
|
+
provided,
|
|
32268
|
+
withBuiltinStandinBehavior(configuredBehavior)
|
|
32269
|
+
);
|
|
31926
32270
|
return {
|
|
31927
32271
|
standins: options.nativeSlices === false ? built2.standins : built2.standins.map((standin) => {
|
|
31928
32272
|
const binary2 = binaries.find((item) => item.target === standin.target);
|
|
@@ -31930,7 +32274,7 @@ async function swiftStandins(binaries, toolchain, provided = /* @__PURE__ */ new
|
|
|
31930
32274
|
standin,
|
|
31931
32275
|
toolchain.moduleRoot,
|
|
31932
32276
|
STANDIN_SOURCE_DIGEST,
|
|
31933
|
-
Object.keys(
|
|
32277
|
+
Object.keys(configuredBehavior[standin.module] ?? {}).length > 0,
|
|
31934
32278
|
() => swiftBinaryFramework(binary2).dir
|
|
31935
32279
|
) : standin;
|
|
31936
32280
|
}),
|
|
@@ -32114,6 +32458,7 @@ var init_swift_standins = __esm({
|
|
|
32114
32458
|
init_swift_package();
|
|
32115
32459
|
init_swift_packages();
|
|
32116
32460
|
init_swift_shared_sdk();
|
|
32461
|
+
init_swift_standin_builtin_behavior();
|
|
32117
32462
|
init_swift_standin_digest();
|
|
32118
32463
|
init_swift_standin_emit();
|
|
32119
32464
|
init_swift_toolchain();
|
|
@@ -48203,7 +48548,7 @@ init_swift_native_pin();
|
|
|
48203
48548
|
init_xcode_project();
|
|
48204
48549
|
var EXPO_NATIVE_ENTRY_NAME = "ios";
|
|
48205
48550
|
function expoNativeCompilerDigestValue() {
|
|
48206
|
-
return true ? "
|
|
48551
|
+
return true ? "1b43265acf063948351fe9b1eff823e0f58d23536689055bd673253a28cf568b" : expoNativeCompilerDigest(__sootsim_import_meta_dirname);
|
|
48207
48552
|
}
|
|
48208
48553
|
var IDENTITY_SOURCE_SKIPS = 1 | 4 | 8 | 16 | 32 | 64 | 128 | 4096;
|
|
48209
48554
|
function readSources(value) {
|
|
@@ -49706,6 +50051,74 @@ ${source}` : source;
|
|
|
49706
50051
|
}
|
|
49707
50052
|
for (const unit2 of units) unit2.nativeFiles = { ...unit2.nativeFiles, ...support };
|
|
49708
50053
|
}
|
|
50054
|
+
function swiftAloneObjCClasses(ios, swift, resolveSource) {
|
|
50055
|
+
if (!import_node_fs86.default.existsSync(ios)) return null;
|
|
50056
|
+
const interfaces = /* @__PURE__ */ new Map();
|
|
50057
|
+
const visit3 = (dir) => {
|
|
50058
|
+
for (const child of import_node_fs86.default.readdirSync(resolveSource(dir), { withFileTypes: true })) {
|
|
50059
|
+
if (child.name.startsWith(".") || child.name === "build" || child.name === "node_modules" || /\.(?:xcframework|framework)$/.test(child.name))
|
|
50060
|
+
continue;
|
|
50061
|
+
const file = import_node_path84.default.join(dir, child.name);
|
|
50062
|
+
const resolved = resolveSource(file);
|
|
50063
|
+
const stat = import_node_fs86.default.statSync(resolved);
|
|
50064
|
+
if (stat.isDirectory()) {
|
|
50065
|
+
visit3(file);
|
|
50066
|
+
continue;
|
|
50067
|
+
}
|
|
50068
|
+
if (!stat.isFile() || !child.name.endsWith(".h")) continue;
|
|
50069
|
+
const text6 = import_node_fs86.default.readFileSync(resolved, "utf8");
|
|
50070
|
+
for (const match of text6.matchAll(
|
|
50071
|
+
/@interface\s+(\w+)\s*(\([^)\n]*\))?\s*(?::\s*(\w+))?\s*(?:<([^>\n]+)>)?/g
|
|
50072
|
+
)) {
|
|
50073
|
+
if (match[2]) continue;
|
|
50074
|
+
interfaces.set(match[1], {
|
|
50075
|
+
...match[3] ? { superName: match[3] } : {},
|
|
50076
|
+
protocols: (match[4] ?? "").split(",").map((name3) => name3.trim()).filter((name3) => name3.length > 0)
|
|
50077
|
+
});
|
|
50078
|
+
}
|
|
50079
|
+
}
|
|
50080
|
+
};
|
|
50081
|
+
visit3(ios);
|
|
50082
|
+
if (interfaces.size === 0) return null;
|
|
50083
|
+
const code = swiftCodeMask(swift);
|
|
50084
|
+
const declared = new Set(
|
|
50085
|
+
[
|
|
50086
|
+
...code.matchAll(
|
|
50087
|
+
/\b(?:class|struct|enum|protocol|actor|typealias)\s+([A-Za-z_]\w*)/g
|
|
50088
|
+
)
|
|
50089
|
+
].map((match) => match[1])
|
|
50090
|
+
);
|
|
50091
|
+
const referenced = new Set(code.match(/[A-Za-z_]\w*/g) ?? []);
|
|
50092
|
+
const needed = [...interfaces.keys()].filter((name3) => referenced.has(name3) && !declared.has(name3)).sort();
|
|
50093
|
+
if (needed.length === 0) return null;
|
|
50094
|
+
const protocolsOf = (name3, seen = /* @__PURE__ */ new Set()) => {
|
|
50095
|
+
if (seen.has(name3)) return [];
|
|
50096
|
+
seen.add(name3);
|
|
50097
|
+
const item = interfaces.get(name3);
|
|
50098
|
+
if (!item) return [];
|
|
50099
|
+
return [
|
|
50100
|
+
...item.protocols,
|
|
50101
|
+
...item.superName ? protocolsOf(item.superName, seen) : []
|
|
50102
|
+
];
|
|
50103
|
+
};
|
|
50104
|
+
const classes = needed.map((name3) => {
|
|
50105
|
+
if (!new Set(protocolsOf(name3)).has("EXPermissionsRequester"))
|
|
50106
|
+
return `public class ${name3}: NSObject {}`;
|
|
50107
|
+
return `public class ${name3}: NSObject, EXPermissionsRequester {
|
|
50108
|
+
public static func permissionType() -> String { "" }
|
|
50109
|
+
public func getPermissions() -> [AnyHashable: Any] { [:] }
|
|
50110
|
+
public func requestPermissions(
|
|
50111
|
+
resolver resolve: @escaping EXPromiseResolveBlock,
|
|
50112
|
+
rejecter reject: @escaping EXPromiseRejectBlock
|
|
50113
|
+
) {}
|
|
50114
|
+
}`;
|
|
50115
|
+
});
|
|
50116
|
+
return `import ExpoModulesCore
|
|
50117
|
+
import Foundation
|
|
50118
|
+
|
|
50119
|
+
${classes.join("\n\n")}
|
|
50120
|
+
`;
|
|
50121
|
+
}
|
|
49709
50122
|
async function collectExpoSwiftSources(appRoot, signal, installedWorkspace, prepareNative = false, iosTarget, options = {}) {
|
|
49710
50123
|
if (traceStore.getStore())
|
|
49711
50124
|
return collectExpoSwiftSourcesUncached(
|
|
@@ -50116,10 +50529,17 @@ ${import_node_fs86.default.readFileSync(source, "utf8")}`;
|
|
|
50116
50529
|
} else {
|
|
50117
50530
|
walk3(ios);
|
|
50118
50531
|
walkFrameworks(canonical);
|
|
50119
|
-
if (nativeSources.size > 0 && !prepareNative && !metadataOnly)
|
|
50532
|
+
if (nativeSources.size > 0 && !prepareNative && !metadataOnly) {
|
|
50120
50533
|
report(
|
|
50121
50534
|
`${packageName}: ${namespace} has Objective-C or C sources (${[...nativeSources].sort()[0]}), which compile only from a CocoaPods workspace a Mac prepares; compiling its Swift alone`
|
|
50122
50535
|
);
|
|
50536
|
+
const surface = swiftAloneObjCClasses(
|
|
50537
|
+
ios,
|
|
50538
|
+
Object.values(files2).join("\n"),
|
|
50539
|
+
resolveSource
|
|
50540
|
+
);
|
|
50541
|
+
if (surface) files2[`Sources/${namespace}/PeachObjCSurface.swift`] = surface;
|
|
50542
|
+
}
|
|
50123
50543
|
}
|
|
50124
50544
|
const podspec = import_node_fs86.default.existsSync(ios) ? import_node_fs86.default.readdirSync(ios).find((name3) => name3.endsWith(".podspec")) : void 0;
|
|
50125
50545
|
const absentFrameworks = [];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2209 | (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.2209 | (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;
|