rnxsim 0.1.471 → 0.1.473
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/commands/inspect/actions.ts +10 -6
- 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 +6 -4
- 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 +6 -4
- package/dist-lib/sdk.mjs +6 -4
- package/dist-lib/skills.cjs +2 -2
- package/dist-lib/vite.cjs +1 -1
- package/package.json +1 -1
- package/src/jump-to-source-native.ts +1 -1
- package/src/worklets-babel.ts +118 -2
|
@@ -329,21 +329,25 @@ interface TextCandidate {
|
|
|
329
329
|
ancestorTestIDs: string[]
|
|
330
330
|
}
|
|
331
331
|
|
|
332
|
-
// a node repeating the text of its nearest labelled ancestor
|
|
333
|
-
//
|
|
334
|
-
//
|
|
332
|
+
// a non-pressable node repeating the text of its nearest labelled ancestor,
|
|
333
|
+
// when that ancestor is pressable, is the ancestor's own caption (a button and
|
|
334
|
+
// its text child), so only the button is a candidate. otherwise every labelled
|
|
335
|
+
// button is an ambiguous pair. a pressable descendant is never folded into its
|
|
336
|
+
// ancestor: same text does not prove it shares the ancestor's tap target.
|
|
335
337
|
function collectTextCandidates(
|
|
336
338
|
nodes: readonly SimSemanticNode[],
|
|
337
339
|
ancestors: string[] = [],
|
|
338
|
-
|
|
340
|
+
pressableOwnerText = '',
|
|
339
341
|
): TextCandidate[] {
|
|
340
342
|
const out: TextCandidate[] = []
|
|
341
343
|
for (const node of nodes) {
|
|
342
344
|
const text = nodeText(node)
|
|
343
|
-
|
|
345
|
+
const caption = !!text && text === pressableOwnerText && !node.pressable
|
|
346
|
+
if (!caption) out.push({ node, ancestorTestIDs: ancestors })
|
|
344
347
|
if (node.children?.length) {
|
|
345
348
|
const next = node.testID ? [...ancestors, node.testID] : ancestors
|
|
346
|
-
|
|
349
|
+
const owner = text ? (node.pressable ? text : '') : pressableOwnerText
|
|
350
|
+
out.push(...collectTextCandidates(node.children, next, owner))
|
|
347
351
|
}
|
|
348
352
|
}
|
|
349
353
|
return out
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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;
|
|
@@ -2307,14 +2307,16 @@ function payloadFromResolved(resolved, match, extra = {}) {
|
|
|
2307
2307
|
...extra
|
|
2308
2308
|
};
|
|
2309
2309
|
}
|
|
2310
|
-
function collectTextCandidates(nodes, ancestors = [],
|
|
2310
|
+
function collectTextCandidates(nodes, ancestors = [], pressableOwnerText = "") {
|
|
2311
2311
|
const out = [];
|
|
2312
2312
|
for (const node of nodes) {
|
|
2313
2313
|
const text = nodeText(node);
|
|
2314
|
-
|
|
2314
|
+
const caption = !!text && text === pressableOwnerText && !node.pressable;
|
|
2315
|
+
if (!caption) out.push({ node, ancestorTestIDs: ancestors });
|
|
2315
2316
|
if (node.children?.length) {
|
|
2316
2317
|
const next = node.testID ? [...ancestors, node.testID] : ancestors;
|
|
2317
|
-
|
|
2318
|
+
const owner = text ? node.pressable ? text : "" : pressableOwnerText;
|
|
2319
|
+
out.push(...collectTextCandidates(node.children, next, owner));
|
|
2318
2320
|
}
|
|
2319
2321
|
}
|
|
2320
2322
|
return out;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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.473 | (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;
|
|
@@ -1725,14 +1725,16 @@ function payloadFromResolved(resolved, match, extra = {}) {
|
|
|
1725
1725
|
...extra
|
|
1726
1726
|
};
|
|
1727
1727
|
}
|
|
1728
|
-
function collectTextCandidates(nodes, ancestors = [],
|
|
1728
|
+
function collectTextCandidates(nodes, ancestors = [], pressableOwnerText = "") {
|
|
1729
1729
|
const out = [];
|
|
1730
1730
|
for (const node of nodes) {
|
|
1731
1731
|
const text = nodeText(node);
|
|
1732
|
-
|
|
1732
|
+
const caption = !!text && text === pressableOwnerText && !node.pressable;
|
|
1733
|
+
if (!caption) out.push({ node, ancestorTestIDs: ancestors });
|
|
1733
1734
|
if (node.children?.length) {
|
|
1734
1735
|
const next = node.testID ? [...ancestors, node.testID] : ancestors;
|
|
1735
|
-
|
|
1736
|
+
const owner = text ? node.pressable ? text : "" : pressableOwnerText;
|
|
1737
|
+
out.push(...collectTextCandidates(node.children, next, owner));
|
|
1736
1738
|
}
|
|
1737
1739
|
}
|
|
1738
1740
|
return out;
|
package/dist-lib/sdk.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.473 | (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);
|
|
@@ -1629,14 +1629,16 @@ function payloadFromResolved(resolved, match, extra = {}) {
|
|
|
1629
1629
|
...extra
|
|
1630
1630
|
};
|
|
1631
1631
|
}
|
|
1632
|
-
function collectTextCandidates(nodes, ancestors = [],
|
|
1632
|
+
function collectTextCandidates(nodes, ancestors = [], pressableOwnerText = "") {
|
|
1633
1633
|
const out = [];
|
|
1634
1634
|
for (const node of nodes) {
|
|
1635
1635
|
const text = nodeText(node);
|
|
1636
|
-
|
|
1636
|
+
const caption = !!text && text === pressableOwnerText && !node.pressable;
|
|
1637
|
+
if (!caption) out.push({ node, ancestorTestIDs: ancestors });
|
|
1637
1638
|
if (node.children?.length) {
|
|
1638
1639
|
const next = node.testID ? [...ancestors, node.testID] : ancestors;
|
|
1639
|
-
|
|
1640
|
+
const owner = text ? node.pressable ? text : "" : pressableOwnerText;
|
|
1641
|
+
out.push(...collectTextCandidates(node.children, next, owner));
|
|
1640
1642
|
}
|
|
1641
1643
|
}
|
|
1642
1644
|
return out;
|
package/dist-lib/skills.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.473 | (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;
|
|
@@ -5310,7 +5310,7 @@ var init_supported_native_packages = __esm({
|
|
|
5310
5310
|
"react-native-nitro-image",
|
|
5311
5311
|
// seam
|
|
5312
5312
|
"react-native-nitro-modules",
|
|
5313
|
-
// seam
|
|
5313
|
+
// preset+seam
|
|
5314
5314
|
"react-native-nitro-sound",
|
|
5315
5315
|
// seam
|
|
5316
5316
|
"react-native-nitro-sse",
|
package/dist-lib/vite.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.473 | (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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import MagicString from 'magic-string'
|
|
2
2
|
import { parseSync, Visitor } from 'oxc-parser'
|
|
3
|
-
import type { SootsimJumpToSourceBabelOptions } from './jump-to-source-babel'
|
|
3
|
+
import type { SootsimJumpToSourceBabelOptions } from './jump-to-source-babel.ts'
|
|
4
4
|
|
|
5
5
|
export type JumpToSourceNativeOptions = SootsimJumpToSourceBabelOptions
|
|
6
6
|
|
package/src/worklets-babel.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto'
|
|
2
|
+
import fs from 'node:fs'
|
|
1
3
|
import { createRequire } from 'node:module'
|
|
2
4
|
import path from 'node:path'
|
|
3
5
|
import { fileURLToPath } from 'node:url'
|
|
@@ -80,6 +82,104 @@ function isTypescriptFile(id: string): boolean {
|
|
|
80
82
|
return /\.(tsx?|mts|cts)$/.test(id)
|
|
81
83
|
}
|
|
82
84
|
|
|
85
|
+
// the worklets babel pass is the single most expensive plugin hook in the
|
|
86
|
+
// engine and tenant builds (hundreds of files, several seconds each). the
|
|
87
|
+
// output is a pure function of the source text, the file path, the sourcemap
|
|
88
|
+
// flag, and the babel toolchain, so cache it on disk keyed by all four. a
|
|
89
|
+
// normal dev rebuild changes a handful of files and replays the rest.
|
|
90
|
+
const CACHE_SCHEMA = 'v1'
|
|
91
|
+
const CACHE_ROOT = path.resolve(
|
|
92
|
+
workspaceRoot,
|
|
93
|
+
'node_modules',
|
|
94
|
+
'.cache',
|
|
95
|
+
'sootsim-worklets',
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
// null once resolved on a tree we cannot write to (a read-only install), which
|
|
99
|
+
// only costs speed: every caller falls through to the babel run it would have
|
|
100
|
+
// made anyway.
|
|
101
|
+
let cacheDir: string | null | undefined
|
|
102
|
+
|
|
103
|
+
function getCacheDir(): string | null {
|
|
104
|
+
if (cacheDir !== undefined) return cacheDir
|
|
105
|
+
const versions = [
|
|
106
|
+
'@babel/core',
|
|
107
|
+
'@babel/preset-typescript',
|
|
108
|
+
'react-native-worklets',
|
|
109
|
+
].map((pkg) => {
|
|
110
|
+
const manifest = sootsimPluginRequire(`${pkg}/package.json`) as { version?: string }
|
|
111
|
+
return `${pkg}@${manifest.version ?? '0'}`
|
|
112
|
+
})
|
|
113
|
+
const fingerprint = createHash('sha256')
|
|
114
|
+
.update([CACHE_SCHEMA, ...versions].join('\n'))
|
|
115
|
+
.digest('hex')
|
|
116
|
+
.slice(0, 16)
|
|
117
|
+
const dir = path.join(CACHE_ROOT, fingerprint)
|
|
118
|
+
try {
|
|
119
|
+
fs.mkdirSync(dir, { recursive: true })
|
|
120
|
+
// a toolchain bump starts a new fingerprint, so drop the previous ones
|
|
121
|
+
// instead of letting every upgrade leave its entries behind forever.
|
|
122
|
+
for (const entry of fs.readdirSync(CACHE_ROOT)) {
|
|
123
|
+
if (entry === fingerprint) continue
|
|
124
|
+
fs.rmSync(path.join(CACHE_ROOT, entry), { recursive: true, force: true })
|
|
125
|
+
}
|
|
126
|
+
cacheDir = dir
|
|
127
|
+
} catch {
|
|
128
|
+
cacheDir = null
|
|
129
|
+
}
|
|
130
|
+
return cacheDir
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
function getCacheEntryPath(
|
|
134
|
+
code: string,
|
|
135
|
+
id: string,
|
|
136
|
+
sourceMaps: TransformOptions['sourceMaps'],
|
|
137
|
+
): string | null {
|
|
138
|
+
const dir = getCacheDir()
|
|
139
|
+
if (!dir) return null
|
|
140
|
+
// the worklets plugin's `isRelease` reads BABEL_ENV and NODE_ENV and emits a
|
|
141
|
+
// different worklet for each (release drops the embedded source and map), so
|
|
142
|
+
// both belong in the key. the same file is built once as a dev tenant bundle
|
|
143
|
+
// and once as a production engine bundle.
|
|
144
|
+
const key = createHash('sha256')
|
|
145
|
+
.update(
|
|
146
|
+
[
|
|
147
|
+
id,
|
|
148
|
+
String(sourceMaps),
|
|
149
|
+
process.env.BABEL_ENV ?? '',
|
|
150
|
+
process.env.NODE_ENV ?? '',
|
|
151
|
+
code,
|
|
152
|
+
].join('\0'),
|
|
153
|
+
)
|
|
154
|
+
.digest('hex')
|
|
155
|
+
return path.join(dir, key.slice(0, 2), `${key.slice(2)}.json`)
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
function readCachedTransform(
|
|
159
|
+
entryPath: string | null,
|
|
160
|
+
): Pick<TransformResult, 'code' | 'map'> | null {
|
|
161
|
+
if (!entryPath) return null
|
|
162
|
+
try {
|
|
163
|
+
return JSON.parse(fs.readFileSync(entryPath, 'utf8'))
|
|
164
|
+
} catch {
|
|
165
|
+
return null
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
function writeCachedTransform(
|
|
170
|
+
entryPath: string | null,
|
|
171
|
+
result: Pick<TransformResult, 'code' | 'map'>,
|
|
172
|
+
): void {
|
|
173
|
+
if (!entryPath) return
|
|
174
|
+
try {
|
|
175
|
+
fs.mkdirSync(path.dirname(entryPath), { recursive: true })
|
|
176
|
+
// write-then-rename so a concurrent build never reads a half-written entry.
|
|
177
|
+
const temp = `${entryPath}.${process.pid}.${Math.random().toString(36).slice(2)}`
|
|
178
|
+
fs.writeFileSync(temp, JSON.stringify(result))
|
|
179
|
+
fs.renameSync(temp, entryPath)
|
|
180
|
+
} catch {}
|
|
181
|
+
}
|
|
182
|
+
|
|
83
183
|
function createWorkletsBabelOptions(
|
|
84
184
|
id: string,
|
|
85
185
|
sourceMaps: TransformOptions['sourceMaps'],
|
|
@@ -111,13 +211,21 @@ export async function transformWorkletsCode(
|
|
|
111
211
|
id: string,
|
|
112
212
|
sourceMaps: TransformOptions['sourceMaps'] = true,
|
|
113
213
|
): Promise<Pick<TransformResult, 'code' | 'map'> | null> {
|
|
214
|
+
const entryPath = getCacheEntryPath(code, id, sourceMaps)
|
|
215
|
+
const cached = readCachedTransform(entryPath)
|
|
216
|
+
if (cached) return cached
|
|
114
217
|
if (!babelCorePromise) {
|
|
115
218
|
babelCorePromise = import('@babel/core') as Promise<typeof import('@babel/core')>
|
|
116
219
|
}
|
|
117
220
|
const { transformAsync } = await babelCorePromise
|
|
118
221
|
const result = await transformAsync(code, createWorkletsBabelOptions(id, sourceMaps))
|
|
119
222
|
if (!result?.code) return null
|
|
120
|
-
|
|
223
|
+
const transformed = {
|
|
224
|
+
code: result.code,
|
|
225
|
+
map: (result.map ?? null) as TransformResult['map'],
|
|
226
|
+
}
|
|
227
|
+
writeCachedTransform(entryPath, transformed)
|
|
228
|
+
return transformed
|
|
121
229
|
}
|
|
122
230
|
|
|
123
231
|
export function transformWorkletsCodeSync(
|
|
@@ -125,10 +233,18 @@ export function transformWorkletsCodeSync(
|
|
|
125
233
|
id: string,
|
|
126
234
|
sourceMaps: TransformOptions['sourceMaps'] = false,
|
|
127
235
|
): Pick<TransformResult, 'code' | 'map'> | null {
|
|
236
|
+
const entryPath = getCacheEntryPath(code, id, sourceMaps)
|
|
237
|
+
const cached = readCachedTransform(entryPath)
|
|
238
|
+
if (cached) return cached
|
|
128
239
|
const { transformSync } = sootsimPluginRequire(
|
|
129
240
|
'@babel/core',
|
|
130
241
|
) as typeof import('@babel/core')
|
|
131
242
|
const result = transformSync(code, createWorkletsBabelOptions(id, sourceMaps))
|
|
132
243
|
if (!result?.code) return null
|
|
133
|
-
|
|
244
|
+
const transformed = {
|
|
245
|
+
code: result.code,
|
|
246
|
+
map: (result.map ?? null) as TransformResult['map'],
|
|
247
|
+
}
|
|
248
|
+
writeCachedTransform(entryPath, transformed)
|
|
249
|
+
return transformed
|
|
134
250
|
}
|