@react-native-harness/runtime 1.0.0-alpha.19 → 1.0.0-alpha.20

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 (218) hide show
  1. package/assets/harness-module-system.js +73 -0
  2. package/dist/bundler/evaluate.js +1 -1
  3. package/dist/client/getWSServer.d.ts.map +1 -1
  4. package/dist/client/getWSServer.js +2 -1
  5. package/dist/client/store.d.ts +4 -0
  6. package/dist/client/store.d.ts.map +1 -0
  7. package/dist/client/store.js +10 -0
  8. package/dist/disableHMRWhenReady.d.ts +2 -0
  9. package/dist/disableHMRWhenReady.d.ts.map +1 -0
  10. package/dist/disableHMRWhenReady.js +20 -0
  11. package/dist/expect/expect.d.ts +9 -0
  12. package/dist/expect/expect.d.ts.map +1 -0
  13. package/dist/expect/expect.js +77 -0
  14. package/dist/expect/matchers/toMatchImageSnapshot.d.ts +12 -0
  15. package/dist/expect/matchers/toMatchImageSnapshot.d.ts.map +1 -0
  16. package/dist/expect/matchers/toMatchImageSnapshot.js +11 -0
  17. package/dist/globals.d.ts +1 -0
  18. package/dist/globals.d.ts.map +1 -1
  19. package/dist/initialize.js +2 -3
  20. package/dist/mocker/index.d.ts +1 -1
  21. package/dist/mocker/index.d.ts.map +1 -1
  22. package/dist/mocker/index.js +1 -1
  23. package/dist/mocker/registry.d.ts +0 -1
  24. package/dist/mocker/registry.d.ts.map +1 -1
  25. package/dist/mocker/registry.js +19 -16
  26. package/dist/render/queries.d.ts +7 -0
  27. package/dist/render/queries.d.ts.map +1 -0
  28. package/dist/render/queries.js +99 -0
  29. package/dist/runner/context.d.ts +10 -0
  30. package/dist/runner/context.d.ts.map +1 -0
  31. package/dist/runner/context.js +6 -0
  32. package/dist/screen/index.d.ts +8 -0
  33. package/dist/screen/index.d.ts.map +1 -0
  34. package/dist/screen/index.js +18 -0
  35. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  36. package/dist/userEvent/index.d.ts +6 -0
  37. package/dist/userEvent/index.d.ts.map +1 -0
  38. package/dist/userEvent/index.js +10 -0
  39. package/out-tsc/vitest/src/__tests__/collector.test.d.ts +2 -0
  40. package/out-tsc/vitest/src/__tests__/collector.test.d.ts.map +1 -0
  41. package/out-tsc/vitest/src/__tests__/error-handling.test.d.ts +2 -0
  42. package/out-tsc/vitest/src/__tests__/error-handling.test.d.ts.map +1 -0
  43. package/out-tsc/vitest/src/__tests__/expect.test.d.ts +2 -0
  44. package/out-tsc/vitest/src/__tests__/expect.test.d.ts.map +1 -0
  45. package/out-tsc/vitest/src/__tests__/spy.test.d.ts +2 -0
  46. package/out-tsc/vitest/src/__tests__/spy.test.d.ts.map +1 -0
  47. package/out-tsc/vitest/src/bundler/bundle.d.ts +2 -0
  48. package/out-tsc/vitest/src/bundler/bundle.d.ts.map +1 -0
  49. package/out-tsc/vitest/src/bundler/errors.d.ts +15 -0
  50. package/out-tsc/vitest/src/bundler/errors.d.ts.map +1 -0
  51. package/out-tsc/vitest/src/bundler/evaluate.d.ts +2 -0
  52. package/out-tsc/vitest/src/bundler/evaluate.d.ts.map +1 -0
  53. package/out-tsc/vitest/src/bundler/factory.d.ts +3 -0
  54. package/out-tsc/vitest/src/bundler/factory.d.ts.map +1 -0
  55. package/out-tsc/vitest/src/bundler/index.d.ts +4 -0
  56. package/out-tsc/vitest/src/bundler/index.d.ts.map +1 -0
  57. package/out-tsc/vitest/src/bundler/types.d.ts +7 -0
  58. package/out-tsc/vitest/src/bundler/types.d.ts.map +1 -0
  59. package/{dist/runtime.d.ts → out-tsc/vitest/src/client/factory.d.ts} +1 -1
  60. package/out-tsc/vitest/src/client/factory.d.ts.map +1 -0
  61. package/out-tsc/vitest/src/client/getDeviceDescriptor.d.ts +8 -0
  62. package/out-tsc/vitest/src/client/getDeviceDescriptor.d.ts.map +1 -0
  63. package/out-tsc/vitest/src/client/getWSServer.d.ts +2 -0
  64. package/out-tsc/vitest/src/client/getWSServer.d.ts.map +1 -0
  65. package/out-tsc/vitest/src/client/index.d.ts +2 -0
  66. package/out-tsc/vitest/src/client/index.d.ts.map +1 -0
  67. package/out-tsc/vitest/src/client/setup-files.d.ts +12 -0
  68. package/out-tsc/vitest/src/client/setup-files.d.ts.map +1 -0
  69. package/out-tsc/vitest/src/client/store.d.ts +4 -0
  70. package/out-tsc/vitest/src/client/store.d.ts.map +1 -0
  71. package/out-tsc/vitest/src/collector/errors.d.ts +8 -0
  72. package/out-tsc/vitest/src/collector/errors.d.ts.map +1 -0
  73. package/out-tsc/vitest/src/collector/factory.d.ts +3 -0
  74. package/out-tsc/vitest/src/collector/factory.d.ts.map +1 -0
  75. package/{dist/rntl/describe.d.ts → out-tsc/vitest/src/collector/functions.d.ts} +4 -21
  76. package/out-tsc/vitest/src/collector/functions.d.ts.map +1 -0
  77. package/out-tsc/vitest/src/collector/index.d.ts +5 -0
  78. package/out-tsc/vitest/src/collector/index.d.ts.map +1 -0
  79. package/out-tsc/vitest/src/collector/types.d.ts +10 -0
  80. package/out-tsc/vitest/src/collector/types.d.ts.map +1 -0
  81. package/out-tsc/vitest/src/collector/validation.d.ts +4 -0
  82. package/out-tsc/vitest/src/collector/validation.d.ts.map +1 -0
  83. package/out-tsc/vitest/src/constants.d.ts +2 -0
  84. package/out-tsc/vitest/src/constants.d.ts.map +1 -0
  85. package/out-tsc/vitest/src/entry-point.d.ts +2 -0
  86. package/out-tsc/vitest/src/entry-point.d.ts.map +1 -0
  87. package/out-tsc/vitest/src/errors.d.ts +6 -0
  88. package/out-tsc/vitest/src/errors.d.ts.map +1 -0
  89. package/out-tsc/vitest/src/expect/index.d.ts +14 -0
  90. package/out-tsc/vitest/src/expect/index.d.ts.map +1 -0
  91. package/out-tsc/vitest/src/expect/matchers/toMatchImageSnapshot.d.ts +7 -0
  92. package/out-tsc/vitest/src/expect/matchers/toMatchImageSnapshot.d.ts.map +1 -0
  93. package/out-tsc/vitest/src/expect/setup.d.ts +2 -0
  94. package/out-tsc/vitest/src/expect/setup.d.ts.map +1 -0
  95. package/out-tsc/vitest/src/filtering/index.d.ts +2 -0
  96. package/out-tsc/vitest/src/filtering/index.d.ts.map +1 -0
  97. package/out-tsc/vitest/src/filtering/testNameFilter.d.ts +12 -0
  98. package/out-tsc/vitest/src/filtering/testNameFilter.d.ts.map +1 -0
  99. package/out-tsc/vitest/src/globals.d.ts +8 -0
  100. package/out-tsc/vitest/src/globals.d.ts.map +1 -0
  101. package/out-tsc/vitest/src/index.d.ts +13 -0
  102. package/out-tsc/vitest/src/index.d.ts.map +1 -0
  103. package/out-tsc/vitest/src/initialize.d.ts +2 -0
  104. package/out-tsc/vitest/src/initialize.d.ts.map +1 -0
  105. package/out-tsc/vitest/src/jest-mock.d.ts +2 -0
  106. package/out-tsc/vitest/src/jest-mock.d.ts.map +1 -0
  107. package/out-tsc/vitest/src/mocker/index.d.ts +2 -0
  108. package/out-tsc/vitest/src/mocker/index.d.ts.map +1 -0
  109. package/out-tsc/vitest/src/mocker/registry.d.ts +7 -0
  110. package/out-tsc/vitest/src/mocker/registry.d.ts.map +1 -0
  111. package/out-tsc/vitest/src/mocker/types.d.ts +6 -0
  112. package/out-tsc/vitest/src/mocker/types.d.ts.map +1 -0
  113. package/out-tsc/vitest/src/namespace.d.ts +18 -0
  114. package/out-tsc/vitest/src/namespace.d.ts.map +1 -0
  115. package/out-tsc/vitest/src/render/ErrorBoundary.d.ts +17 -0
  116. package/out-tsc/vitest/src/render/ErrorBoundary.d.ts.map +1 -0
  117. package/out-tsc/vitest/src/render/TestComponentOverlay.d.ts +3 -0
  118. package/out-tsc/vitest/src/render/TestComponentOverlay.d.ts.map +1 -0
  119. package/out-tsc/vitest/src/render/cleanup.d.ts +2 -0
  120. package/out-tsc/vitest/src/render/cleanup.d.ts.map +1 -0
  121. package/out-tsc/vitest/src/render/index.d.ts +6 -0
  122. package/out-tsc/vitest/src/render/index.d.ts.map +1 -0
  123. package/out-tsc/vitest/src/render/setup.d.ts +2 -0
  124. package/out-tsc/vitest/src/render/setup.d.ts.map +1 -0
  125. package/out-tsc/vitest/src/render/types.d.ts +12 -0
  126. package/out-tsc/vitest/src/render/types.d.ts.map +1 -0
  127. package/out-tsc/vitest/src/runner/errors.d.ts +11 -0
  128. package/out-tsc/vitest/src/runner/errors.d.ts.map +1 -0
  129. package/out-tsc/vitest/src/runner/factory.d.ts +3 -0
  130. package/out-tsc/vitest/src/runner/factory.d.ts.map +1 -0
  131. package/out-tsc/vitest/src/runner/hooks.d.ts +4 -0
  132. package/out-tsc/vitest/src/runner/hooks.d.ts.map +1 -0
  133. package/out-tsc/vitest/src/runner/index.d.ts +4 -0
  134. package/out-tsc/vitest/src/runner/index.d.ts.map +1 -0
  135. package/out-tsc/vitest/src/runner/runSuite.d.ts +4 -0
  136. package/out-tsc/vitest/src/runner/runSuite.d.ts.map +1 -0
  137. package/out-tsc/vitest/src/runner/types.d.ts +13 -0
  138. package/out-tsc/vitest/src/runner/types.d.ts.map +1 -0
  139. package/out-tsc/vitest/src/screen/index.d.ts +8 -0
  140. package/out-tsc/vitest/src/screen/index.d.ts.map +1 -0
  141. package/out-tsc/vitest/src/spy/index.d.ts +2 -0
  142. package/out-tsc/vitest/src/spy/index.d.ts.map +1 -0
  143. package/out-tsc/vitest/src/symbolicate.d.ts +3 -0
  144. package/out-tsc/vitest/src/symbolicate.d.ts.map +1 -0
  145. package/out-tsc/vitest/src/ui/ReadyScreen.d.ts +2 -0
  146. package/out-tsc/vitest/src/ui/ReadyScreen.d.ts.map +1 -0
  147. package/out-tsc/vitest/src/ui/WrongEnvironmentScreen.d.ts +2 -0
  148. package/out-tsc/vitest/src/ui/WrongEnvironmentScreen.d.ts.map +1 -0
  149. package/out-tsc/vitest/src/ui/index.d.ts +2 -0
  150. package/out-tsc/vitest/src/ui/index.d.ts.map +1 -0
  151. package/out-tsc/vitest/src/ui/state.d.ts +20 -0
  152. package/out-tsc/vitest/src/ui/state.d.ts.map +1 -0
  153. package/out-tsc/vitest/src/userEvent/index.d.ts +6 -0
  154. package/out-tsc/vitest/src/userEvent/index.d.ts.map +1 -0
  155. package/out-tsc/vitest/src/utils/dev-server.d.ts +2 -0
  156. package/out-tsc/vitest/src/utils/dev-server.d.ts.map +1 -0
  157. package/out-tsc/vitest/src/utils/emitter.d.ts +16 -0
  158. package/out-tsc/vitest/src/utils/emitter.d.ts.map +1 -0
  159. package/out-tsc/vitest/src/waitFor.d.ts +21 -0
  160. package/out-tsc/vitest/src/waitFor.d.ts.map +1 -0
  161. package/out-tsc/vitest/tsconfig.spec.tsbuildinfo +1 -0
  162. package/out-tsc/vitest/vite.config.d.ts +3 -0
  163. package/out-tsc/vitest/vite.config.d.ts.map +1 -0
  164. package/package.json +9 -6
  165. package/src/__tests__/initialize.test.ts +24 -0
  166. package/src/bundler/evaluate.ts +1 -1
  167. package/src/client/getWSServer.ts +2 -1
  168. package/src/disableHMRWhenReady.ts +27 -0
  169. package/src/globals.ts +1 -0
  170. package/src/initialize.ts +5 -5
  171. package/src/mocker/index.ts +0 -1
  172. package/src/mocker/metro-require.d.ts +1 -1
  173. package/src/mocker/registry.ts +21 -18
  174. package/assets/moduleSystem.flow.js +0 -1082
  175. package/dist/collection.d.ts +0 -39
  176. package/dist/collection.d.ts.map +0 -1
  177. package/dist/collection.js +0 -224
  178. package/dist/getEntryComponent.d.ts +0 -6
  179. package/dist/getEntryComponent.d.ts.map +0 -1
  180. package/dist/getEntryComponent.js +0 -6
  181. package/dist/module.d.ts +0 -3
  182. package/dist/module.d.ts.map +0 -1
  183. package/dist/module.js +0 -26
  184. package/dist/module.web.d.ts +0 -2
  185. package/dist/module.web.d.ts.map +0 -1
  186. package/dist/module.web.js +0 -12
  187. package/dist/package.json +0 -37
  188. package/dist/rntl/client.d.ts +0 -3
  189. package/dist/rntl/client.d.ts.map +0 -1
  190. package/dist/rntl/client.js +0 -8
  191. package/dist/rntl/describe.d.ts.map +0 -1
  192. package/dist/rntl/describe.js +0 -216
  193. package/dist/rntl/expect.d.ts +0 -11
  194. package/dist/rntl/expect.d.ts.map +0 -1
  195. package/dist/rntl/expect.js +0 -19
  196. package/dist/rntl/fn.d.ts +0 -2
  197. package/dist/rntl/fn.d.ts.map +0 -1
  198. package/dist/rntl/fn.js +0 -1
  199. package/dist/rntl/render.d.ts +0 -4
  200. package/dist/rntl/render.d.ts.map +0 -1
  201. package/dist/rntl/render.js +0 -11
  202. package/dist/rntl/screen.d.ts +0 -45
  203. package/dist/rntl/screen.d.ts.map +0 -1
  204. package/dist/rntl/screen.js +0 -31
  205. package/dist/rntl/userEvent.d.ts +0 -22
  206. package/dist/rntl/userEvent.d.ts.map +0 -1
  207. package/dist/rntl/userEvent.js +0 -19
  208. package/dist/runner.d.ts +0 -4
  209. package/dist/runner.d.ts.map +0 -1
  210. package/dist/runner.js +0 -115
  211. package/dist/runtime.d.ts.map +0 -1
  212. package/dist/runtime.js +0 -39
  213. package/dist/state.d.ts +0 -25
  214. package/dist/state.d.ts.map +0 -1
  215. package/dist/state.js +0 -37
  216. package/dist/ui/UI.d.ts +0 -13
  217. package/dist/ui/UI.d.ts.map +0 -1
  218. package/dist/ui/UI.js +0 -121
