rnxsim 0.1.446 → 0.1.447
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/README.md +3 -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 +1 -1
- 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/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 +17 -17
- package/dist-lib/vite.cjs +1 -1
- package/package.json +1 -1
- package/src/shell-bridge-identity.ts +15 -0
- package/src/vite-plugin.ts +85 -52
package/README.md
CHANGED
|
@@ -174,6 +174,9 @@ During source development, each Vite bridge owns one
|
|
|
174
174
|
`~/.rnx/dev-bridges/<port>.json` heartbeat record. CLI defaults select the
|
|
175
175
|
current `PORT_OFFSET`, then the current checkout, then the canonical `:7668`
|
|
176
176
|
bridge, so concurrent worktrees cannot replace or delete one another's address.
|
|
177
|
+
Each Vite shell also publishes its exact bridge at `/__sootsim/bridge`, so a
|
|
178
|
+
launcher that reuses a shell from another isolated `RNX_HOME` stays in that
|
|
179
|
+
shell's bridge world without reading the other process's lockfile directory.
|
|
177
180
|
|
|
178
181
|
**The sim** is a browser/Electron *page* launched by a CLI driver. Inside that
|
|
179
182
|
page run three workers: the **shell worker** owns device and native state, the
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.447 | (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.447 | (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.447 | (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.447 | (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.447 | (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.447 | (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.447 | (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/beta.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.447 | (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/beta.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.447 | (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.447 | (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.447 | (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.447 | (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.447 | (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.447 | (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/cloud.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.447 | (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/cloud.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.447 | (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/config.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.447 | (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/detox/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.447 | (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.447 | (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/home-paths.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.447 | (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.447 | (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.447 | (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.447 | (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.447 | (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.447 | (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.447 | (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.447 | (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.447 | (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.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.447 | (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.447 | (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.447 | (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.447 | (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.447 | (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.447 | (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.447 | (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.447 | (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.447 | (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.447 | (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.447 | (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.447 | (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;
|
|
@@ -693,25 +693,25 @@ var init_capability_inventory_coverage = __esm({
|
|
|
693
693
|
ios: {
|
|
694
694
|
combined: {
|
|
695
695
|
raw: {
|
|
696
|
-
covered:
|
|
697
|
-
ratio: 0.
|
|
696
|
+
covered: 233,
|
|
697
|
+
ratio: 0.167505391804,
|
|
698
698
|
total: 1391
|
|
699
699
|
},
|
|
700
700
|
weighted: {
|
|
701
|
-
covered: 1.
|
|
702
|
-
ratio: 0.
|
|
701
|
+
covered: 1.63749741651,
|
|
702
|
+
ratio: 0.34247124121,
|
|
703
703
|
total: 4.78141583721
|
|
704
704
|
}
|
|
705
705
|
},
|
|
706
706
|
semantic: {
|
|
707
707
|
raw: {
|
|
708
|
-
covered:
|
|
709
|
-
ratio: 0.
|
|
708
|
+
covered: 233,
|
|
709
|
+
ratio: 0.233935742972,
|
|
710
710
|
total: 996
|
|
711
711
|
},
|
|
712
712
|
weighted: {
|
|
713
|
-
covered: 1.
|
|
714
|
-
ratio: 0.
|
|
713
|
+
covered: 1.63749741651,
|
|
714
|
+
ratio: 0.683483499504,
|
|
715
715
|
total: 2.39581119032
|
|
716
716
|
}
|
|
717
717
|
},
|
|
@@ -1334,13 +1334,13 @@ var init_capability_outcomes2 = __esm({
|
|
|
1334
1334
|
assessed: 0
|
|
1335
1335
|
},
|
|
1336
1336
|
ios: {
|
|
1337
|
-
passedWeight: 0,
|
|
1338
|
-
failedWeight:
|
|
1339
|
-
unassessedWeight: 0.
|
|
1340
|
-
totalWeight: 0.
|
|
1341
|
-
assessedWeight: 0,
|
|
1342
|
-
compatibility:
|
|
1343
|
-
assessed: 0
|
|
1337
|
+
passedWeight: 0.32201435438317577,
|
|
1338
|
+
failedWeight: 22084925244e-15,
|
|
1339
|
+
unassessedWeight: 0.6351092493870464,
|
|
1340
|
+
totalWeight: 0.9571456886954661,
|
|
1341
|
+
assessedWeight: 0.3220364393084198,
|
|
1342
|
+
compatibility: 0.9999314210364161,
|
|
1343
|
+
assessed: 0.3364549860192514
|
|
1344
1344
|
}
|
|
1345
1345
|
}
|
|
1346
1346
|
},
|
|
@@ -1749,7 +1749,7 @@ var init_supported_native_packages = __esm({
|
|
|
1749
1749
|
"posthog-react-native-session-replay",
|
|
1750
1750
|
// preset+coverage
|
|
1751
1751
|
"react-native",
|
|
1752
|
-
// preset+visual-proof
|
|
1752
|
+
// preset+visual-proof
|
|
1753
1753
|
"react-native-actions-shortcuts",
|
|
1754
1754
|
// coverage
|
|
1755
1755
|
"react-native-adjust",
|
package/dist-lib/vite.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.447 | (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/package.json
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const SHELL_BRIDGE_IDENTITY_PATH = '/__sootsim/bridge'
|
|
2
|
+
|
|
3
|
+
export interface ShellBridgeIdentity {
|
|
4
|
+
schema: 1
|
|
5
|
+
bridgePort: number
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export function isShellBridgeIdentity(value: unknown): value is ShellBridgeIdentity {
|
|
9
|
+
if (typeof value !== 'object' || value === null) return false
|
|
10
|
+
return (
|
|
11
|
+
Reflect.get(value, 'schema') === 1 &&
|
|
12
|
+
Number.isInteger(Reflect.get(value, 'bridgePort')) &&
|
|
13
|
+
Reflect.get(value, 'bridgePort') > 0
|
|
14
|
+
)
|
|
15
|
+
}
|
package/src/vite-plugin.ts
CHANGED
|
@@ -23,6 +23,10 @@ import {
|
|
|
23
23
|
reactNativeDeepStubsForBuildResolver,
|
|
24
24
|
} from '../../compat/src/stub-manifest.ts'
|
|
25
25
|
import { resolveSootsimBridgePort } from './bridge-constants.ts'
|
|
26
|
+
import {
|
|
27
|
+
SHELL_BRIDGE_IDENTITY_PATH,
|
|
28
|
+
type ShellBridgeIdentity,
|
|
29
|
+
} from './shell-bridge-identity.ts'
|
|
26
30
|
import {
|
|
27
31
|
REANIMATED_WORKLETIZATION_REGEX,
|
|
28
32
|
shouldApplyWorkletsPlugin,
|
|
@@ -842,63 +846,92 @@ export function wsBridgePlugin(options: { ownedBridgePort?: number } = {}): Plug
|
|
|
842
846
|
name: 'sootsim-ws-bridge',
|
|
843
847
|
apply: 'serve',
|
|
844
848
|
configureServer(server) {
|
|
845
|
-
if (boundPort)
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
})
|
|
850
|
-
const readShellPort = () => {
|
|
851
|
-
const addr = server.httpServer?.address()
|
|
852
|
-
if (addr && typeof addr === 'object') return addr.port
|
|
853
|
-
return server.config.server.port || null
|
|
854
|
-
}
|
|
855
|
-
const existing = viteBridgeProcesses.get(preferredPort)
|
|
856
|
-
if (existing) {
|
|
857
|
-
existing.owners.add(owner)
|
|
858
|
-
existing.shellPort.read = readShellPort
|
|
859
|
-
boundPort = existing.boundPort
|
|
860
|
-
} else {
|
|
861
|
-
// lazy import to avoid pulling ws into the main bundle.
|
|
862
|
-
// note: the .ts extension is required on vite 8 / node ESM — without
|
|
863
|
-
// it, import() throws "Cannot find module" and the bridge silently
|
|
864
|
-
// never starts.
|
|
865
|
-
const shellPort = { read: readShellPort }
|
|
866
|
-
const host = import('./host/bridge-host.ts').then(({ SootSimBridgeHost }) => {
|
|
867
|
-
return new SootSimBridgeHost({
|
|
868
|
-
port: preferredPort,
|
|
869
|
-
writeDevLockfile: true,
|
|
870
|
-
getShellPort: () => shellPort.read(),
|
|
871
|
-
})
|
|
849
|
+
if (!boundPort) {
|
|
850
|
+
const preferredPort = resolveSootsimBridgePort({
|
|
851
|
+
explicitPort: process.env.SOOTSIM_BRIDGE_PORT,
|
|
852
|
+
portOffset: process.env.PORT_OFFSET,
|
|
872
853
|
})
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
.
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
854
|
+
const readShellPort = () => {
|
|
855
|
+
const addr = server.httpServer?.address()
|
|
856
|
+
if (addr && typeof addr === 'object') return addr.port
|
|
857
|
+
return server.config.server.port || null
|
|
858
|
+
}
|
|
859
|
+
const existing = viteBridgeProcesses.get(preferredPort)
|
|
860
|
+
if (existing) {
|
|
861
|
+
existing.owners.add(owner)
|
|
862
|
+
existing.shellPort.read = readShellPort
|
|
863
|
+
boundPort = existing.boundPort
|
|
864
|
+
} else {
|
|
865
|
+
// lazy import to avoid pulling ws into the main bundle.
|
|
866
|
+
// note: the .ts extension is required on vite 8 / node ESM — without
|
|
867
|
+
// it, import() throws "Cannot find module" and the bridge silently
|
|
868
|
+
// never starts.
|
|
869
|
+
const shellPort = { read: readShellPort }
|
|
870
|
+
const host = import('./host/bridge-host.ts').then(({ SootSimBridgeHost }) => {
|
|
871
|
+
return new SootSimBridgeHost({
|
|
872
|
+
port: preferredPort,
|
|
873
|
+
writeDevLockfile: true,
|
|
874
|
+
getShellPort: () => shellPort.read(),
|
|
875
|
+
})
|
|
883
876
|
})
|
|
884
|
-
|
|
885
|
-
boundPort
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
877
|
+
let entry: ViteBridgeProcessEntry
|
|
878
|
+
boundPort = host
|
|
879
|
+
.then((bridgeHost) => bridgeHost.startAsync({ silent: true }))
|
|
880
|
+
.catch((err: unknown) => {
|
|
881
|
+
if (viteBridgeProcesses.get(preferredPort) === entry) {
|
|
882
|
+
viteBridgeProcesses.delete(preferredPort)
|
|
883
|
+
}
|
|
884
|
+
const message = err instanceof Error ? err.message : String(err)
|
|
885
|
+
console.warn('[rnx] ws bridge failed to start:', message)
|
|
886
|
+
return null
|
|
887
|
+
})
|
|
888
|
+
entry = {
|
|
889
|
+
boundPort,
|
|
890
|
+
close: async () => {
|
|
891
|
+
try {
|
|
892
|
+
await (await host).close()
|
|
893
|
+
} catch {}
|
|
894
|
+
},
|
|
895
|
+
owners: new Set([owner]),
|
|
896
|
+
shellPort,
|
|
897
|
+
}
|
|
898
|
+
viteBridgeProcesses.set(preferredPort, entry)
|
|
893
899
|
}
|
|
894
|
-
|
|
900
|
+
|
|
901
|
+
server.httpServer?.once('close', () => {
|
|
902
|
+
const entry = viteBridgeProcesses.get(preferredPort)
|
|
903
|
+
if (!entry || !entry.owners.delete(owner) || entry.owners.size > 0) return
|
|
904
|
+
viteBridgeProcesses.delete(preferredPort)
|
|
905
|
+
void entry.close()
|
|
906
|
+
})
|
|
895
907
|
}
|
|
896
908
|
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
909
|
+
if (!boundPort) throw new Error('rnx bridge identity was not initialized')
|
|
910
|
+
const identityPort = boundPort
|
|
911
|
+
server.middlewares.use((req, res, next) => {
|
|
912
|
+
if (req.url?.split('?')[0] !== SHELL_BRIDGE_IDENTITY_PATH) {
|
|
913
|
+
next()
|
|
914
|
+
return
|
|
915
|
+
}
|
|
916
|
+
void identityPort
|
|
917
|
+
.then((bridgePort) => {
|
|
918
|
+
if (bridgePort === null) {
|
|
919
|
+
res.statusCode = 503
|
|
920
|
+
res.end('rnx bridge unavailable')
|
|
921
|
+
return
|
|
922
|
+
}
|
|
923
|
+
const identity = {
|
|
924
|
+
schema: 1,
|
|
925
|
+
bridgePort,
|
|
926
|
+
} satisfies ShellBridgeIdentity
|
|
927
|
+
res.setHeader('Content-Type', 'application/json')
|
|
928
|
+
res.setHeader('Cache-Control', 'no-store')
|
|
929
|
+
res.end(JSON.stringify(identity))
|
|
930
|
+
})
|
|
931
|
+
.catch(() => {
|
|
932
|
+
res.statusCode = 503
|
|
933
|
+
res.end('rnx bridge unavailable')
|
|
934
|
+
})
|
|
902
935
|
})
|
|
903
936
|
},
|
|
904
937
|
// publish the bound port to the page. head-prepend so it lands before the
|