rnxsim 0.1.492 → 0.1.493

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.
Files changed (55) hide show
  1. package/cli/outbound-endpoints.ts +132 -99
  2. package/detox/jest-preset.cjs +1 -17
  3. package/dist-lib/agent-daemon-client.cjs +1 -1
  4. package/dist-lib/agent-events.cjs +1 -1
  5. package/dist-lib/agent-identity.cjs +1 -1
  6. package/dist-lib/agent-sessions.cjs +1 -1
  7. package/dist-lib/attached-projects.cjs +1 -1
  8. package/dist-lib/auth/shared-session.cjs +1 -1
  9. package/dist-lib/backend-origin.cjs +1 -1
  10. package/dist-lib/beta.cjs +1 -1
  11. package/dist-lib/beta.mjs +1 -1
  12. package/dist-lib/bridge-constants.cjs +1 -1
  13. package/dist-lib/bridge-contract-input.cjs +1 -1
  14. package/dist-lib/bridge-contract-input.mjs +1 -1
  15. package/dist-lib/bridge-contract.cjs +1 -1
  16. package/dist-lib/bridge-contract.mjs +1 -1
  17. package/dist-lib/capture-contract.cjs +1 -1
  18. package/dist-lib/capture-contract.mjs +1 -1
  19. package/dist-lib/cli-constants.cjs +1 -1
  20. package/dist-lib/cloud-contract.cjs +1 -1
  21. package/dist-lib/cloud-contract.mjs +1 -1
  22. package/dist-lib/cloud.cjs +1 -1
  23. package/dist-lib/cloud.mjs +1 -1
  24. package/dist-lib/config.cjs +1 -1
  25. package/dist-lib/detox/index.cjs +1 -1
  26. package/dist-lib/detox/jest-preset.cjs +1 -17
  27. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  28. package/dist-lib/home-paths.cjs +1 -1
  29. package/dist-lib/host/bridge-host.cjs +1 -1
  30. package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
  31. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  32. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  33. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  34. package/dist-lib/host/websocket-proxy.cjs +1 -1
  35. package/dist-lib/index.cjs +1 -1
  36. package/dist-lib/jump-to-source-babel.cjs +1 -1
  37. package/dist-lib/jump-to-source-native.cjs +1 -1
  38. package/dist-lib/menu.cjs +1 -1
  39. package/dist-lib/menu.mjs +1 -1
  40. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  41. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  42. package/dist-lib/metro-production-bundle.cjs +1 -1
  43. package/dist-lib/metro-production-bundle.mjs +1 -1
  44. package/dist-lib/metro.cjs +1 -1
  45. package/dist-lib/profiles.cjs +1 -1
  46. package/dist-lib/public-brand.cjs +1 -1
  47. package/dist-lib/react-native-host-modules.cjs +1 -1
  48. package/dist-lib/react-native-host-modules.mjs +1 -1
  49. package/dist-lib/render-mode.cjs +1 -1
  50. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  51. package/dist-lib/sdk.cjs +1 -1
  52. package/dist-lib/sdk.mjs +1 -1
  53. package/dist-lib/skills.cjs +1 -1
  54. package/dist-lib/vite.cjs +1 -1
  55. package/package.json +3 -2
@@ -1,6 +1,14 @@
1
1
  import fs from 'node:fs'
2
2
  import path from 'node:path'
3
- import ts from 'typescript'
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'
@@ -565,7 +573,7 @@ interface NetworkNames {
565
573
  nodeGet: Set<string>
566
574
  }
567
575
 
