peachsim 0.1.2221 → 0.1.2223
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/compat.ts +4 -4
- package/cli/commands/report-issue.ts +1 -1
- package/cli/runtime-compat.ts +7 -2
- 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 +461 -369
- 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 +3 -2
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/expo-swift-bundle.cjs +458 -367
- 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 +681 -562
- package/dist-lib/host/fetch-proxy-handler.cjs +10 -7
- 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 +8232 -7815
- package/dist-lib/jump-to-source-babel.cjs +1 -1
- package/dist-lib/jump-to-source-native.cjs +1 -1
- package/dist-lib/kotlin-host.cjs +1 -1
- package/dist-lib/menu.cjs +1 -1
- package/dist-lib/menu.mjs +1 -1
- package/dist-lib/metro-fingerprint-registry.cjs +1 -1
- package/dist-lib/metro-fingerprint-registry.mjs +1 -1
- package/dist-lib/metro-production-bundle.cjs +1 -1
- package/dist-lib/metro-production-bundle.mjs +1 -1
- package/dist-lib/metro.cjs +8146 -7737
- package/dist-lib/native-app-identity-project.cjs +331 -13
- package/dist-lib/native-app-identity-project.mjs +331 -13
- package/dist-lib/native-app-identity.cjs +16 -3
- package/dist-lib/native-app-identity.mjs +16 -3
- 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 +99 -96
- 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 +518 -408
- package/dist-lib/swift-compile.cjs +69 -36
- package/dist-lib/swift-compile.mjs +69 -36
- 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 +143 -56
- package/dist-lib/vite.cjs +2930 -2800
- package/dist-lib/worklet-executable.cjs +1 -1
- package/dist-lib/worklet-executable.mjs +1 -1
- package/dist-types/packages/peach-compat/src/stubs/native-seams/react-native-cookies.d.ts +2 -1
- package/dist-types/packages/peach-engine/src/cli-companion.d.ts +1 -0
- package/dist-types/packages/peach-engine/src/cli-host-terser.d.ts +7 -0
- package/dist-types/packages/peach-engine/src/engine/glass-material.d.ts +1 -1
- package/dist-types/packages/peach-engine/src/engine/liquid-glass.d.ts +1 -0
- package/dist-types/packages/peach-engine/src/engine/native-layout.d.ts +1 -0
- package/dist-types/packages/peach-engine/src/engine/node.d.ts +5 -0
- package/dist-types/packages/peach-engine/src/engine/scene-table.d.ts +8 -1
- package/dist-types/packages/peach-engine/src/engine/types.d.ts +3 -0
- package/dist-types/packages/peach-engine/src/engine/yoga-layout.d.ts +1 -1
- package/dist-types/packages/peach-engine/src/remote-stream/cloud-display.d.ts +2 -2
- package/dist-types/packages/peach-engine/src/render-worker/shell-tree-wire.d.ts +1 -2
- package/dist-types/packages/peach-globals/src/browser-object-url.d.ts +10 -0
- package/dist-types/packages/peach-kit/src/internal.d.ts +1 -0
- package/dist-types/packages/peach-kit/src/ios-tint.d.ts +1 -0
- package/dist-types/packages/peach-kit/src/transitions/screen-transition-math.d.ts +25 -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/SceneKit.framework/Headers/SCNAnimation.h +4 -4
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNCameraController.h +1 -1
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNConstraint.h +5 -5
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNGeometry.h +1 -1
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNLevelOfDetail.h +1 -1
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNParametricGeometry.h +9 -9
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNParticleSystem.h +1 -1
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNPhysicsBehavior.h +7 -7
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNRenderer.h +1 -1
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNShadable.h +1 -1
- package/sdk/ios/System/Library/Frameworks/SceneKit.framework/Headers/SCNTechnique.h +1 -1
- package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UISegmentedControl.h +1 -1
- package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UITabBar.h +1 -1
- package/src/cli-runtime.ts +1 -0
- package/src/conformance-pixel-comparison.ts +16 -3
- package/src/expo-native-workspace.ts +14 -10
- package/src/expo-workspace-exclusion.ts +10 -7
- package/src/react-native-autolinking.ts +2 -1
- package/src/runtime-delivery.ts +7 -0
- package/src/swift-compile.ts +51 -35
- package/src/swift-coverage/xcode-assets.ts +4 -2
- package/src/swift-host.ts +53 -14
- package/src/swift-root-lock.ts +27 -4
- package/src/wasm-optimize.ts +5 -1
- package/src/xcode-project.ts +26 -5
- package/src/xcode-target-members.ts +25 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2223 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -39,7 +39,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
39
39
|
var define_SWIFT_COVERAGE_SOURCE_DIGESTS_default;
|
|
40
40
|
var init_define_SWIFT_COVERAGE_SOURCE_DIGESTS = __esm({
|
|
41
41
|
"<define:__SWIFT_COVERAGE_SOURCE_DIGESTS__>"() {
|
|
42
|
-
define_SWIFT_COVERAGE_SOURCE_DIGESTS_default = { "swift-coverage/indexdump.ts": "0d82d8eeb96bf377f409ea7e33274c341a710c0e071f6b6e17571a23d8d92412", "swift-coverage/indexing.ts": "633ccf19eec1f382a8847d0ee1dca42a2792a3c60aafd43622ed5152b09b8272", "swift-coverage/types.ts": "bd8fae54ea6c53e110cd8a5d7b57c1d532dd0166e09fdaea63c4f270c3780dd1", "swift-coverage/source.ts": "c151758a9f67631bc61473c375df0dc017da6902a34533b2cf4fc4fd7d19b6ee", "swift-coverage/package.ts": "1f0068be7461fa7c5a7a891faf318f305cbed2e94c19667ba76627f7e5be260b", "swift-coverage/xcode.ts": "65a500b806ce1c3a496de27f2e0ad77287c0f6795c618342c08af647f92af1fa", "swift-coverage/xcode-assets.ts": "
|
|
42
|
+
define_SWIFT_COVERAGE_SOURCE_DIGESTS_default = { "swift-coverage/indexdump.ts": "0d82d8eeb96bf377f409ea7e33274c341a710c0e071f6b6e17571a23d8d92412", "swift-coverage/indexing.ts": "633ccf19eec1f382a8847d0ee1dca42a2792a3c60aafd43622ed5152b09b8272", "swift-coverage/types.ts": "bd8fae54ea6c53e110cd8a5d7b57c1d532dd0166e09fdaea63c4f270c3780dd1", "swift-coverage/source.ts": "c151758a9f67631bc61473c375df0dc017da6902a34533b2cf4fc4fd7d19b6ee", "swift-coverage/package.ts": "1f0068be7461fa7c5a7a891faf318f305cbed2e94c19667ba76627f7e5be260b", "swift-coverage/xcode.ts": "65a500b806ce1c3a496de27f2e0ad77287c0f6795c618342c08af647f92af1fa", "swift-coverage/xcode-assets.ts": "d98d6294b359528f7733b26db6f80f554782354faa235605f9562be4ad98b8a3", "swift-coverage/xcode-asset-symbols.ts": "1b2a67733bc9d139b351466270205452a6172140bc25080d72619e2952c44671", "swift-coverage/xcode-bridging.ts": "33184be8c5daf6646aa5a1276a4e15531f1be27b7c26f56550e0fbb1fc678a11", "swift-coverage/xcode-packages.ts": "8e6020d17d24474150a5a50d042aca6261819ef75c79680a287a66f395909915", "swift-coverage/xcode-strings.ts": "f2dd4c7cd8ef77035184b0132909c2fa09fd20ed06b7757c2f1f960bfdde031c", "swift-coverage/reader.ts": "da559b67ecd1161dea70c980b5f98f2c55af3550f0714479100fa5e9e813625c", "swift-coverage/provenance.ts": "eb3b41ae8b58b48f6758f084800f188dfb1edb227e483abdd6b80cde66e849b9", "swift-package-manifest.ts": "29c2661be4b952101c9b9b8fd861560e6ce63b25dd4464f47475aaf72024f4fe", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "25505683ca29a0b380413bf2a5026d4967eacf886e35bc11ece6e15317e5bb02", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "b6e04100805ba81f14d751383416fd4aab46901a6f94f5b62f831e66c28001c1", "xcode-target-members.ts": "d49af77a690cff481b38333b5f63f6600123b1bb57f410b0adb298b010d2047b", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
|
|
43
43
|
}
|
|
44
44
|
});
|
|
45
45
|
|
|
@@ -1044,6 +1044,7 @@ function createRuntimeDelivery(product) {
|
|
|
1044
1044
|
verify: product.verifyInstall,
|
|
1045
1045
|
label: `runtime ${version2}`
|
|
1046
1046
|
});
|
|
1047
|
+
await product.afterInstall?.(destDir);
|
|
1047
1048
|
if (setActive) product.writeActiveRuntime(version2);
|
|
1048
1049
|
pruneLocalRetention({ protectVersions });
|
|
1049
1050
|
return {
|
|
@@ -2566,6 +2567,7 @@ function autolinkerJson(command, output2) {
|
|
|
2566
2567
|
}
|
|
2567
2568
|
}
|
|
2568
2569
|
async function cliAdvertises(cli, args, token, appRoot, signal) {
|
|
2570
|
+
const started = Date.now();
|
|
2569
2571
|
const { stdout, stderr } = await run3("node", [cli, ...args], {
|
|
2570
2572
|
cwd: appRoot,
|
|
2571
2573
|
signal,
|
|
@@ -2575,7 +2577,7 @@ async function cliAdvertises(cli, args, token, appRoot, signal) {
|
|
|
2575
2577
|
});
|
|
2576
2578
|
if (!stdout.trim())
|
|
2577
2579
|
throw new Error(
|
|
2578
|
-
`${cli} ${args.join(" ")}
|
|
2580
|
+
`${cli} ${args.join(" ")} exited 0 after ${Date.now() - started}ms with empty help output${stderr.trim() ? `: ${stderr.trim()}` : ""}`
|
|
2579
2581
|
);
|
|
2580
2582
|
return stdout.includes(token);
|
|
2581
2583
|
}
|
|
@@ -12524,6 +12526,302 @@ var init_plist = __esm({
|
|
|
12524
12526
|
}
|
|
12525
12527
|
});
|
|
12526
12528
|
|
|
12529
|
+
// src/ios-sdk-frameworks.json
|
|
12530
|
+
var ios_sdk_frameworks_default;
|
|
12531
|
+
var init_ios_sdk_frameworks = __esm({
|
|
12532
|
+
"src/ios-sdk-frameworks.json"() {
|
|
12533
|
+
ios_sdk_frameworks_default = {
|
|
12534
|
+
sdk: "iphonesimulator27.1",
|
|
12535
|
+
frameworks: [
|
|
12536
|
+
"ARKit",
|
|
12537
|
+
"AVFAudio",
|
|
12538
|
+
"AVFoundation",
|
|
12539
|
+
"AVKit",
|
|
12540
|
+
"AVRouting",
|
|
12541
|
+
"Accelerate",
|
|
12542
|
+
"Accessibility",
|
|
12543
|
+
"AccessoryLiveActivities",
|
|
12544
|
+
"AccessoryNotifications",
|
|
12545
|
+
"AccessorySetupKit",
|
|
12546
|
+
"AccessoryTransportExtension",
|
|
12547
|
+
"Accounts",
|
|
12548
|
+
"ActivityKit",
|
|
12549
|
+
"AdAttributionKit",
|
|
12550
|
+
"AdServices",
|
|
12551
|
+
"AdSupport",
|
|
12552
|
+
"AddressBook",
|
|
12553
|
+
"AddressBookUI",
|
|
12554
|
+
"AlarmKit",
|
|
12555
|
+
"AppClip",
|
|
12556
|
+
"AppIntents",
|
|
12557
|
+
"AppIntentsTypeSupport",
|
|
12558
|
+
"AppMigrationKit",
|
|
12559
|
+
"AppTrackingTransparency",
|
|
12560
|
+
"AssetsLibrary",
|
|
12561
|
+
"AudioToolbox",
|
|
12562
|
+
"AudioUnit",
|
|
12563
|
+
"AuthenticationServices",
|
|
12564
|
+
"AutomatedDeviceEnrollment",
|
|
12565
|
+
"AutomaticAssessmentConfiguration",
|
|
12566
|
+
"BackgroundAssets",
|
|
12567
|
+
"BackgroundTasks",
|
|
12568
|
+
"BrowserEngineCore",
|
|
12569
|
+
"BrowserEngineKit",
|
|
12570
|
+
"BrowserKit",
|
|
12571
|
+
"BusinessChat",
|
|
12572
|
+
"CFNetwork",
|
|
12573
|
+
"CallKit",
|
|
12574
|
+
"CarKey",
|
|
12575
|
+
"CarPlay",
|
|
12576
|
+
"Charts",
|
|
12577
|
+
"ClassKit",
|
|
12578
|
+
"ClassKitUI",
|
|
12579
|
+
"ClockKit",
|
|
12580
|
+
"CloudKit",
|
|
12581
|
+
"ColorSync",
|
|
12582
|
+
"Combine",
|
|
12583
|
+
"ComputeGraph",
|
|
12584
|
+
"ContactProvider",
|
|
12585
|
+
"Contacts",
|
|
12586
|
+
"ContactsUI",
|
|
12587
|
+
"CoreAudio",
|
|
12588
|
+
"CoreAudioKit",
|
|
12589
|
+
"CoreAudioTypes",
|
|
12590
|
+
"CoreBluetooth",
|
|
12591
|
+
"CoreData",
|
|
12592
|
+
"CoreFoundation",
|
|
12593
|
+
"CoreGraphics",
|
|
12594
|
+
"CoreHaptics",
|
|
12595
|
+
"CoreImage",
|
|
12596
|
+
"CoreLocation",
|
|
12597
|
+
"CoreLocationUI",
|
|
12598
|
+
"CoreMIDI",
|
|
12599
|
+
"CoreML",
|
|
12600
|
+
"CoreMedia",
|
|
12601
|
+
"CoreMotion",
|
|
12602
|
+
"CoreNFC",
|
|
12603
|
+
"CoreServices",
|
|
12604
|
+
"CoreSpotlight",
|
|
12605
|
+
"CoreTelephony",
|
|
12606
|
+
"CoreText",
|
|
12607
|
+
"CoreTransferable",
|
|
12608
|
+
"CoreVideo",
|
|
12609
|
+
"CreateMLComponents",
|
|
12610
|
+
"CryptoKit",
|
|
12611
|
+
"CryptoTokenKit",
|
|
12612
|
+
"DataDetection",
|
|
12613
|
+
"DeclaredAgeRange",
|
|
12614
|
+
"DeveloperToolsSupport",
|
|
12615
|
+
"DeviceActivity",
|
|
12616
|
+
"DeviceCheck",
|
|
12617
|
+
"DeviceDiscoveryExtension",
|
|
12618
|
+
"DeviceDiscoveryUI",
|
|
12619
|
+
"EnergyKit",
|
|
12620
|
+
"EventKit",
|
|
12621
|
+
"EventKitUI",
|
|
12622
|
+
"ExposureNotification",
|
|
12623
|
+
"ExtensionFoundation",
|
|
12624
|
+
"ExtensionKit",
|
|
12625
|
+
"ExternalAccessory",
|
|
12626
|
+
"FamilyControls",
|
|
12627
|
+
"FileProvider",
|
|
12628
|
+
"FileProviderUI",
|
|
12629
|
+
"FinanceKit",
|
|
12630
|
+
"FinanceKitUI",
|
|
12631
|
+
"Foundation",
|
|
12632
|
+
"FoundationModels",
|
|
12633
|
+
"GLKit",
|
|
12634
|
+
"GSS",
|
|
12635
|
+
"GameController",
|
|
12636
|
+
"GameKit",
|
|
12637
|
+
"GameSave",
|
|
12638
|
+
"GameplayKit",
|
|
12639
|
+
"GeoToolbox",
|
|
12640
|
+
"GroupActivities",
|
|
12641
|
+
"HealthKit",
|
|
12642
|
+
"HealthKitUI",
|
|
12643
|
+
"HomeKit",
|
|
12644
|
+
"IOKit",
|
|
12645
|
+
"IOSurface",
|
|
12646
|
+
"IdentityDocumentServices",
|
|
12647
|
+
"IdentityDocumentServicesUI",
|
|
12648
|
+
"IdentityLookup",
|
|
12649
|
+
"IdentityLookupUI",
|
|
12650
|
+
"ImageCaptureCore",
|
|
12651
|
+
"ImageIO",
|
|
12652
|
+
"ImagePlayground",
|
|
12653
|
+
"ImmersiveMediaSupport",
|
|
12654
|
+
"Intents",
|
|
12655
|
+
"IntentsUI",
|
|
12656
|
+
"JavaScriptCore",
|
|
12657
|
+
"LinkPresentation",
|
|
12658
|
+
"LinkSecurity",
|
|
12659
|
+
"LiveCommunicationKit",
|
|
12660
|
+
"LocalAuthentication",
|
|
12661
|
+
"LocalAuthenticationEmbeddedUI",
|
|
12662
|
+
"LockedCameraCapture",
|
|
12663
|
+
"ManagedApp",
|
|
12664
|
+
"ManagedAppDistribution",
|
|
12665
|
+
"ManagedSettings",
|
|
12666
|
+
"ManagedSettingsUI",
|
|
12667
|
+
"MapKit",
|
|
12668
|
+
"MarketplaceKit",
|
|
12669
|
+
"Matter",
|
|
12670
|
+
"MatterSupport",
|
|
12671
|
+
"MediaAccessibility",
|
|
12672
|
+
"MediaIntelligence",
|
|
12673
|
+
"MediaIntents",
|
|
12674
|
+
"MediaPlayer",
|
|
12675
|
+
"MediaToolbox",
|
|
12676
|
+
"MessageUI",
|
|
12677
|
+
"Messages",
|
|
12678
|
+
"Metal",
|
|
12679
|
+
"MetalKit",
|
|
12680
|
+
"MetalPerformancePrimitives",
|
|
12681
|
+
"MetalPerformanceShaders",
|
|
12682
|
+
"MetalPerformanceShadersGraph",
|
|
12683
|
+
"MetricKit",
|
|
12684
|
+
"MobileCoreServices",
|
|
12685
|
+
"ModelIO",
|
|
12686
|
+
"MultipeerConnectivity",
|
|
12687
|
+
"MusicKit",
|
|
12688
|
+
"MusicUnderstanding",
|
|
12689
|
+
"NaturalLanguage",
|
|
12690
|
+
"NearbyInteraction",
|
|
12691
|
+
"Network",
|
|
12692
|
+
"NetworkExtension",
|
|
12693
|
+
"NotificationCenter",
|
|
12694
|
+
"NowPlaying",
|
|
12695
|
+
"OSLog",
|
|
12696
|
+
"OpenAL",
|
|
12697
|
+
"OpenGLES",
|
|
12698
|
+
"PDFKit",
|
|
12699
|
+
"PHASE",
|
|
12700
|
+
"PaperKit",
|
|
12701
|
+
"PassKit",
|
|
12702
|
+
"PencilKit",
|
|
12703
|
+
"PermissionKit",
|
|
12704
|
+
"Photos",
|
|
12705
|
+
"PhotosUI",
|
|
12706
|
+
"ProximityReader",
|
|
12707
|
+
"PushKit",
|
|
12708
|
+
"PushToTalk",
|
|
12709
|
+
"QuartzCore",
|
|
12710
|
+
"QuickLook",
|
|
12711
|
+
"QuickLookThumbnailing",
|
|
12712
|
+
"RealityFoundation",
|
|
12713
|
+
"RealityKit",
|
|
12714
|
+
"RelevanceKit",
|
|
12715
|
+
"ReplayKit",
|
|
12716
|
+
"RoomPlan",
|
|
12717
|
+
"SafariServices",
|
|
12718
|
+
"SafetyKit",
|
|
12719
|
+
"SceneKit",
|
|
12720
|
+
"ScreenTime",
|
|
12721
|
+
"SecureElementCredential",
|
|
12722
|
+
"Security",
|
|
12723
|
+
"SecurityUI",
|
|
12724
|
+
"SensitiveContentAnalysis",
|
|
12725
|
+
"SensorKit",
|
|
12726
|
+
"ServicesAccountLinking",
|
|
12727
|
+
"SharedWithYou",
|
|
12728
|
+
"SharedWithYouCore",
|
|
12729
|
+
"ShazamKit",
|
|
12730
|
+
"Social",
|
|
12731
|
+
"SoundAnalysis",
|
|
12732
|
+
"Speech",
|
|
12733
|
+
"SpriteKit",
|
|
12734
|
+
"StateReporting",
|
|
12735
|
+
"StoreKit",
|
|
12736
|
+
"SuggestedActions",
|
|
12737
|
+
"SwiftData",
|
|
12738
|
+
"SwiftUI",
|
|
12739
|
+
"SwiftUICore",
|
|
12740
|
+
"Symbols",
|
|
12741
|
+
"SystemConfiguration",
|
|
12742
|
+
"SystemExtensions",
|
|
12743
|
+
"TabularData",
|
|
12744
|
+
"TelephonyMessagingKit",
|
|
12745
|
+
"TipKit",
|
|
12746
|
+
"TouchController",
|
|
12747
|
+
"Translation",
|
|
12748
|
+
"TranslationUIProvider",
|
|
12749
|
+
"TrustInsights",
|
|
12750
|
+
"Twitter",
|
|
12751
|
+
"UIKit",
|
|
12752
|
+
"USDKit",
|
|
12753
|
+
"UniformTypeIdentifiers",
|
|
12754
|
+
"UserNotifications",
|
|
12755
|
+
"UserNotificationsUI",
|
|
12756
|
+
"VideoSubscriberAccount",
|
|
12757
|
+
"VideoToolbox",
|
|
12758
|
+
"Vision",
|
|
12759
|
+
"VisionKit",
|
|
12760
|
+
"WatchConnectivity",
|
|
12761
|
+
"WeatherKit",
|
|
12762
|
+
"WebKit",
|
|
12763
|
+
"WiFiAware",
|
|
12764
|
+
"WidgetKit",
|
|
12765
|
+
"WorkoutKit",
|
|
12766
|
+
"_AVKit_SwiftUI",
|
|
12767
|
+
"_AdAttributionKit_StoreKit",
|
|
12768
|
+
"_AppIntents_HealthKit",
|
|
12769
|
+
"_AppIntents_SwiftUI",
|
|
12770
|
+
"_AppIntents_UIKit",
|
|
12771
|
+
"_AuthenticationServices_SwiftUI",
|
|
12772
|
+
"_Contacts_AppIntents",
|
|
12773
|
+
"_CoreData_CloudKit",
|
|
12774
|
+
"_CoreLocationUI_SwiftUI",
|
|
12775
|
+
"_CoreNFC_UIKit",
|
|
12776
|
+
"_CoreSpotlight_FoundationModels",
|
|
12777
|
+
"_DataDetection_SwiftUI",
|
|
12778
|
+
"_DeviceActivity_SwiftUI",
|
|
12779
|
+
"_DeviceDiscoveryUI_SwiftUI",
|
|
12780
|
+
"_FinanceKit_AppIntents",
|
|
12781
|
+
"_FoundationModels_SwiftUI",
|
|
12782
|
+
"_FoundationModels_UIKit",
|
|
12783
|
+
"_GameController_SwiftUI",
|
|
12784
|
+
"_GeoToolbox_AppIntents",
|
|
12785
|
+
"_GroupActivities_UIKit",
|
|
12786
|
+
"_HomeKit_SwiftUI",
|
|
12787
|
+
"_Intents_TipKit",
|
|
12788
|
+
"_LinkPresentation_AppIntents",
|
|
12789
|
+
"_LocationEssentials",
|
|
12790
|
+
"_MapKit_SwiftUI",
|
|
12791
|
+
"_MarketplaceKit_UIKit",
|
|
12792
|
+
"_MediaIntents_AppIntents",
|
|
12793
|
+
"_MediaPlayer_AppIntents",
|
|
12794
|
+
"_MusicKit_SwiftUI",
|
|
12795
|
+
"_NowPlaying_AppIntents",
|
|
12796
|
+
"_PassKit_SwiftUI",
|
|
12797
|
+
"_PermissionKit_SwiftUI",
|
|
12798
|
+
"_PermissionKit_UIKit",
|
|
12799
|
+
"_PhotosUI_SwiftUI",
|
|
12800
|
+
"_PhotosUI_WidgetKit",
|
|
12801
|
+
"_Photos_AppIntents",
|
|
12802
|
+
"_QuickLook_SwiftUI",
|
|
12803
|
+
"_RealityKit_ComputeGraph",
|
|
12804
|
+
"_RealityKit_SwiftUI",
|
|
12805
|
+
"_RelevanceKit_MapKit",
|
|
12806
|
+
"_SceneKit_SwiftUI",
|
|
12807
|
+
"_SecureElementCredential_SwiftUI",
|
|
12808
|
+
"_SecureElementCredential_UIKit",
|
|
12809
|
+
"_SharedWithYou_AppIntents",
|
|
12810
|
+
"_SpriteKit_SwiftUI",
|
|
12811
|
+
"_StoreKit_SwiftUI",
|
|
12812
|
+
"_SwiftData_CoreData",
|
|
12813
|
+
"_SwiftData_SwiftUI",
|
|
12814
|
+
"_Translation_SwiftUI",
|
|
12815
|
+
"_USDKit_RealityKit",
|
|
12816
|
+
"_UserNotifications_AppIntents",
|
|
12817
|
+
"_WebKit_SwiftUI",
|
|
12818
|
+
"_WorkoutKit_SwiftUI",
|
|
12819
|
+
"iAd"
|
|
12820
|
+
]
|
|
12821
|
+
};
|
|
12822
|
+
}
|
|
12823
|
+
});
|
|
12824
|
+
|
|
12527
12825
|
// src/android-string-value.ts
|
|
12528
12826
|
var init_android_string_value = __esm({
|
|
12529
12827
|
"src/android-string-value.ts"() {
|
|
@@ -12829,8 +13127,20 @@ function xcodeTargetMemberVisitor(objects) {
|
|
|
12829
13127
|
for (const id of refs) {
|
|
12830
13128
|
const file = resolvePath(id);
|
|
12831
13129
|
if (file === null) continue;
|
|
12832
|
-
if (phase.isa === "PBXSourcesBuildPhase")
|
|
12833
|
-
|
|
13130
|
+
if (phase.isa === "PBXSourcesBuildPhase") {
|
|
13131
|
+
visit3(file, "source");
|
|
13132
|
+
continue;
|
|
13133
|
+
}
|
|
13134
|
+
const ref = objects[id];
|
|
13135
|
+
const type = isDict(ref) ? str(ref.lastKnownFileType) ?? str(ref.explicitFileType) ?? "" : "";
|
|
13136
|
+
const root = file.replace(/[\\/]+$/, "");
|
|
13137
|
+
const folder = FOLDER_REFERENCE.test(type) ? root.split(/[\\/]/).pop() : void 0;
|
|
13138
|
+
for (const inner of filesUnder(file))
|
|
13139
|
+
visit3(
|
|
13140
|
+
inner,
|
|
13141
|
+
"resource",
|
|
13142
|
+
folder && `${folder}/${inner.slice(root.length + 1).replaceAll("\\", "/")}`
|
|
13143
|
+
);
|
|
12834
13144
|
}
|
|
12835
13145
|
}
|
|
12836
13146
|
}
|
|
@@ -12868,13 +13178,14 @@ function xcodeTargetMemberVisitor(objects) {
|
|
|
12868
13178
|
}
|
|
12869
13179
|
};
|
|
12870
13180
|
}
|
|
12871
|
-
var NEVER_MEMBER, BUNDLE_DIR;
|
|
13181
|
+
var NEVER_MEMBER, FOLDER_REFERENCE, BUNDLE_DIR;
|
|
12872
13182
|
var init_xcode_target_members = __esm({
|
|
12873
13183
|
"src/xcode-target-members.ts"() {
|
|
12874
13184
|
"use strict";
|
|
12875
13185
|
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
12876
13186
|
init_openstep_plist();
|
|
12877
13187
|
NEVER_MEMBER = /(?:^|\/)(?:Info\.plist|[^/]+\.entitlements|[^/]+\.xcconfig|\.DS_Store)$/;
|
|
13188
|
+
FOLDER_REFERENCE = /^(?:folder|wrapper\.scnassets)$/;
|
|
12878
13189
|
BUNDLE_DIR = /\.(xcassets|bundle|lproj|xcdatamodeld|scnassets|spriteatlas|rcproject|storyboardc|icon)$/;
|
|
12879
13190
|
}
|
|
12880
13191
|
});
|
|
@@ -14958,12 +15269,13 @@ function planAssetSymbols(resources, root, settings) {
|
|
|
14958
15269
|
"2": ["ipad"],
|
|
14959
15270
|
"1,2": ["iphone", "ipad"],
|
|
14960
15271
|
"1,7": ["iphone"],
|
|
15272
|
+
"1,3,7": ["iphone"],
|
|
14961
15273
|
"1,2,6": ["iphone", "ipad"],
|
|
14962
15274
|
"1,2,7": ["iphone", "ipad"]
|
|
14963
15275
|
}[families];
|
|
14964
15276
|
if (!devices2)
|
|
14965
15277
|
return unknown2(
|
|
14966
|
-
`Generated asset symbols are proven only for TARGETED_DEVICE_FAMILY 1, 2, 1,2, 1,7, 1,2,6 or 1,2,7; this target resolves to "${families}".`
|
|
15278
|
+
`Generated asset symbols are proven only for TARGETED_DEVICE_FAMILY 1, 2, 1,2, 1,7, 1,3,7, 1,2,6 or 1,2,7; this target resolves to "${families}".`
|
|
14967
15279
|
);
|
|
14968
15280
|
const plan = {
|
|
14969
15281
|
catalogs: catalogs.map((path112) => ({
|
|
@@ -26921,6 +27233,7 @@ async function runWasmOpt(file, output2, skipPasses, binary2) {
|
|
|
26921
27233
|
const result = await (0, import_wasm_opt.wasmOpt)(
|
|
26922
27234
|
[
|
|
26923
27235
|
"-Oz",
|
|
27236
|
+
...KEEP_WASM_NAMES ? ["-g"] : [],
|
|
26924
27237
|
...skipPasses.flatMap((pass) => ["--skip-pass", pass]),
|
|
26925
27238
|
...FEATURES.map((feature) => `--enable-${feature}`),
|
|
26926
27239
|
file,
|
|
@@ -26954,7 +27267,7 @@ async function installWasmOpt() {
|
|
|
26954
27267
|
async function optimizeWasm(file, output2, skipPasses = []) {
|
|
26955
27268
|
await runWasmOpt(file, output2, skipPasses, await installWasmOpt());
|
|
26956
27269
|
}
|
|
26957
|
-
var import_node_fs44, import_node_path42, import_wasm_opt, FEATURES, WASM_OPTIMIZE_IDENTITY, PINNED_BINARYEN_VERSION, BINARYEN_RELEASES;
|
|
27270
|
+
var import_node_fs44, import_node_path42, import_wasm_opt, FEATURES, KEEP_WASM_NAMES, WASM_OPTIMIZE_IDENTITY, PINNED_BINARYEN_VERSION, BINARYEN_RELEASES;
|
|
26958
27271
|
var init_wasm_optimize = __esm({
|
|
26959
27272
|
"src/wasm-optimize.ts"() {
|
|
26960
27273
|
"use strict";
|
|
@@ -26977,7 +27290,8 @@ var init_wasm_optimize = __esm({
|
|
|
26977
27290
|
"reference-types",
|
|
26978
27291
|
"sign-ext"
|
|
26979
27292
|
];
|
|
26980
|
-
|
|
27293
|
+
KEEP_WASM_NAMES = process.env.PEACH_SWIFT_NAMES === "1";
|
|
27294
|
+
WASM_OPTIMIZE_IDENTITY = `wasm-opt ${import_wasm_opt.BINARYEN_VERSION} -Oz ${FEATURES.join(",")}${KEEP_WASM_NAMES ? " -g" : ""}`;
|
|
26981
27295
|
PINNED_BINARYEN_VERSION = "132";
|
|
26982
27296
|
BINARYEN_RELEASES = /* @__PURE__ */ new Map([
|
|
26983
27297
|
[
|
|
@@ -27911,6 +28225,17 @@ function processTable(pid) {
|
|
|
27911
28225
|
);
|
|
27912
28226
|
}
|
|
27913
28227
|
}
|
|
28228
|
+
async function processTableWithRetry(pid, signal) {
|
|
28229
|
+
for (let attempt = 1; ; attempt++) {
|
|
28230
|
+
try {
|
|
28231
|
+
return processTable(pid);
|
|
28232
|
+
} catch (error) {
|
|
28233
|
+
if (attempt >= INSPECT_ATTEMPTS) throw error;
|
|
28234
|
+
await pause(POLL_MS * attempt, signal);
|
|
28235
|
+
signal?.throwIfAborted();
|
|
28236
|
+
}
|
|
28237
|
+
}
|
|
28238
|
+
}
|
|
27914
28239
|
function sameProcess(row, identity2) {
|
|
27915
28240
|
return row.pid === identity2.pid && Math.abs(row.start - identity2.start) <= START_TOLERANCE_MS;
|
|
27916
28241
|
}
|
|
@@ -27985,7 +28310,11 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
|
|
|
27985
28310
|
);
|
|
27986
28311
|
(0, import_node_fs50.mkdirSync)(directory2, { recursive: true });
|
|
27987
28312
|
const token = (0, import_node_crypto22.randomUUID)();
|
|
27988
|
-
const
|
|
28313
|
+
const ownRow = (await processTableWithRetry(process.pid, signal)).find(
|
|
28314
|
+
(candidate) => candidate.pid === process.pid && !candidate.zombie
|
|
28315
|
+
);
|
|
28316
|
+
if (!ownRow) throw new Error(`swift root lock cannot find process ${process.pid}`);
|
|
28317
|
+
const owner = JSON.stringify({ pid: process.pid, start: ownRow.start });
|
|
27989
28318
|
const pending = import_node_path47.default.join(directory2, `pending.${token}`);
|
|
27990
28319
|
let held = 0;
|
|
27991
28320
|
for (; ; ) {
|
|
@@ -27994,15 +28323,15 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
|
|
|
27994
28323
|
const current2 = newest > 0 ? readGeneration(directory2, newest) : null;
|
|
27995
28324
|
if (newest > 0 && !current2) continue;
|
|
27996
28325
|
if (current2 && !current2.released) {
|
|
27997
|
-
const
|
|
27998
|
-
if (
|
|
28326
|
+
const holder = await processTableWithRetry(current2.holder.pid, signal);
|
|
28327
|
+
if (holder.some((row) => !row.zombie && sameProcess(row, current2.holder))) {
|
|
27999
28328
|
if (!wait) return void 0;
|
|
28000
28329
|
await pause(POLL_MS, signal);
|
|
28001
28330
|
continue;
|
|
28002
28331
|
}
|
|
28003
28332
|
const children2 = readChildren(directory2, newest);
|
|
28004
28333
|
if (children2.length) {
|
|
28005
|
-
const table =
|
|
28334
|
+
const table = await processTableWithRetry(void 0, signal);
|
|
28006
28335
|
if (children2.some((child) => groupAlive(table, child))) {
|
|
28007
28336
|
if (!wait) return void 0;
|
|
28008
28337
|
await pause(POLL_MS, signal);
|
|
@@ -28077,7 +28406,7 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
|
|
|
28077
28406
|
(0, import_node_fs50.writeFileSync)(import_node_path47.default.join(directory2, name2(held, "released")), "");
|
|
28078
28407
|
}
|
|
28079
28408
|
}
|
|
28080
|
-
var import_node_child_process26, import_node_crypto22, import_node_fs50, import_node_os10, import_node_path47, POLL_MS, START_TOLERANCE_MS, name2;
|
|
28409
|
+
var import_node_child_process26, import_node_crypto22, import_node_fs50, import_node_os10, import_node_path47, POLL_MS, INSPECT_ATTEMPTS, START_TOLERANCE_MS, name2;
|
|
28081
28410
|
var init_swift_root_lock = __esm({
|
|
28082
28411
|
"src/swift-root-lock.ts"() {
|
|
28083
28412
|
"use strict";
|
|
@@ -28090,6 +28419,7 @@ var init_swift_root_lock = __esm({
|
|
|
28090
28419
|
init_process_group();
|
|
28091
28420
|
init_process_table();
|
|
28092
28421
|
POLL_MS = 250;
|
|
28422
|
+
INSPECT_ATTEMPTS = 5;
|
|
28093
28423
|
START_TOLERANCE_MS = 2e3;
|
|
28094
28424
|
name2 = (number3, suffix) => `${String(number3).padStart(12, "0")}.${suffix}`;
|
|
28095
28425
|
}
|
|
@@ -29054,6 +29384,7 @@ ${release}
|
|
|
29054
29384
|
`);
|
|
29055
29385
|
hash.update(compilerSourceDigest);
|
|
29056
29386
|
if (input.oneModule) hash.update("one-module\n");
|
|
29387
|
+
if (KEEP_WASM_NAMES) hash.update("names\n");
|
|
29057
29388
|
hash.update(swiftModuleDigest(moduleRoot));
|
|
29058
29389
|
if (input.optimize) hash.update(`optimize
|
|
29059
29390
|
${WASM_OPTIMIZE_IDENTITY}
|
|
@@ -29165,7 +29496,14 @@ function toolsetOrdersLibcxxBeforeDarwinOverlay(options) {
|
|
|
29165
29496
|
return libcxx >= 0 && overlay > libcxx;
|
|
29166
29497
|
}
|
|
29167
29498
|
function emitSwiftPackageManifest(args) {
|
|
29168
|
-
const {
|
|
29499
|
+
const {
|
|
29500
|
+
targets,
|
|
29501
|
+
siblings,
|
|
29502
|
+
moduleRoot,
|
|
29503
|
+
oneModule,
|
|
29504
|
+
gameProducts: gameProducts2 = [],
|
|
29505
|
+
distribution
|
|
29506
|
+
} = args;
|
|
29169
29507
|
const prebuilt = args.prebuilt;
|
|
29170
29508
|
const linkedObjects = Boolean(distribution || prebuilt);
|
|
29171
29509
|
const cxxFlagsFor = (flags) => args.deferDarwinOverlay ? withoutWasmOverlayIsystem(flags) : flags;
|
|
@@ -29194,9 +29532,8 @@ function emitSwiftPackageManifest(args) {
|
|
|
29194
29532
|
for (const name3 of [...siblings.values()].flat())
|
|
29195
29533
|
if (OPTIONAL_FRAMEWORKS.has(name3) && !targets.some((target) => target.name === name3))
|
|
29196
29534
|
reach(name3);
|
|
29197
|
-
|
|
29198
|
-
for (const name3 of [
|
|
29199
|
-
}
|
|
29535
|
+
for (const product of gameProducts2)
|
|
29536
|
+
for (const name3 of GAME_REACH[product] ?? []) reach(name3);
|
|
29200
29537
|
let distributionLinkPath;
|
|
29201
29538
|
const distributionLink = args.distributionLink;
|
|
29202
29539
|
if (distribution && distributionLink) {
|
|
@@ -29219,7 +29556,7 @@ function emitSwiftPackageManifest(args) {
|
|
|
29219
29556
|
(object6) => !isProvider(object6) && !replacedObjects.has(object6)
|
|
29220
29557
|
);
|
|
29221
29558
|
const objects = available.filter(
|
|
29222
|
-
(object6) => !targets.some((target) => object6.startsWith(`lib/${target.name}-`)) && [...OPTIONAL_FRAMEWORKS,
|
|
29559
|
+
(object6) => !targets.some((target) => object6.startsWith(`lib/${target.name}-`)) && [...OPTIONAL_FRAMEWORKS, ...GAME_FAMILY, "PeachBox2D"].every(
|
|
29223
29560
|
(name3) => !object6.startsWith(`lib/${name3}-`) || reachedFrameworks.has(name3)
|
|
29224
29561
|
)
|
|
29225
29562
|
);
|
|
@@ -29382,7 +29719,7 @@ function emitSwiftPackageManifest(args) {
|
|
|
29382
29719
|
...linkedObjects || clang && !target.executable ? [] : [
|
|
29383
29720
|
'.product(name: "SwiftUI", package: "sootsim-swift")',
|
|
29384
29721
|
...oneModule ? [ONE_PRODUCT] : [],
|
|
29385
|
-
...
|
|
29722
|
+
...gameProducts2.map(gameProduct)
|
|
29386
29723
|
],
|
|
29387
29724
|
...(siblings.get(target.name) ?? []).flatMap(
|
|
29388
29725
|
(dependency) => clang && // textual native headers can include one another without imposing
|
|
@@ -29414,7 +29751,7 @@ function emitSwiftPackageManifest(args) {
|
|
|
29414
29751
|
.unsafeFlags(${flagArray(`[
|
|
29415
29752
|
${REACTOR_FLAG}${executableLinkFlags(args.root)} "-Xlinker", "--export-if-defined=__main_argc_argv"${library},
|
|
29416
29753
|
]`)}),
|
|
29417
|
-
.unsafeFlags(["-Xlinker", "--strip-all"], .when(configuration: .release)),
|
|
29754
|
+
${KEEP_WASM_NAMES ? "" : '.unsafeFlags(["-Xlinker", "--strip-all"], .when(configuration: .release)),'}
|
|
29418
29755
|
]` : librarySettings.length > 0 ? `,
|
|
29419
29756
|
linkerSettings: [${librarySettings.join(", ")}]` : "";
|
|
29420
29757
|
const cDefines = macroSettings(target.cDefines);
|
|
@@ -31147,8 +31484,8 @@ ${swiftProjectFilesProblems(input.projectFiles).join("\n")}`
|
|
|
31147
31484
|
const moduleName2 = swiftTargetModuleName(name3);
|
|
31148
31485
|
const originalMap = originalMaps.get(moduleName2);
|
|
31149
31486
|
const stagedMap = sourceModuleMaps.get(moduleName2);
|
|
31150
|
-
const originalPath = originalMap ? import_node_path51.default.join(layout2.root, originalMap) :
|
|
31151
|
-
const originalContents = originalMap
|
|
31487
|
+
const originalPath = stagedMap?.path ?? (originalMap ? import_node_path51.default.join(layout2.root, originalMap) : void 0);
|
|
31488
|
+
const originalContents = stagedMap?.contents ?? (originalMap && input.files[originalMap]);
|
|
31152
31489
|
const originalTokens = originalContents ? moduleMapTokens(originalContents) : [];
|
|
31153
31490
|
if (originalPath && originalTokens.some(
|
|
31154
31491
|
(token, index) => token === "module" && (originalTokens[index + 1] === "Swift" || originalTokens[index + 1] === `${moduleName2}.Swift`)
|
|
@@ -31423,14 +31760,17 @@ module ${moduleName2}.Swift {
|
|
|
31423
31760
|
manifest = manifest.replace(product, `${product}
|
|
31424
31761
|
${ONE_PRODUCT},`).replace(flags, `${flags}${ONE_IMPLICIT_FLAGS}`);
|
|
31425
31762
|
}
|
|
31426
|
-
|
|
31763
|
+
const games = gameProducts(input.files);
|
|
31764
|
+
if (games.length > 0) {
|
|
31427
31765
|
const anchor = '.product(name: "CoreLocation", package: "sootsim-swift"),';
|
|
31428
31766
|
if (!manifest.includes(anchor))
|
|
31429
31767
|
throw new Error(
|
|
31430
|
-
"scripts/contrast-app-Package.swift lost the line the
|
|
31768
|
+
"scripts/contrast-app-Package.swift lost the line the game products link at"
|
|
31431
31769
|
);
|
|
31432
|
-
manifest = manifest.replace(
|
|
31433
|
-
|
|
31770
|
+
manifest = manifest.replace(
|
|
31771
|
+
anchor,
|
|
31772
|
+
[anchor, ...games.map((name3) => `${gameProduct(name3)},`)].join("\n ")
|
|
31773
|
+
);
|
|
31434
31774
|
}
|
|
31435
31775
|
files2.set(import_node_path51.default.join(layout2.root, "Package.swift"), manifest + moduleFiles);
|
|
31436
31776
|
} else {
|
|
@@ -31545,7 +31885,7 @@ module ${moduleName2}.Swift {
|
|
|
31545
31885
|
siblings: moduleSiblings,
|
|
31546
31886
|
moduleRoot,
|
|
31547
31887
|
oneModule: input.oneModule,
|
|
31548
|
-
|
|
31888
|
+
gameProducts: gameProducts(input.files),
|
|
31549
31889
|
distribution: distribution ?? void 0,
|
|
31550
31890
|
moduleExcludes,
|
|
31551
31891
|
deferDarwinOverlay: native.size > 0 && toolsetOrdersLibcxxBeforeDarwinOverlay(
|
|
@@ -31944,14 +32284,9 @@ function linkedFrameworkTargets(moduleRoot, input) {
|
|
|
31944
32284
|
))
|
|
31945
32285
|
reach(match[1]);
|
|
31946
32286
|
}
|
|
31947
|
-
|
|
31948
|
-
|
|
31949
|
-
const wanted = [
|
|
31950
|
-
"PeachApp",
|
|
31951
|
-
...input.oneModule ? ["One"] : [],
|
|
31952
|
-
...importsSpriteKit(input.files) ? ["SpriteKit"] : [],
|
|
31953
|
-
...reached
|
|
31954
|
-
];
|
|
32287
|
+
const games = gameProducts(input.files);
|
|
32288
|
+
for (const product of games) for (const name3 of GAME_REACH[product] ?? []) reach(name3);
|
|
32289
|
+
const wanted = ["PeachApp", ...input.oneModule ? ["One"] : [], ...games, ...reached];
|
|
31955
32290
|
const linked = [...new Set(wanted)].filter((name3) => libraries.has(name3));
|
|
31956
32291
|
if (!linked.includes("PeachApp"))
|
|
31957
32292
|
throw new Error("swift-compile: the framework package declares no PeachApp library");
|
|
@@ -32854,7 +33189,7 @@ function compileSwiftProjectOnce(input, options) {
|
|
|
32854
33189
|
options.signal
|
|
32855
33190
|
);
|
|
32856
33191
|
}
|
|
32857
|
-
var import_node_child_process28, import_node_crypto23, import_node_fs53, import_node_os11, import_node_path51, 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,
|
|
33192
|
+
var import_node_child_process28, import_node_crypto23, import_node_fs53, import_node_os11, import_node_path51, 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, GAME_FAMILY, gameProducts, gameProduct, GAME_REACH, 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, wasmMacroEnvironment, 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;
|
|
32858
33193
|
var init_swift_compile = __esm({
|
|
32859
33194
|
"src/swift-compile.ts"() {
|
|
32860
33195
|
"use strict";
|
|
@@ -32928,7 +33263,8 @@ var init_swift_compile = __esm({
|
|
|
32928
33263
|
PeachCFNetwork: [],
|
|
32929
33264
|
JavaScriptCore: ["PeachJavaScriptCore"],
|
|
32930
33265
|
PeachJavaScriptCore: [],
|
|
32931
|
-
GameplayKit
|
|
33266
|
+
// GameplayKit names SpriteKit and SceneKit nodes, as on iOS
|
|
33267
|
+
GameplayKit: ["SpriteKit", "SceneKit", "PeachBox2D", "simd", "GLKit"],
|
|
32932
33268
|
simd: [],
|
|
32933
33269
|
ModelIO: ["simd"],
|
|
32934
33270
|
GLKit: ["ModelIO"],
|
|
@@ -33040,10 +33376,21 @@ int EXUpdatesApplyBSDiffPatch(const char * _Nonnull oldFilePath,
|
|
|
33040
33376
|
}
|
|
33041
33377
|
];
|
|
33042
33378
|
ONE_PRODUCT = '.product(name: "One", package: "sootsim-swift")';
|
|
33043
|
-
|
|
33044
|
-
|
|
33045
|
-
|
|
33046
|
-
|
|
33379
|
+
GAME_FAMILY = ["SpriteKit", "SceneKit"];
|
|
33380
|
+
gameProducts = (files2) => {
|
|
33381
|
+
const imported = new Set(
|
|
33382
|
+
Object.entries(files2).flatMap(
|
|
33383
|
+
([file, contents]) => file.endsWith(".swift") ? swiftImportNames(contents) : []
|
|
33384
|
+
)
|
|
33385
|
+
);
|
|
33386
|
+
if (imported.has("SceneKit")) return [...GAME_FAMILY];
|
|
33387
|
+
return imported.has("SpriteKit") ? ["SpriteKit"] : [];
|
|
33388
|
+
};
|
|
33389
|
+
gameProduct = (name3) => `.product(name: "${name3}", package: "sootsim-swift")`;
|
|
33390
|
+
GAME_REACH = {
|
|
33391
|
+
SpriteKit: ["SpriteKit", "PeachBox2D", "simd", "GLKit"],
|
|
33392
|
+
SceneKit: ["SceneKit"]
|
|
33393
|
+
};
|
|
33047
33394
|
FOUNDATION_IMPLICIT_MODULES = [
|
|
33048
33395
|
"PeachObjC",
|
|
33049
33396
|
"Dispatch",
|
|
@@ -33070,7 +33417,7 @@ int EXUpdatesApplyBSDiffPatch(const char * _Nonnull oldFilePath,
|
|
|
33070
33417
|
REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
|
|
33071
33418
|
MULTI_MANIFEST_VERSION = 68;
|
|
33072
33419
|
SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
|
|
33073
|
-
compilerSourceDigest = true ? "
|
|
33420
|
+
compilerSourceDigest = true ? "ae9e08389e6ab1901846342a7b347d7c10f8074172cf5d4d6505f7e955879ad4" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
|
|
33074
33421
|
nativeCxxCompilerFlags = ["-fno-cxx-modules"];
|
|
33075
33422
|
cFlagArray = (flags) => JSON.stringify(withoutGlogModuleMap(flags));
|
|
33076
33423
|
cxxFlagArray = (flags) => JSON.stringify([...nativeCxxCompilerFlags, ...withoutGlogModuleMap(flags)]);
|
|
@@ -33401,8 +33748,6 @@ int EXUpdatesApplyBSDiffPatch(const char * _Nonnull oldFilePath,
|
|
|
33401
33748
|
"NSURLProtectionSpaceHTTPS",
|
|
33402
33749
|
"NSURLProtectionSpaceHTTPSProxy",
|
|
33403
33750
|
"NSURLProtectionSpaceSOCKSProxy",
|
|
33404
|
-
"NSURLSessionDownloadTaskResumeData",
|
|
33405
|
-
"NSURLSessionTransferSizeUnknown",
|
|
33406
33751
|
"NSURLSessionUploadTaskResumeData",
|
|
33407
33752
|
"NSUTF16BigEndianStringEncoding",
|
|
33408
33753
|
"NSUTF16LittleEndianStringEncoding",
|
|
@@ -35723,6 +36068,7 @@ function targetMembers(ref, settings, options, settingKeys, projectInputs) {
|
|
|
35723
36068
|
const allSources = /* @__PURE__ */ new Set();
|
|
35724
36069
|
const headers = /* @__PURE__ */ new Set();
|
|
35725
36070
|
const resources = /* @__PURE__ */ new Set();
|
|
36071
|
+
const resourceNames = {};
|
|
35726
36072
|
const scriptForOutput = /* @__PURE__ */ new Map();
|
|
35727
36073
|
const copiedFiles = [];
|
|
35728
36074
|
let generatedInfoPlist = false;
|
|
@@ -35892,13 +36238,14 @@ ${output2}`
|
|
|
35892
36238
|
xcodePathResolver(project2.objects, project2.projectDir, import_node_path56.default.join, settings),
|
|
35893
36239
|
(file) => isDirectory(file) ? walkFiles(file) : import_node_fs57.default.existsSync(file) ? [file] : [],
|
|
35894
36240
|
import_node_path56.default.join,
|
|
35895
|
-
(file, kind) => {
|
|
36241
|
+
(file, kind, bundleName) => {
|
|
35896
36242
|
if (kind === "header") {
|
|
35897
36243
|
headers.add(file);
|
|
35898
36244
|
return;
|
|
35899
36245
|
}
|
|
35900
36246
|
if (kind === "resource") {
|
|
35901
36247
|
resources.add(file);
|
|
36248
|
+
if (bundleName) resourceNames[file] = bundleName;
|
|
35902
36249
|
return;
|
|
35903
36250
|
}
|
|
35904
36251
|
if (!import_node_fs57.default.existsSync(file)) {
|
|
@@ -36022,6 +36369,7 @@ ${output2}`
|
|
|
36022
36369
|
return {
|
|
36023
36370
|
sources: [...sources].sort(),
|
|
36024
36371
|
resources: [...resources].sort(),
|
|
36372
|
+
resourceNames,
|
|
36025
36373
|
copiedFiles,
|
|
36026
36374
|
generatedInfoPlist,
|
|
36027
36375
|
allSources: [...allSources].sort(),
|
|
@@ -37266,10 +37614,14 @@ function readXcodeAppTarget(input, targetName, configurationName, options = {})
|
|
|
37266
37614
|
byProduct.has(import_node_path56.default.basename(rawPath)))
|
|
37267
37615
|
continue;
|
|
37268
37616
|
const resolved = fileId ? project2.resolvePath(fileId) : null;
|
|
37269
|
-
if (fileId && resolved !== null && !import_node_fs57.default.existsSync(resolved))
|
|
37270
|
-
|
|
37271
|
-
|
|
37272
|
-
|
|
37617
|
+
if (fileId && resolved !== null && !import_node_fs57.default.existsSync(resolved)) {
|
|
37618
|
+
if (!ios_sdk_frameworks_default.frameworks.includes(name3))
|
|
37619
|
+
throw new Error(
|
|
37620
|
+
`${str(target.name) ?? "target"}: linked framework ${name3} (${fileId}) points at missing ${resolved} in ${project2.projectFile}`
|
|
37621
|
+
);
|
|
37622
|
+
sdkFrameworks.add(name3);
|
|
37623
|
+
continue;
|
|
37624
|
+
}
|
|
37273
37625
|
if (!binaryFrameworks.get(name3)) binaryFrameworks.set(name3, resolved);
|
|
37274
37626
|
}
|
|
37275
37627
|
}
|
|
@@ -37346,7 +37698,12 @@ function readXcodeAppTarget(input, targetName, configurationName, options = {})
|
|
|
37346
37698
|
...linkedProducts.flatMap(
|
|
37347
37699
|
({ source }) => source.kind === "local" && import_node_fs57.default.existsSync(source.dir) ? [source.dir] : []
|
|
37348
37700
|
),
|
|
37349
|
-
...new Set(podSourceDirs)
|
|
37701
|
+
...new Set(podSourceDirs),
|
|
37702
|
+
// a target's own files may sit beside the project, such as an asset
|
|
37703
|
+
// catalog one folder up, and xcode builds them from there
|
|
37704
|
+
...new Set(
|
|
37705
|
+
[...module2.allSources, ...module2.resources].filter((file) => import_node_fs57.default.existsSync(file)).map((file) => import_node_path56.default.dirname(file))
|
|
37706
|
+
)
|
|
37350
37707
|
].map((dir) => import_node_fs57.default.realpathSync.native(dir))
|
|
37351
37708
|
),
|
|
37352
37709
|
projectFiles: [
|
|
@@ -37391,6 +37748,7 @@ var init_xcode_project = __esm({
|
|
|
37391
37748
|
import_node_fs57 = __toESM(require("node:fs"), 1);
|
|
37392
37749
|
import_node_path56 = __toESM(require("node:path"), 1);
|
|
37393
37750
|
import_plist2 = __toESM(require("plist"), 1);
|
|
37751
|
+
init_ios_sdk_frameworks();
|
|
37394
37752
|
init_is_record();
|
|
37395
37753
|
init_native_app_identity();
|
|
37396
37754
|
init_prepared_xcode_phases();
|
|
@@ -37534,7 +37892,7 @@ var init_swift_standin_digest = __esm({
|
|
|
37534
37892
|
STANDIN_DIGEST_ENTRYPOINTS = ["swift-standins.ts", "swift-objc-compile.ts"];
|
|
37535
37893
|
SPECIFIER = /from\s*['"]([^'"]+)['"]|import\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
|
|
37536
37894
|
standinSourceDigest = (srcDir = __sootsim_import_meta_dirname) => sourceClosureDigest(srcDir, STANDIN_DIGEST_ENTRYPOINTS);
|
|
37537
|
-
STANDIN_SOURCE_DIGEST = true ? "
|
|
37895
|
+
STANDIN_SOURCE_DIGEST = true ? "967c1c2a3b66ac640e0162783ed9e21b09ff285f8e1f7d4327b70416699e14c8" : standinSourceDigest();
|
|
37538
37896
|
}
|
|
37539
37897
|
});
|
|
37540
37898
|
|
|
@@ -45402,302 +45760,6 @@ var init_core_data_entity_classes = __esm({
|
|
|
45402
45760
|
}
|
|
45403
45761
|
});
|
|
45404
45762
|
|
|
45405
|
-
// src/ios-sdk-frameworks.json
|
|
45406
|
-
var ios_sdk_frameworks_default;
|
|
45407
|
-
var init_ios_sdk_frameworks = __esm({
|
|
45408
|
-
"src/ios-sdk-frameworks.json"() {
|
|
45409
|
-
ios_sdk_frameworks_default = {
|
|
45410
|
-
sdk: "iphonesimulator27.1",
|
|
45411
|
-
frameworks: [
|
|
45412
|
-
"ARKit",
|
|
45413
|
-
"AVFAudio",
|
|
45414
|
-
"AVFoundation",
|
|
45415
|
-
"AVKit",
|
|
45416
|
-
"AVRouting",
|
|
45417
|
-
"Accelerate",
|
|
45418
|
-
"Accessibility",
|
|
45419
|
-
"AccessoryLiveActivities",
|
|
45420
|
-
"AccessoryNotifications",
|
|
45421
|
-
"AccessorySetupKit",
|
|
45422
|
-
"AccessoryTransportExtension",
|
|
45423
|
-
"Accounts",
|
|
45424
|
-
"ActivityKit",
|
|
45425
|
-
"AdAttributionKit",
|
|
45426
|
-
"AdServices",
|
|
45427
|
-
"AdSupport",
|
|
45428
|
-
"AddressBook",
|
|
45429
|
-
"AddressBookUI",
|
|
45430
|
-
"AlarmKit",
|
|
45431
|
-
"AppClip",
|
|
45432
|
-
"AppIntents",
|
|
45433
|
-
"AppIntentsTypeSupport",
|
|
45434
|
-
"AppMigrationKit",
|
|
45435
|
-
"AppTrackingTransparency",
|
|
45436
|
-
"AssetsLibrary",
|
|
45437
|
-
"AudioToolbox",
|
|
45438
|
-
"AudioUnit",
|
|
45439
|
-
"AuthenticationServices",
|
|
45440
|
-
"AutomatedDeviceEnrollment",
|
|
45441
|
-
"AutomaticAssessmentConfiguration",
|
|
45442
|
-
"BackgroundAssets",
|
|
45443
|
-
"BackgroundTasks",
|
|
45444
|
-
"BrowserEngineCore",
|
|
45445
|
-
"BrowserEngineKit",
|
|
45446
|
-
"BrowserKit",
|
|
45447
|
-
"BusinessChat",
|
|
45448
|
-
"CFNetwork",
|
|
45449
|
-
"CallKit",
|
|
45450
|
-
"CarKey",
|
|
45451
|
-
"CarPlay",
|
|
45452
|
-
"Charts",
|
|
45453
|
-
"ClassKit",
|
|
45454
|
-
"ClassKitUI",
|
|
45455
|
-
"ClockKit",
|
|
45456
|
-
"CloudKit",
|
|
45457
|
-
"ColorSync",
|
|
45458
|
-
"Combine",
|
|
45459
|
-
"ComputeGraph",
|
|
45460
|
-
"ContactProvider",
|
|
45461
|
-
"Contacts",
|
|
45462
|
-
"ContactsUI",
|
|
45463
|
-
"CoreAudio",
|
|
45464
|
-
"CoreAudioKit",
|
|
45465
|
-
"CoreAudioTypes",
|
|
45466
|
-
"CoreBluetooth",
|
|
45467
|
-
"CoreData",
|
|
45468
|
-
"CoreFoundation",
|
|
45469
|
-
"CoreGraphics",
|
|
45470
|
-
"CoreHaptics",
|
|
45471
|
-
"CoreImage",
|
|
45472
|
-
"CoreLocation",
|
|
45473
|
-
"CoreLocationUI",
|
|
45474
|
-
"CoreMIDI",
|
|
45475
|
-
"CoreML",
|
|
45476
|
-
"CoreMedia",
|
|
45477
|
-
"CoreMotion",
|
|
45478
|
-
"CoreNFC",
|
|
45479
|
-
"CoreServices",
|
|
45480
|
-
"CoreSpotlight",
|
|
45481
|
-
"CoreTelephony",
|
|
45482
|
-
"CoreText",
|
|
45483
|
-
"CoreTransferable",
|
|
45484
|
-
"CoreVideo",
|
|
45485
|
-
"CreateMLComponents",
|
|
45486
|
-
"CryptoKit",
|
|
45487
|
-
"CryptoTokenKit",
|
|
45488
|
-
"DataDetection",
|
|
45489
|
-
"DeclaredAgeRange",
|
|
45490
|
-
"DeveloperToolsSupport",
|
|
45491
|
-
"DeviceActivity",
|
|
45492
|
-
"DeviceCheck",
|
|
45493
|
-
"DeviceDiscoveryExtension",
|
|
45494
|
-
"DeviceDiscoveryUI",
|
|
45495
|
-
"EnergyKit",
|
|
45496
|
-
"EventKit",
|
|
45497
|
-
"EventKitUI",
|
|
45498
|
-
"ExposureNotification",
|
|
45499
|
-
"ExtensionFoundation",
|
|
45500
|
-
"ExtensionKit",
|
|
45501
|
-
"ExternalAccessory",
|
|
45502
|
-
"FamilyControls",
|
|
45503
|
-
"FileProvider",
|
|
45504
|
-
"FileProviderUI",
|
|
45505
|
-
"FinanceKit",
|
|
45506
|
-
"FinanceKitUI",
|
|
45507
|
-
"Foundation",
|
|
45508
|
-
"FoundationModels",
|
|
45509
|
-
"GLKit",
|
|
45510
|
-
"GSS",
|
|
45511
|
-
"GameController",
|
|
45512
|
-
"GameKit",
|
|
45513
|
-
"GameSave",
|
|
45514
|
-
"GameplayKit",
|
|
45515
|
-
"GeoToolbox",
|
|
45516
|
-
"GroupActivities",
|
|
45517
|
-
"HealthKit",
|
|
45518
|
-
"HealthKitUI",
|
|
45519
|
-
"HomeKit",
|
|
45520
|
-
"IOKit",
|
|
45521
|
-
"IOSurface",
|
|
45522
|
-
"IdentityDocumentServices",
|
|
45523
|
-
"IdentityDocumentServicesUI",
|
|
45524
|
-
"IdentityLookup",
|
|
45525
|
-
"IdentityLookupUI",
|
|
45526
|
-
"ImageCaptureCore",
|
|
45527
|
-
"ImageIO",
|
|
45528
|
-
"ImagePlayground",
|
|
45529
|
-
"ImmersiveMediaSupport",
|
|
45530
|
-
"Intents",
|
|
45531
|
-
"IntentsUI",
|
|
45532
|
-
"JavaScriptCore",
|
|
45533
|
-
"LinkPresentation",
|
|
45534
|
-
"LinkSecurity",
|
|
45535
|
-
"LiveCommunicationKit",
|
|
45536
|
-
"LocalAuthentication",
|
|
45537
|
-
"LocalAuthenticationEmbeddedUI",
|
|
45538
|
-
"LockedCameraCapture",
|
|
45539
|
-
"ManagedApp",
|
|
45540
|
-
"ManagedAppDistribution",
|
|
45541
|
-
"ManagedSettings",
|
|
45542
|
-
"ManagedSettingsUI",
|
|
45543
|
-
"MapKit",
|
|
45544
|
-
"MarketplaceKit",
|
|
45545
|
-
"Matter",
|
|
45546
|
-
"MatterSupport",
|
|
45547
|
-
"MediaAccessibility",
|
|
45548
|
-
"MediaIntelligence",
|
|
45549
|
-
"MediaIntents",
|
|
45550
|
-
"MediaPlayer",
|
|
45551
|
-
"MediaToolbox",
|
|
45552
|
-
"MessageUI",
|
|
45553
|
-
"Messages",
|
|
45554
|
-
"Metal",
|
|
45555
|
-
"MetalKit",
|
|
45556
|
-
"MetalPerformancePrimitives",
|
|
45557
|
-
"MetalPerformanceShaders",
|
|
45558
|
-
"MetalPerformanceShadersGraph",
|
|
45559
|
-
"MetricKit",
|
|
45560
|
-
"MobileCoreServices",
|
|
45561
|
-
"ModelIO",
|
|
45562
|
-
"MultipeerConnectivity",
|
|
45563
|
-
"MusicKit",
|
|
45564
|
-
"MusicUnderstanding",
|
|
45565
|
-
"NaturalLanguage",
|
|
45566
|
-
"NearbyInteraction",
|
|
45567
|
-
"Network",
|
|
45568
|
-
"NetworkExtension",
|
|
45569
|
-
"NotificationCenter",
|
|
45570
|
-
"NowPlaying",
|
|
45571
|
-
"OSLog",
|
|
45572
|
-
"OpenAL",
|
|
45573
|
-
"OpenGLES",
|
|
45574
|
-
"PDFKit",
|
|
45575
|
-
"PHASE",
|
|
45576
|
-
"PaperKit",
|
|
45577
|
-
"PassKit",
|
|
45578
|
-
"PencilKit",
|
|
45579
|
-
"PermissionKit",
|
|
45580
|
-
"Photos",
|
|
45581
|
-
"PhotosUI",
|
|
45582
|
-
"ProximityReader",
|
|
45583
|
-
"PushKit",
|
|
45584
|
-
"PushToTalk",
|
|
45585
|
-
"QuartzCore",
|
|
45586
|
-
"QuickLook",
|
|
45587
|
-
"QuickLookThumbnailing",
|
|
45588
|
-
"RealityFoundation",
|
|
45589
|
-
"RealityKit",
|
|
45590
|
-
"RelevanceKit",
|
|
45591
|
-
"ReplayKit",
|
|
45592
|
-
"RoomPlan",
|
|
45593
|
-
"SafariServices",
|
|
45594
|
-
"SafetyKit",
|
|
45595
|
-
"SceneKit",
|
|
45596
|
-
"ScreenTime",
|
|
45597
|
-
"SecureElementCredential",
|
|
45598
|
-
"Security",
|
|
45599
|
-
"SecurityUI",
|
|
45600
|
-
"SensitiveContentAnalysis",
|
|
45601
|
-
"SensorKit",
|
|
45602
|
-
"ServicesAccountLinking",
|
|
45603
|
-
"SharedWithYou",
|
|
45604
|
-
"SharedWithYouCore",
|
|
45605
|
-
"ShazamKit",
|
|
45606
|
-
"Social",
|
|
45607
|
-
"SoundAnalysis",
|
|
45608
|
-
"Speech",
|
|
45609
|
-
"SpriteKit",
|
|
45610
|
-
"StateReporting",
|
|
45611
|
-
"StoreKit",
|
|
45612
|
-
"SuggestedActions",
|
|
45613
|
-
"SwiftData",
|
|
45614
|
-
"SwiftUI",
|
|
45615
|
-
"SwiftUICore",
|
|
45616
|
-
"Symbols",
|
|
45617
|
-
"SystemConfiguration",
|
|
45618
|
-
"SystemExtensions",
|
|
45619
|
-
"TabularData",
|
|
45620
|
-
"TelephonyMessagingKit",
|
|
45621
|
-
"TipKit",
|
|
45622
|
-
"TouchController",
|
|
45623
|
-
"Translation",
|
|
45624
|
-
"TranslationUIProvider",
|
|
45625
|
-
"TrustInsights",
|
|
45626
|
-
"Twitter",
|
|
45627
|
-
"UIKit",
|
|
45628
|
-
"USDKit",
|
|
45629
|
-
"UniformTypeIdentifiers",
|
|
45630
|
-
"UserNotifications",
|
|
45631
|
-
"UserNotificationsUI",
|
|
45632
|
-
"VideoSubscriberAccount",
|
|
45633
|
-
"VideoToolbox",
|
|
45634
|
-
"Vision",
|
|
45635
|
-
"VisionKit",
|
|
45636
|
-
"WatchConnectivity",
|
|
45637
|
-
"WeatherKit",
|
|
45638
|
-
"WebKit",
|
|
45639
|
-
"WiFiAware",
|
|
45640
|
-
"WidgetKit",
|
|
45641
|
-
"WorkoutKit",
|
|
45642
|
-
"_AVKit_SwiftUI",
|
|
45643
|
-
"_AdAttributionKit_StoreKit",
|
|
45644
|
-
"_AppIntents_HealthKit",
|
|
45645
|
-
"_AppIntents_SwiftUI",
|
|
45646
|
-
"_AppIntents_UIKit",
|
|
45647
|
-
"_AuthenticationServices_SwiftUI",
|
|
45648
|
-
"_Contacts_AppIntents",
|
|
45649
|
-
"_CoreData_CloudKit",
|
|
45650
|
-
"_CoreLocationUI_SwiftUI",
|
|
45651
|
-
"_CoreNFC_UIKit",
|
|
45652
|
-
"_CoreSpotlight_FoundationModels",
|
|
45653
|
-
"_DataDetection_SwiftUI",
|
|
45654
|
-
"_DeviceActivity_SwiftUI",
|
|
45655
|
-
"_DeviceDiscoveryUI_SwiftUI",
|
|
45656
|
-
"_FinanceKit_AppIntents",
|
|
45657
|
-
"_FoundationModels_SwiftUI",
|
|
45658
|
-
"_FoundationModels_UIKit",
|
|
45659
|
-
"_GameController_SwiftUI",
|
|
45660
|
-
"_GeoToolbox_AppIntents",
|
|
45661
|
-
"_GroupActivities_UIKit",
|
|
45662
|
-
"_HomeKit_SwiftUI",
|
|
45663
|
-
"_Intents_TipKit",
|
|
45664
|
-
"_LinkPresentation_AppIntents",
|
|
45665
|
-
"_LocationEssentials",
|
|
45666
|
-
"_MapKit_SwiftUI",
|
|
45667
|
-
"_MarketplaceKit_UIKit",
|
|
45668
|
-
"_MediaIntents_AppIntents",
|
|
45669
|
-
"_MediaPlayer_AppIntents",
|
|
45670
|
-
"_MusicKit_SwiftUI",
|
|
45671
|
-
"_NowPlaying_AppIntents",
|
|
45672
|
-
"_PassKit_SwiftUI",
|
|
45673
|
-
"_PermissionKit_SwiftUI",
|
|
45674
|
-
"_PermissionKit_UIKit",
|
|
45675
|
-
"_PhotosUI_SwiftUI",
|
|
45676
|
-
"_PhotosUI_WidgetKit",
|
|
45677
|
-
"_Photos_AppIntents",
|
|
45678
|
-
"_QuickLook_SwiftUI",
|
|
45679
|
-
"_RealityKit_ComputeGraph",
|
|
45680
|
-
"_RealityKit_SwiftUI",
|
|
45681
|
-
"_RelevanceKit_MapKit",
|
|
45682
|
-
"_SceneKit_SwiftUI",
|
|
45683
|
-
"_SecureElementCredential_SwiftUI",
|
|
45684
|
-
"_SecureElementCredential_UIKit",
|
|
45685
|
-
"_SharedWithYou_AppIntents",
|
|
45686
|
-
"_SpriteKit_SwiftUI",
|
|
45687
|
-
"_StoreKit_SwiftUI",
|
|
45688
|
-
"_SwiftData_CoreData",
|
|
45689
|
-
"_SwiftData_SwiftUI",
|
|
45690
|
-
"_Translation_SwiftUI",
|
|
45691
|
-
"_USDKit_RealityKit",
|
|
45692
|
-
"_UserNotifications_AppIntents",
|
|
45693
|
-
"_WebKit_SwiftUI",
|
|
45694
|
-
"_WorkoutKit_SwiftUI",
|
|
45695
|
-
"iAd"
|
|
45696
|
-
]
|
|
45697
|
-
};
|
|
45698
|
-
}
|
|
45699
|
-
});
|
|
45700
|
-
|
|
45701
45763
|
// src/swift-cxx-reachable.ts
|
|
45702
45764
|
function cxxTrace(stderr) {
|
|
45703
45765
|
const files2 = [];
|
|
@@ -47217,6 +47279,17 @@ function isPackageSource(file) {
|
|
|
47217
47279
|
function sourceFiles(root) {
|
|
47218
47280
|
return packageFiles(root, false).filter(isPackageSource);
|
|
47219
47281
|
}
|
|
47282
|
+
function xcodeFlatResources(app) {
|
|
47283
|
+
if (!app) return /* @__PURE__ */ new Set();
|
|
47284
|
+
return new Set(
|
|
47285
|
+
app.resources.filter(
|
|
47286
|
+
(file) => !Object.hasOwn(app.resourceNames, file) && !file.split(import_node_path83.default.sep).some((segment) => segment.endsWith(".xcassets"))
|
|
47287
|
+
)
|
|
47288
|
+
);
|
|
47289
|
+
}
|
|
47290
|
+
function bundleResourcePath(flatResources, disk, file) {
|
|
47291
|
+
return flatResources.has(disk) && !file.split("/").includes("Resources") ? `Resources/${file}` : file;
|
|
47292
|
+
}
|
|
47220
47293
|
function resourceCandidateFiles(root) {
|
|
47221
47294
|
return packageFiles(root, false).filter(
|
|
47222
47295
|
(file) => !isPackageSource(file) && !file.endsWith(".xcconfig") && !["project.pbxproj", "project.xcproj", "Package.resolved"].includes(
|
|
@@ -47289,12 +47362,24 @@ function buildSwiftResourceTable(project2, baseUrl, inputs) {
|
|
|
47289
47362
|
const disk = byRelative.get(file);
|
|
47290
47363
|
return !disk || !layout2?.targetDirs.get(disk)?.startsWith(`${XCODE_FRAMEWORKS_DIR}/`);
|
|
47291
47364
|
});
|
|
47292
|
-
const
|
|
47293
|
-
|
|
47294
|
-
|
|
47295
|
-
|
|
47296
|
-
|
|
47297
|
-
|
|
47365
|
+
const flatResources = xcodeFlatResources(layout2?.app);
|
|
47366
|
+
const bundled = new Map(
|
|
47367
|
+
relative4.map((file) => [
|
|
47368
|
+
bundleResourcePath(flatResources, byRelative.get(file), file),
|
|
47369
|
+
file
|
|
47370
|
+
])
|
|
47371
|
+
);
|
|
47372
|
+
const found = enumerateBundleImages(
|
|
47373
|
+
[...bundled.keys()],
|
|
47374
|
+
(file) => readContents2(bundled.get(file) ?? file),
|
|
47375
|
+
(marked) => {
|
|
47376
|
+
const file = bundled.get(marked) ?? marked;
|
|
47377
|
+
const disk = byRelative.get(file);
|
|
47378
|
+
if (!disk) throw new Error(`image source ${file} has no input file`);
|
|
47379
|
+
const key2 = layout2 ? xcodeInputKey(layout2, disk, file) : file;
|
|
47380
|
+
return swiftResourceBundleForFile(bundles, key2)?.path ?? ".";
|
|
47381
|
+
}
|
|
47382
|
+
).map((image) => ({ ...image, file: bundled.get(image.file) ?? image.file }));
|
|
47298
47383
|
const colors = enumerateBundleColors(catalogFiles, readContents2);
|
|
47299
47384
|
const symbols = enumerateBundleSymbols(catalogFiles, readContents2, (file) => {
|
|
47300
47385
|
const disk = byRelative.get(file);
|
|
@@ -47478,15 +47563,20 @@ function buildSwiftBundleFiles(packagePath, hosted, inputs, resourceBundles) {
|
|
|
47478
47563
|
}
|
|
47479
47564
|
}
|
|
47480
47565
|
const groups = /* @__PURE__ */ new Map();
|
|
47481
|
-
const
|
|
47566
|
+
const flatResources = xcodeFlatResources(xcode?.app);
|
|
47482
47567
|
for (const file of relative4) {
|
|
47483
47568
|
const disk = import_node_path83.default.join(packagePath, ...file.split("/"));
|
|
47569
|
+
const folderName = xcode?.app.resourceNames[disk];
|
|
47570
|
+
if (folderName) {
|
|
47571
|
+
watched.push(file);
|
|
47572
|
+
addFile(folderName, readPackageFile2(packagePath, disk, limits.resourceBytes));
|
|
47573
|
+
continue;
|
|
47574
|
+
}
|
|
47484
47575
|
const key2 = xcode ? xcodeInputKey(xcode, disk, file) : file;
|
|
47485
47576
|
const bundle = swiftResourceBundleForFile(bundles, key2);
|
|
47486
47577
|
const bundlePath = bundle?.path ?? ".";
|
|
47487
47578
|
const group = groups.get(bundlePath) ?? /* @__PURE__ */ new Map();
|
|
47488
|
-
|
|
47489
|
-
group.set(resource, disk);
|
|
47579
|
+
group.set(bundleResourcePath(flatResources, disk, file), disk);
|
|
47490
47580
|
groups.set(bundlePath, group);
|
|
47491
47581
|
}
|
|
47492
47582
|
for (const bundle of bundles) {
|
|
@@ -54026,7 +54116,7 @@ var init_nitro_superset = __esm({
|
|
|
54026
54116
|
init_nitroContract();
|
|
54027
54117
|
init_swift_standin_digest();
|
|
54028
54118
|
NITRO_SUPERSET_ENTRY_NAME = "superset";
|
|
54029
|
-
NITRO_COMPILER_DIGEST = true ? "
|
|
54119
|
+
NITRO_COMPILER_DIGEST = true ? "48d18c74e6a298bf524b2a8a4ae793e43480d5fdfb4f07d3ed1074d4e6e130c2" : nitroCompilerSourceDigest(__sootsim_import_meta_dirname, STANDIN_SOURCE_DIGEST2);
|
|
54030
54120
|
nitroSupersetLock = parseLock(nitro_superset_lock_default);
|
|
54031
54121
|
nitroSupersetKey = (inputs) => nativeEntryKey({ ...inputs, compiler: NITRO_COMPILER_DIGEST });
|
|
54032
54122
|
published2 = /* @__PURE__ */ new Map();
|
|
@@ -54047,7 +54137,7 @@ var init_nitro_superset = __esm({
|
|
|
54047
54137
|
var runtime_companion_default;
|
|
54048
54138
|
var init_runtime_companion = __esm({
|
|
54049
54139
|
"runtime-companion.json"() {
|
|
54050
|
-
runtime_companion_default = { abi: 1, sha256: "
|
|
54140
|
+
runtime_companion_default = { abi: 1, sha256: "ec96dcaf1a90c0295f3ea5be7ec176c04c0714e27eda99ca6b2ba0a2e3394fd0", file: "node/cli-ec96dcaf1a90c0295f3ea5be7ec176c04c0714e27eda99ca6b2ba0a2e3394fd0.cjs" };
|
|
54051
54141
|
}
|
|
54052
54142
|
});
|
|
54053
54143
|
|
|
@@ -54108,6 +54198,7 @@ function getCliRuntime() {
|
|
|
54108
54198
|
"Incompatible Peach runtime companion ABI; run `peach runtime install`"
|
|
54109
54199
|
);
|
|
54110
54200
|
}
|
|
54201
|
+
runtime.provideTerser(() => import("terser"));
|
|
54111
54202
|
loaded2 = { root, runtime };
|
|
54112
54203
|
return runtime;
|
|
54113
54204
|
}
|
|
@@ -54127,6 +54218,223 @@ var init_cli_runtime = __esm({
|
|
|
54127
54218
|
}
|
|
54128
54219
|
});
|
|
54129
54220
|
|
|
54221
|
+
// src/runtime-packs.ts
|
|
54222
|
+
var runtime_packs_exports = {};
|
|
54223
|
+
__export(runtime_packs_exports, {
|
|
54224
|
+
ensureRuntimePackFor: () => ensureRuntimePackFor
|
|
54225
|
+
});
|
|
54226
|
+
function listedFiles(runtimeRoot) {
|
|
54227
|
+
let listed = listedByRoot.get(runtimeRoot);
|
|
54228
|
+
if (listed) return listed;
|
|
54229
|
+
listed = /* @__PURE__ */ new Map();
|
|
54230
|
+
for (const [pack, entry] of Object.entries(readPacks(runtimeRoot) ?? {}))
|
|
54231
|
+
for (const file of entry.files ?? []) {
|
|
54232
|
+
const name3 = import_node_path102.default.posix.basename(file);
|
|
54233
|
+
listed.set(name3, [...listed.get(name3) ?? [], { file, pack }]);
|
|
54234
|
+
}
|
|
54235
|
+
listedByRoot.set(runtimeRoot, listed);
|
|
54236
|
+
return listed;
|
|
54237
|
+
}
|
|
54238
|
+
function readPacks(runtimeRoot) {
|
|
54239
|
+
const cached3 = packsByRoot.get(runtimeRoot);
|
|
54240
|
+
if (cached3 !== void 0) return cached3;
|
|
54241
|
+
const file = import_node_path102.default.join(runtimeRoot, RUNTIME_PACKS_FILE);
|
|
54242
|
+
if (!import_node_fs103.default.existsSync(file)) {
|
|
54243
|
+
packsByRoot.set(runtimeRoot, null);
|
|
54244
|
+
return null;
|
|
54245
|
+
}
|
|
54246
|
+
const parsed = JSON.parse(import_node_fs103.default.readFileSync(file, "utf8"));
|
|
54247
|
+
const packs = {};
|
|
54248
|
+
if (typeof parsed !== "object" || parsed === null)
|
|
54249
|
+
throw new Error(`${file} is not an object`);
|
|
54250
|
+
for (const [prefix, entry] of Object.entries(parsed)) {
|
|
54251
|
+
if (typeof entry?.file !== "string" || typeof entry?.sha256 !== "string")
|
|
54252
|
+
throw new Error(`${file} entry ${prefix} lacks file and sha256`);
|
|
54253
|
+
const files2 = entry.files;
|
|
54254
|
+
if (files2 !== void 0 && !(Array.isArray(files2) && files2.every((f) => typeof f === "string")))
|
|
54255
|
+
throw new Error(`${file} entry ${prefix} has files that are not paths`);
|
|
54256
|
+
packs[prefix] = {
|
|
54257
|
+
file: entry.file,
|
|
54258
|
+
sha256: entry.sha256,
|
|
54259
|
+
...files2 ? { files: files2 } : {}
|
|
54260
|
+
};
|
|
54261
|
+
}
|
|
54262
|
+
packsByRoot.set(runtimeRoot, packs);
|
|
54263
|
+
return packs;
|
|
54264
|
+
}
|
|
54265
|
+
async function ensureRuntimePackFor(runtimeRoot, pathname) {
|
|
54266
|
+
warmRuntimePacks(runtimeRoot);
|
|
54267
|
+
const prefix = RUNTIME_PACK_PREFIXES.find(
|
|
54268
|
+
(candidate) => pathname.includes(`/${candidate}`)
|
|
54269
|
+
);
|
|
54270
|
+
if (prefix) {
|
|
54271
|
+
await installNamedPack(runtimeRoot, prefix);
|
|
54272
|
+
return;
|
|
54273
|
+
}
|
|
54274
|
+
const listed = listedFiles(runtimeRoot).get(import_node_path102.default.posix.basename(pathname))?.find(({ file }) => pathname.endsWith(`/${file}`));
|
|
54275
|
+
if (listed) {
|
|
54276
|
+
if (!import_node_fs103.default.existsSync(import_node_path102.default.join(runtimeRoot, listed.file)))
|
|
54277
|
+
await installNamedPack(runtimeRoot, listed.pack);
|
|
54278
|
+
return;
|
|
54279
|
+
}
|
|
54280
|
+
const at = pathname.indexOf(`/${RUNTIME_MERGE_PACK_DIR}`);
|
|
54281
|
+
if (at === -1) return;
|
|
54282
|
+
const tenantDir = import_node_path102.default.join(runtimeRoot, RUNTIME_MERGE_PACK_DIR);
|
|
54283
|
+
const rel = pathname.slice(at + RUNTIME_MERGE_PACK_DIR.length + 1);
|
|
54284
|
+
if (!/\.m?js$/.test(rel) || import_node_fs103.default.existsSync(import_node_path102.default.join(tenantDir, rel))) return;
|
|
54285
|
+
await installNamedPack(runtimeRoot, RUNTIME_MERGE_PACK_DIR);
|
|
54286
|
+
}
|
|
54287
|
+
function installNamedPack(runtimeRoot, name3) {
|
|
54288
|
+
if (name3 === RUNTIME_MERGE_PACK_DIR) {
|
|
54289
|
+
const tenantDir = import_node_path102.default.join(runtimeRoot, RUNTIME_MERGE_PACK_DIR);
|
|
54290
|
+
return mergePack(
|
|
54291
|
+
runtimeRoot,
|
|
54292
|
+
name3,
|
|
54293
|
+
import_node_path102.default.join(tenantDir, RUNTIME_MERGE_PACK_INSTALL),
|
|
54294
|
+
tenantDir
|
|
54295
|
+
);
|
|
54296
|
+
}
|
|
54297
|
+
if (readPacks(runtimeRoot)?.[name3]?.files)
|
|
54298
|
+
return mergePack(
|
|
54299
|
+
runtimeRoot,
|
|
54300
|
+
name3,
|
|
54301
|
+
import_node_path102.default.join(runtimeRoot, `.pack-${name3}`),
|
|
54302
|
+
runtimeRoot
|
|
54303
|
+
);
|
|
54304
|
+
return installPack(runtimeRoot, name3, import_node_path102.default.join(runtimeRoot, name3.slice(0, -1)));
|
|
54305
|
+
}
|
|
54306
|
+
function warmRuntimePacks(runtimeRoot) {
|
|
54307
|
+
if (warming.has(runtimeRoot)) return;
|
|
54308
|
+
warming.add(runtimeRoot);
|
|
54309
|
+
const warm = async () => {
|
|
54310
|
+
for (const name3 of Object.keys(readPacks(runtimeRoot) ?? {}))
|
|
54311
|
+
if (!await installNamedPack(runtimeRoot, name3)) return;
|
|
54312
|
+
};
|
|
54313
|
+
const schedule = import_node_timers2.setTimeout;
|
|
54314
|
+
schedule(() => void warm(), WARM_DELAY_MS).unref();
|
|
54315
|
+
}
|
|
54316
|
+
async function mergePack(runtimeRoot, name3, installDir, targetDir) {
|
|
54317
|
+
if (import_node_fs103.default.existsSync(import_node_path102.default.join(installDir, RUNTIME_MERGE_PACK_MERGED))) return true;
|
|
54318
|
+
if (!await installPack(runtimeRoot, name3, installDir)) return false;
|
|
54319
|
+
const link = (sub) => {
|
|
54320
|
+
for (const entry of import_node_fs103.default.readdirSync(import_node_path102.default.join(installDir, sub), {
|
|
54321
|
+
withFileTypes: true
|
|
54322
|
+
})) {
|
|
54323
|
+
const child = import_node_path102.default.join(sub, entry.name);
|
|
54324
|
+
if (entry.isDirectory()) {
|
|
54325
|
+
import_node_fs103.default.mkdirSync(import_node_path102.default.join(targetDir, child), { recursive: true });
|
|
54326
|
+
link(child);
|
|
54327
|
+
} else if (entry.name !== RUNTIME_PACK_MARKER) {
|
|
54328
|
+
try {
|
|
54329
|
+
import_node_fs103.default.linkSync(import_node_path102.default.join(installDir, child), import_node_path102.default.join(targetDir, child));
|
|
54330
|
+
} catch (error) {
|
|
54331
|
+
if (!(error instanceof Error && "code" in error && error.code === "EEXIST"))
|
|
54332
|
+
throw error;
|
|
54333
|
+
}
|
|
54334
|
+
}
|
|
54335
|
+
}
|
|
54336
|
+
};
|
|
54337
|
+
try {
|
|
54338
|
+
link("");
|
|
54339
|
+
import_node_fs103.default.writeFileSync(import_node_path102.default.join(installDir, RUNTIME_MERGE_PACK_MERGED), "");
|
|
54340
|
+
return true;
|
|
54341
|
+
} catch (error) {
|
|
54342
|
+
console.error(
|
|
54343
|
+
`[peach] ${name3} pack merge failed: ${error instanceof Error ? error.message : String(error)}`
|
|
54344
|
+
);
|
|
54345
|
+
return false;
|
|
54346
|
+
}
|
|
54347
|
+
}
|
|
54348
|
+
async function installPack(runtimeRoot, prefix, destDir) {
|
|
54349
|
+
const marker = import_node_path102.default.join(destDir, RUNTIME_PACK_MARKER);
|
|
54350
|
+
if (import_node_fs103.default.existsSync(marker)) return true;
|
|
54351
|
+
const pack = readPacks(runtimeRoot)?.[prefix];
|
|
54352
|
+
if (!pack) return true;
|
|
54353
|
+
let install = inflight.get(destDir);
|
|
54354
|
+
if (!install) {
|
|
54355
|
+
const version2 = import_node_path102.default.basename(runtimeRoot);
|
|
54356
|
+
const url = new URL(pack.file, rnxRuntime.tarballUrl(version2));
|
|
54357
|
+
url.searchParams.set("sha256", pack.sha256);
|
|
54358
|
+
install = installVerifiedTarball({
|
|
54359
|
+
url: url.toString(),
|
|
54360
|
+
digest: { algorithm: "sha256", encoding: "hex", value: pack.sha256 },
|
|
54361
|
+
destDir,
|
|
54362
|
+
installedMarker: RUNTIME_PACK_MARKER,
|
|
54363
|
+
label: `peach runtime ${version2} pack ${prefix}`
|
|
54364
|
+
}).catch((error) => {
|
|
54365
|
+
console.error(
|
|
54366
|
+
`[peach] ${prefix} pack download failed: ${error instanceof Error ? error.message : String(error)}`
|
|
54367
|
+
);
|
|
54368
|
+
}).finally(() => inflight.delete(destDir));
|
|
54369
|
+
inflight.set(destDir, install);
|
|
54370
|
+
}
|
|
54371
|
+
await install;
|
|
54372
|
+
return import_node_fs103.default.existsSync(marker);
|
|
54373
|
+
}
|
|
54374
|
+
var import_node_fs103, import_node_path102, import_node_timers2, inflight, packsByRoot, listedByRoot, WARM_DELAY_MS, warming;
|
|
54375
|
+
var init_runtime_packs = __esm({
|
|
54376
|
+
"src/runtime-packs.ts"() {
|
|
54377
|
+
"use strict";
|
|
54378
|
+
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
54379
|
+
import_node_fs103 = __toESM(require("node:fs"), 1);
|
|
54380
|
+
import_node_path102 = __toESM(require("node:path"), 1);
|
|
54381
|
+
import_node_timers2 = require("node:timers");
|
|
54382
|
+
init_src();
|
|
54383
|
+
init_runtime_delivery();
|
|
54384
|
+
inflight = /* @__PURE__ */ new Map();
|
|
54385
|
+
packsByRoot = /* @__PURE__ */ new Map();
|
|
54386
|
+
listedByRoot = /* @__PURE__ */ new Map();
|
|
54387
|
+
WARM_DELAY_MS = 3e4;
|
|
54388
|
+
warming = /* @__PURE__ */ new Set();
|
|
54389
|
+
}
|
|
54390
|
+
});
|
|
54391
|
+
|
|
54392
|
+
// src/runtime-delivery.ts
|
|
54393
|
+
var DEFAULT_RUNTIME_CDN_ORIGIN, RNX_CHANGELOG_URL, RNX_CHANGELOG_API_URL, RNX_RUNTIME_PRODUCT, rnxRuntime;
|
|
54394
|
+
var init_runtime_delivery = __esm({
|
|
54395
|
+
"src/runtime-delivery.ts"() {
|
|
54396
|
+
"use strict";
|
|
54397
|
+
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
54398
|
+
init_src();
|
|
54399
|
+
init_cli_runtime();
|
|
54400
|
+
init_home_paths();
|
|
54401
|
+
init_public_brand();
|
|
54402
|
+
DEFAULT_RUNTIME_CDN_ORIGIN = peachPublicBrand.origin;
|
|
54403
|
+
RNX_CHANGELOG_URL = `${peachPublicBrand.origin}/changelog`;
|
|
54404
|
+
RNX_CHANGELOG_API_URL = `${peachPublicBrand.origin}/api/changelog/sootsim`;
|
|
54405
|
+
RNX_RUNTIME_PRODUCT = {
|
|
54406
|
+
id: "peach",
|
|
54407
|
+
defaultCdnOrigin: DEFAULT_RUNTIME_CDN_ORIGIN,
|
|
54408
|
+
manifestPath: "/runtimes/manifest.json",
|
|
54409
|
+
tarballPath: (version2) => `/runtimes/sootsim-runtime-${version2}.tar.zst`,
|
|
54410
|
+
// the engine runtime is a static SPA: shell at the root, engine/ and
|
|
54411
|
+
// engine-tenant/ beneath it. index.html is what the daemon and the
|
|
54412
|
+
// vite/metro plugins serve, so its absence means the tarball is not one.
|
|
54413
|
+
installedMarker: "index.html",
|
|
54414
|
+
verifyInstall: ensureCliCompanion,
|
|
54415
|
+
// canvaskit's ganesh backend is a runtime pack because a browser with WebGPU
|
|
54416
|
+
// never runs it, but linux and CI browsers usually have no GPU and always do
|
|
54417
|
+
afterInstall: async (dir) => {
|
|
54418
|
+
if (process.platform !== "linux" && !process.env.CI) return;
|
|
54419
|
+
const { ensureRuntimePackFor: ensureRuntimePackFor2 } = await Promise.resolve().then(() => (init_runtime_packs(), runtime_packs_exports));
|
|
54420
|
+
await ensureRuntimePackFor2(dir, "/engine/canvaskit-ganesh.wasm");
|
|
54421
|
+
},
|
|
54422
|
+
env: {
|
|
54423
|
+
cdnOrigin: "PEACH_CDN_ORIGIN",
|
|
54424
|
+
channel: "PEACH_RUNTIME_CHANNEL"
|
|
54425
|
+
},
|
|
54426
|
+
ensureHome: ensureRnxHome,
|
|
54427
|
+
configFile: configFilePath,
|
|
54428
|
+
runtimesDir,
|
|
54429
|
+
runtimeDir,
|
|
54430
|
+
cacheDir,
|
|
54431
|
+
readActiveRuntime,
|
|
54432
|
+
writeActiveRuntime
|
|
54433
|
+
};
|
|
54434
|
+
rnxRuntime = createRuntimeDelivery(RNX_RUNTIME_PRODUCT);
|
|
54435
|
+
}
|
|
54436
|
+
});
|
|
54437
|
+
|
|
54130
54438
|
// src/node-http-fetch.ts
|
|
54131
54439
|
var node_http_fetch_exports = {};
|
|
54132
54440
|
__export(node_http_fetch_exports, {
|
|
@@ -61803,7 +62111,7 @@ async function workspaceExclusion(root, portable = false, linkedPackages = []) {
|
|
|
61803
62111
|
listed.stdout.split("\0").filter(Boolean).map((entry) => entry.replace(/\/$/, ""))
|
|
61804
62112
|
);
|
|
61805
62113
|
const ignoreFiles = /* @__PURE__ */ new Map();
|
|
61806
|
-
return (relative4) => {
|
|
62114
|
+
return (relative4, knownDirectory) => {
|
|
61807
62115
|
const parts = relative4.split(import_node_path18.default.sep);
|
|
61808
62116
|
const linked = linkedPackages.some(
|
|
61809
62117
|
(directory2) => relative4.startsWith(directory2 + import_node_path18.default.sep)
|
|
@@ -61815,16 +62123,16 @@ async function workspaceExclusion(root, portable = false, linkedPackages = []) {
|
|
|
61815
62123
|
}
|
|
61816
62124
|
if (portable && relative4) {
|
|
61817
62125
|
let excluded = false;
|
|
61818
|
-
const isDirectory3 = import_node_fs21.default.lstatSync(import_node_path18.default.join(root, relative4)).isDirectory();
|
|
62126
|
+
const isDirectory3 = knownDirectory ?? import_node_fs21.default.lstatSync(import_node_path18.default.join(root, relative4)).isDirectory();
|
|
61819
62127
|
for (let index = 0; index < parts.length; index++) {
|
|
61820
62128
|
const directory2 = parts.slice(0, index).join(import_node_path18.default.sep);
|
|
61821
62129
|
let rules2 = ignoreFiles.get(directory2);
|
|
61822
|
-
if (
|
|
61823
|
-
rules2 = (0, import_ignore.default)();
|
|
62130
|
+
if (rules2 === void 0) {
|
|
61824
62131
|
const file = import_node_path18.default.join(root, directory2, ".gitignore");
|
|
61825
|
-
|
|
62132
|
+
rules2 = import_node_fs21.default.existsSync(file) ? (0, import_ignore.default)().add(import_node_fs21.default.readFileSync(file, "utf8")) : null;
|
|
61826
62133
|
ignoreFiles.set(directory2, rules2);
|
|
61827
62134
|
}
|
|
62135
|
+
if (!rules2) continue;
|
|
61828
62136
|
const item = parts.slice(index).join("/");
|
|
61829
62137
|
const result = rules2.test(isDirectory3 ? `${item}/` : item);
|
|
61830
62138
|
if (result.ignored) excluded = true;
|
|
@@ -62416,7 +62724,7 @@ async function hashWorkspaceInputs(app, everyByte, signal, sourceOnly = false, p
|
|
|
62416
62724
|
signal?.throwIfAborted();
|
|
62417
62725
|
const file = import_node_path62.default.join(directory2, entry.name);
|
|
62418
62726
|
const relative4 = import_node_path62.default.relative(root, file);
|
|
62419
|
-
if (excluded(relative4)) continue;
|
|
62727
|
+
if (excluded(relative4, entry.isDirectory())) continue;
|
|
62420
62728
|
hash.update(`${relative4}\0`);
|
|
62421
62729
|
if (entry.isSymbolicLink()) {
|
|
62422
62730
|
const link = `link\0${await import_node_fs63.default.promises.readlink(file)}\0`;
|
|
@@ -62544,8 +62852,10 @@ function syncChangedFiles(root, work, appRelative, excluded, installed) {
|
|
|
62544
62852
|
if (existing && (newerOnly ? existing.mtime.getTime() >= source.mtime.getTime() : existing.size === source.size && existing.mtime.getTime() === source.mtime.getTime()))
|
|
62545
62853
|
return;
|
|
62546
62854
|
import_node_fs63.default.mkdirSync(import_node_path62.default.dirname(target), { recursive: true });
|
|
62547
|
-
|
|
62548
|
-
import_node_fs63.default.
|
|
62855
|
+
const staged = `${target}.${process.pid}.peach-sync`;
|
|
62856
|
+
import_node_fs63.default.copyFileSync(file, staged);
|
|
62857
|
+
import_node_fs63.default.utimesSync(staged, source.atime, source.mtime);
|
|
62858
|
+
import_node_fs63.default.renameSync(staged, target);
|
|
62549
62859
|
};
|
|
62550
62860
|
const walkInstalled = (directory2) => {
|
|
62551
62861
|
for (const entry of import_node_fs63.default.readdirSync(directory2, { withFileTypes: true })) {
|
|
@@ -62563,7 +62873,7 @@ function syncChangedFiles(root, work, appRelative, excluded, installed) {
|
|
|
62563
62873
|
walkInstalled(file);
|
|
62564
62874
|
continue;
|
|
62565
62875
|
}
|
|
62566
|
-
if (excluded(relative4) || entry.isSymbolicLink() || !sourceIos && relative4 === import_node_path62.default.join(appRelative, "ios"))
|
|
62876
|
+
if (excluded(relative4, entry.isDirectory()) || entry.isSymbolicLink() || !sourceIos && relative4 === import_node_path62.default.join(appRelative, "ios"))
|
|
62567
62877
|
continue;
|
|
62568
62878
|
if (entry.isDirectory()) walk3(file);
|
|
62569
62879
|
else if (entry.isFile()) {
|
|
@@ -63453,7 +63763,7 @@ init_swift_native_pin();
|
|
|
63453
63763
|
init_xcode_project();
|
|
63454
63764
|
var EXPO_NATIVE_ENTRY_NAME = "ios";
|
|
63455
63765
|
function expoNativeCompilerDigestValue() {
|
|
63456
|
-
return true ? "
|
|
63766
|
+
return true ? "960ff9f28de62c2587b34eeda2a04b383e5ecce370aae9948f12cef49f8b450b" : expoNativeCompilerDigest(__sootsim_import_meta_dirname);
|
|
63457
63767
|
}
|
|
63458
63768
|
var IDENTITY_SOURCE_SKIPS = 1 | 4 | 8 | 16 | 32 | 64 | 128 | 4096;
|
|
63459
63769
|
function readSources(value) {
|
|
@@ -68304,199 +68614,8 @@ var handleOneSDKRequest = compiledModuleRequestHandler(
|
|
|
68304
68614
|
init_process_liveness();
|
|
68305
68615
|
init_public_brand();
|
|
68306
68616
|
init_runtime_assets();
|
|
68307
|
-
|
|
68308
|
-
|
|
68309
|
-
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
68310
|
-
init_src();
|
|
68311
|
-
init_cli_runtime();
|
|
68312
|
-
init_home_paths();
|
|
68313
|
-
init_public_brand();
|
|
68314
|
-
var DEFAULT_RUNTIME_CDN_ORIGIN = peachPublicBrand.origin;
|
|
68315
|
-
var RNX_CHANGELOG_URL = `${peachPublicBrand.origin}/changelog`;
|
|
68316
|
-
var RNX_CHANGELOG_API_URL = `${peachPublicBrand.origin}/api/changelog/sootsim`;
|
|
68317
|
-
var RNX_RUNTIME_PRODUCT = {
|
|
68318
|
-
id: "peach",
|
|
68319
|
-
defaultCdnOrigin: DEFAULT_RUNTIME_CDN_ORIGIN,
|
|
68320
|
-
manifestPath: "/runtimes/manifest.json",
|
|
68321
|
-
tarballPath: (version2) => `/runtimes/sootsim-runtime-${version2}.tar.zst`,
|
|
68322
|
-
// the engine runtime is a static SPA: shell at the root, engine/ and
|
|
68323
|
-
// engine-tenant/ beneath it. index.html is what the daemon and the
|
|
68324
|
-
// vite/metro plugins serve, so its absence means the tarball is not one.
|
|
68325
|
-
installedMarker: "index.html",
|
|
68326
|
-
verifyInstall: ensureCliCompanion,
|
|
68327
|
-
env: {
|
|
68328
|
-
cdnOrigin: "PEACH_CDN_ORIGIN",
|
|
68329
|
-
channel: "PEACH_RUNTIME_CHANNEL"
|
|
68330
|
-
},
|
|
68331
|
-
ensureHome: ensureRnxHome,
|
|
68332
|
-
configFile: configFilePath,
|
|
68333
|
-
runtimesDir,
|
|
68334
|
-
runtimeDir,
|
|
68335
|
-
cacheDir,
|
|
68336
|
-
readActiveRuntime,
|
|
68337
|
-
writeActiveRuntime
|
|
68338
|
-
};
|
|
68339
|
-
var rnxRuntime = createRuntimeDelivery(RNX_RUNTIME_PRODUCT);
|
|
68340
|
-
|
|
68341
|
-
// src/runtime-packs.ts
|
|
68342
|
-
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
68343
|
-
var import_node_fs103 = __toESM(require("node:fs"), 1);
|
|
68344
|
-
var import_node_path102 = __toESM(require("node:path"), 1);
|
|
68345
|
-
var import_node_timers2 = require("node:timers");
|
|
68346
|
-
init_src();
|
|
68347
|
-
var inflight = /* @__PURE__ */ new Map();
|
|
68348
|
-
var packsByRoot = /* @__PURE__ */ new Map();
|
|
68349
|
-
var listedByRoot = /* @__PURE__ */ new Map();
|
|
68350
|
-
function listedFiles(runtimeRoot) {
|
|
68351
|
-
let listed = listedByRoot.get(runtimeRoot);
|
|
68352
|
-
if (listed) return listed;
|
|
68353
|
-
listed = /* @__PURE__ */ new Map();
|
|
68354
|
-
for (const [pack, entry] of Object.entries(readPacks(runtimeRoot) ?? {}))
|
|
68355
|
-
for (const file of entry.files ?? []) {
|
|
68356
|
-
const name3 = import_node_path102.default.posix.basename(file);
|
|
68357
|
-
listed.set(name3, [...listed.get(name3) ?? [], { file, pack }]);
|
|
68358
|
-
}
|
|
68359
|
-
listedByRoot.set(runtimeRoot, listed);
|
|
68360
|
-
return listed;
|
|
68361
|
-
}
|
|
68362
|
-
function readPacks(runtimeRoot) {
|
|
68363
|
-
const cached3 = packsByRoot.get(runtimeRoot);
|
|
68364
|
-
if (cached3 !== void 0) return cached3;
|
|
68365
|
-
const file = import_node_path102.default.join(runtimeRoot, RUNTIME_PACKS_FILE);
|
|
68366
|
-
if (!import_node_fs103.default.existsSync(file)) {
|
|
68367
|
-
packsByRoot.set(runtimeRoot, null);
|
|
68368
|
-
return null;
|
|
68369
|
-
}
|
|
68370
|
-
const parsed = JSON.parse(import_node_fs103.default.readFileSync(file, "utf8"));
|
|
68371
|
-
const packs = {};
|
|
68372
|
-
if (typeof parsed !== "object" || parsed === null)
|
|
68373
|
-
throw new Error(`${file} is not an object`);
|
|
68374
|
-
for (const [prefix, entry] of Object.entries(parsed)) {
|
|
68375
|
-
if (typeof entry?.file !== "string" || typeof entry?.sha256 !== "string")
|
|
68376
|
-
throw new Error(`${file} entry ${prefix} lacks file and sha256`);
|
|
68377
|
-
const files2 = entry.files;
|
|
68378
|
-
if (files2 !== void 0 && !(Array.isArray(files2) && files2.every((f) => typeof f === "string")))
|
|
68379
|
-
throw new Error(`${file} entry ${prefix} has files that are not paths`);
|
|
68380
|
-
packs[prefix] = {
|
|
68381
|
-
file: entry.file,
|
|
68382
|
-
sha256: entry.sha256,
|
|
68383
|
-
...files2 ? { files: files2 } : {}
|
|
68384
|
-
};
|
|
68385
|
-
}
|
|
68386
|
-
packsByRoot.set(runtimeRoot, packs);
|
|
68387
|
-
return packs;
|
|
68388
|
-
}
|
|
68389
|
-
async function ensureRuntimePackFor(runtimeRoot, pathname) {
|
|
68390
|
-
warmRuntimePacks(runtimeRoot);
|
|
68391
|
-
const prefix = RUNTIME_PACK_PREFIXES.find(
|
|
68392
|
-
(candidate) => pathname.includes(`/${candidate}`)
|
|
68393
|
-
);
|
|
68394
|
-
if (prefix) {
|
|
68395
|
-
await installNamedPack(runtimeRoot, prefix);
|
|
68396
|
-
return;
|
|
68397
|
-
}
|
|
68398
|
-
const listed = listedFiles(runtimeRoot).get(import_node_path102.default.posix.basename(pathname))?.find(({ file }) => pathname.endsWith(`/${file}`));
|
|
68399
|
-
if (listed) {
|
|
68400
|
-
if (!import_node_fs103.default.existsSync(import_node_path102.default.join(runtimeRoot, listed.file)))
|
|
68401
|
-
await installNamedPack(runtimeRoot, listed.pack);
|
|
68402
|
-
return;
|
|
68403
|
-
}
|
|
68404
|
-
const at = pathname.indexOf(`/${RUNTIME_MERGE_PACK_DIR}`);
|
|
68405
|
-
if (at === -1) return;
|
|
68406
|
-
const tenantDir = import_node_path102.default.join(runtimeRoot, RUNTIME_MERGE_PACK_DIR);
|
|
68407
|
-
const rel = pathname.slice(at + RUNTIME_MERGE_PACK_DIR.length + 1);
|
|
68408
|
-
if (!/\.m?js$/.test(rel) || import_node_fs103.default.existsSync(import_node_path102.default.join(tenantDir, rel))) return;
|
|
68409
|
-
await installNamedPack(runtimeRoot, RUNTIME_MERGE_PACK_DIR);
|
|
68410
|
-
}
|
|
68411
|
-
function installNamedPack(runtimeRoot, name3) {
|
|
68412
|
-
if (name3 === RUNTIME_MERGE_PACK_DIR) {
|
|
68413
|
-
const tenantDir = import_node_path102.default.join(runtimeRoot, RUNTIME_MERGE_PACK_DIR);
|
|
68414
|
-
return mergePack(
|
|
68415
|
-
runtimeRoot,
|
|
68416
|
-
name3,
|
|
68417
|
-
import_node_path102.default.join(tenantDir, RUNTIME_MERGE_PACK_INSTALL),
|
|
68418
|
-
tenantDir
|
|
68419
|
-
);
|
|
68420
|
-
}
|
|
68421
|
-
if (readPacks(runtimeRoot)?.[name3]?.files)
|
|
68422
|
-
return mergePack(
|
|
68423
|
-
runtimeRoot,
|
|
68424
|
-
name3,
|
|
68425
|
-
import_node_path102.default.join(runtimeRoot, `.pack-${name3}`),
|
|
68426
|
-
runtimeRoot
|
|
68427
|
-
);
|
|
68428
|
-
return installPack(runtimeRoot, name3, import_node_path102.default.join(runtimeRoot, name3.slice(0, -1)));
|
|
68429
|
-
}
|
|
68430
|
-
var WARM_DELAY_MS = 3e4;
|
|
68431
|
-
var warming = /* @__PURE__ */ new Set();
|
|
68432
|
-
function warmRuntimePacks(runtimeRoot) {
|
|
68433
|
-
if (warming.has(runtimeRoot)) return;
|
|
68434
|
-
warming.add(runtimeRoot);
|
|
68435
|
-
const warm = async () => {
|
|
68436
|
-
for (const name3 of Object.keys(readPacks(runtimeRoot) ?? {}))
|
|
68437
|
-
if (!await installNamedPack(runtimeRoot, name3)) return;
|
|
68438
|
-
};
|
|
68439
|
-
const schedule = import_node_timers2.setTimeout;
|
|
68440
|
-
schedule(() => void warm(), WARM_DELAY_MS).unref();
|
|
68441
|
-
}
|
|
68442
|
-
async function mergePack(runtimeRoot, name3, installDir, targetDir) {
|
|
68443
|
-
if (import_node_fs103.default.existsSync(import_node_path102.default.join(installDir, RUNTIME_MERGE_PACK_MERGED))) return true;
|
|
68444
|
-
if (!await installPack(runtimeRoot, name3, installDir)) return false;
|
|
68445
|
-
const link = (sub) => {
|
|
68446
|
-
for (const entry of import_node_fs103.default.readdirSync(import_node_path102.default.join(installDir, sub), {
|
|
68447
|
-
withFileTypes: true
|
|
68448
|
-
})) {
|
|
68449
|
-
const child = import_node_path102.default.join(sub, entry.name);
|
|
68450
|
-
if (entry.isDirectory()) {
|
|
68451
|
-
import_node_fs103.default.mkdirSync(import_node_path102.default.join(targetDir, child), { recursive: true });
|
|
68452
|
-
link(child);
|
|
68453
|
-
} else if (entry.name !== RUNTIME_PACK_MARKER) {
|
|
68454
|
-
try {
|
|
68455
|
-
import_node_fs103.default.linkSync(import_node_path102.default.join(installDir, child), import_node_path102.default.join(targetDir, child));
|
|
68456
|
-
} catch (error) {
|
|
68457
|
-
if (!(error instanceof Error && "code" in error && error.code === "EEXIST"))
|
|
68458
|
-
throw error;
|
|
68459
|
-
}
|
|
68460
|
-
}
|
|
68461
|
-
}
|
|
68462
|
-
};
|
|
68463
|
-
try {
|
|
68464
|
-
link("");
|
|
68465
|
-
import_node_fs103.default.writeFileSync(import_node_path102.default.join(installDir, RUNTIME_MERGE_PACK_MERGED), "");
|
|
68466
|
-
return true;
|
|
68467
|
-
} catch (error) {
|
|
68468
|
-
console.error(
|
|
68469
|
-
`[peach] ${name3} pack merge failed: ${error instanceof Error ? error.message : String(error)}`
|
|
68470
|
-
);
|
|
68471
|
-
return false;
|
|
68472
|
-
}
|
|
68473
|
-
}
|
|
68474
|
-
async function installPack(runtimeRoot, prefix, destDir) {
|
|
68475
|
-
const marker = import_node_path102.default.join(destDir, RUNTIME_PACK_MARKER);
|
|
68476
|
-
if (import_node_fs103.default.existsSync(marker)) return true;
|
|
68477
|
-
const pack = readPacks(runtimeRoot)?.[prefix];
|
|
68478
|
-
if (!pack) return true;
|
|
68479
|
-
let install = inflight.get(destDir);
|
|
68480
|
-
if (!install) {
|
|
68481
|
-
const version2 = import_node_path102.default.basename(runtimeRoot);
|
|
68482
|
-
const url = new URL(pack.file, rnxRuntime.tarballUrl(version2));
|
|
68483
|
-
url.searchParams.set("sha256", pack.sha256);
|
|
68484
|
-
install = installVerifiedTarball({
|
|
68485
|
-
url: url.toString(),
|
|
68486
|
-
digest: { algorithm: "sha256", encoding: "hex", value: pack.sha256 },
|
|
68487
|
-
destDir,
|
|
68488
|
-
installedMarker: RUNTIME_PACK_MARKER,
|
|
68489
|
-
label: `peach runtime ${version2} pack ${prefix}`
|
|
68490
|
-
}).catch((error) => {
|
|
68491
|
-
console.error(
|
|
68492
|
-
`[peach] ${prefix} pack download failed: ${error instanceof Error ? error.message : String(error)}`
|
|
68493
|
-
);
|
|
68494
|
-
}).finally(() => inflight.delete(destDir));
|
|
68495
|
-
inflight.set(destDir, install);
|
|
68496
|
-
}
|
|
68497
|
-
await install;
|
|
68498
|
-
return import_node_fs103.default.existsSync(marker);
|
|
68499
|
-
}
|
|
68617
|
+
init_runtime_delivery();
|
|
68618
|
+
init_runtime_packs();
|
|
68500
68619
|
|
|
68501
68620
|
// src/turbo-bundle.ts
|
|
68502
68621
|
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|