peachsim 0.1.2187 → 0.1.2188
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-lib/agent-daemon-client.cjs +1 -1
- package/dist-lib/agent-events.cjs +1 -1
- package/dist-lib/attached-projects.cjs +1 -1
- package/dist-lib/auth/shared-session.cjs +1 -1
- package/dist-lib/backend-origin.cjs +1 -1
- package/dist-lib/beta.cjs +1 -1
- package/dist-lib/beta.mjs +1 -1
- package/dist-lib/bridge-constants.cjs +1 -1
- package/dist-lib/bridge-contract-input.cjs +1 -1
- package/dist-lib/bridge-contract-input.mjs +1 -1
- package/dist-lib/bridge-contract.cjs +1 -1
- package/dist-lib/bridge-contract.mjs +1 -1
- package/dist-lib/bundle-channel.cjs +6 -6
- 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 +1 -1
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/expo-swift-bundle.cjs +5 -5
- 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 +6 -6
- package/dist-lib/host/fetch-proxy-handler.cjs +4 -4
- package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
- package/dist-lib/host/replacement-module-handler.cjs +1 -1
- package/dist-lib/host/websocket-proxy.cjs +1 -1
- package/dist-lib/index.cjs +4 -4
- package/dist-lib/jump-to-source-babel.cjs +1 -1
- package/dist-lib/jump-to-source-native.cjs +1 -1
- package/dist-lib/kotlin-host.cjs +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 +4 -4
- package/dist-lib/native-app-identity-project.cjs +3 -3
- package/dist-lib/native-app-identity-project.mjs +3 -3
- package/dist-lib/native-app-identity.cjs +1 -1
- package/dist-lib/native-app-identity.mjs +1 -1
- package/dist-lib/native-firebase-metadata.cjs +1 -1
- package/dist-lib/native-firebase-metadata.mjs +1 -1
- package/dist-lib/pdfium-raster.cjs +1 -1
- package/dist-lib/pdfium-raster.mjs +1 -1
- package/dist-lib/plist.cjs +1 -1
- package/dist-lib/plist.mjs +1 -1
- package/dist-lib/profiles.cjs +1 -1
- package/dist-lib/public-brand.cjs +1 -1
- package/dist-lib/public-origins-lib-esm.json +24 -24
- package/dist-lib/public-origins-lib.json +53 -53
- package/dist-lib/react-native-host-modules.cjs +1 -1
- package/dist-lib/react-native-host-modules.mjs +1 -1
- package/dist-lib/reap-browser.cjs +1 -1
- package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
- package/dist-lib/sdk.cjs +1 -1
- package/dist-lib/sdk.mjs +1 -1
- package/dist-lib/skills.cjs +6 -6
- package/dist-lib/swift-compile.cjs +2 -2
- package/dist-lib/swift-compile.mjs +2 -2
- 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 +3 -1
- package/dist-lib/swift.cjs +1 -1
- package/dist-lib/vite-swift.cjs +4 -4
- package/dist-lib/vite.cjs +4 -4
- package/dist-lib/worklet-executable.cjs +1 -1
- package/dist-lib/worklet-executable.mjs +1 -1
- package/dist-types/packages/peach-engine/src/engine/node.d.ts +1 -1
- package/package.json +1 -1
- package/src/swift-distribution-contract.ts +72 -0
- package/src/swift-toolchain.ts +1 -1
package/dist-lib/vite-swift.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2188 | (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": "99e03b74c961d2449afd58c2cbc415ba91d1d469a4f89e461c137fd6c305b27c", "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": "4b7d4a715cdaf57468ead23f2ff9dce76d02c6a888d73d144d4baa2ae571ba3c", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.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": "99e03b74c961d2449afd58c2cbc415ba91d1d469a4f89e461c137fd6c305b27c", "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": "4b7d4a715cdaf57468ead23f2ff9dce76d02c6a888d73d144d4baa2ae571ba3c", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "a2817a624e79c3fa231a2cc0282988cac3fe3a27cf4c5d9237c77a4bd031e217", "home-paths.ts": "f5583b61f8bdd81823b3b29ff519a48daf9993719f194ddb7de22218472e90f9", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "5f41cd0bd86cb0cffbfb0047348b963f81d5e51cb0e8dd574c739b1a27aa56de", "xcode-target-members.ts": "ad7589132bffab265e8a10b64e24484fe88b4a2b1cc0ee19a97f151a002eca77", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
|
|
43
43
|
}
|
|
44
44
|
});
|
|
45
45
|
|
|
@@ -17269,7 +17269,7 @@ var darwinRecordsRegion = (quoted) => quoted.length ? ["-Wl,--start-lib", ...quo
|
|
|
17269
17269
|
var REACTOR_FLAG = '"-Xclang-linker", "-mexec-model=reactor",\n';
|
|
17270
17270
|
var MULTI_MANIFEST_VERSION = 68;
|
|
17271
17271
|
var SWIFT_HEADER_PRODUCTS_TARGET = "PeachHeaderProducts";
|
|
17272
|
-
var compilerSourceDigest = true ? "
|
|
17272
|
+
var compilerSourceDigest = true ? "02a45415d48ad9eb28df54607ec6601ccbe130e18dcc1522b7ad9adba9921f43" : swiftCompilerSourceDigest(__sootsim_import_meta_dirname);
|
|
17273
17273
|
function swiftArtifactHash(input, release, moduleRoot) {
|
|
17274
17274
|
const hash = (0, import_node_crypto13.createHash)("sha256");
|
|
17275
17275
|
hash.update(`swift-compile
|
|
@@ -30672,7 +30672,7 @@ function sourceClosureDigest(srcDir, entrypoints) {
|
|
|
30672
30672
|
return hash.digest("hex");
|
|
30673
30673
|
}
|
|
30674
30674
|
var standinSourceDigest = (srcDir = __sootsim_import_meta_dirname) => sourceClosureDigest(srcDir, STANDIN_DIGEST_ENTRYPOINTS);
|
|
30675
|
-
var STANDIN_SOURCE_DIGEST = true ? "
|
|
30675
|
+
var STANDIN_SOURCE_DIGEST = true ? "534310cfac2856971a0189d9835d2bc10e471963394e3c17bdc2815a82872e0f" : standinSourceDigest();
|
|
30676
30676
|
|
|
30677
30677
|
// src/swift-standins.ts
|
|
30678
30678
|
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
package/dist-lib/vite.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2188 | (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": "99e03b74c961d2449afd58c2cbc415ba91d1d469a4f89e461c137fd6c305b27c", "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": "4b7d4a715cdaf57468ead23f2ff9dce76d02c6a888d73d144d4baa2ae571ba3c", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.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": "99e03b74c961d2449afd58c2cbc415ba91d1d469a4f89e461c137fd6c305b27c", "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": "4b7d4a715cdaf57468ead23f2ff9dce76d02c6a888d73d144d4baa2ae571ba3c", "swift-package.ts": "338cfef9a34a930206ac2e1a8a90b85c8d61f776d9a41e6445dc18e0c5385cdb", "swift-source-file.ts": "93fd659ed63a27b67f54a7c229a7ceb636dc9c59e68414920ba36cff1eda1f94", "swift-toolchain.ts": "a2817a624e79c3fa231a2cc0282988cac3fe3a27cf4c5d9237c77a4bd031e217", "home-paths.ts": "f5583b61f8bdd81823b3b29ff519a48daf9993719f194ddb7de22218472e90f9", "xcode-header-search.ts": "f8c3d557b4eca5ddad32907545353eb7ad53b2ebd0969d9ed8f7275e109a13b1", "xcode-project.ts": "5f41cd0bd86cb0cffbfb0047348b963f81d5e51cb0e8dd574c739b1a27aa56de", "xcode-target-members.ts": "ad7589132bffab265e8a10b64e24484fe88b4a2b1cc0ee19a97f151a002eca77", "xcode-json-project.ts": "41990ebbe4b488eef34e74c4608b4b48e5a5b299ba98ca7fbcfdfa0e77be63b6", "openstep-plist.ts": "74e6ce1dac80c9c318e0e9f5e3e8cd19a898a8820c36fc160609695bcb59dcd3" };
|
|
43
43
|
}
|
|
44
44
|
});
|
|
45
45
|
|
|
@@ -1909,7 +1909,7 @@ function readIosSdkTree(root) {
|
|
|
1909
1909
|
|
|
1910
1910
|
// src/swift-standin-digest.ts
|
|
1911
1911
|
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
1912
|
-
var STANDIN_SOURCE_DIGEST = true ? "
|
|
1912
|
+
var STANDIN_SOURCE_DIGEST = true ? "534310cfac2856971a0189d9835d2bc10e471963394e3c17bdc2815a82872e0f" : standinSourceDigest();
|
|
1913
1913
|
|
|
1914
1914
|
// src/expo-native-workspace.ts
|
|
1915
1915
|
init_define_SWIFT_COVERAGE_SOURCE_DIGESTS();
|
|
@@ -5391,7 +5391,7 @@ var FOUNDATION_IMPLICIT_MODULES = [
|
|
|
5391
5391
|
var FOUNDATION_IMPLICIT_FLAGS = FOUNDATION_IMPLICIT_MODULES.map(
|
|
5392
5392
|
(module2) => `, "-Xfrontend", "-import-module", "-Xfrontend", "${module2}"`
|
|
5393
5393
|
).join("");
|
|
5394
|
-
var compilerSourceDigest = true ? "
|
|
5394
|
+
var compilerSourceDigest = true ? "02a45415d48ad9eb28df54607ec6601ccbe130e18dcc1522b7ad9adba9921f43" : swiftCompilerSourceDigest2(__sootsim_import_meta_dirname);
|
|
5395
5395
|
var CORE_FOUNDATION_HANDLE_IMPORTS = [
|
|
5396
5396
|
"CFAllocator",
|
|
5397
5397
|
"CFArray",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! peach v0.1.
|
|
1
|
+
/*! peach v0.1.2188 | (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;
|
|
@@ -70,7 +70,7 @@ export declare function setStyleChangeListener(listener: (node: SootSimNode) =>
|
|
|
70
70
|
export declare function hasUnownedLiveAnimatedStyle(node: SootSimNode): boolean;
|
|
71
71
|
export declare function refreshLiveAnimatedSceneGeometry(node: SootSimNode): void;
|
|
72
72
|
export declare function propsPaintChange(previous: Record<string, unknown>, next: Record<string, unknown>): PaintChange;
|
|
73
|
-
export declare function batchStyleWrites(node: object, write: () =>
|
|
73
|
+
export declare function batchStyleWrites<T>(node: object, write: () => T): T;
|
|
74
74
|
export declare function markWireStyleChanged(node: SootSimNode, paintChange?: PaintChange): void;
|
|
75
75
|
export type SootSimChild = SootSimNode | SootSimTextNode;
|
|
76
76
|
export interface LayoutHookPlacement {
|
package/package.json
CHANGED
|
@@ -161,3 +161,75 @@ export function parseSwiftDistributionLock(value: unknown): SwiftDistributionLoc
|
|
|
161
161
|
export function swiftDistributionKey(id: string, host: SwiftDistributionHost): string {
|
|
162
162
|
return `${id}/${host}.tar.gz`
|
|
163
163
|
}
|
|
164
|
+
|
|
165
|
+
/** the canary index under PEACH_SWIFT_ENDPOINT: the newest unpinned builds. */
|
|
166
|
+
export const SWIFT_CANARY_INDEX = 'canary/index.json'
|
|
167
|
+
|
|
168
|
+
/** one unpinned distribution build any agent can fetch instead of rebuilding.
|
|
169
|
+
* its wasm SDK is a pinned public URL, or a local candidate uploaded beside it
|
|
170
|
+
* under `wasmSdkKey`. */
|
|
171
|
+
export interface SwiftDistributionCanary extends SwiftWasmSdk {
|
|
172
|
+
/** the distribution id plus the SDK checksum prefix: one set of build inputs. */
|
|
173
|
+
id: string
|
|
174
|
+
distribution: string
|
|
175
|
+
release: string
|
|
176
|
+
/** the commit the module sources were built from. */
|
|
177
|
+
source: string
|
|
178
|
+
builtBy: string
|
|
179
|
+
builtAt: string
|
|
180
|
+
wasmSdkKey?: string
|
|
181
|
+
hosts: Partial<Record<SwiftDistributionHost, { sha256: string; size: number }>>
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
export function swiftCanaryKey(id: string, host: SwiftDistributionHost): string {
|
|
185
|
+
return `canary/${id}/${host}.tar.gz`
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
export function parseSwiftCanaryIndex(value: unknown): SwiftDistributionCanary[] {
|
|
189
|
+
if (!Array.isArray(value)) throw new Error('invalid Swift canary index')
|
|
190
|
+
return value.map((item) => {
|
|
191
|
+
if (
|
|
192
|
+
!isRecord(item) ||
|
|
193
|
+
![
|
|
194
|
+
item.id,
|
|
195
|
+
item.distribution,
|
|
196
|
+
item.release,
|
|
197
|
+
item.source,
|
|
198
|
+
item.builtBy,
|
|
199
|
+
item.builtAt,
|
|
200
|
+
item.wasmSdkId,
|
|
201
|
+
item.wasmSdkUrl,
|
|
202
|
+
item.wasmSdkChecksum,
|
|
203
|
+
].every((field) => typeof field === 'string') ||
|
|
204
|
+
(item.wasmSdkKey !== undefined && typeof item.wasmSdkKey !== 'string') ||
|
|
205
|
+
!isRecord(item.hosts)
|
|
206
|
+
)
|
|
207
|
+
throw new Error('invalid Swift canary index entry')
|
|
208
|
+
const hosts: SwiftDistributionCanary['hosts'] = {}
|
|
209
|
+
for (const host of SWIFT_DISTRIBUTION_HOSTS) {
|
|
210
|
+
const archive = item.hosts[host]
|
|
211
|
+
if (archive === undefined) continue
|
|
212
|
+
if (
|
|
213
|
+
!isRecord(archive) ||
|
|
214
|
+
typeof archive.sha256 !== 'string' ||
|
|
215
|
+
!/^[a-f0-9]{64}$/.test(archive.sha256) ||
|
|
216
|
+
typeof archive.size !== 'number'
|
|
217
|
+
)
|
|
218
|
+
throw new Error(`invalid Swift canary archive for ${host}`)
|
|
219
|
+
hosts[host] = { sha256: archive.sha256, size: archive.size }
|
|
220
|
+
}
|
|
221
|
+
return {
|
|
222
|
+
id: String(item.id),
|
|
223
|
+
distribution: String(item.distribution),
|
|
224
|
+
release: String(item.release),
|
|
225
|
+
source: String(item.source),
|
|
226
|
+
builtBy: String(item.builtBy),
|
|
227
|
+
builtAt: String(item.builtAt),
|
|
228
|
+
wasmSdkId: String(item.wasmSdkId),
|
|
229
|
+
wasmSdkUrl: String(item.wasmSdkUrl),
|
|
230
|
+
wasmSdkChecksum: String(item.wasmSdkChecksum),
|
|
231
|
+
...(typeof item.wasmSdkKey === 'string' ? { wasmSdkKey: item.wasmSdkKey } : {}),
|
|
232
|
+
hosts,
|
|
233
|
+
}
|
|
234
|
+
})
|
|
235
|
+
}
|
package/src/swift-toolchain.ts
CHANGED
|
@@ -567,7 +567,7 @@ exec ${JSON.stringify(path.join(toolchainBin, 'wasm-ld'))} "$@"
|
|
|
567
567
|
}
|
|
568
568
|
|
|
569
569
|
// home-paths.ts's rnxHomeDir, repeated because this file imports node builtins only.
|
|
570
|
-
function peachHome(): string {
|
|
570
|
+
export function peachHome(): string {
|
|
571
571
|
const override = process.env.PEACH_HOME
|
|
572
572
|
return override ? path.resolve(override) : path.join(os.homedir(), '.peach')
|
|
573
573
|
}
|