568
- function networkNames(source: ts.SourceFile): NetworkNames {
576
+ function networkNames(source: Program): NetworkNames {
569
577
  const names: NetworkNames = {
570
578
  fetch: new Set(['fetch']),
571
579
  httpClient: new Set(['http', 'https']),
@@ -574,113 +582,139 @@ function networkNames(source: ts.SourceFile): NetworkNames {
574
582
  nodeRequest: new Set(),
575
583
  nodeGet: new Set(),
576
584
  }
577
- const isClientExpression = (node: ts.Expression, clients: Set<string>): boolean => {
578
- if (ts.isIdentifier(node)) return clients.has(node.text)
579
- if (ts.isParenthesizedExpression(node))
585
+ const isClientExpression = (node: Expression, clients: Set<string>): boolean => {
586
+ if (node.type === 'Identifier') return clients.has(node.name)
587
+ if (node.type === 'ParenthesizedExpression')
580
588
  return isClientExpression(node.expression, clients)
581
589
  return (
582
- ts.isConditionalExpression(node) &&
583
- isClientExpression(node.whenTrue, clients) &&
584
- isClientExpression(node.whenFalse, clients)
590
+ node.type === 'ConditionalExpression' &&
591
+ isClientExpression(node.consequent, clients) &&
592
+ isClientExpression(node.alternate, clients)
585
593
  )
586
594
  }
587
- const visit = (node: ts.Node): void => {
588
- if (
589
- (ts.isParameter(node) || ts.isVariableDeclaration(node)) &&
590
- ts.isIdentifier(node.name) &&
591
- node.initializer &&
592
- ts.isIdentifier(node.initializer) &&
593
- names.fetch.has(node.initializer.text)
594
- ) {
595
- names.fetch.add(node.name.text)
595
+ const collectFetchParameters = (parameters: ParamPattern[]): void => {
596
+ for (const parameter of parameters) {
597
+ if (
598
+ parameter.type === 'AssignmentPattern' &&
599
+ parameter.left.type === 'Identifier' &&
600
+ parameter.right.type === 'Identifier' &&
601
+ names.fetch.has(parameter.right.name)
602
+ ) {
603
+ names.fetch.add(parameter.left.name)
604
+ }
596
605
  }
597
- if (
598
- ts.isImportDeclaration(node) &&
599
- ts.isStringLiteral(node.moduleSpecifier) &&
600
- /^(?:node:)?https?$/.test(node.moduleSpecifier.text)
601
- ) {
602
- const bindings = node.importClause?.namedBindings
603
- if (bindings && ts.isNamedImports(bindings)) {
604
- for (const element of bindings.elements) {
605
- const imported = (element.propertyName ?? element.name).text
606
- if (imported === 'request') {
607
- names.nodeRequest.add(element.name.text)
606
+ }
607
+ new Visitor({
608
+ ArrowFunctionExpression(node) {
609
+ collectFetchParameters(node.params)
610
+ },
611
+ FunctionDeclaration(node) {
612
+ collectFetchParameters(node.params)
613
+ },
614
+ FunctionExpression(node) {
615
+ collectFetchParameters(node.params)
616
+ },
617
+ ImportDeclaration(node) {
618
+ const moduleName = node.source.value.replace(/^node:/, '')
619
+ if (moduleName === 'http' || moduleName === 'https') {
620
+ for (const specifier of node.specifiers) {
621
+ if (specifier.type === 'ImportSpecifier') {
622
+ const imported =
623
+ specifier.imported.type === 'Identifier'
624
+ ? specifier.imported.name
625
+ : specifier.imported.value
626
+ if (imported === 'request') names.nodeRequest.add(specifier.local.name)
627
+ if (imported === 'get') names.nodeGet.add(specifier.local.name)
628
+ }
629
+ if (
630
+ specifier.type === 'ImportDefaultSpecifier' ||
631
+ specifier.type === 'ImportNamespaceSpecifier'
632
+ ) {
633
+ names.httpClient.add(specifier.local.name)
608
634
  }
609
- if (imported === 'get') names.nodeGet.add(element.name.text)
610
635
  }
611
636
  }
612
- }
613
- if (ts.isImportDeclaration(node) && ts.isStringLiteral(node.moduleSpecifier)) {
614
- const moduleName = node.moduleSpecifier.text.replace(/^node:/, '')
615
- const local =
616
- node.importClause?.name ??
617
- (node.importClause?.namedBindings &&
618
- ts.isNamespaceImport(node.importClause.namedBindings)
619
- ? node.importClause.namedBindings.name
620
- : undefined)
621
- if (local && (moduleName === 'http' || moduleName === 'https')) {
622
- names.httpClient.add(local.text)
637
+ if (moduleName === 'net') {
638
+ for (const specifier of node.specifiers) {
639
+ if (
640
+ specifier.type === 'ImportDefaultSpecifier' ||
641
+ specifier.type === 'ImportNamespaceSpecifier'
642
+ ) {
643
+ names.netClient.add(specifier.local.name)
644
+ }
645
+ }
623
646
  }
624
- if (local && moduleName === 'net') names.netClient.add(local.text)
625
- }
626
- if (
627
- ts.isVariableDeclaration(node) &&
628
- ts.isIdentifier(node.name) &&
629
- node.initializer
630
- ) {
631
- if (isClientExpression(node.initializer, names.httpClient)) {
632
- names.httpClient.add(node.name.text)
647
+ },
648
+ VariableDeclarator(node) {
649
+ if (node.id.type !== 'Identifier' || !node.init) return
650
+ if (node.init.type === 'Identifier' && names.fetch.has(node.init.name)) {
651
+ names.fetch.add(node.id.name)
652
+ }
653
+ if (isClientExpression(node.init, names.httpClient)) {
654
+ names.httpClient.add(node.id.name)
633
655
  }
634
- if (isClientExpression(node.initializer, names.netClient)) {
635
- names.netClient.add(node.name.text)
656
+ if (isClientExpression(node.init, names.netClient)) {
657
+ names.netClient.add(node.id.name)
636
658
  }
637
- if (isClientExpression(node.initializer, names.nodeRequest)) {
638
- names.nodeRequest.add(node.name.text)
659
+ if (isClientExpression(node.init, names.nodeRequest)) {
660
+ names.nodeRequest.add(node.id.name)
639
661
  }
640
662
  if (
641
- ts.isNewExpression(node.initializer) &&
642
- ts.isPropertyAccessExpression(node.initializer.expression) &&
643
- node.initializer.expression.name.text === 'Socket' &&
644
- isClientExpression(node.initializer.expression.expression, names.netClient)
663
+ node.init.type === 'NewExpression' &&
664
+ node.init.callee.type === 'MemberExpression' &&
665
+ !node.init.callee.computed &&
666
+ node.init.callee.property.type === 'Identifier' &&
667
+ node.init.callee.property.name === 'Socket' &&
668
+ isClientExpression(node.init.callee.object, names.netClient)
645
669
  ) {
646
- names.socket.add(node.name.text)
670
+ names.socket.add(node.id.name)
647
671
  }
648
- }
649
- ts.forEachChild(node, visit)
650
- }
651
- visit(source)
672
+ },
673
+ }).visit(source)
652
674
  return names
653
675
  }
654
676
 
655
- function callKind(node: ts.Node, names: NetworkNames): string | null {
656
- if (ts.isNewExpression(node) && ts.isIdentifier(node.expression)) {
657
- if (node.expression.text === 'WebSocket') return 'websocket'
658
- if (node.expression.text === 'EventSource') return 'event-source'
659
- if (node.expression.text === 'XMLHttpRequest') return 'xml-http-request'
677
+ function callKind(
678
+ node: CallExpression | NewExpression,
679
+ names: NetworkNames,
680
+ source: string,
681
+ ): string | null {
682
+ if (node.type === 'NewExpression' && node.callee.type === 'Identifier') {
683
+ if (node.callee.name === 'WebSocket') return 'websocket'
684
+ if (node.callee.name === 'EventSource') return 'event-source'
685
+ if (node.callee.name === 'XMLHttpRequest') return 'xml-http-request'
660
686
  return null
661
687
  }
662
- if (!ts.isCallExpression(node)) return null
663
- const expression = node.expression
664
- if (ts.isIdentifier(expression)) {
665
- if (names.fetch.has(expression.text)) {
666
- return expression.text === 'fetch' ? 'fetch' : 'fetch-alias'
688
+ if (node.type !== 'CallExpression') return null
689
+ const expression = node.callee
690
+ if (expression.type === 'Identifier') {
691
+ if (names.fetch.has(expression.name)) {
692
+ return expression.name === 'fetch' ? 'fetch' : 'fetch-alias'
667
693
  }
668
- if (names.nodeRequest.has(expression.text)) return 'node-request'
669
- if (names.nodeGet.has(expression.text)) return 'node-get'
694
+ if (names.nodeRequest.has(expression.name)) return 'node-request'
695
+ if (names.nodeGet.has(expression.name)) return 'node-get'
670
696
  return null
671
697
  }
672
- if (!ts.isPropertyAccessExpression(expression)) return null
673
- const method = expression.name.text
698
+ if (
699
+ expression.type !== 'MemberExpression' ||
700
+ expression.computed ||
701
+ expression.property.type !== 'Identifier'
702
+ ) {
703
+ return null
704
+ }
705
+ const method = expression.property.name
674
706
  if (method === 'fetch') return 'fetch'
675
707
  if (method === 'sendBeacon') return 'send-beacon'
676
- const ownerExpression = expression.expression
677
- const owner = ownerExpression.getText().replace(/\s+/g, ' ')
708
+ const ownerExpression = expression.object
709
+ const owner = source
710
+ .slice(ownerExpression.start, ownerExpression.end)
711
+ .replace(/\s+/g, ' ')
678
712
  const knownHttpClient =
679
- ts.isIdentifier(ownerExpression) && names.httpClient.has(ownerExpression.text)
713
+ ownerExpression.type === 'Identifier' && names.httpClient.has(ownerExpression.name)
680
714
  const knownNetClient =
681
- ts.isIdentifier(ownerExpression) && names.netClient.has(ownerExpression.text)
715
+ ownerExpression.type === 'Identifier' && names.netClient.has(ownerExpression.name)
682
716
  const knownSocket =
683
- ts.isIdentifier(ownerExpression) && names.socket.has(ownerExpression.text)
717
+ ownerExpression.type === 'Identifier' && names.socket.has(ownerExpression.name)
684
718
  if (method === 'request' && (knownHttpClient || owner === 'transport')) {
685
719
  return `${owner}.request`
686
720
  }
@@ -694,11 +728,11 @@ function callKind(node: ts.Node, names: NetworkNames): string | null {
694
728
  return null
695
729
  }
696
730
 
697
- function firstArgument(node: ts.Node): string {
698
- const args =
699
- ts.isCallExpression(node) || ts.isNewExpression(node) ? node.arguments : null
700
- const first = args?.[0]
701
- return first ? first.getText().replace(/\s+/g, ' ').trim() : '<none>'
731
+ function firstArgument(node: CallExpression | NewExpression, source: string): string {
732
+ const first = node.arguments[0]
733
+ return first
734
+ ? source.slice(first.start, first.end).replace(/\s+/g, ' ').trim()
735
+ : '<none>'
702
736
  }
703
737
 
704
738
  export function detectOutboundCalls(repositoryRoot: string): DetectedOutboundCall[] {
@@ -714,24 +748,23 @@ export function detectOutboundCalls(repositoryRoot: string): DetectedOutboundCal
714
748
  const counts = new Map<string, number>()
715
749
  for (const file of roots.flatMap(sourceFilesUnder)) {
716
750
  if (file.endsWith('/outbound-endpoints.ts')) continue
717
- const source = ts.createSourceFile(
718
- file,
719
- fs.readFileSync(file, 'utf8'),
720
- ts.ScriptTarget.Latest,
721
- true,
722
- file.endsWith('.tsx') ? ts.ScriptKind.TSX : ts.ScriptKind.TS,
723
- )
724
- const names = networkNames(source)
751
+ const source = fs.readFileSync(file, 'utf8')
752
+ const program = parseSync(file, source, {
753
+ lang: file.endsWith('.tsx') ? 'tsx' : 'ts',
754
+ }).program
755
+ const names = networkNames(program)
725
756
  const relative = path.relative(repositoryRoot, file).split(path.sep).join('/')
726
- const visit = (node: ts.Node): void => {
727
- const kind = callKind(node, names)
757
+ const recordCall = (node: CallExpression | NewExpression): void => {
758
+ const kind = callKind(node, names, source)
728
759
  if (kind) {
729
- const key = `${relative} :: ${kind} :: ${firstArgument(node)}`
760
+ const key = `${relative} :: ${kind} :: ${firstArgument(node, source)}`
730
761
  counts.set(key, (counts.get(key) ?? 0) + 1)
731
762
  }
732
- ts.forEachChild(node, visit)
733
763
  }
734
- visit(source)
764
+ new Visitor({
765
+ CallExpression: recordCall,
766
+ NewExpression: recordCall,
767
+ }).visit(program)
735
768
  }
736
769
  return [...counts.entries()]
737
770
  .map(([key, count]) => ({ key, count }))
@@ -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
- '^.+\\.tsx?$': [
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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/beta.ts
4
4
  var IS_BETA = true;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/bridge-contract.ts
4
4
  var SIM_LONG_PRESS_MAX_MS = 5e3;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/bridge-contract.ts
4
4
  var SIM_LONG_PRESS_DEFAULT_MS = 500;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/capture-contract.ts
4
4
  var RNX_SCREEN_CAPTURE_VERSION = 1;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/cloud-contract.ts
4
4
  var RNX_CLOUD_MAX_ARTIFACT_BYTES = 20 * 1024 * 1024;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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);
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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
- '^.+\\.tsx?$': [
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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/public-brand.ts
4
4
  var name = "rnx";
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/metro-fingerprint-registry.ts
4
4
  var RNX_METRO_FINGERPRINT_SCHEMA_VERSION = 2;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/metro-production-bundle.ts
4
4
  var RNXSIM_METRO_MODULE_PATHS_PREFIX = "globalThis.__sootsimModulePaths=";
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/react-native-host-modules.ts
4
4
  var REACT_NATIVE_PASSTHROUGH_SPECIFIERS = [
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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);
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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/vite.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.492 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.493 | (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.492",
3
+ "version": "0.1.493",
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": "^6.0.3",
272
+ "typescript": "7.0.2",
272
273
  "vite": "^8.2.2",
273
274
  "yaml": "^2.8.3"
274
275
  }