rnxsim 0.1.492 → 0.1.494
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/outbound-endpoints.ts +137 -103
- package/detox/jest-preset.cjs +1 -17
- 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/detox/jest-preset.cjs +1 -17
- 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/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 +2 -2
- package/dist-lib/vite.cjs +1 -1
- package/package.json +3 -2
- package/src/vite-plugin.ts +2 -2
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import fs from 'node:fs'
|
|
2
2
|
import path from 'node:path'
|
|
3
|
-
import
|
|
3
|
+
import {
|
|
4
|
+
parseSync,
|
|
5
|
+
Visitor,
|
|
6
|
+
type CallExpression,
|
|
7
|
+
type Expression,
|
|
8
|
+
type NewExpression,
|
|
9
|
+
type ParamPattern,
|
|
10
|
+
type Program,
|
|
11
|
+
} from 'oxc-parser'
|
|
4
12
|
|
|
5
13
|
export type OutboundCategory =
|
|
6
14
|
| 'runtime-delivery'
|
|
@@ -286,10 +294,11 @@ export const DECLARED_OUTBOUND_CALLS: Record<string, OutboundCallDeclaration> =
|
|
|
286
294
|
category: 'guest_app_network',
|
|
287
295
|
count: 2,
|
|
288
296
|
},
|
|
289
|
-
'packages/sootsim-engine/src/
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
297
|
+
'packages/sootsim-engine/src/ios/sf-symbol-catalog.ts :: fetch :: `${catalogBaseUrl}${asset}.json`':
|
|
298
|
+
{
|
|
299
|
+
category: 'same_origin_runtime',
|
|
300
|
+
count: 1,
|
|
301
|
+
},
|
|
293
302
|
'packages/sootsim-engine/src/engine/system-font-extras.ts :: fetch :: url': {
|
|
294
303
|
category: 'same_origin_runtime',
|
|
295
304
|
count: 1,
|
|
@@ -565,7 +574,7 @@ interface NetworkNames {
|
|
|
565
574
|
nodeGet: Set<string>
|
|
566
575
|
}
|
|
567
576
|
|
|
568
|
-
function networkNames(source:
|
|
577
|
+
function networkNames(source: Program): NetworkNames {
|
|
569
578
|
const names: NetworkNames = {
|
|
570
579
|
fetch: new Set(['fetch']),
|
|
571
580
|
httpClient: new Set(['http', 'https']),
|
|
@@ -574,113 +583,139 @@ function networkNames(source: ts.SourceFile): NetworkNames {
|
|
|
574
583
|
nodeRequest: new Set(),
|
|
575
584
|
nodeGet: new Set(),
|
|
576
585
|
}
|
|
577
|
-
const isClientExpression = (node:
|
|
578
|
-
if (
|
|
579
|
-
if (
|
|
586
|
+
const isClientExpression = (node: Expression, clients: Set<string>): boolean => {
|
|
587
|
+
if (node.type === 'Identifier') return clients.has(node.name)
|
|
588
|
+
if (node.type === 'ParenthesizedExpression')
|
|
580
589
|
return isClientExpression(node.expression, clients)
|
|
581
590
|
return (
|
|
582
|
-
|
|
583
|
-
isClientExpression(node.
|
|
584
|
-
isClientExpression(node.
|
|
591
|
+
node.type === 'ConditionalExpression' &&
|
|
592
|
+
isClientExpression(node.consequent, clients) &&
|
|
593
|
+
isClientExpression(node.alternate, clients)
|
|
585
594
|
)
|
|
586
595
|
}
|
|
587
|
-
const
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
+
const collectFetchParameters = (parameters: ParamPattern[]): void => {
|
|
597
|
+
for (const parameter of parameters) {
|
|
598
|
+
if (
|
|
599
|
+
parameter.type === 'AssignmentPattern' &&
|
|
600
|
+
parameter.left.type === 'Identifier' &&
|
|
601
|
+
parameter.right.type === 'Identifier' &&
|
|
602
|
+
names.fetch.has(parameter.right.name)
|
|
603
|
+
) {
|
|
604
|
+
names.fetch.add(parameter.left.name)
|
|
605
|
+
}
|
|
596
606
|
}
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
607
|
+
}
|
|
608
|
+
new Visitor({
|
|
609
|
+
ArrowFunctionExpression(node) {
|
|
610
|
+
collectFetchParameters(node.params)
|
|
611
|
+
},
|
|
612
|
+
FunctionDeclaration(node) {
|
|
613
|
+
collectFetchParameters(node.params)
|
|
614
|
+
},
|
|
615
|
+
FunctionExpression(node) {
|
|
616
|
+
collectFetchParameters(node.params)
|
|
617
|
+
},
|
|
618
|
+
ImportDeclaration(node) {
|
|
619
|
+
const moduleName = node.source.value.replace(/^node:/, '')
|
|
620
|
+
if (moduleName === 'http' || moduleName === 'https') {
|
|
621
|
+
for (const specifier of node.specifiers) {
|
|
622
|
+
if (specifier.type === 'ImportSpecifier') {
|
|
623
|
+
const imported =
|
|
624
|
+
specifier.imported.type === 'Identifier'
|
|
625
|
+
? specifier.imported.name
|
|
626
|
+
: specifier.imported.value
|
|
627
|
+
if (imported === 'request') names.nodeRequest.add(specifier.local.name)
|
|
628
|
+
if (imported === 'get') names.nodeGet.add(specifier.local.name)
|
|
629
|
+
}
|
|
630
|
+
if (
|
|
631
|
+
specifier.type === 'ImportDefaultSpecifier' ||
|
|
632
|
+
specifier.type === 'ImportNamespaceSpecifier'
|
|
633
|
+
) {
|
|
634
|
+
names.httpClient.add(specifier.local.name)
|
|
608
635
|
}
|
|
609
|
-
if (imported === 'get') names.nodeGet.add(element.name.text)
|
|
610
636
|
}
|
|
611
637
|
}
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
if (local && (moduleName === 'http' || moduleName === 'https')) {
|
|
622
|
-
names.httpClient.add(local.text)
|
|
638
|
+
if (moduleName === 'net') {
|
|
639
|
+
for (const specifier of node.specifiers) {
|
|
640
|
+
if (
|
|
641
|
+
specifier.type === 'ImportDefaultSpecifier' ||
|
|
642
|
+
specifier.type === 'ImportNamespaceSpecifier'
|
|
643
|
+
) {
|
|
644
|
+
names.netClient.add(specifier.local.name)
|
|
645
|
+
}
|
|
646
|
+
}
|
|
623
647
|
}
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
names.httpClient.add(node.name.text)
|
|
648
|
+
},
|
|
649
|
+
VariableDeclarator(node) {
|
|
650
|
+
if (node.id.type !== 'Identifier' || !node.init) return
|
|
651
|
+
if (node.init.type === 'Identifier' && names.fetch.has(node.init.name)) {
|
|
652
|
+
names.fetch.add(node.id.name)
|
|
653
|
+
}
|
|
654
|
+
if (isClientExpression(node.init, names.httpClient)) {
|
|
655
|
+
names.httpClient.add(node.id.name)
|
|
633
656
|
}
|
|
634
|
-
if (isClientExpression(node.
|
|
635
|
-
names.netClient.add(node.name
|
|
657
|
+
if (isClientExpression(node.init, names.netClient)) {
|
|
658
|
+
names.netClient.add(node.id.name)
|
|
636
659
|
}
|
|
637
|
-
if (isClientExpression(node.
|
|
638
|
-
names.nodeRequest.add(node.name
|
|
660
|
+
if (isClientExpression(node.init, names.nodeRequest)) {
|
|
661
|
+
names.nodeRequest.add(node.id.name)
|
|
639
662
|
}
|
|
640
663
|
if (
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
node.
|
|
644
|
-
|
|
664
|
+
node.init.type === 'NewExpression' &&
|
|
665
|
+
node.init.callee.type === 'MemberExpression' &&
|
|
666
|
+
!node.init.callee.computed &&
|
|
667
|
+
node.init.callee.property.type === 'Identifier' &&
|
|
668
|
+
node.init.callee.property.name === 'Socket' &&
|
|
669
|
+
isClientExpression(node.init.callee.object, names.netClient)
|
|
645
670
|
) {
|
|
646
|
-
names.socket.add(node.name
|
|
671
|
+
names.socket.add(node.id.name)
|
|
647
672
|
}
|
|
648
|
-
}
|
|
649
|
-
|
|
650
|
-
}
|
|
651
|
-
visit(source)
|
|
673
|
+
},
|
|
674
|
+
}).visit(source)
|
|
652
675
|
return names
|
|
653
676
|
}
|
|
654
677
|
|
|
655
|
-
function callKind(
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
678
|
+
function callKind(
|
|
679
|
+
node: CallExpression | NewExpression,
|
|
680
|
+
names: NetworkNames,
|
|
681
|
+
source: string,
|
|
682
|
+
): string | null {
|
|
683
|
+
if (node.type === 'NewExpression' && node.callee.type === 'Identifier') {
|
|
684
|
+
if (node.callee.name === 'WebSocket') return 'websocket'
|
|
685
|
+
if (node.callee.name === 'EventSource') return 'event-source'
|
|
686
|
+
if (node.callee.name === 'XMLHttpRequest') return 'xml-http-request'
|
|
660
687
|
return null
|
|
661
688
|
}
|
|
662
|
-
if (
|
|
663
|
-
const expression = node.
|
|
664
|
-
if (
|
|
665
|
-
if (names.fetch.has(expression.
|
|
666
|
-
return expression.
|
|
689
|
+
if (node.type !== 'CallExpression') return null
|
|
690
|
+
const expression = node.callee
|
|
691
|
+
if (expression.type === 'Identifier') {
|
|
692
|
+
if (names.fetch.has(expression.name)) {
|
|
693
|
+
return expression.name === 'fetch' ? 'fetch' : 'fetch-alias'
|
|
667
694
|
}
|
|
668
|
-
if (names.nodeRequest.has(expression.
|
|
669
|
-
if (names.nodeGet.has(expression.
|
|
695
|
+
if (names.nodeRequest.has(expression.name)) return 'node-request'
|
|
696
|
+
if (names.nodeGet.has(expression.name)) return 'node-get'
|
|
670
697
|
return null
|
|
671
698
|
}
|
|
672
|
-
if (
|
|
673
|
-
|
|
699
|
+
if (
|
|
700
|
+
expression.type !== 'MemberExpression' ||
|
|
701
|
+
expression.computed ||
|
|
702
|
+
expression.property.type !== 'Identifier'
|
|
703
|
+
) {
|
|
704
|
+
return null
|
|
705
|
+
}
|
|
706
|
+
const method = expression.property.name
|
|
674
707
|
if (method === 'fetch') return 'fetch'
|
|
675
708
|
if (method === 'sendBeacon') return 'send-beacon'
|
|
676
|
-
const ownerExpression = expression.
|
|
677
|
-
const owner =
|
|
709
|
+
const ownerExpression = expression.object
|
|
710
|
+
const owner = source
|
|
711
|
+
.slice(ownerExpression.start, ownerExpression.end)
|
|
712
|
+
.replace(/\s+/g, ' ')
|
|
678
713
|
const knownHttpClient =
|
|
679
|
-
|
|
714
|
+
ownerExpression.type === 'Identifier' && names.httpClient.has(ownerExpression.name)
|
|
680
715
|
const knownNetClient =
|
|
681
|
-
|
|
716
|
+
ownerExpression.type === 'Identifier' && names.netClient.has(ownerExpression.name)
|
|
682
717
|
const knownSocket =
|
|
683
|
-
|
|
718
|
+
ownerExpression.type === 'Identifier' && names.socket.has(ownerExpression.name)
|
|
684
719
|
if (method === 'request' && (knownHttpClient || owner === 'transport')) {
|
|
685
720
|
return `${owner}.request`
|
|
686
721
|
}
|
|
@@ -694,11 +729,11 @@ function callKind(node: ts.Node, names: NetworkNames): string | null {
|
|
|
694
729
|
return null
|
|
695
730
|
}
|
|
696
731
|
|
|
697
|
-
function firstArgument(node:
|
|
698
|
-
const
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
732
|
+
function firstArgument(node: CallExpression | NewExpression, source: string): string {
|
|
733
|
+
const first = node.arguments[0]
|
|
734
|
+
return first
|
|
735
|
+
? source.slice(first.start, first.end).replace(/\s+/g, ' ').trim()
|
|
736
|
+
: '<none>'
|
|
702
737
|
}
|
|
703
738
|
|
|
704
739
|
export function detectOutboundCalls(repositoryRoot: string): DetectedOutboundCall[] {
|
|
@@ -714,24 +749,23 @@ export function detectOutboundCalls(repositoryRoot: string): DetectedOutboundCal
|
|
|
714
749
|
const counts = new Map<string, number>()
|
|
715
750
|
for (const file of roots.flatMap(sourceFilesUnder)) {
|
|
716
751
|
if (file.endsWith('/outbound-endpoints.ts')) continue
|
|
717
|
-
const source =
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
file.endsWith('.tsx') ? ts.ScriptKind.TSX : ts.ScriptKind.TS,
|
|
723
|
-
)
|
|
724
|
-
const names = networkNames(source)
|
|
752
|
+
const source = fs.readFileSync(file, 'utf8')
|
|
753
|
+
const program = parseSync(file, source, {
|
|
754
|
+
lang: file.endsWith('.tsx') ? 'tsx' : 'ts',
|
|
755
|
+
}).program
|
|
756
|
+
const names = networkNames(program)
|
|
725
757
|
const relative = path.relative(repositoryRoot, file).split(path.sep).join('/')
|
|
726
|
-
const
|
|
727
|
-
const kind = callKind(node, names)
|
|
758
|
+
const recordCall = (node: CallExpression | NewExpression): void => {
|
|
759
|
+
const kind = callKind(node, names, source)
|
|
728
760
|
if (kind) {
|
|
729
|
-
const key = `${relative} :: ${kind} :: ${firstArgument(node)}`
|
|
761
|
+
const key = `${relative} :: ${kind} :: ${firstArgument(node, source)}`
|
|
730
762
|
counts.set(key, (counts.get(key) ?? 0) + 1)
|
|
731
763
|
}
|
|
732
|
-
ts.forEachChild(node, visit)
|
|
733
764
|
}
|
|
734
|
-
|
|
765
|
+
new Visitor({
|
|
766
|
+
CallExpression: recordCall,
|
|
767
|
+
NewExpression: recordCall,
|
|
768
|
+
}).visit(program)
|
|
735
769
|
}
|
|
736
770
|
return [...counts.entries()]
|
|
737
771
|
.map(([key, count]) => ({ key, count }))
|
package/detox/jest-preset.cjs
CHANGED
|
@@ -21,23 +21,7 @@ module.exports = {
|
|
|
21
21
|
testEnvironment: 'node',
|
|
22
22
|
setupFilesAfterEnv: [path.join(PACKAGE_ROOT, 'detox', 'jest-setup-after-env.cjs')],
|
|
23
23
|
transform: {
|
|
24
|
-
'^.+\\.
|
|
25
|
-
'ts-jest',
|
|
26
|
-
{
|
|
27
|
-
isolatedModules: true,
|
|
28
|
-
tsconfig: {
|
|
29
|
-
module: 'commonjs',
|
|
30
|
-
target: 'es2020',
|
|
31
|
-
esModuleInterop: true,
|
|
32
|
-
jsx: 'react-jsx',
|
|
33
|
-
strict: false,
|
|
34
|
-
skipLibCheck: true,
|
|
35
|
-
moduleResolution: 'node',
|
|
36
|
-
allowJs: true,
|
|
37
|
-
resolveJsonModule: true,
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
],
|
|
24
|
+
'^.+\\.[jt]sx?$': ['@sucrase/jest-plugin', { jsxRuntime: 'automatic' }],
|
|
41
25
|
},
|
|
42
26
|
moduleNameMapper: {
|
|
43
27
|
'^detox$': DRIVER_ENTRY,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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;
|
|
@@ -21,23 +21,7 @@ module.exports = {
|
|
|
21
21
|
testEnvironment: 'node',
|
|
22
22
|
setupFilesAfterEnv: [path.join(PACKAGE_ROOT, 'detox', 'jest-setup-after-env.cjs')],
|
|
23
23
|
transform: {
|
|
24
|
-
'^.+\\.
|
|
25
|
-
'ts-jest',
|
|
26
|
-
{
|
|
27
|
-
isolatedModules: true,
|
|
28
|
-
tsconfig: {
|
|
29
|
-
module: 'commonjs',
|
|
30
|
-
target: 'es2020',
|
|
31
|
-
esModuleInterop: true,
|
|
32
|
-
jsx: 'react-jsx',
|
|
33
|
-
strict: false,
|
|
34
|
-
skipLibCheck: true,
|
|
35
|
-
moduleResolution: 'node',
|
|
36
|
-
allowJs: true,
|
|
37
|
-
resolveJsonModule: true,
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
],
|
|
24
|
+
'^.+\\.[jt]sx?$': ['@sucrase/jest-plugin', { jsxRuntime: 'automatic' }],
|
|
41
25
|
},
|
|
42
26
|
moduleNameMapper: {
|
|
43
27
|
'^detox$': DRIVER_ENTRY,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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.494 | (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;
|
|
@@ -6773,7 +6773,7 @@ var init_registry = __esm({
|
|
|
6773
6773
|
coverage: 0.95,
|
|
6774
6774
|
note: "SymbolView renders the shared SootSim SF Symbol vector with support for monochrome, hierarchical, palette, and multicolor rendering, weight-based stroke width, and scale sizing. Unknown names use the supplied fallback. unstable_getMaterialSymbolSourceAsync returns a stable URI/size shape so apps that gate on the source resolve correctly.",
|
|
6775
6775
|
working: "SymbolView (named + default export), name object/string selection (string | { ios, android, web }), size, tintColor, colors array, type (monochrome/hierarchical/palette/multicolor), weight stroke-width scaling, scale multiplier sizing, animationSpec/resizeMode props, fallback rendering, unstable_getMaterialSymbolSourceAsync, type exports",
|
|
6776
|
-
missing: "
|
|
6776
|
+
missing: "native Apple asset-catalog layer fidelity, bundled Material Symbols font (size budget), animation/effect modifiers (.bounce, .scale)"
|
|
6777
6777
|
}
|
|
6778
6778
|
]
|
|
6779
6779
|
},
|
package/dist-lib/vite.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.494 | (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
|
{
|
|
2
2
|
"name": "rnxsim",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.494",
|
|
4
4
|
"description": "Vite and Metro plugins, testing drivers, and SDK exports for rnx.",
|
|
5
5
|
"author": "Tamagui LLC",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -243,6 +243,7 @@
|
|
|
243
243
|
},
|
|
244
244
|
"dependencies": {
|
|
245
245
|
"@expo/plist": "^0.5.4",
|
|
246
|
+
"@sucrase/jest-plugin": "3.0.0",
|
|
246
247
|
"jiti": "2.7.0",
|
|
247
248
|
"magic-string": "^0.30.21",
|
|
248
249
|
"oxc-parser": "^0.112.0",
|
|
@@ -268,7 +269,7 @@
|
|
|
268
269
|
"@types/ws": "^8.5.13",
|
|
269
270
|
"rnx-cloud-box": "workspace:*",
|
|
270
271
|
"sootsim-engine": "workspace:*",
|
|
271
|
-
"typescript": "
|
|
272
|
+
"typescript": "7.0.2",
|
|
272
273
|
"vite": "^8.2.2",
|
|
273
274
|
"yaml": "^2.8.3"
|
|
274
275
|
}
|
package/src/vite-plugin.ts
CHANGED
|
@@ -514,8 +514,8 @@ const ENGINE_WORKER_BOOT_CLOSURES: WorkerBootClosure[] = [
|
|
|
514
514
|
// (engine/app-font-registry.ts registerForwardedAppFonts). keep it that way
|
|
515
515
|
// when adding font work here, or both caps take the parser again.
|
|
516
516
|
// gesture handler 3's upstream hook surface moved the measured closure to
|
|
517
|
-
// 3,446,531 bytes.
|
|
518
|
-
{ entry: 'src/render-worker/shell-worker-entry.ts', maxBytes:
|
|
517
|
+
// 3,446,531 bytes. the vector catalog lookup and PUA overlay add 675 bytes.
|
|
518
|
+
{ entry: 'src/render-worker/shell-worker-entry.ts', maxBytes: 3_451_000 },
|
|
519
519
|
{ entry: 'src/render-worker/compositor-worker-entry.ts', maxBytes: 1_080_000 },
|
|
520
520
|
{ entry: 'src/render-worker/compositor-worker-ganesh-entry.ts', maxBytes: 1_820_000 },
|
|
521
521
|
]
|