peachsim 0.1.2225 → 0.1.2229
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/bridge-flow-runner.ts +56 -3
- package/cli/commands/control.ts +27 -1
- package/cli/commands/device.ts +1 -1
- package/cli/commands/flow.ts +27 -1
- package/cli/commands/package.ts +9 -2
- package/cli/drivers/playwright.ts +1 -0
- package/cli/drivers/types.ts +3 -0
- 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 +108 -13
- 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 +5 -2
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/expo-swift-bundle.cjs +106 -11
- 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 +108 -13
- package/dist-lib/host/fetch-proxy-handler.cjs +5 -5
- package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
- package/dist-lib/host/replacement-module-handler.cjs +1 -1
- package/dist-lib/host/websocket-proxy.cjs +1 -1
- package/dist-lib/index.cjs +8 -6
- 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 +16 -14
- package/dist-lib/menu.mjs +16 -14
- 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 +11 -4
- package/dist-lib/metro-production-bundle.mjs +10 -4
- package/dist-lib/metro.cjs +8 -6
- package/dist-lib/native-app-identity-project.cjs +6 -4
- package/dist-lib/native-app-identity-project.mjs +6 -4
- package/dist-lib/native-app-identity.cjs +1 -1
- package/dist-lib/native-app-identity.mjs +1 -1
- package/dist-lib/native-firebase-metadata.cjs +1 -1
- package/dist-lib/native-firebase-metadata.mjs +1 -1
- package/dist-lib/pdfium-raster.cjs +1 -1
- package/dist-lib/pdfium-raster.mjs +1 -1
- package/dist-lib/plist.cjs +1 -1
- package/dist-lib/plist.mjs +1 -1
- package/dist-lib/profiles.cjs +1 -1
- package/dist-lib/public-brand.cjs +1 -1
- package/dist-lib/public-origins-lib-esm.json +25 -24
- package/dist-lib/public-origins-lib.json +56 -53
- package/dist-lib/react-native-host-modules.cjs +1 -1
- package/dist-lib/react-native-host-modules.mjs +1 -1
- package/dist-lib/reap-browser.cjs +1 -1
- package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
- package/dist-lib/sdk.cjs +1 -1
- package/dist-lib/sdk.mjs +1 -1
- package/dist-lib/skills.cjs +183 -27
- package/dist-lib/swift-compile.cjs +68 -4
- package/dist-lib/swift-compile.mjs +67 -4
- 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 +105 -10
- package/dist-lib/vite.cjs +5 -5
- package/dist-lib/worklet-executable.cjs +1 -1
- package/dist-lib/worklet-executable.mjs +1 -1
- package/dist-types/packages/peach-engine/src/bundle-parse-receipt.d.ts +17 -0
- package/dist-types/packages/peach-engine/src/engine/canvaskit-api.d.ts +5 -1
- package/dist-types/packages/peach-engine/src/engine/font-config.d.ts +2 -2
- package/dist-types/packages/peach-engine/src/engine/native-layout.d.ts +11 -3
- package/dist-types/packages/peach-engine/src/engine/native-paragraph.d.ts +4 -0
- package/dist-types/packages/peach-engine/src/engine/node.d.ts +2 -0
- package/dist-types/packages/peach-engine/src/engine/scene-table.d.ts +1 -1
- package/dist-types/packages/peach-engine/src/engine/types.d.ts +9 -1
- package/dist-types/packages/peach-engine/src/engine/yoga-layout.d.ts +2 -0
- package/dist-types/packages/peach-engine/src/metro-fingerprint.d.ts +3 -2
- package/dist-types/packages/peach-engine/src/render-worker/compositor-protocol.d.ts +1 -0
- package/dist-types/packages/peach-engine/src/render-worker/protocol.d.ts +3 -3
- package/dist-types/packages/peach-engine/src/rolldown-bundle-inventory.d.ts +0 -5
- package/dist-types/packages/peach-kit/src/capabilities.d.ts +2 -0
- package/dist-types/packages/peach-kit/src/internal.d.ts +1 -1
- package/dist-types/packages/peach-kit/src/ios-tint.d.ts +2 -0
- package/kotlin/sdk.tar.gz +0 -0
- package/package.json +1 -1
- package/runtime-companion.json +1 -1
- package/sdk/ios/System/Library/Frameworks/UIKit.framework/Headers/UIControl.h +0 -26
- package/sdk/ios/System/Library/Frameworks/UIKitTypes.framework/Headers/UIKitTypes.h +27 -0
- package/sdk/ios/usr/include/ObjectiveC.apinotes +380 -7
- package/src/appPackageContract.ts +1 -1
- package/src/menu.ts +17 -99
- package/src/menuContract.ts +102 -0
- package/src/metro-production-bundle.ts +15 -2
- package/src/settingsContract.ts +8 -8
- package/src/swift-compile.ts +77 -2
- package/src/swift-host.ts +27 -2
- package/src/swift-standin-emit.ts +1 -0
- package/src/swift-standins.ts +8 -0
- package/src/xcode-project.ts +8 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2229 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
|
|
3
3
|
// src/swift-compile.ts
|
|
4
4
|
import {
|
|
@@ -12084,6 +12084,20 @@ var clangInterfaceHeader = (header) => header.replace(/^@import (?:UIKitCore|UIK
|
|
|
12084
12084
|
/^@import (?:CoreFoundation|FoundationNetworking);$/gm,
|
|
12085
12085
|
"@import Foundation;"
|
|
12086
12086
|
).replace(/\b_TtC10Foundation\d+(NS\w+)\b/g, "$1").replace(/\b__attribute__\(\(objc_subclassing_restricted\)\)\s*/g, "");
|
|
12087
|
+
function swiftHeaderWithSuperclassImports(header, interfaceFor) {
|
|
12088
|
+
const superclasses = new Set(
|
|
12089
|
+
[...header.matchAll(/@interface\s+\w+\s*:\s*(\w+)/g)].map((match) => match[1])
|
|
12090
|
+
);
|
|
12091
|
+
return header.replace(/^@import (\w+);$/gm, (statement, name2) => {
|
|
12092
|
+
const dependency = interfaceFor(name2);
|
|
12093
|
+
if (!dependency || ![...swiftInterfaceDeclarations(dependency.header)].some(
|
|
12094
|
+
(name3) => superclasses.has(name3)
|
|
12095
|
+
))
|
|
12096
|
+
return statement;
|
|
12097
|
+
return `${statement}
|
|
12098
|
+
#import ${JSON.stringify(dependency.file)}`;
|
|
12099
|
+
});
|
|
12100
|
+
}
|
|
12087
12101
|
var swiftInterfaceDeclarations = (header) => /* @__PURE__ */ new Set([
|
|
12088
12102
|
...[
|
|
12089
12103
|
...header.matchAll(
|
|
@@ -12441,7 +12455,7 @@ var OPTIONAL_FRAMEWORKS = new Set(Object.keys(OPTIONAL_FRAMEWORK_DEPENDENCIES));
|
|
|
12441
12455
|
function swiftOptionalFramework(name2) {
|
|
12442
12456
|
return OPTIONAL_FRAMEWORKS.has(name2);
|
|
12443
12457
|
}
|
|
12444
|
-
var SWIFT_IMPORT = /^\s*(?:@\w+(?:\([^)]*\))?\s+)*import\s+(?:(?:typealias|struct|class|enum|protocol|let|var|func)\s+)?([A-Za-z_][A-Za-z0-9_]*)/;
|
|
12458
|
+
var SWIFT_IMPORT = /^\s*(?:@\w+(?:\([^)]*\))?\s+|(?:public|package|internal|fileprivate|private)\s+)*import\s+(?:(?:typealias|struct|class|enum|protocol|let|var|func)\s+)?([A-Za-z_][A-Za-z0-9_]*)/;
|
|
12445
12459
|
var kleeneNot = (value) => value === void 0 ? void 0 : !value;
|
|
12446
12460
|
var kleeneAnd = (left, right) => left === false || right === false ? false : left === true && right === true ? true : void 0;
|
|
12447
12461
|
var kleeneOr = (left, right) => left === true || right === true ? true : left === false && right === false ? false : void 0;
|
|
@@ -12942,7 +12956,7 @@ var darwinRecordsRegion = (quoted2) => quoted2.length ? ["-Wl,--start-lib", ...q
|
|
|
12942
12956
|
var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
|
|
12943
12957
|
var MULTI_MANIFEST_VERSION = 68;
|
|
12944
12958
|
var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
|
|
12945
|
-
var compilerSourceDigest = true ? "
|
|
12959
|
+
var compilerSourceDigest = true ? "280e858b01b1c1393d3765c8d6ff1b3ce4a1a93d7fb7e3dd2d4d3e5f1d5f1ac2" : swiftCompilerSourceDigest(import.meta.dirname);
|
|
12946
12960
|
function swiftArtifactHash(input, release, moduleRoot) {
|
|
12947
12961
|
const hash = createHash13("sha256");
|
|
12948
12962
|
hash.update(`swift-compile
|
|
@@ -17248,6 +17262,51 @@ function compileSwiftProjectOnce(input, options) {
|
|
|
17248
17262
|
if (existsSync5(linked) && statSync2(linked).size <= 8)
|
|
17249
17263
|
rmSync7(linked, { force: true });
|
|
17250
17264
|
report("compiling and linking Swift modules");
|
|
17265
|
+
const frameworkInterfaces = /* @__PURE__ */ new Map();
|
|
17266
|
+
const frameworkInterface = (name2) => {
|
|
17267
|
+
if (frameworkInterfaces.has(name2)) return frameworkInterfaces.get(name2);
|
|
17268
|
+
const source = distribution ? path27.join(frameworkRoot, "modules", `${name2}-Swift.h`) : path27.join(
|
|
17269
|
+
prebuilt.modules,
|
|
17270
|
+
"..",
|
|
17271
|
+
`${name2}.build/include/${name2}-Swift.h`
|
|
17272
|
+
);
|
|
17273
|
+
if (!existsSync5(source)) {
|
|
17274
|
+
frameworkInterfaces.set(name2, null);
|
|
17275
|
+
return null;
|
|
17276
|
+
}
|
|
17277
|
+
const headers = path27.join(
|
|
17278
|
+
swiftSdkPaths(frameworkRoot, options.toolchainBin).darwin,
|
|
17279
|
+
`System/Library/Frameworks/${name2}.framework/Headers`
|
|
17280
|
+
);
|
|
17281
|
+
const declared = /* @__PURE__ */ new Set();
|
|
17282
|
+
if (existsSync5(headers)) {
|
|
17283
|
+
for (const file of readdirSync8(headers, {
|
|
17284
|
+
recursive: true,
|
|
17285
|
+
encoding: "utf8"
|
|
17286
|
+
}))
|
|
17287
|
+
if (file.endsWith(".h"))
|
|
17288
|
+
for (const name3 of swiftInterfaceDeclarations(
|
|
17289
|
+
readFileSync17(path27.join(headers, file), "utf8")
|
|
17290
|
+
))
|
|
17291
|
+
declared.add(name3);
|
|
17292
|
+
}
|
|
17293
|
+
const header = withoutSwiftDeclarations(
|
|
17294
|
+
clangInterfaceHeader(readFileSync17(source, "utf8")),
|
|
17295
|
+
declared,
|
|
17296
|
+
`#import <${name2}/${name2}.h>`
|
|
17297
|
+
);
|
|
17298
|
+
const value = {
|
|
17299
|
+
file: path27.join(root, ".build/peach-framework-objc", `${name2}-Swift.h`),
|
|
17300
|
+
header
|
|
17301
|
+
};
|
|
17302
|
+
frameworkInterfaces.set(name2, value);
|
|
17303
|
+
writeBuildFile(
|
|
17304
|
+
value.file,
|
|
17305
|
+
(existsSync5(path27.join(headers, `${name2}.h`)) ? `#import <${name2}/${name2}.h>
|
|
17306
|
+
` : "") + swiftHeaderWithSuperclassImports(header, frameworkInterface)
|
|
17307
|
+
);
|
|
17308
|
+
return value;
|
|
17309
|
+
};
|
|
17251
17310
|
try {
|
|
17252
17311
|
const headerBuilds = preparation.headerProductTarget ? [
|
|
17253
17312
|
...Object.keys(preparation.nativeHeaderDeclarations),
|
|
@@ -17275,7 +17334,10 @@ function compileSwiftProjectOnce(input, options) {
|
|
|
17275
17334
|
writeBuildFile(
|
|
17276
17335
|
emitted,
|
|
17277
17336
|
withoutSwiftDeclarations(
|
|
17278
|
-
|
|
17337
|
+
swiftHeaderWithSuperclassImports(
|
|
17338
|
+
clangInterfaceHeader(readFileSync17(original, "utf8")),
|
|
17339
|
+
frameworkInterface
|
|
17340
|
+
),
|
|
17279
17341
|
new Set(preparation.nativeHeaderDeclarations[producer]),
|
|
17280
17342
|
`#import <${producer}/${producer}.h>`
|
|
17281
17343
|
)
|
|
@@ -17450,6 +17512,7 @@ export {
|
|
|
17450
17512
|
swiftCompileSdkOptions,
|
|
17451
17513
|
swiftCrossImportFlags,
|
|
17452
17514
|
swiftDistributionAt,
|
|
17515
|
+
swiftHeaderWithSuperclassImports,
|
|
17453
17516
|
swiftIcuAddress,
|
|
17454
17517
|
swiftIcuAsset,
|
|
17455
17518
|
swiftIcuBundleAsset,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2229 | (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.2229 | (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.2229 | (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.2229 | (c) 2026 Tamagui LLC | Proprietary; see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = '', __sootsim_import_meta_dirname = '', __sootsim_import_meta_filename = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; __sootsim_import_meta_dirname = __dirname; __sootsim_import_meta_filename = __filename; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/vite-swift.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2229 | (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": "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": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.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": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "774c42f06f8d5c1f3f3a09f94379db2046af0016f1fcd6cbe595a9c2da5dcf95", "xcode-target-members.ts": "d49af77a690cff481b38333b5f63f6600123b1bb57f410b0adb298b010d2047b", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
|
|
43
43
|
}
|
|
44
44
|
});
|
|
45
45
|
|
|
@@ -7102,7 +7102,7 @@ function emitSwiftStandin(sourceGraphs, options) {
|
|
|
7102
7102
|
"Equatable",
|
|
7103
7103
|
"CustomStringConvertible",
|
|
7104
7104
|
"CustomDebugStringConvertible"
|
|
7105
|
-
].includes(name3)) && !(name3 === nsObjectProtocol && externalRoot(id) === nsObject) && !options.unconformed?.get(path51)?.has(name3)
|
|
7105
|
+
].includes(name3)) && !(name3 === nsObjectProtocol && externalRoot(id) === nsObject) && !options.unconformed?.get(path51)?.has(name3.split(/::|\./).pop()) && !options.unconformed?.get(path51)?.has(name3)
|
|
7106
7106
|
)
|
|
7107
7107
|
].filter((name3, at, all2) => all2.indexOf(name3) === at);
|
|
7108
7108
|
const parentSymbol = superId.has(id) ? byId.get(superId.get(id)) : void 0;
|
|
@@ -16960,6 +16960,20 @@ var clangInterfaceHeader = (header) => header.replace(/^@import (?:UIKitCore|UIK
|
|
|
16960
16960
|
/^@import (?:CoreFoundation|FoundationNetworking);$/gm,
|
|
16961
16961
|
"@import Foundation;"
|
|
16962
16962
|
).replace(/\b_TtC10Foundation\d+(NS\w+)\b/g, "$1").replace(/\b__attribute__\(\(objc_subclassing_restricted\)\)\s*/g, "");
|
|
16963
|
+
function swiftHeaderWithSuperclassImports(header, interfaceFor) {
|
|
16964
|
+
const superclasses = new Set(
|
|
16965
|
+
[...header.matchAll(/@interface\s+\w+\s*:\s*(\w+)/g)].map((match) => match[1])
|
|
16966
|
+
);
|
|
16967
|
+
return header.replace(/^@import (\w+);$/gm, (statement, name3) => {
|
|
16968
|
+
const dependency = interfaceFor(name3);
|
|
16969
|
+
if (!dependency || ![...swiftInterfaceDeclarations(dependency.header)].some(
|
|
16970
|
+
(name4) => superclasses.has(name4)
|
|
16971
|
+
))
|
|
16972
|
+
return statement;
|
|
16973
|
+
return `${statement}
|
|
16974
|
+
#import ${JSON.stringify(dependency.file)}`;
|
|
16975
|
+
});
|
|
16976
|
+
}
|
|
16963
16977
|
var swiftInterfaceDeclarations = (header) => /* @__PURE__ */ new Set([
|
|
16964
16978
|
...[
|
|
16965
16979
|
...header.matchAll(
|
|
@@ -17313,7 +17327,7 @@ var OPTIONAL_FRAMEWORKS = new Set(Object.keys(OPTIONAL_FRAMEWORK_DEPENDENCIES));
|
|
|
17313
17327
|
function swiftOptionalFramework(name3) {
|
|
17314
17328
|
return OPTIONAL_FRAMEWORKS.has(name3);
|
|
17315
17329
|
}
|
|
17316
|
-
var SWIFT_IMPORT = /^\s*(?:@\w+(?:\([^)]*\))?\s+)*import\s+(?:(?:typealias|struct|class|enum|protocol|let|var|func)\s+)?([A-Za-z_][A-Za-z0-9_]*)/;
|
|
17330
|
+
var SWIFT_IMPORT = /^\s*(?:@\w+(?:\([^)]*\))?\s+|(?:public|package|internal|fileprivate|private)\s+)*import\s+(?:(?:typealias|struct|class|enum|protocol|let|var|func)\s+)?([A-Za-z_][A-Za-z0-9_]*)/;
|
|
17317
17331
|
var kleeneNot = (value) => value === void 0 ? void 0 : !value;
|
|
17318
17332
|
var kleeneAnd = (left, right) => left === false || right === false ? false : left === true && right === true ? true : void 0;
|
|
17319
17333
|
var kleeneOr = (left, right) => left === true || right === true ? true : left === false && right === false ? false : void 0;
|
|
@@ -17814,7 +17828,7 @@ var darwinRecordsRegion = (quoted2) => quoted2.length ? ["-Wl,--start-lib", ...q
|
|
|
17814
17828
|
var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
|
|
17815
17829
|
var MULTI_MANIFEST_VERSION = 68;
|
|
17816
17830
|
var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
|
|
17817
|
-
var compilerSourceDigest = true ? "
|
|
17831
|
+
var compilerSourceDigest = true ? "280e858b01b1c1393d3765c8d6ff1b3ce4a1a93d7fb7e3dd2d4d3e5f1d5f1ac2" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
|
|
17818
17832
|
function swiftArtifactHash(input, release, moduleRoot) {
|
|
17819
17833
|
const hash = (0, import_node_crypto13.createHash)("sha256");
|
|
17820
17834
|
hash.update(`swift-compile
|
|
@@ -22027,6 +22041,51 @@ function compileSwiftProjectOnce(input, options) {
|
|
|
22027
22041
|
if ((0, import_node_fs27.existsSync)(linked) && (0, import_node_fs27.statSync)(linked).size <= 8)
|
|
22028
22042
|
(0, import_node_fs27.rmSync)(linked, { force: true });
|
|
22029
22043
|
report("compiling and linking Swift modules");
|
|
22044
|
+
const frameworkInterfaces = /* @__PURE__ */ new Map();
|
|
22045
|
+
const frameworkInterface = (name3) => {
|
|
22046
|
+
if (frameworkInterfaces.has(name3)) return frameworkInterfaces.get(name3);
|
|
22047
|
+
const source = distribution ? import_node_path27.default.join(frameworkRoot, "modules", `${name3}-Swift.h`) : import_node_path27.default.join(
|
|
22048
|
+
prebuilt.modules,
|
|
22049
|
+
"..",
|
|
22050
|
+
`${name3}.build/include/${name3}-Swift.h`
|
|
22051
|
+
);
|
|
22052
|
+
if (!(0, import_node_fs27.existsSync)(source)) {
|
|
22053
|
+
frameworkInterfaces.set(name3, null);
|
|
22054
|
+
return null;
|
|
22055
|
+
}
|
|
22056
|
+
const headers = import_node_path27.default.join(
|
|
22057
|
+
swiftSdkPaths(frameworkRoot, options.toolchainBin).darwin,
|
|
22058
|
+
`System/Library/Frameworks/${name3}.framework/Headers`
|
|
22059
|
+
);
|
|
22060
|
+
const declared = /* @__PURE__ */ new Set();
|
|
22061
|
+
if ((0, import_node_fs27.existsSync)(headers)) {
|
|
22062
|
+
for (const file of (0, import_node_fs27.readdirSync)(headers, {
|
|
22063
|
+
recursive: true,
|
|
22064
|
+
encoding: "utf8"
|
|
22065
|
+
}))
|
|
22066
|
+
if (file.endsWith(".h"))
|
|
22067
|
+
for (const name4 of swiftInterfaceDeclarations(
|
|
22068
|
+
(0, import_node_fs27.readFileSync)(import_node_path27.default.join(headers, file), "utf8")
|
|
22069
|
+
))
|
|
22070
|
+
declared.add(name4);
|
|
22071
|
+
}
|
|
22072
|
+
const header = withoutSwiftDeclarations(
|
|
22073
|
+
clangInterfaceHeader((0, import_node_fs27.readFileSync)(source, "utf8")),
|
|
22074
|
+
declared,
|
|
22075
|
+
`#import <${name3}/${name3}.h>`
|
|
22076
|
+
);
|
|
22077
|
+
const value = {
|
|
22078
|
+
file: import_node_path27.default.join(root, ".build/peach-framework-objc", `${name3}-Swift.h`),
|
|
22079
|
+
header
|
|
22080
|
+
};
|
|
22081
|
+
frameworkInterfaces.set(name3, value);
|
|
22082
|
+
writeBuildFile(
|
|
22083
|
+
value.file,
|
|
22084
|
+
((0, import_node_fs27.existsSync)(import_node_path27.default.join(headers, `${name3}.h`)) ? `#import <${name3}/${name3}.h>
|
|
22085
|
+
` : "") + swiftHeaderWithSuperclassImports(header, frameworkInterface)
|
|
22086
|
+
);
|
|
22087
|
+
return value;
|
|
22088
|
+
};
|
|
22030
22089
|
try {
|
|
22031
22090
|
const headerBuilds = preparation.headerProductTarget ? [
|
|
22032
22091
|
...Object.keys(preparation.nativeHeaderDeclarations),
|
|
@@ -22054,7 +22113,10 @@ function compileSwiftProjectOnce(input, options) {
|
|
|
22054
22113
|
writeBuildFile(
|
|
22055
22114
|
emitted,
|
|
22056
22115
|
withoutSwiftDeclarations(
|
|
22057
|
-
|
|
22116
|
+
swiftHeaderWithSuperclassImports(
|
|
22117
|
+
clangInterfaceHeader((0, import_node_fs27.readFileSync)(original, "utf8")),
|
|
22118
|
+
frameworkInterface
|
|
22119
|
+
),
|
|
22058
22120
|
new Set(preparation.nativeHeaderDeclarations[producer]),
|
|
22059
22121
|
`#import <${producer}/${producer}.h>`
|
|
22060
22122
|
)
|
|
@@ -29914,7 +29976,7 @@ function readXcodeAppTarget(input, targetName, configurationName, options = {})
|
|
|
29914
29976
|
const postBundleScripts = [];
|
|
29915
29977
|
for (const id of [...list(app.target.buildPhases)].reverse()) {
|
|
29916
29978
|
const phase = app.project.object(id);
|
|
29917
|
-
if (phase?.isa !== "PBXShellScriptBuildPhase" || list(phase.
|
|
29979
|
+
if (phase?.isa !== "PBXShellScriptBuildPhase" || list(phase.outputPaths).length || list(phase.outputFileListPaths).length)
|
|
29918
29980
|
break;
|
|
29919
29981
|
postBundleScripts.unshift({
|
|
29920
29982
|
name: str(phase.name) ?? id,
|
|
@@ -29923,6 +29985,8 @@ function readXcodeAppTarget(input, targetName, configurationName, options = {})
|
|
|
29923
29985
|
str(phase.shellScript) ?? ""
|
|
29924
29986
|
),
|
|
29925
29987
|
directory: app.project.projectDir,
|
|
29988
|
+
inputPaths: list(phase.inputPaths),
|
|
29989
|
+
inputFileListPaths: list(phase.inputFileListPaths),
|
|
29926
29990
|
environment: Object.fromEntries(
|
|
29927
29991
|
[...settingKeys].filter((key2) => /^[A-Za-z_][A-Za-z0-9_]*$/.test(key2)).map((key2) => [key2, settings(key2)])
|
|
29928
29992
|
)
|
|
@@ -31378,7 +31442,7 @@ function sourceClosureDigest(srcDir, entrypoints) {
|
|
|
31378
31442
|
return hash.digest("hex");
|
|
31379
31443
|
}
|
|
31380
31444
|
var standinSourceDigest = (srcDir = __sootsim_import_meta_dirname) => sourceClosureDigest(srcDir, STANDIN_DIGEST_ENTRYPOINTS);
|
|
31381
|
-
var STANDIN_SOURCE_DIGEST = true ? "
|
|
31445
|
+
var STANDIN_SOURCE_DIGEST = true ? "f8700690d0cd621b5d9417ea570f1f45c7ec1ad54492b23aa9792102938e9e82" : standinSourceDigest();
|
|
31382
31446
|
|
|
31383
31447
|
// src/swift-standins.ts
|
|
31384
31448
|
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
@@ -33599,6 +33663,13 @@ function graphStandin(module2, graphs, values, wasm, binary, toolchain, work, re
|
|
|
33599
33663
|
unconformed.set(owner, /* @__PURE__ */ new Set([...unconformed.get(owner) ?? [], conformance]));
|
|
33600
33664
|
continue;
|
|
33601
33665
|
}
|
|
33666
|
+
const redundant = /^redundant conformance of '\w+' to protocol '(\w+)'$/.exec(
|
|
33667
|
+
match[3]
|
|
33668
|
+
)?.[1];
|
|
33669
|
+
if (owner && redundant) {
|
|
33670
|
+
unconformed.set(owner, /* @__PURE__ */ new Set([...unconformed.get(owner) ?? [], redundant]));
|
|
33671
|
+
continue;
|
|
33672
|
+
}
|
|
33602
33673
|
if (owner && swiftPaths.has(owner))
|
|
33603
33674
|
throw new Error(
|
|
33604
33675
|
`Swift declaration ${module2}.${owner} does not typecheck: ${match[3]}`
|
|
@@ -37951,11 +38022,35 @@ function buildSwiftBundleFiles(packagePath, hosted, inputs, resourceBundles) {
|
|
|
37951
38022
|
CONTENTS_FOLDER_PATH: wrapper,
|
|
37952
38023
|
UNLOCALIZED_RESOURCES_FOLDER_PATH: wrapper,
|
|
37953
38024
|
INFOPLIST_PATH: `${wrapper}/Info.plist`,
|
|
37954
|
-
SCRIPT_INPUT_FILE_COUNT:
|
|
37955
|
-
SCRIPT_INPUT_FILE_LIST_COUNT:
|
|
38025
|
+
SCRIPT_INPUT_FILE_COUNT: String(phase.inputPaths.length),
|
|
38026
|
+
SCRIPT_INPUT_FILE_LIST_COUNT: String(phase.inputFileListPaths.length),
|
|
37956
38027
|
SCRIPT_OUTPUT_FILE_COUNT: "0",
|
|
37957
38028
|
SCRIPT_OUTPUT_FILE_LIST_COUNT: "0"
|
|
37958
38029
|
};
|
|
38030
|
+
const inputPath = (raw2) => {
|
|
38031
|
+
const file = import_node_path55.default.resolve(
|
|
38032
|
+
phase.directory,
|
|
38033
|
+
expand(raw2, (key2) => env[key2] ?? "")
|
|
38034
|
+
);
|
|
38035
|
+
if (!import_node_fs54.default.existsSync(file))
|
|
38036
|
+
throw new Error(
|
|
38037
|
+
`${xcode.app.name}: Run Script "${phase.name}" missing input ${file}`
|
|
38038
|
+
);
|
|
38039
|
+
if (!file.startsWith(`${dir}${import_node_path55.default.sep}`))
|
|
38040
|
+
watched.push(import_node_path55.default.relative(packagePath, file).split(import_node_path55.default.sep).join("/"));
|
|
38041
|
+
return file;
|
|
38042
|
+
};
|
|
38043
|
+
phase.inputPaths.forEach((raw2, index) => {
|
|
38044
|
+
env[`SCRIPT_INPUT_FILE_${index}`] = inputPath(raw2);
|
|
38045
|
+
});
|
|
38046
|
+
phase.inputFileListPaths.forEach((raw2, index) => {
|
|
38047
|
+
const source = inputPath(raw2);
|
|
38048
|
+
const entries = fileListEntries(source, inputPath);
|
|
38049
|
+
const expanded = import_node_path55.default.join(dir, `Input-${index}.xcfilelist`);
|
|
38050
|
+
import_node_fs54.default.writeFileSync(expanded, `${entries.join("\n")}
|
|
38051
|
+
`);
|
|
38052
|
+
env[`SCRIPT_INPUT_FILE_LIST_${index}`] = expanded;
|
|
38053
|
+
});
|
|
37959
38054
|
try {
|
|
37960
38055
|
const [shell, ...args] = phase.command;
|
|
37961
38056
|
(0, import_node_child_process34.execFileSync)(shell, args, {
|
package/dist-lib/vite.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2229 | (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": "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": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.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": "bfde06f157f52d3dd76577b3c6059c95c0393180b054ced773624ea89558992b", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "8deef5a824ed49209458a4b398cd8e88df260a0c8f1894d568279f6211866547", "home-paths.ts": "d1606390f0e8e50f0ff72544eadb3d49dfabf08e004c1218f2998c36fb8995dd", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "774c42f06f8d5c1f3f3a09f94379db2046af0016f1fcd6cbe595a9c2da5dcf95", "xcode-target-members.ts": "d49af77a690cff481b38333b5f63f6600123b1bb57f410b0adb298b010d2047b", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
|
|
43
43
|
}
|
|
44
44
|
});
|
|
45
45
|
|
|
@@ -1072,7 +1072,7 @@ var init_src = __esm({
|
|
|
1072
1072
|
var runtime_companion_default;
|
|
1073
1073
|
var init_runtime_companion = __esm({
|
|
1074
1074
|
"runtime-companion.json"() {
|
|
1075
|
-
runtime_companion_default = { abi: 1, sha256: "
|
|
1075
|
+
runtime_companion_default = { abi: 1, sha256: "00799b02f54a61aa35db60817d564847a255eef875cbc7225013f1f27991ccde", file: "node/cli-00799b02f54a61aa35db60817d564847a255eef875cbc7225013f1f27991ccde.cjs" };
|
|
1076
1076
|
}
|
|
1077
1077
|
});
|
|
1078
1078
|
|
|
@@ -3228,7 +3228,7 @@ function readIosSdkTree(root) {
|
|
|
3228
3228
|
|
|
3229
3229
|
// src/swift-standin-digest.ts
|
|
3230
3230
|
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
3231
|
-
var STANDIN_SOURCE_DIGEST = true ? "
|
|
3231
|
+
var STANDIN_SOURCE_DIGEST = true ? "f8700690d0cd621b5d9417ea570f1f45c7ec1ad54492b23aa9792102938e9e82" : standinSourceDigest();
|
|
3232
3232
|
|
|
3233
3233
|
// src/expo-native-workspace.ts
|
|
3234
3234
|
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
@@ -6785,7 +6785,7 @@ var FOUNDATION_IMPLICIT_MODULES = [
|
|
|
6785
6785
|
var FOUNDATION_IMPLICIT_FLAGS = FOUNDATION_IMPLICIT_MODULES.map(
|
|
6786
6786
|
(module2) => `, "-Xfrontend", "-import-module", "-Xfrontend", "${module2}"`
|
|
6787
6787
|
).join("");
|
|
6788
|
-
var compilerSourceDigest = true ? "
|
|
6788
|
+
var compilerSourceDigest = true ? "280e858b01b1c1393d3765c8d6ff1b3ce4a1a93d7fb7e3dd2d4d3e5f1d5f1ac2" : swiftCompilerSourceDigest2(__sootsim_import_meta_dirname);
|
|
6789
6789
|
var CORE_FOUNDATION_HANDLE_IMPORTS = [
|
|
6790
6790
|
"CFAllocator",
|
|
6791
6791
|
"CFArray",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2229 | (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;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { RolldownBundleInventory } from './rolldown-bundle-inventory.d.ts';
|
|
2
|
+
export type MetroBundleLayout = RNXMetroBundleLayout;
|
|
3
|
+
import type { RNXMetroBundleLayout } from '../../../../src/metro-production-bundle.ts';
|
|
4
|
+
export type BundleParseReceipt = {
|
|
5
|
+
kind: 'rolldown';
|
|
6
|
+
key: string;
|
|
7
|
+
inventory: RolldownBundleInventory;
|
|
8
|
+
} | {
|
|
9
|
+
kind: 'metro';
|
|
10
|
+
key: string;
|
|
11
|
+
layout: MetroBundleLayout;
|
|
12
|
+
};
|
|
13
|
+
export declare function carryBundleParse(receipt: BundleParseReceipt | null, report: (receipt: BundleParseReceipt) => void): void;
|
|
14
|
+
export declare function sha256Hex(text: string): Promise<string>;
|
|
15
|
+
export declare function bundleParseKey(textHash: string): string;
|
|
16
|
+
export declare function takeCarriedBundleParse(key: string): BundleParseReceipt | null;
|
|
17
|
+
export declare function reportBundleParse(receipt: BundleParseReceipt): void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { RuntimePlatform } from '../../../../../src/device-catalog.ts';
|
|
2
2
|
import type { CanvasKitReanimatedApi } from './nativeReanimatedContract.d.ts';
|
|
3
3
|
import type { CanvasKitReplayApi } from './nativeReplayContract.d.ts';
|
|
4
|
-
import type { Canvas, CanvasKit, ImageFilter, Image, RuntimeEffect, Surface, SkPicture } from 'canvaskit-wasm';
|
|
4
|
+
import type { Canvas, FontCollection, Paragraph, CanvasKit, ImageFilter, Image, RuntimeEffect, Surface, SkPicture } from 'canvaskit-wasm';
|
|
5
5
|
export interface CanvasKitSvgPaintApi {
|
|
6
6
|
p18(): RuntimeEffect;
|
|
7
7
|
p17(k1: number, k2: number, k3: number, k4: number, android: boolean, in1: ImageFilter | null, in2: ImageFilter | null): ImageFilter;
|
|
@@ -50,6 +50,10 @@ export interface CanvasKitGifApi {
|
|
|
50
50
|
_peachSkottieGifDemand(json: string, assets?: Record<string, ArrayBuffer | Uint8Array>): number;
|
|
51
51
|
}
|
|
52
52
|
export interface CanvasKitTextDataApi {
|
|
53
|
+
_peachRetainLayoutParagraph(slot: number, paragraph: Paragraph): void;
|
|
54
|
+
_peachLayoutParagraph(slot: number, width: number): Paragraph | null;
|
|
55
|
+
_peachReleaseLayoutParagraph(slot: number): void;
|
|
56
|
+
_peachMakeParagraph(collection: FontCollection, pointer: number, length: number): Paragraph | null;
|
|
53
57
|
HEAPU8: Uint8Array;
|
|
54
58
|
_malloc(length: number): number;
|
|
55
59
|
_free(pointer: number): void;
|
|
@@ -2,7 +2,7 @@ import { SF_PRO_FONT_URL } from './generated/sf-pro-font.d.ts';
|
|
|
2
2
|
import type { DeviceSpec, RuntimePlatform } from '../../../../../src/device-catalog.ts';
|
|
3
3
|
import type { CanvasKitRenderingApi } from './canvaskit-api.d.ts';
|
|
4
4
|
import type { SootSimStyle } from './types.d.ts';
|
|
5
|
-
import type { FontMgr,
|
|
5
|
+
import type { FontMgr, ParagraphStyle } from 'canvaskit-wasm';
|
|
6
6
|
export declare const DEFAULT_FONT_FAMILY = "SF Pro";
|
|
7
7
|
export declare const SF_PRO_VERTICAL_METRICS: {
|
|
8
8
|
ascender: number;
|
|
@@ -105,7 +105,7 @@ export declare function noteTextSymbolRegistered(): void;
|
|
|
105
105
|
export declare function registerEngineFontFamily(family: string): void;
|
|
106
106
|
export declare function markSystemNamedFaceFamily(face: SystemNamedFace): void;
|
|
107
107
|
export declare function registerLazySystemFontFamily(family: string): void;
|
|
108
|
-
export declare function makeParagraphBuilder(ck: CanvasKitRenderingApi, style: ParagraphStyle, fontMgr: FontMgr):
|
|
108
|
+
export declare function makeParagraphBuilder(ck: CanvasKitRenderingApi, style: ParagraphStyle, fontMgr: FontMgr): import("./native-paragraph.d.ts").NativeParagraphBuilder;
|
|
109
109
|
export declare function registerEngineAppFontFace(aliases: readonly string[], face: AppFontFaceStyle): void;
|
|
110
110
|
export declare function isFontFamilyRegistered(family: string): boolean;
|
|
111
111
|
export declare function getRegisteredFontFamilies(): string[];
|
|
@@ -11,13 +11,13 @@ export interface NativeLayoutExports {
|
|
|
11
11
|
_peach_layout_values(): number;
|
|
12
12
|
_peach_layout_units(): number;
|
|
13
13
|
_peach_layout_enums(): number;
|
|
14
|
-
_peach_layout_scratch(): number;
|
|
15
14
|
_peach_layout_node_new(slot: number, pointScaleFactor: number, measured: number): void;
|
|
16
15
|
_peach_layout_node_free(slot: number): void;
|
|
17
16
|
_peach_layout_subtree_free(root: number): number;
|
|
18
17
|
_peach_layout_freed_nodes(): number;
|
|
19
18
|
_peach_layout_bind(slot: number, tag: number, observers: number, scale: number): void;
|
|
20
19
|
_peach_layout_apply(slot: number): void;
|
|
20
|
+
_peach_layout_centered(slot: number, leading: number, trailing: number, margin: number, width: number, gap: number, ownerScale: number, leadingScale: number, trailingScale: number): void;
|
|
21
21
|
_peach_layout_alignment(slot: number, alignmentAxis: number, alignmentGuide: number, alignmentFraction: number, alignmentScale: number): void;
|
|
22
22
|
_peach_layout_attach(parent: number, child: number, index: number): void;
|
|
23
23
|
_peach_layout_detach(parent: number, child: number): void;
|
|
@@ -30,6 +30,8 @@ export interface NativeLayoutExports {
|
|
|
30
30
|
_peach_layout_owner(slot: number): number;
|
|
31
31
|
_peach_layout_child_count(slot: number): number;
|
|
32
32
|
_peach_layout_mark_dirty(slot: number): void;
|
|
33
|
+
_peach_layout_text_policy(slot: number, policy: number, scale: number): void;
|
|
34
|
+
_peach_layout_measure_result(width: number, height: number, cacheable: number): void;
|
|
33
35
|
_peach_layout_force(slot: number): void;
|
|
34
36
|
_peach_layout_force_subtree(slot: number): void;
|
|
35
37
|
_peach_layout_seen(slot: number): void;
|
|
@@ -44,6 +46,7 @@ export interface NativeLayoutExports {
|
|
|
44
46
|
readonly HEAP32: Int32Array;
|
|
45
47
|
readonly HEAPF32: Float32Array;
|
|
46
48
|
peachLayoutMeasure?: MeasureHook;
|
|
49
|
+
peachLayoutTextLines?: (slot: number) => void;
|
|
47
50
|
peachLayoutExit?: (slot: number) => void;
|
|
48
51
|
}
|
|
49
52
|
export type MeasureHook = (slot: number, width: number, widthMode: number, height: number, heightMode: number) => void;
|
|
@@ -135,6 +138,12 @@ export declare const OVERFLOW_SCROLL = 2;
|
|
|
135
138
|
export declare const DISPLAY_FLEX = 0;
|
|
136
139
|
export declare const DISPLAY_NONE = 1;
|
|
137
140
|
export declare const DISPLAY_CONTENTS = 2;
|
|
141
|
+
export declare const TEXT_MEASURE = 1;
|
|
142
|
+
export declare const TEXT_MEASURE_PAPER = 2;
|
|
143
|
+
export declare const TEXT_MEASURE_ZERO_PROPOSAL = 4;
|
|
144
|
+
export declare const TEXT_MEASURE_STRETCH = 8;
|
|
145
|
+
export declare const TEXT_MEASURE_LINE_EVENTS = 16;
|
|
146
|
+
export declare const TEXT_MEASURE_HEIGHT_PROPOSAL = 32;
|
|
138
147
|
export declare const MEASURE_MODE_UNDEFINED = 0;
|
|
139
148
|
export declare const MEASURE_MODE_EXACTLY = 1;
|
|
140
149
|
export declare const MEASURE_MODE_AT_MOST = 2;
|
|
@@ -143,6 +152,5 @@ export interface NativeLayout {
|
|
|
143
152
|
readonly values: number;
|
|
144
153
|
readonly units: number;
|
|
145
154
|
readonly enums: number;
|
|
146
|
-
readonly scratch: number;
|
|
147
155
|
}
|
|
148
|
-
export declare function bindNativeLayout(ck: CanvasKit, measure: MeasureHook, exit: (slot: number) => void): NativeLayout;
|
|
156
|
+
export declare function bindNativeLayout(ck: CanvasKit, measure: MeasureHook, textLines: (slot: number) => void, exit: (slot: number) => void): NativeLayout;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { CanvasKitRenderingApi } from './canvaskit-api.d.ts';
|
|
2
|
+
import type { FontCollection, ParagraphBuilder, ParagraphStyle } from 'canvaskit-wasm';
|
|
3
|
+
export type NativeParagraphBuilder = Pick<ParagraphBuilder, 'addText' | 'pushStyle' | 'pop' | 'addPlaceholder' | 'build' | 'reset' | 'delete'>;
|
|
4
|
+
export declare function makeNativeParagraphBuilder(ck: CanvasKitRenderingApi, style: ParagraphStyle, collection: FontCollection): NativeParagraphBuilder;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { DamageRect } from './damage-rect.d.ts';
|
|
2
2
|
import type { TextGuides } from './text-first-baseline.d.ts';
|
|
3
|
+
import type { CenteredLayoutPlacement } from './types.d.ts';
|
|
3
4
|
export { beginReadFrame, endReadFrame, readAnimatedValue, readPresentedAnimatedValue, } from './animated-value.d.ts';
|
|
4
5
|
import type { NativeRenderer } from '../../../../../src/config.ts';
|
|
5
6
|
import type { AndroidEdgeEffectState } from './android-stretch-effect.d.ts';
|
|
@@ -253,6 +254,7 @@ export declare class SootSimNode {
|
|
|
253
254
|
_memberVersion: number;
|
|
254
255
|
_memberOf: boolean;
|
|
255
256
|
_hookPlacement: LayoutHookPlacement | null;
|
|
257
|
+
_centeredPlacement: CenteredLayoutPlacement | null;
|
|
256
258
|
_onLayoutDispatchScheduled: boolean;
|
|
257
259
|
private _classicLayoutAnimFrom;
|
|
258
260
|
get _layoutAnimFrom(): SootSimLayout | null;
|
|
@@ -177,7 +177,7 @@ export interface SceneNativeBinding {
|
|
|
177
177
|
_peach_numeric_text_parameters(handle: number): number;
|
|
178
178
|
_peach_numeric_text_draw(canvas: number, handle: number, x: number, y: number, elapsed: number): void;
|
|
179
179
|
_peach_numeric_text_drop(handle: number): void;
|
|
180
|
-
_peach_scene_set_image(slot: number, image: number, padLeft: number, padTop: number, padRight: number, padBottom: number, srcLeft: number, srcTop: number, srcRight: number, srcBottom: number, offsetX: number, adjustX: number, offsetY: number, adjustY: number, width: number, height: number, repeat: number, mipmaps: number, tintR: number, tintG: number, tintB: number, tintA: number, alpha: number, shape: number, sampling: number): void;
|
|
180
|
+
_peach_scene_set_image(slot: number, image: number, padLeft: number, padTop: number, padRight: number, padBottom: number, srcLeft: number, srcTop: number, srcRight: number, srcBottom: number, offsetX: number, adjustX: number, offsetY: number, adjustY: number, width: number, height: number, repeat: number, mipmaps: number, tintR: number, tintG: number, tintB: number, tintA: number, alpha: number, shape: number, sampling: number, swiftPixelOrigin: number): void;
|
|
181
181
|
_peach_scene_set_picture(slot: number, picture: number, fontGeneration: number, drawnNodes: number): void;
|
|
182
182
|
_peach_scene_set_ink(slot: number, glass: number, id: number, label: number): void;
|
|
183
183
|
_peach_ink_draw_picture(canvas: number, picture: number, shader: number, text: number, left: number, top: number, right: number, bottom: number): void;
|
|
@@ -10,6 +10,13 @@ import type { FrameDamage } from './render-damage.d.ts';
|
|
|
10
10
|
import type { AttributedParagraphStyle } from './text-paragraphContract.d.ts';
|
|
11
11
|
import type { NumericTextPaintRequest } from '../../../peach-globals/src/index.d.ts';
|
|
12
12
|
import type { Surface, Canvas, FontMgr, Image as SkImage } from 'canvaskit-wasm';
|
|
13
|
+
export interface CenteredLayoutPlacement {
|
|
14
|
+
leading: unknown;
|
|
15
|
+
trailing: unknown;
|
|
16
|
+
margin: number;
|
|
17
|
+
width: number;
|
|
18
|
+
gap: number;
|
|
19
|
+
}
|
|
13
20
|
export type Falsy = undefined | null | false;
|
|
14
21
|
export type RecursiveArray<T> = Array<T | RecursiveArray<T>>;
|
|
15
22
|
export type StyleProp<T> = T | RecursiveArray<T | Falsy> | Falsy;
|
|
@@ -422,7 +429,7 @@ export interface SootSimStyle {
|
|
|
422
429
|
_boxShadowOpacity?: SootSimAnimatedNumber;
|
|
423
430
|
filter?: SootSimAnimatedFilter;
|
|
424
431
|
_filter?: ParsedFilterOp[];
|
|
425
|
-
mixBlendMode?: 'normal' | 'plus-lighter' | 'multiply' | 'screen' | 'overlay' | 'darken' | 'lighten' | 'color-dodge' | 'color-burn' | 'hard-light' | 'soft-light' | 'difference' | 'exclusion' | 'hue' | 'saturation' | 'color' | 'luminosity' | 'destination-out';
|
|
432
|
+
mixBlendMode?: 'normal' | 'plus-lighter' | 'plus-darker' | 'multiply' | 'screen' | 'overlay' | 'darken' | 'lighten' | 'color-dodge' | 'color-burn' | 'hard-light' | 'soft-light' | 'difference' | 'exclusion' | 'hue' | 'saturation' | 'color' | 'luminosity' | 'destination-out';
|
|
426
433
|
isolation?: 'auto' | 'isolate';
|
|
427
434
|
outlineWidth?: number;
|
|
428
435
|
outlineStyle?: 'solid' | 'dashed' | 'dotted';
|
|
@@ -458,6 +465,7 @@ export interface SootSimStyle {
|
|
|
458
465
|
_hyphenationLocale?: string;
|
|
459
466
|
_hyphenationFactor?: number;
|
|
460
467
|
_swiftUIText?: true;
|
|
468
|
+
_swiftUIPickerValue?: true;
|
|
461
469
|
_composeText?: true;
|
|
462
470
|
_androidTextView?: true;
|
|
463
471
|
_androidTextSize?: 'dimension' | 'sp';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type LayoutHookPlacement, SootSimNode } from './node.d.ts';
|
|
2
2
|
import { type TextGuides } from './text-first-baseline.d.ts';
|
|
3
|
+
import type { CenteredLayoutPlacement } from './types.d.ts';
|
|
3
4
|
import type { SootSimStyle, SootSimLayout, SootSimTextLayoutLine, MeasureContext } from './types.d.ts';
|
|
4
5
|
export declare function setLayoutEventDispatcher(dispatcher: ((callback: () => void) => void) | null): void;
|
|
5
6
|
export interface TextInkBox {
|
|
@@ -57,6 +58,7 @@ export declare function setLayoutHook(target: unknown, hook: ((view: SootSimNode
|
|
|
57
58
|
export declare function invalidateLayoutHook(target: unknown): void;
|
|
58
59
|
export declare function placeFromLayoutHook(target: unknown, placement: LayoutHookPlacement | null): void;
|
|
59
60
|
export declare function layoutHookFrame(target: unknown): SootSimLayout | null;
|
|
61
|
+
export declare function setCenteredLayout(target: unknown, placement: CenteredLayoutPlacement | null): void;
|
|
60
62
|
export declare function releaseYogaRoot(root: SootSimNode): void;
|
|
61
63
|
export declare function nestsInParkedYogaTree(root: SootSimNode, owner: SootSimNode): boolean;
|
|
62
64
|
export declare function parkYogaRoot(root: SootSimNode): boolean;
|