@@ -1,32 +1,28 @@
1
1
  import { ModuleFactory, ModuleId, Require } from './types.js';
2
2
 
3
+ const modulesCache = new Map<number, unknown>();
3
4
  const mockRegistry = new Map<number, ModuleFactory>();
4
- const mockCache = new Map<number, unknown>();
5
5
 
6
6
  const originalRequire = global.__r;
7
7
 
8
8
  export const mock = (moduleId: string, factory: ModuleFactory): void => {
9
- mockCache.delete(moduleId as unknown as ModuleId);
9
+ modulesCache.delete(moduleId as unknown as ModuleId);
10
10
  mockRegistry.set(moduleId as unknown as ModuleId, factory);
11
11
  };
12
12
 
13
- export const clearMocks = (): void => {
14
- mockRegistry.clear();
15
- mockCache.clear();
13
+ const isModuleMocked = (moduleId: number): boolean => {
14
+ return mockRegistry.has(moduleId);
16
15
  };
17
16
 
18
17
  const getMockImplementation = (moduleId: number): unknown | null => {
19
- if (mockCache.has(moduleId)) {
20
- return mockCache.get(moduleId);
21
- }
22
-
23
18
  const factory = mockRegistry.get(moduleId);
19
+
24
20
  if (!factory) {
25
21
  return null;
26
22
  }
27
23
 
28
24
  const implementation = factory();
29
- mockCache.set(moduleId, implementation);
25
+ modulesCache.set(moduleId, implementation);
30
26
  return implementation;
31
27
  };
32
28
 
@@ -37,25 +33,32 @@ export const requireActual = <T = any>(moduleId: string): T =>
37
33
 
38
34
  export const unmock = (moduleId: string) => {
39
35
  mockRegistry.delete(moduleId as unknown as ModuleId);
40
- mockCache.delete(moduleId as unknown as ModuleId);
36
+ modulesCache.delete(moduleId as unknown as ModuleId);
41
37
  };
42
38
 
43
39
  export const resetModules = (): void => {
44
- mockCache.clear();
45
-
46
- // Reset Metro's module cache
47
- global.__resetAllModules();
40
+ modulesCache.clear();
41
+ mockRegistry.clear();
48
42
  };
49
43
 
50
44
  const mockRequire = (moduleId: string) => {
51
45
  // babel plugin will transform 'moduleId' to a number
52
- const mockedModule = getMockImplementation(moduleId as unknown as ModuleId);
46
+ const moduleIdNumber = moduleId as unknown as ModuleId;
47
+ const cachedModule = modulesCache.get(moduleIdNumber);
48
+
49
+ if (cachedModule) {
50
+ return cachedModule;
51
+ }
53
52
 
54
- if (mockedModule) {
53
+ if (isModuleMocked(moduleIdNumber)) {
54
+ const mockedModule = getMockImplementation(moduleIdNumber);
55
+ modulesCache.set(moduleIdNumber, mockedModule);
55
56
  return mockedModule;
56
57
  }
57
58
 
58
- return originalRequire(moduleId as unknown as ModuleId);
59
+ const originalModule = originalRequire(moduleIdNumber);
60
+ modulesCache.set(moduleIdNumber, originalModule);
61
+ return originalModule;
59
62
  };
60
63
 
61
64
  Object.setPrototypeOf(mockRequire, Object.getPrototypeOf(originalRequire));