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;
|
|
@@ -10254,7 +10254,8 @@ var FEATURES = [
|
|
|
10254
10254
|
"reference-types",
|
|
10255
10255
|
"sign-ext"
|
|
10256
10256
|
];
|
|
10257
|
-
var
|
|
10257
|
+
var KEEP_WASM_NAMES = process.env.PEACH_SWIFT_NAMES === "1";
|
|
10258
|
+
var WASM_OPTIMIZE_IDENTITY = `wasm-opt ${import_wasm_opt.BINARYEN_VERSION} -Oz ${FEATURES.join(",")}${KEEP_WASM_NAMES ? " -g" : ""}`;
|
|
10258
10259
|
var PINNED_BINARYEN_VERSION = "132";
|
|
10259
10260
|
var BINARYEN_RELEASES = /* @__PURE__ */ new Map([
|
|
10260
10261
|
[
|
|
@@ -10290,6 +10291,7 @@ async function runWasmOpt(file, output, skipPasses, binary) {
|
|
|
10290
10291
|
const result = await (0, import_wasm_opt.wasmOpt)(
|
|
10291
10292
|
[
|
|
10292
10293
|
"-Oz",
|
|
10294
|
+
...KEEP_WASM_NAMES ? ["-g"] : [],
|
|
10293
10295
|
...skipPasses.flatMap((pass) => ["--skip-pass", pass]),
|
|
10294
10296
|
...FEATURES.map((feature) => `--enable-${feature}`),
|
|
10295
10297
|
file,
|
|
@@ -11164,6 +11166,7 @@ var import_node_fs22 = require("node:fs");
|
|
|
11164
11166
|
var import_node_os10 = require("node:os");
|
|
11165
11167
|
var import_node_path23 = __toESM(require("node:path"), 1);
|
|
11166
11168
|
var POLL_MS = 250;
|
|
11169
|
+
var INSPECT_ATTEMPTS = 5;
|
|
11167
11170
|
var START_TOLERANCE_MS = 2e3;
|
|
11168
11171
|
function errorCode(error) {
|
|
11169
11172
|
return error instanceof Error && "code" in error && typeof error.code === "string" ? error.code : void 0;
|
|
@@ -11177,6 +11180,17 @@ function processTable(pid) {
|
|
|
11177
11180
|
);
|
|
11178
11181
|
}
|
|
11179
11182
|
}
|
|
11183
|
+
async function processTableWithRetry(pid, signal) {
|
|
11184
|
+
for (let attempt = 1; ; attempt++) {
|
|
11185
|
+
try {
|
|
11186
|
+
return processTable(pid);
|
|
11187
|
+
} catch (error) {
|
|
11188
|
+
if (attempt >= INSPECT_ATTEMPTS) throw error;
|
|
11189
|
+
await pause(POLL_MS * attempt, signal);
|
|
11190
|
+
signal?.throwIfAborted();
|
|
11191
|
+
}
|
|
11192
|
+
}
|
|
11193
|
+
}
|
|
11180
11194
|
function sameProcess(row, identity) {
|
|
11181
11195
|
return row.pid === identity.pid && Math.abs(row.start - identity.start) <= START_TOLERANCE_MS;
|
|
11182
11196
|
}
|
|
@@ -11246,7 +11260,11 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
|
|
|
11246
11260
|
);
|
|
11247
11261
|
(0, import_node_fs22.mkdirSync)(directory, { recursive: true });
|
|
11248
11262
|
const token = (0, import_node_crypto12.randomUUID)();
|
|
11249
|
-
const
|
|
11263
|
+
const ownRow = (await processTableWithRetry(process.pid, signal)).find(
|
|
11264
|
+
(candidate) => candidate.pid === process.pid && !candidate.zombie
|
|
11265
|
+
);
|
|
11266
|
+
if (!ownRow) throw new Error(`swift root lock cannot find process ${process.pid}`);
|
|
11267
|
+
const owner = JSON.stringify({ pid: process.pid, start: ownRow.start });
|
|
11250
11268
|
const pending = import_node_path23.default.join(directory, `pending.${token}`);
|
|
11251
11269
|
let held = 0;
|
|
11252
11270
|
for (; ; ) {
|
|
@@ -11255,15 +11273,15 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
|
|
|
11255
11273
|
const current = newest > 0 ? readGeneration(directory, newest) : null;
|
|
11256
11274
|
if (newest > 0 && !current) continue;
|
|
11257
11275
|
if (current && !current.released) {
|
|
11258
|
-
const
|
|
11259
|
-
if (
|
|
11276
|
+
const holder = await processTableWithRetry(current.holder.pid, signal);
|
|
11277
|
+
if (holder.some((row) => !row.zombie && sameProcess(row, current.holder))) {
|
|
11260
11278
|
if (!wait) return void 0;
|
|
11261
11279
|
await pause(POLL_MS, signal);
|
|
11262
11280
|
continue;
|
|
11263
11281
|
}
|
|
11264
11282
|
const children2 = readChildren(directory, newest);
|
|
11265
11283
|
if (children2.length) {
|
|
11266
|
-
const table =
|
|
11284
|
+
const table = await processTableWithRetry(void 0, signal);
|
|
11267
11285
|
if (children2.some((child) => groupAlive(table, child))) {
|
|
11268
11286
|
if (!wait) return void 0;
|
|
11269
11287
|
await pause(POLL_MS, signal);
|
|
@@ -12068,7 +12086,8 @@ var OPTIONAL_FRAMEWORK_DEPENDENCIES = {
|
|
|
12068
12086
|
PeachCFNetwork: [],
|
|
12069
12087
|
JavaScriptCore: ["PeachJavaScriptCore"],
|
|
12070
12088
|
PeachJavaScriptCore: [],
|
|
12071
|
-
GameplayKit
|
|
12089
|
+
// GameplayKit names SpriteKit and SceneKit nodes, as on iOS
|
|
12090
|
+
GameplayKit: ["SpriteKit", "SceneKit", "PeachBox2D", "simd", "GLKit"],
|
|
12072
12091
|
simd: [],
|
|
12073
12092
|
ModelIO: ["simd"],
|
|
12074
12093
|
GLKit: ["ModelIO"],
|
|
@@ -12579,10 +12598,21 @@ function swiftTargetDependencies(files, targets, frameworks = OPTIONAL_FRAMEWORK
|
|
|
12579
12598
|
return siblings;
|
|
12580
12599
|
}
|
|
12581
12600
|
var ONE_PRODUCT = '.product(name: "One", package: "sootsim-swift")';
|
|
12582
|
-
var
|
|
12583
|
-
var
|
|
12584
|
-
|
|
12585
|
-
)
|
|
12601
|
+
var GAME_FAMILY = ["SpriteKit", "SceneKit"];
|
|
12602
|
+
var gameProducts = (files) => {
|
|
12603
|
+
const imported = new Set(
|
|
12604
|
+
Object.entries(files).flatMap(
|
|
12605
|
+
([file, contents]) => file.endsWith(".swift") ? swiftImportNames(contents) : []
|
|
12606
|
+
)
|
|
12607
|
+
);
|
|
12608
|
+
if (imported.has("SceneKit")) return [...GAME_FAMILY];
|
|
12609
|
+
return imported.has("SpriteKit") ? ["SpriteKit"] : [];
|
|
12610
|
+
};
|
|
12611
|
+
var gameProduct = (name2) => `.product(name: "${name2}", package: "sootsim-swift")`;
|
|
12612
|
+
var GAME_REACH = {
|
|
12613
|
+
SpriteKit: ["SpriteKit", "PeachBox2D", "simd", "GLKit"],
|
|
12614
|
+
SceneKit: ["SceneKit"]
|
|
12615
|
+
};
|
|
12586
12616
|
var FOUNDATION_IMPLICIT_MODULES = [
|
|
12587
12617
|
"PeachObjC",
|
|
12588
12618
|
"Dispatch",
|
|
@@ -12609,7 +12639,7 @@ var darwinRecordsRegion = (quoted) => quoted.length ? ["-Wl,--start-lib", ...quo
|
|
|
12609
12639
|
var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
|
|
12610
12640
|
var MULTI_MANIFEST_VERSION = 68;
|
|
12611
12641
|
var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
|
|
12612
|
-
var compilerSourceDigest = true ? "
|
|
12642
|
+
var compilerSourceDigest = true ? "ae9e08389e6ab1901846342a7b347d7c10f8074172cf5d4d6505f7e955879ad4" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
|
|
12613
12643
|
function swiftArtifactHash(input, release, moduleRoot) {
|
|
12614
12644
|
const hash = (0, import_node_crypto13.createHash)("sha256");
|
|
12615
12645
|
hash.update(`swift-compile
|
|
@@ -12617,6 +12647,7 @@ ${release}
|
|
|
12617
12647
|
`);
|
|
12618
12648
|
hash.update(compilerSourceDigest);
|
|
12619
12649
|
if (input.oneModule) hash.update("one-module\n");
|
|
12650
|
+
if (KEEP_WASM_NAMES) hash.update("names\n");
|
|
12620
12651
|
hash.update(swiftModuleDigest(moduleRoot));
|
|
12621
12652
|
if (input.optimize) hash.update(`optimize
|
|
12622
12653
|
${WASM_OPTIMIZE_IDENTITY}
|
|
@@ -12731,7 +12762,14 @@ function toolsetOrdersLibcxxBeforeDarwinOverlay(options) {
|
|
|
12731
12762
|
return libcxx >= 0 && overlay > libcxx;
|
|
12732
12763
|
}
|
|
12733
12764
|
function emitSwiftPackageManifest(args) {
|
|
12734
|
-
const {
|
|
12765
|
+
const {
|
|
12766
|
+
targets,
|
|
12767
|
+
siblings,
|
|
12768
|
+
moduleRoot,
|
|
12769
|
+
oneModule,
|
|
12770
|
+
gameProducts: gameProducts2 = [],
|
|
12771
|
+
distribution
|
|
12772
|
+
} = args;
|
|
12735
12773
|
const prebuilt = args.prebuilt;
|
|
12736
12774
|
const linkedObjects = Boolean(distribution || prebuilt);
|
|
12737
12775
|
const cxxFlagsFor = (flags) => args.deferDarwinOverlay ? withoutWasmOverlayIsystem(flags) : flags;
|
|
@@ -12760,9 +12798,8 @@ function emitSwiftPackageManifest(args) {
|
|
|
12760
12798
|
for (const name2 of [...siblings.values()].flat())
|
|
12761
12799
|
if (OPTIONAL_FRAMEWORKS.has(name2) && !targets.some((target) => target.name === name2))
|
|
12762
12800
|
reach(name2);
|
|
12763
|
-
|
|
12764
|
-
for (const name2 of [
|
|
12765
|
-
}
|
|
12801
|
+
for (const product of gameProducts2)
|
|
12802
|
+
for (const name2 of GAME_REACH[product] ?? []) reach(name2);
|
|
12766
12803
|
let distributionLinkPath;
|
|
12767
12804
|
const distributionLink = args.distributionLink;
|
|
12768
12805
|
if (distribution && distributionLink) {
|
|
@@ -12785,7 +12822,7 @@ function emitSwiftPackageManifest(args) {
|
|
|
12785
12822
|
(object3) => !isProvider(object3) && !replacedObjects.has(object3)
|
|
12786
12823
|
);
|
|
12787
12824
|
const objects = available.filter(
|
|
12788
|
-
(object3) => !targets.some((target) => object3.startsWith(`lib/${target.name}-`)) && [...OPTIONAL_FRAMEWORKS,
|
|
12825
|
+
(object3) => !targets.some((target) => object3.startsWith(`lib/${target.name}-`)) && [...OPTIONAL_FRAMEWORKS, ...GAME_FAMILY, "PeachBox2D"].every(
|
|
12789
12826
|
(name2) => !object3.startsWith(`lib/${name2}-`) || reachedFrameworks.has(name2)
|
|
12790
12827
|
)
|
|
12791
12828
|
);
|
|
@@ -12948,7 +12985,7 @@ function emitSwiftPackageManifest(args) {
|
|
|
12948
12985
|
...linkedObjects || clang && !target.executable ? [] : [
|
|
12949
12986
|
'.product(name: "SwiftUI", package: "sootsim-swift")',
|
|
12950
12987
|
...oneModule ? [ONE_PRODUCT] : [],
|
|
12951
|
-
...
|
|
12988
|
+
...gameProducts2.map(gameProduct)
|
|
12952
12989
|
],
|
|
12953
12990
|
...(siblings.get(target.name) ?? []).flatMap(
|
|
12954
12991
|
(dependency) => clang && // textual native headers can include one another without imposing
|
|
@@ -12980,7 +13017,7 @@ function emitSwiftPackageManifest(args) {
|
|
|
12980
13017
|
.unsafeFlags(${flagArray(`[
|
|
12981
13018
|
${REACTOR_FLAG}${executableLinkFlags(args.root)} "-Xlinker", "--export-if-defined=__main_argc_argv"${library},
|
|
12982
13019
|
]`)}),
|
|
12983
|
-
.unsafeFlags(["-Xlinker", "--strip-all"], .when(configuration: .release)),
|
|
13020
|
+
${KEEP_WASM_NAMES ? "" : '.unsafeFlags(["-Xlinker", "--strip-all"], .when(configuration: .release)),'}
|
|
12984
13021
|
]` : librarySettings.length > 0 ? `,
|
|
12985
13022
|
linkerSettings: [${librarySettings.join(", ")}]` : "";
|
|
12986
13023
|
const cDefines = macroSettings(target.cDefines);
|
|
@@ -13585,8 +13622,6 @@ var FOUNDATION_OVERLAY_GLOBALS = /* @__PURE__ */ new Set([
|
|
|
13585
13622
|
"NSURLProtectionSpaceHTTPS",
|
|
13586
13623
|
"NSURLProtectionSpaceHTTPSProxy",
|
|
13587
13624
|
"NSURLProtectionSpaceSOCKSProxy",
|
|
13588
|
-
"NSURLSessionDownloadTaskResumeData",
|
|
13589
|
-
"NSURLSessionTransferSizeUnknown",
|
|
13590
13625
|
"NSURLSessionUploadTaskResumeData",
|
|
13591
13626
|
"NSUTF16BigEndianStringEncoding",
|
|
13592
13627
|
"NSUTF16LittleEndianStringEncoding",
|
|
@@ -15315,8 +15350,8 @@ ${swiftProjectFilesProblems(input.projectFiles).join("\n")}`
|
|
|
15315
15350
|
const moduleName = swiftTargetModuleName(name2);
|
|
15316
15351
|
const originalMap = originalMaps.get(moduleName);
|
|
15317
15352
|
const stagedMap = sourceModuleMaps.get(moduleName);
|
|
15318
|
-
const originalPath = originalMap ? import_node_path27.default.join(layout2.root, originalMap) :
|
|
15319
|
-
const originalContents = originalMap
|
|
15353
|
+
const originalPath = stagedMap?.path ?? (originalMap ? import_node_path27.default.join(layout2.root, originalMap) : void 0);
|
|
15354
|
+
const originalContents = stagedMap?.contents ?? (originalMap && input.files[originalMap]);
|
|
15320
15355
|
const originalTokens = originalContents ? moduleMapTokens(originalContents) : [];
|
|
15321
15356
|
if (originalPath && originalTokens.some(
|
|
15322
15357
|
(token, index) => token === "module" && (originalTokens[index + 1] === "Swift" || originalTokens[index + 1] === `${moduleName}.Swift`)
|
|
@@ -15591,14 +15626,17 @@ module ${moduleName}.Swift {
|
|
|
15591
15626
|
manifest = manifest.replace(product, `${product}
|
|
15592
15627
|
${ONE_PRODUCT},`).replace(flags, `${flags}${ONE_IMPLICIT_FLAGS}`);
|
|
15593
15628
|
}
|
|
15594
|
-
|
|
15629
|
+
const games = gameProducts(input.files);
|
|
15630
|
+
if (games.length > 0) {
|
|
15595
15631
|
const anchor = '.product(name: "CoreLocation", package: "sootsim-swift"),';
|
|
15596
15632
|
if (!manifest.includes(anchor))
|
|
15597
15633
|
throw new Error(
|
|
15598
|
-
"scripts/contrast-app-Package.swift lost the line the
|
|
15634
|
+
"scripts/contrast-app-Package.swift lost the line the game products link at"
|
|
15599
15635
|
);
|
|
15600
|
-
manifest = manifest.replace(
|
|
15601
|
-
|
|
15636
|
+
manifest = manifest.replace(
|
|
15637
|
+
anchor,
|
|
15638
|
+
[anchor, ...games.map((name2) => `${gameProduct(name2)},`)].join("\n ")
|
|
15639
|
+
);
|
|
15602
15640
|
}
|
|
15603
15641
|
files.set(import_node_path27.default.join(layout2.root, "Package.swift"), manifest + moduleFiles);
|
|
15604
15642
|
} else {
|
|
@@ -15713,7 +15751,7 @@ module ${moduleName}.Swift {
|
|
|
15713
15751
|
siblings: moduleSiblings,
|
|
15714
15752
|
moduleRoot,
|
|
15715
15753
|
oneModule: input.oneModule,
|
|
15716
|
-
|
|
15754
|
+
gameProducts: gameProducts(input.files),
|
|
15717
15755
|
distribution: distribution ?? void 0,
|
|
15718
15756
|
moduleExcludes,
|
|
15719
15757
|
deferDarwinOverlay: native.size > 0 && toolsetOrdersLibcxxBeforeDarwinOverlay(
|
|
@@ -16120,14 +16158,9 @@ function linkedFrameworkTargets(moduleRoot, input) {
|
|
|
16120
16158
|
))
|
|
16121
16159
|
reach(match[1]);
|
|
16122
16160
|
}
|
|
16123
|
-
|
|
16124
|
-
|
|
16125
|
-
const wanted = [
|
|
16126
|
-
"PeachApp",
|
|
16127
|
-
...input.oneModule ? ["One"] : [],
|
|
16128
|
-
...importsSpriteKit(input.files) ? ["SpriteKit"] : [],
|
|
16129
|
-
...reached
|
|
16130
|
-
];
|
|
16161
|
+
const games = gameProducts(input.files);
|
|
16162
|
+
for (const product of games) for (const name2 of GAME_REACH[product] ?? []) reach(name2);
|
|
16163
|
+
const wanted = ["PeachApp", ...input.oneModule ? ["One"] : [], ...games, ...reached];
|
|
16131
16164
|
const linked = [...new Set(wanted)].filter((name2) => libraries.has(name2));
|
|
16132
16165
|
if (!linked.includes("PeachApp"))
|
|
16133
16166
|
throw new Error("swift-compile: the framework package declares no PeachApp library");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2223 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
|
|
3
3
|
// src/swift-compile.ts
|
|
4
4
|
import {
|
|
@@ -10209,7 +10209,8 @@ var FEATURES = [
|
|
|
10209
10209
|
"reference-types",
|
|
10210
10210
|
"sign-ext"
|
|
10211
10211
|
];
|
|
10212
|
-
var
|
|
10212
|
+
var KEEP_WASM_NAMES = process.env.PEACH_SWIFT_NAMES === "1";
|
|
10213
|
+
var WASM_OPTIMIZE_IDENTITY = `wasm-opt ${BINARYEN_VERSION} -Oz ${FEATURES.join(",")}${KEEP_WASM_NAMES ? " -g" : ""}`;
|
|
10213
10214
|
var PINNED_BINARYEN_VERSION = "132";
|
|
10214
10215
|
var BINARYEN_RELEASES = /* @__PURE__ */ new Map([
|
|
10215
10216
|
[
|
|
@@ -10245,6 +10246,7 @@ async function runWasmOpt(file, output, skipPasses, binary) {
|
|
|
10245
10246
|
const result = await wasmOpt(
|
|
10246
10247
|
[
|
|
10247
10248
|
"-Oz",
|
|
10249
|
+
...KEEP_WASM_NAMES ? ["-g"] : [],
|
|
10248
10250
|
...skipPasses.flatMap((pass) => ["--skip-pass", pass]),
|
|
10249
10251
|
...FEATURES.map((feature) => `--enable-${feature}`),
|
|
10250
10252
|
file,
|
|
@@ -11143,6 +11145,7 @@ import {
|
|
|
11143
11145
|
import { homedir as homedir2 } from "node:os";
|
|
11144
11146
|
import path23 from "node:path";
|
|
11145
11147
|
var POLL_MS = 250;
|
|
11148
|
+
var INSPECT_ATTEMPTS = 5;
|
|
11146
11149
|
var START_TOLERANCE_MS = 2e3;
|
|
11147
11150
|
function errorCode(error) {
|
|
11148
11151
|
return error instanceof Error && "code" in error && typeof error.code === "string" ? error.code : void 0;
|
|
@@ -11156,6 +11159,17 @@ function processTable(pid) {
|
|
|
11156
11159
|
);
|
|
11157
11160
|
}
|
|
11158
11161
|
}
|
|
11162
|
+
async function processTableWithRetry(pid, signal) {
|
|
11163
|
+
for (let attempt = 1; ; attempt++) {
|
|
11164
|
+
try {
|
|
11165
|
+
return processTable(pid);
|
|
11166
|
+
} catch (error) {
|
|
11167
|
+
if (attempt >= INSPECT_ATTEMPTS) throw error;
|
|
11168
|
+
await pause(POLL_MS * attempt, signal);
|
|
11169
|
+
signal?.throwIfAborted();
|
|
11170
|
+
}
|
|
11171
|
+
}
|
|
11172
|
+
}
|
|
11159
11173
|
function sameProcess(row, identity) {
|
|
11160
11174
|
return row.pid === identity.pid && Math.abs(row.start - identity.start) <= START_TOLERANCE_MS;
|
|
11161
11175
|
}
|
|
@@ -11225,7 +11239,11 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
|
|
|
11225
11239
|
);
|
|
11226
11240
|
mkdirSync4(directory, { recursive: true });
|
|
11227
11241
|
const token = randomUUID4();
|
|
11228
|
-
const
|
|
11242
|
+
const ownRow = (await processTableWithRetry(process.pid, signal)).find(
|
|
11243
|
+
(candidate) => candidate.pid === process.pid && !candidate.zombie
|
|
11244
|
+
);
|
|
11245
|
+
if (!ownRow) throw new Error(`swift root lock cannot find process ${process.pid}`);
|
|
11246
|
+
const owner = JSON.stringify({ pid: process.pid, start: ownRow.start });
|
|
11229
11247
|
const pending = path23.join(directory, `pending.${token}`);
|
|
11230
11248
|
let held = 0;
|
|
11231
11249
|
for (; ; ) {
|
|
@@ -11234,15 +11252,15 @@ async function withSwiftRootLock(root, work, signal, wait = true) {
|
|
|
11234
11252
|
const current = newest > 0 ? readGeneration(directory, newest) : null;
|
|
11235
11253
|
if (newest > 0 && !current) continue;
|
|
11236
11254
|
if (current && !current.released) {
|
|
11237
|
-
const
|
|
11238
|
-
if (
|
|
11255
|
+
const holder = await processTableWithRetry(current.holder.pid, signal);
|
|
11256
|
+
if (holder.some((row) => !row.zombie && sameProcess(row, current.holder))) {
|
|
11239
11257
|
if (!wait) return void 0;
|
|
11240
11258
|
await pause(POLL_MS, signal);
|
|
11241
11259
|
continue;
|
|
11242
11260
|
}
|
|
11243
11261
|
const children2 = readChildren(directory, newest);
|
|
11244
11262
|
if (children2.length) {
|
|
11245
|
-
const table =
|
|
11263
|
+
const table = await processTableWithRetry(void 0, signal);
|
|
11246
11264
|
if (children2.some((child) => groupAlive(table, child))) {
|
|
11247
11265
|
if (!wait) return void 0;
|
|
11248
11266
|
await pause(POLL_MS, signal);
|
|
@@ -12047,7 +12065,8 @@ var OPTIONAL_FRAMEWORK_DEPENDENCIES = {
|
|
|
12047
12065
|
PeachCFNetwork: [],
|
|
12048
12066
|
JavaScriptCore: ["PeachJavaScriptCore"],
|
|
12049
12067
|
PeachJavaScriptCore: [],
|
|
12050
|
-
GameplayKit
|
|
12068
|
+
// GameplayKit names SpriteKit and SceneKit nodes, as on iOS
|
|
12069
|
+
GameplayKit: ["SpriteKit", "SceneKit", "PeachBox2D", "simd", "GLKit"],
|
|
12051
12070
|
simd: [],
|
|
12052
12071
|
ModelIO: ["simd"],
|
|
12053
12072
|
GLKit: ["ModelIO"],
|
|
@@ -12558,10 +12577,21 @@ function swiftTargetDependencies(files, targets, frameworks = OPTIONAL_FRAMEWORK
|
|
|
12558
12577
|
return siblings;
|
|
12559
12578
|
}
|
|
12560
12579
|
var ONE_PRODUCT = '.product(name: "One", package: "sootsim-swift")';
|
|
12561
|
-
var
|
|
12562
|
-
var
|
|
12563
|
-
|
|
12564
|
-
)
|
|
12580
|
+
var GAME_FAMILY = ["SpriteKit", "SceneKit"];
|
|
12581
|
+
var gameProducts = (files) => {
|
|
12582
|
+
const imported = new Set(
|
|
12583
|
+
Object.entries(files).flatMap(
|
|
12584
|
+
([file, contents]) => file.endsWith(".swift") ? swiftImportNames(contents) : []
|
|
12585
|
+
)
|
|
12586
|
+
);
|
|
12587
|
+
if (imported.has("SceneKit")) return [...GAME_FAMILY];
|
|
12588
|
+
return imported.has("SpriteKit") ? ["SpriteKit"] : [];
|
|
12589
|
+
};
|
|
12590
|
+
var gameProduct = (name2) => `.product(name: "${name2}", package: "sootsim-swift")`;
|
|
12591
|
+
var GAME_REACH = {
|
|
12592
|
+
SpriteKit: ["SpriteKit", "PeachBox2D", "simd", "GLKit"],
|
|
12593
|
+
SceneKit: ["SceneKit"]
|
|
12594
|
+
};
|
|
12565
12595
|
var FOUNDATION_IMPLICIT_MODULES = [
|
|
12566
12596
|
"PeachObjC",
|
|
12567
12597
|
"Dispatch",
|
|
@@ -12588,7 +12618,7 @@ var darwinRecordsRegion = (quoted) => quoted.length ? ["-Wl,--start-lib", ...quo
|
|
|
12588
12618
|
var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
|
|
12589
12619
|
var MULTI_MANIFEST_VERSION = 68;
|
|
12590
12620
|
var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
|
|
12591
|
-
var compilerSourceDigest = true ? "
|
|
12621
|
+
var compilerSourceDigest = true ? "ae9e08389e6ab1901846342a7b347d7c10f8074172cf5d4d6505f7e955879ad4" : swiftCompilerSourceDigest(import.meta.dirname);
|
|
12592
12622
|
function swiftArtifactHash(input, release, moduleRoot) {
|
|
12593
12623
|
const hash = createHash13("sha256");
|
|
12594
12624
|
hash.update(`swift-compile
|
|
@@ -12596,6 +12626,7 @@ ${release}
|
|
|
12596
12626
|
`);
|
|
12597
12627
|
hash.update(compilerSourceDigest);
|
|
12598
12628
|
if (input.oneModule) hash.update("one-module\n");
|
|
12629
|
+
if (KEEP_WASM_NAMES) hash.update("names\n");
|
|
12599
12630
|
hash.update(swiftModuleDigest(moduleRoot));
|
|
12600
12631
|
if (input.optimize) hash.update(`optimize
|
|
12601
12632
|
${WASM_OPTIMIZE_IDENTITY}
|
|
@@ -12710,7 +12741,14 @@ function toolsetOrdersLibcxxBeforeDarwinOverlay(options) {
|
|
|
12710
12741
|
return libcxx >= 0 && overlay > libcxx;
|
|
12711
12742
|
}
|
|
12712
12743
|
function emitSwiftPackageManifest(args) {
|
|
12713
|
-
const {
|
|
12744
|
+
const {
|
|
12745
|
+
targets,
|
|
12746
|
+
siblings,
|
|
12747
|
+
moduleRoot,
|
|
12748
|
+
oneModule,
|
|
12749
|
+
gameProducts: gameProducts2 = [],
|
|
12750
|
+
distribution
|
|
12751
|
+
} = args;
|
|
12714
12752
|
const prebuilt = args.prebuilt;
|
|
12715
12753
|
const linkedObjects = Boolean(distribution || prebuilt);
|
|
12716
12754
|
const cxxFlagsFor = (flags) => args.deferDarwinOverlay ? withoutWasmOverlayIsystem(flags) : flags;
|
|
@@ -12739,9 +12777,8 @@ function emitSwiftPackageManifest(args) {
|
|
|
12739
12777
|
for (const name2 of [...siblings.values()].flat())
|
|
12740
12778
|
if (OPTIONAL_FRAMEWORKS.has(name2) && !targets.some((target) => target.name === name2))
|
|
12741
12779
|
reach(name2);
|
|
12742
|
-
|
|
12743
|
-
for (const name2 of [
|
|
12744
|
-
}
|
|
12780
|
+
for (const product of gameProducts2)
|
|
12781
|
+
for (const name2 of GAME_REACH[product] ?? []) reach(name2);
|
|
12745
12782
|
let distributionLinkPath;
|
|
12746
12783
|
const distributionLink = args.distributionLink;
|
|
12747
12784
|
if (distribution && distributionLink) {
|
|
@@ -12764,7 +12801,7 @@ function emitSwiftPackageManifest(args) {
|
|
|
12764
12801
|
(object3) => !isProvider(object3) && !replacedObjects.has(object3)
|
|
12765
12802
|
);
|
|
12766
12803
|
const objects = available.filter(
|
|
12767
|
-
(object3) => !targets.some((target) => object3.startsWith(`lib/${target.name}-`)) && [...OPTIONAL_FRAMEWORKS,
|
|
12804
|
+
(object3) => !targets.some((target) => object3.startsWith(`lib/${target.name}-`)) && [...OPTIONAL_FRAMEWORKS, ...GAME_FAMILY, "PeachBox2D"].every(
|
|
12768
12805
|
(name2) => !object3.startsWith(`lib/${name2}-`) || reachedFrameworks.has(name2)
|
|
12769
12806
|
)
|
|
12770
12807
|
);
|
|
@@ -12927,7 +12964,7 @@ function emitSwiftPackageManifest(args) {
|
|
|
12927
12964
|
...linkedObjects || clang && !target.executable ? [] : [
|
|
12928
12965
|
'.product(name: "SwiftUI", package: "sootsim-swift")',
|
|
12929
12966
|
...oneModule ? [ONE_PRODUCT] : [],
|
|
12930
|
-
...
|
|
12967
|
+
...gameProducts2.map(gameProduct)
|
|
12931
12968
|
],
|
|
12932
12969
|
...(siblings.get(target.name) ?? []).flatMap(
|
|
12933
12970
|
(dependency) => clang && // textual native headers can include one another without imposing
|
|
@@ -12959,7 +12996,7 @@ function emitSwiftPackageManifest(args) {
|
|
|
12959
12996
|
.unsafeFlags(${flagArray(`[
|
|
12960
12997
|
${REACTOR_FLAG}${executableLinkFlags(args.root)} "-Xlinker", "--export-if-defined=__main_argc_argv"${library},
|
|
12961
12998
|
]`)}),
|
|
12962
|
-
.unsafeFlags(["-Xlinker", "--strip-all"], .when(configuration: .release)),
|
|
12999
|
+
${KEEP_WASM_NAMES ? "" : '.unsafeFlags(["-Xlinker", "--strip-all"], .when(configuration: .release)),'}
|
|
12963
13000
|
]` : librarySettings.length > 0 ? `,
|
|
12964
13001
|
linkerSettings: [${librarySettings.join(", ")}]` : "";
|
|
12965
13002
|
const cDefines = macroSettings(target.cDefines);
|
|
@@ -13564,8 +13601,6 @@ var FOUNDATION_OVERLAY_GLOBALS = /* @__PURE__ */ new Set([
|
|
|
13564
13601
|
"NSURLProtectionSpaceHTTPS",
|
|
13565
13602
|
"NSURLProtectionSpaceHTTPSProxy",
|
|
13566
13603
|
"NSURLProtectionSpaceSOCKSProxy",
|
|
13567
|
-
"NSURLSessionDownloadTaskResumeData",
|
|
13568
|
-
"NSURLSessionTransferSizeUnknown",
|
|
13569
13604
|
"NSURLSessionUploadTaskResumeData",
|
|
13570
13605
|
"NSUTF16BigEndianStringEncoding",
|
|
13571
13606
|
"NSUTF16LittleEndianStringEncoding",
|
|
@@ -15294,8 +15329,8 @@ ${swiftProjectFilesProblems(input.projectFiles).join("\n")}`
|
|
|
15294
15329
|
const moduleName = swiftTargetModuleName(name2);
|
|
15295
15330
|
const originalMap = originalMaps.get(moduleName);
|
|
15296
15331
|
const stagedMap = sourceModuleMaps.get(moduleName);
|
|
15297
|
-
const originalPath = originalMap ? path27.join(layout2.root, originalMap) :
|
|
15298
|
-
const originalContents = originalMap
|
|
15332
|
+
const originalPath = stagedMap?.path ?? (originalMap ? path27.join(layout2.root, originalMap) : void 0);
|
|
15333
|
+
const originalContents = stagedMap?.contents ?? (originalMap && input.files[originalMap]);
|
|
15299
15334
|
const originalTokens = originalContents ? moduleMapTokens(originalContents) : [];
|
|
15300
15335
|
if (originalPath && originalTokens.some(
|
|
15301
15336
|
(token, index) => token === "module" && (originalTokens[index + 1] === "Swift" || originalTokens[index + 1] === `${moduleName}.Swift`)
|
|
@@ -15570,14 +15605,17 @@ module ${moduleName}.Swift {
|
|
|
15570
15605
|
manifest = manifest.replace(product, `${product}
|
|
15571
15606
|
${ONE_PRODUCT},`).replace(flags, `${flags}${ONE_IMPLICIT_FLAGS}`);
|
|
15572
15607
|
}
|
|
15573
|
-
|
|
15608
|
+
const games = gameProducts(input.files);
|
|
15609
|
+
if (games.length > 0) {
|
|
15574
15610
|
const anchor = '.product(name: "CoreLocation", package: "sootsim-swift"),';
|
|
15575
15611
|
if (!manifest.includes(anchor))
|
|
15576
15612
|
throw new Error(
|
|
15577
|
-
"scripts/contrast-app-Package.swift lost the line the
|
|
15613
|
+
"scripts/contrast-app-Package.swift lost the line the game products link at"
|
|
15578
15614
|
);
|
|
15579
|
-
manifest = manifest.replace(
|
|
15580
|
-
|
|
15615
|
+
manifest = manifest.replace(
|
|
15616
|
+
anchor,
|
|
15617
|
+
[anchor, ...games.map((name2) => `${gameProduct(name2)},`)].join("\n ")
|
|
15618
|
+
);
|
|
15581
15619
|
}
|
|
15582
15620
|
files.set(path27.join(layout2.root, "Package.swift"), manifest + moduleFiles);
|
|
15583
15621
|
} else {
|
|
@@ -15692,7 +15730,7 @@ module ${moduleName}.Swift {
|
|
|
15692
15730
|
siblings: moduleSiblings,
|
|
15693
15731
|
moduleRoot,
|
|
15694
15732
|
oneModule: input.oneModule,
|
|
15695
|
-
|
|
15733
|
+
gameProducts: gameProducts(input.files),
|
|
15696
15734
|
distribution: distribution ?? void 0,
|
|
15697
15735
|
moduleExcludes,
|
|
15698
15736
|
deferDarwinOverlay: native.size > 0 && toolsetOrdersLibcxxBeforeDarwinOverlay(
|
|
@@ -16099,14 +16137,9 @@ function linkedFrameworkTargets(moduleRoot, input) {
|
|
|
16099
16137
|
))
|
|
16100
16138
|
reach(match[1]);
|
|
16101
16139
|
}
|
|
16102
|
-
|
|
16103
|
-
|
|
16104
|
-
const wanted = [
|
|
16105
|
-
"PeachApp",
|
|
16106
|
-
...input.oneModule ? ["One"] : [],
|
|
16107
|
-
...importsSpriteKit(input.files) ? ["SpriteKit"] : [],
|
|
16108
|
-
...reached
|
|
16109
|
-
];
|
|
16140
|
+
const games = gameProducts(input.files);
|
|
16141
|
+
for (const product of games) for (const name2 of GAME_REACH[product] ?? []) reach(name2);
|
|
16142
|
+
const wanted = ["PeachApp", ...input.oneModule ? ["One"] : [], ...games, ...reached];
|
|
16110
16143
|
const linked = [...new Set(wanted)].filter((name2) => libraries.has(name2));
|
|
16111
16144
|
if (!linked.includes("PeachApp"))
|
|
16112
16145
|
throw new Error("swift-compile: the framework package declares no PeachApp library");
|
|
@@ -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 __defProp = Object.defineProperty;
|
|
@@ -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 __defProp = Object.defineProperty;
|
|
@@ -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;
|
package/dist-lib/swift.cjs
CHANGED
|
@@ -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 __defProp = Object.defineProperty;
|