rnxsim 0.1.548 → 0.1.550
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 +26 -0
- package/cli/commands/maestro.ts +453 -42
- package/cli/commands/test.ts +107 -23
- package/cli/flow-file.ts +7 -0
- package/cli/maestro-report.ts +178 -0
- package/dist-lib/agent-daemon-client.cjs +1 -1
- package/dist-lib/agent-events.cjs +1 -1
- package/dist-lib/agent-identity.cjs +1 -1
- package/dist-lib/agent-sessions.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/capture-contract.cjs +1 -1
- package/dist-lib/capture-contract.mjs +1 -1
- package/dist-lib/cli-constants.cjs +1 -1
- package/dist-lib/cloud-contract.cjs +1 -1
- package/dist-lib/cloud-contract.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/detox/index.cjs +1 -1
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/home-paths.cjs +1 -1
- package/dist-lib/host/bridge-host.cjs +8 -6
- package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
- 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 +1 -1
- package/dist-lib/jump-to-source-babel.cjs +1 -1
- package/dist-lib/jump-to-source-native.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 +1 -1
- package/dist-lib/profiles.cjs +1 -1
- package/dist-lib/public-brand.cjs +1 -1
- package/dist-lib/react-native-host-modules.cjs +1 -1
- package/dist-lib/react-native-host-modules.mjs +1 -1
- package/dist-lib/render-mode.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 +28 -7
- package/dist-lib/swift-submit.cjs +1 -1
- package/dist-lib/swift-submit.mjs +1 -1
- package/dist-lib/swift.cjs +23 -5
- package/dist-lib/vite.cjs +24 -11
- package/package.json +1 -1
- package/src/rolldown-plugin-swift.ts +8 -5
- package/src/vite-plugin-swift.ts +8 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
|
|
3
3
|
// src/host/fetch-proxy-overrides.ts
|
|
4
4
|
var FETCH_PROXY_BROWSER_USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
package/dist-lib/menu.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/menu.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/metro.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
package/dist-lib/profiles.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/render-mode.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
package/dist-lib/sdk.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/sdk.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4
4
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
package/dist-lib/skills.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -5008,7 +5008,7 @@ var init_supported_native_packages = __esm({
|
|
|
5008
5008
|
"expo-store-review",
|
|
5009
5009
|
// visual-proof+coverage
|
|
5010
5010
|
"expo-symbols",
|
|
5011
|
-
// coverage
|
|
5011
|
+
// preset+coverage
|
|
5012
5012
|
"expo-system-ui",
|
|
5013
5013
|
// seam+coverage
|
|
5014
5014
|
"expo-task-manager",
|
|
@@ -24968,10 +24968,12 @@ function getDevice(model, posture) {
|
|
|
24968
24968
|
cameraCutout: null,
|
|
24969
24969
|
physicalPPI: 430,
|
|
24970
24970
|
posture: "open",
|
|
24971
|
-
// open inner display
|
|
24972
|
-
//
|
|
24973
|
-
//
|
|
24974
|
-
|
|
24971
|
+
// open inner display in landscape carries the same trailing column as
|
|
24972
|
+
// the closed outer display, so it takes the same 84pt inset: a ~50pt
|
|
24973
|
+
// control at a ~23pt inset needs 73pt, and anything narrower would shift
|
|
24974
|
+
// controls horizontally on unfold, defeating the continuous experience
|
|
24975
|
+
// Apple states as the reason for the design.
|
|
24976
|
+
safeAreaInsets: { top: 0, bottom: 0, left: 0, right: 84 }
|
|
24975
24977
|
};
|
|
24976
24978
|
}
|
|
24977
24979
|
function listDeviceModels() {
|
|
@@ -27059,7 +27061,7 @@ var init_stub_manifest = __esm({
|
|
|
27059
27061
|
|
|
27060
27062
|
// ../sootsim-engine/src/metro-asset-path.ts
|
|
27061
27063
|
function isMetroAssetRegistryModulePath(modulePath) {
|
|
27062
|
-
return modulePath.includes("polyfill:assets-registry") || modulePath.includes("@react-native/assets-registry/registry") || modulePath.includes("assets-registry/registry") || modulePath.includes("react-native/src/asset-registry");
|
|
27064
|
+
return modulePath.includes("polyfill:assets-registry") || modulePath.includes("@react-native/assets-registry/registry") || modulePath.includes("assets-registry/registry") || modulePath.includes("react-native/asset-registry") || modulePath.includes("react-native/src/asset-registry");
|
|
27063
27065
|
}
|
|
27064
27066
|
var init_metro_asset_path = __esm({
|
|
27065
27067
|
"../sootsim-engine/src/metro-asset-path.ts"() {
|
|
@@ -38126,7 +38128,26 @@ var init_bridge_flow_runner = __esm({
|
|
|
38126
38128
|
}
|
|
38127
38129
|
if (this.recordingEnabled) {
|
|
38128
38130
|
await this.waitForVisualSettle();
|
|
38131
|
+
const videoAlreadyStarted = this.recordingStartedAtMs != null;
|
|
38129
38132
|
await this.ensureRecordingStarted();
|
|
38133
|
+
if (!videoAlreadyStarted && this.recordingStartedAtMs != null) {
|
|
38134
|
+
await this.rebaseEventRecorderToVideoStart(this.recordingStartedAtMs);
|
|
38135
|
+
}
|
|
38136
|
+
}
|
|
38137
|
+
}
|
|
38138
|
+
async rebaseEventRecorderToVideoStart(videoStartedAtMs) {
|
|
38139
|
+
try {
|
|
38140
|
+
await this.evaluate(
|
|
38141
|
+
`(() => {
|
|
38142
|
+
const recorder = window.SootSim?.bridges?.eventRecorder ?? window.__sootsimEventRecorder
|
|
38143
|
+
if (!recorder?.isRecording?.()) return 'not-recording'
|
|
38144
|
+
return recorder.markVisibleStart?.(${JSON.stringify(videoStartedAtMs)}) ?? 'no-mark'
|
|
38145
|
+
})()`
|
|
38146
|
+
);
|
|
38147
|
+
} catch (err) {
|
|
38148
|
+
console.warn(
|
|
38149
|
+
` warn: event-recorder rebase to video start failed: ${err instanceof Error ? err.message : err}`
|
|
38150
|
+
);
|
|
38130
38151
|
}
|
|
38131
38152
|
}
|
|
38132
38153
|
async waitForVisualSettle() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/swift.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -765,6 +765,11 @@ var FONT_WEIGHTS = /* @__PURE__ */ new Map([
|
|
|
765
765
|
["heavy", "800"],
|
|
766
766
|
["black", "900"]
|
|
767
767
|
]);
|
|
768
|
+
var TEXT_ALIGNS = /* @__PURE__ */ new Map([
|
|
769
|
+
["leading", "left"],
|
|
770
|
+
["center", "center"],
|
|
771
|
+
["trailing", "right"]
|
|
772
|
+
]);
|
|
768
773
|
function fontModifier(modifiers) {
|
|
769
774
|
return modifiers?.find((modifier) => modifier.$type === "font");
|
|
770
775
|
}
|
|
@@ -785,6 +790,13 @@ function fontStyle(font) {
|
|
|
785
790
|
}
|
|
786
791
|
return style;
|
|
787
792
|
}
|
|
793
|
+
function textAlign(alignment) {
|
|
794
|
+
if (!alignment || typeof alignment.alignment !== "string") return void 0;
|
|
795
|
+
const align = TEXT_ALIGNS.get(alignment.alignment);
|
|
796
|
+
if (align === void 0)
|
|
797
|
+
throw new Error(`swift text alignment ${alignment.alignment} has no value`);
|
|
798
|
+
return { textAlign: align };
|
|
799
|
+
}
|
|
788
800
|
function sameValue(a, b) {
|
|
789
801
|
if (a === b) return true;
|
|
790
802
|
if (Array.isArray(a) && Array.isArray(b)) {
|
|
@@ -925,10 +937,15 @@ function nodeProps(node, deliver) {
|
|
|
925
937
|
const props = node.p ?? {};
|
|
926
938
|
switch (node.t) {
|
|
927
939
|
case "Text": {
|
|
928
|
-
const style =
|
|
940
|
+
const style = {
|
|
941
|
+
...fontStyle(fontModifier(node.m)),
|
|
942
|
+
...textAlign(
|
|
943
|
+
node.m?.find((modifier) => modifier.$type === "multilineTextAlignment")
|
|
944
|
+
)
|
|
945
|
+
};
|
|
929
946
|
return {
|
|
930
947
|
children: typeof props.children === "string" ? props.children : "",
|
|
931
|
-
...style ? { style } : {},
|
|
948
|
+
...Object.keys(style).length > 0 ? { style } : {},
|
|
932
949
|
...pressProps(node, deliver)
|
|
933
950
|
};
|
|
934
951
|
}
|
|
@@ -952,8 +969,9 @@ function nodeProps(node, deliver) {
|
|
|
952
969
|
return {
|
|
953
970
|
isOn: props.value === true,
|
|
954
971
|
...onValueChange === void 0 ? {} : { onIsOnChange: (value) => deliver(onValueChange, value) },
|
|
955
|
-
// the gesture
|
|
956
|
-
//
|
|
972
|
+
// the gesture is the row's only press (a label tap runs it and does
|
|
973
|
+
// not toggle; without one the row is inert); the switch keeps toggling
|
|
974
|
+
// through onValueChange.
|
|
957
975
|
...pressProps(node, deliver)
|
|
958
976
|
};
|
|
959
977
|
}
|
package/dist-lib/vite.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.550 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -851,6 +851,15 @@ function enumerateBundleJson(paths) {
|
|
|
851
851
|
return found;
|
|
852
852
|
}
|
|
853
853
|
|
|
854
|
+
// ../sootsim-swift/src/entryModule.ts
|
|
855
|
+
function swiftEntryModuleEsm(args) {
|
|
856
|
+
return [
|
|
857
|
+
`import { createSwiftEntry } from 'rnxsim/swift'`,
|
|
858
|
+
`export default createSwiftEntry({ url: ${JSON.stringify(args.url)}, hash: ${JSON.stringify(args.hash)}, rootId: ${JSON.stringify(args.rootId)}, resources: ${JSON.stringify(args.resources)}, bundleFiles: ${JSON.stringify(args.bundleFiles)} })`,
|
|
859
|
+
""
|
|
860
|
+
].join("\n");
|
|
861
|
+
}
|
|
862
|
+
|
|
854
863
|
// ../sootsim-swift/toolchain.json
|
|
855
864
|
var toolchain_default = {
|
|
856
865
|
release: "swift-6.3-RELEASE",
|
|
@@ -1197,11 +1206,13 @@ function swiftPlugin(options = {}) {
|
|
|
1197
1206
|
`swift bundle files for ${packagePath}: ${error instanceof Error ? error.message : String(error)}`
|
|
1198
1207
|
);
|
|
1199
1208
|
}
|
|
1200
|
-
return
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1209
|
+
return swiftEntryModuleEsm({
|
|
1210
|
+
url: artifactUrl(project, artifact),
|
|
1211
|
+
hash: artifact.hash,
|
|
1212
|
+
rootId: entryRootId(packagePath, file),
|
|
1213
|
+
resources,
|
|
1214
|
+
bundleFiles
|
|
1215
|
+
});
|
|
1205
1216
|
},
|
|
1206
1217
|
configureServer(server) {
|
|
1207
1218
|
devServer = server;
|
|
@@ -1430,11 +1441,13 @@ function swiftRemotePlugin(options) {
|
|
|
1430
1441
|
this.warn(error instanceof Error ? error.message : String(error));
|
|
1431
1442
|
}
|
|
1432
1443
|
const address = project.address;
|
|
1433
|
-
return
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1444
|
+
return swiftEntryModuleEsm({
|
|
1445
|
+
url: address.url,
|
|
1446
|
+
hash: address.hash,
|
|
1447
|
+
rootId: entryRootId(packagePath, file),
|
|
1448
|
+
resources: address.imageUrls ?? {},
|
|
1449
|
+
bundleFiles: pack.resources
|
|
1450
|
+
});
|
|
1438
1451
|
}
|
|
1439
1452
|
};
|
|
1440
1453
|
}
|
package/package.json
CHANGED
|
@@ -39,6 +39,7 @@ import {
|
|
|
39
39
|
enumerateBundleImages,
|
|
40
40
|
enumerateBundleJson,
|
|
41
41
|
} from '../../sootsim-swift/src/bundleAssets'
|
|
42
|
+
import { swiftEntryModuleEsm } from '../../sootsim-swift/src/entryModule'
|
|
42
43
|
import { compileSwiftProject, httpSwiftCompileSubmit } from './swift-submit'
|
|
43
44
|
import { entryRootId } from './vite-plugin-swift'
|
|
44
45
|
import type { SwiftModuleAddress } from './swift-submit'
|
|
@@ -230,11 +231,13 @@ export function swiftRemotePlugin(options: SwiftRemotePluginOptions): Plugin {
|
|
|
230
231
|
// every import mounts through the one entry: the artifact answers
|
|
231
232
|
// whether it is a view or an app root at runtime, so the transform
|
|
232
233
|
// never re-derives the conformance from source.
|
|
233
|
-
return
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
234
|
+
return swiftEntryModuleEsm({
|
|
235
|
+
url: address.url,
|
|
236
|
+
hash: address.hash,
|
|
237
|
+
rootId: entryRootId(packagePath, file),
|
|
238
|
+
resources: address.imageUrls ?? {},
|
|
239
|
+
bundleFiles: pack.resources,
|
|
240
|
+
})
|
|
238
241
|
},
|
|
239
242
|
}
|
|
240
243
|
}
|
package/src/vite-plugin-swift.ts
CHANGED
|
@@ -20,6 +20,7 @@ import {
|
|
|
20
20
|
enumerateBundleImages,
|
|
21
21
|
enumerateBundleJson,
|
|
22
22
|
} from '../../sootsim-swift/src/bundleAssets'
|
|
23
|
+
import { swiftEntryModuleEsm } from '../../sootsim-swift/src/entryModule'
|
|
23
24
|
import toolchain from '../../sootsim-swift/toolchain.json'
|
|
24
25
|
import type { Plugin, ViteDevServer } from 'vite'
|
|
25
26
|
|
|
@@ -560,11 +561,13 @@ export function swiftPlugin(options: SwiftPluginOptions = {}): Plugin {
|
|
|
560
561
|
// whether it is a view or an app root at runtime, so the transform
|
|
561
562
|
// never re-derives the conformance from source. the entry is rooted by
|
|
562
563
|
// its package and source path so a hot reload finds the same instance.
|
|
563
|
-
return
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
564
|
+
return swiftEntryModuleEsm({
|
|
565
|
+
url: artifactUrl(project, artifact),
|
|
566
|
+
hash: artifact.hash,
|
|
567
|
+
rootId: entryRootId(packagePath, file),
|
|
568
|
+
resources,
|
|
569
|
+
bundleFiles,
|
|
570
|
+
})
|
|
568
571
|
},
|
|
569
572
|
|
|
570
573
|
configureServer(server) {
|