@hot-updater/react-native 1.0.0-rc.3 → 1.0.0-rc.31

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 (300) hide show
  1. package/android/proguard-rules.pro +17 -2
  2. package/android/src/main/java/com/hotupdater/BuiltInAssetResolver.kt +286 -0
  3. package/android/src/main/java/com/hotupdater/BundleFileStorageService.kt +954 -837
  4. package/android/src/main/java/com/hotupdater/BundleMetadata.kt +15 -11
  5. package/android/src/main/java/com/hotupdater/FileManagerService.kt +45 -0
  6. package/android/src/main/java/com/hotupdater/HotUpdaterException.kt +287 -22
  7. package/android/src/main/java/com/hotupdater/HotUpdaterImpl.kt +43 -31
  8. package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryManager.kt +37 -54
  9. package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryState.kt +64 -0
  10. package/android/src/main/java/com/hotupdater/InstallIdentityService.kt +37 -0
  11. package/android/src/main/java/com/hotupdater/KeyValueStorageService.kt +86 -0
  12. package/android/src/main/java/com/hotupdater/NetworkState.kt +31 -0
  13. package/android/src/main/java/com/hotupdater/NoBackupStorage.kt +17 -0
  14. package/android/src/main/java/com/hotupdater/OkHttpDownloadService.kt +127 -50
  15. package/android/src/main/java/com/hotupdater/PreviousProcessExit.kt +89 -0
  16. package/android/src/main/java/com/hotupdater/ReactNativeValueConverters.kt +34 -0
  17. package/android/src/main/java/com/hotupdater/TarArchiveInputStream.kt +214 -375
  18. package/android/src/main/java/com/hotupdater/TarBrArchiveExtractor.kt +119 -0
  19. package/android/src/newarch/HotUpdater.kt +7 -9
  20. package/android/src/newarch/HotUpdaterModule.kt +109 -84
  21. package/android/src/oldarch/HotUpdater.kt +7 -9
  22. package/android/src/oldarch/HotUpdaterModule.kt +98 -74
  23. package/android/src/oldarch/HotUpdaterSpec.kt +4 -6
  24. package/ios/HotUpdater/Internal/BrotliFileDecompressor.swift +167 -0
  25. package/ios/HotUpdater/Internal/BuiltInAssetResolver.swift +196 -0
  26. package/ios/HotUpdater/Internal/BundleFileStorageService.swift +950 -1112
  27. package/ios/HotUpdater/Internal/BundleMetadata.swift +8 -53
  28. package/ios/HotUpdater/Internal/FileManagerService.swift +48 -0
  29. package/ios/HotUpdater/Internal/FileUtilities.swift +64 -0
  30. package/ios/HotUpdater/Internal/HotUpdater-Bridging-Header.h +0 -1
  31. package/ios/HotUpdater/Internal/HotUpdater.mm +13 -45
  32. package/ios/HotUpdater/Internal/HotUpdaterImpl.swift +190 -73
  33. package/ios/HotUpdater/Internal/KeyValueStorageService.swift +71 -0
  34. package/ios/HotUpdater/Internal/NotificationExtension.swift +0 -2
  35. package/ios/HotUpdater/Internal/TarArchiveExtractor.swift +182 -311
  36. package/ios/HotUpdater/Internal/URLSessionDownloadService.swift +119 -71
  37. package/ios/HotUpdater/Internal/UpdateFailure.swift +390 -0
  38. package/ios/HotUpdater/Recovery/HotUpdaterRecovery.h +16 -0
  39. package/ios/HotUpdater/Recovery/HotUpdaterRecovery.mm +83 -0
  40. package/ios/HotUpdater/Recovery/HotUpdaterRecoveryHooks.mm +49 -0
  41. package/lib/commonjs/appReady.js +111 -0
  42. package/lib/commonjs/appReady.js.map +1 -0
  43. package/lib/commonjs/checkForUpdate.js +124 -69
  44. package/lib/commonjs/checkForUpdate.js.map +1 -1
  45. package/lib/commonjs/clientPlugin.js +13 -0
  46. package/lib/commonjs/clientPlugin.js.map +1 -0
  47. package/lib/commonjs/error.js +4 -13
  48. package/lib/commonjs/error.js.map +1 -1
  49. package/lib/commonjs/fetchJSON.js +16 -27
  50. package/lib/commonjs/fetchJSON.js.map +1 -1
  51. package/lib/commonjs/fetchUpdateResponse.js +54 -0
  52. package/lib/commonjs/fetchUpdateResponse.js.map +1 -0
  53. package/lib/commonjs/httpClient.js +63 -94
  54. package/lib/commonjs/httpClient.js.map +1 -1
  55. package/lib/commonjs/index.js +71 -18
  56. package/lib/commonjs/index.js.map +1 -1
  57. package/lib/commonjs/native.js +78 -60
  58. package/lib/commonjs/native.js.map +1 -1
  59. package/lib/commonjs/pluginHost.js +44 -0
  60. package/lib/commonjs/pluginHost.js.map +1 -0
  61. package/lib/commonjs/releaseCatalogCache.js +36 -87
  62. package/lib/commonjs/releaseCatalogCache.js.map +1 -1
  63. package/lib/commonjs/sdkVersion.js +1 -1
  64. package/lib/commonjs/sdkVersion.js.map +1 -1
  65. package/lib/commonjs/specs/NativeHotUpdater.js.map +1 -1
  66. package/lib/commonjs/store.js +3 -10
  67. package/lib/commonjs/store.js.map +1 -1
  68. package/lib/commonjs/updateError.js +132 -0
  69. package/lib/commonjs/updateError.js.map +1 -0
  70. package/lib/commonjs/wrap.js +43 -26
  71. package/lib/commonjs/wrap.js.map +1 -1
  72. package/lib/module/appReady.js +103 -0
  73. package/lib/module/appReady.js.map +1 -0
  74. package/lib/module/checkForUpdate.js +117 -64
  75. package/lib/module/checkForUpdate.js.map +1 -1
  76. package/lib/module/clientPlugin.js +4 -0
  77. package/lib/module/clientPlugin.js.map +1 -0
  78. package/lib/module/error.js +4 -13
  79. package/lib/module/error.js.map +1 -1
  80. package/lib/module/fetchJSON.js +14 -26
  81. package/lib/module/fetchJSON.js.map +1 -1
  82. package/lib/module/fetchUpdateResponse.js +49 -0
  83. package/lib/module/fetchUpdateResponse.js.map +1 -0
  84. package/lib/module/httpClient.js +62 -93
  85. package/lib/module/httpClient.js.map +1 -1
  86. package/lib/module/index.js +58 -20
  87. package/lib/module/index.js.map +1 -1
  88. package/lib/module/native.js +71 -53
  89. package/lib/module/native.js.map +1 -1
  90. package/lib/module/pluginHost.js +35 -0
  91. package/lib/module/pluginHost.js.map +1 -0
  92. package/lib/module/releaseCatalogCache.js +32 -82
  93. package/lib/module/releaseCatalogCache.js.map +1 -1
  94. package/lib/module/sdkVersion.js +1 -1
  95. package/lib/module/sdkVersion.js.map +1 -1
  96. package/lib/module/specs/NativeHotUpdater.js.map +1 -1
  97. package/lib/module/store.js +3 -10
  98. package/lib/module/store.js.map +1 -1
  99. package/lib/module/updateError.js +126 -0
  100. package/lib/module/updateError.js.map +1 -0
  101. package/lib/module/wrap.js +43 -26
  102. package/lib/module/wrap.js.map +1 -1
  103. package/lib/typescript/commonjs/appReady.d.ts +23 -0
  104. package/lib/typescript/commonjs/appReady.d.ts.map +1 -0
  105. package/lib/typescript/commonjs/checkForUpdate.d.ts +16 -4
  106. package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
  107. package/lib/typescript/commonjs/clientPlugin.d.ts +2 -0
  108. package/lib/typescript/commonjs/clientPlugin.d.ts.map +1 -0
  109. package/lib/typescript/commonjs/error.d.ts +4 -13
  110. package/lib/typescript/commonjs/error.d.ts.map +1 -1
  111. package/lib/typescript/commonjs/fetchJSON.d.ts +5 -5
  112. package/lib/typescript/commonjs/fetchJSON.d.ts.map +1 -1
  113. package/lib/typescript/commonjs/fetchUpdateResponse.d.ts +14 -0
  114. package/lib/typescript/commonjs/fetchUpdateResponse.d.ts.map +1 -0
  115. package/lib/typescript/commonjs/httpClient.d.ts +4 -33
  116. package/lib/typescript/commonjs/httpClient.d.ts.map +1 -1
  117. package/lib/typescript/commonjs/index.d.ts +4 -8
  118. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  119. package/lib/typescript/commonjs/native.d.ts +31 -22
  120. package/lib/typescript/commonjs/native.d.ts.map +1 -1
  121. package/lib/typescript/commonjs/pluginHost.d.ts +4 -0
  122. package/lib/typescript/commonjs/pluginHost.d.ts.map +1 -0
  123. package/lib/typescript/commonjs/releaseCatalogCache.d.ts +8 -14
  124. package/lib/typescript/commonjs/releaseCatalogCache.d.ts.map +1 -1
  125. package/lib/typescript/commonjs/sdkVersion.d.ts +1 -1
  126. package/lib/typescript/commonjs/sdkVersion.d.ts.map +1 -1
  127. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts +42 -47
  128. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts.map +1 -1
  129. package/lib/typescript/commonjs/store.d.ts +1 -3
  130. package/lib/typescript/commonjs/store.d.ts.map +1 -1
  131. package/lib/typescript/commonjs/types.d.ts +1 -1
  132. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  133. package/lib/typescript/commonjs/updateError.d.ts +26 -0
  134. package/lib/typescript/commonjs/updateError.d.ts.map +1 -0
  135. package/lib/typescript/commonjs/wrap.d.ts.map +1 -1
  136. package/lib/typescript/commonjs/wrap.types.d.ts +6 -7
  137. package/lib/typescript/commonjs/wrap.types.d.ts.map +1 -1
  138. package/lib/typescript/module/appReady.d.ts +23 -0
  139. package/lib/typescript/module/appReady.d.ts.map +1 -0
  140. package/lib/typescript/module/checkForUpdate.d.ts +16 -4
  141. package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
  142. package/lib/typescript/module/clientPlugin.d.ts +2 -0
  143. package/lib/typescript/module/clientPlugin.d.ts.map +1 -0
  144. package/lib/typescript/module/error.d.ts +4 -13
  145. package/lib/typescript/module/error.d.ts.map +1 -1
  146. package/lib/typescript/module/fetchJSON.d.ts +5 -5
  147. package/lib/typescript/module/fetchJSON.d.ts.map +1 -1
  148. package/lib/typescript/module/fetchUpdateResponse.d.ts +14 -0
  149. package/lib/typescript/module/fetchUpdateResponse.d.ts.map +1 -0
  150. package/lib/typescript/module/httpClient.d.ts +4 -33
  151. package/lib/typescript/module/httpClient.d.ts.map +1 -1
  152. package/lib/typescript/module/index.d.ts +4 -8
  153. package/lib/typescript/module/index.d.ts.map +1 -1
  154. package/lib/typescript/module/native.d.ts +31 -22
  155. package/lib/typescript/module/native.d.ts.map +1 -1
  156. package/lib/typescript/module/pluginHost.d.ts +4 -0
  157. package/lib/typescript/module/pluginHost.d.ts.map +1 -0
  158. package/lib/typescript/module/releaseCatalogCache.d.ts +8 -14
  159. package/lib/typescript/module/releaseCatalogCache.d.ts.map +1 -1
  160. package/lib/typescript/module/sdkVersion.d.ts +1 -1
  161. package/lib/typescript/module/sdkVersion.d.ts.map +1 -1
  162. package/lib/typescript/module/specs/NativeHotUpdater.d.ts +42 -47
  163. package/lib/typescript/module/specs/NativeHotUpdater.d.ts.map +1 -1
  164. package/lib/typescript/module/store.d.ts +1 -3
  165. package/lib/typescript/module/store.d.ts.map +1 -1
  166. package/lib/typescript/module/types.d.ts +1 -1
  167. package/lib/typescript/module/types.d.ts.map +1 -1
  168. package/lib/typescript/module/updateError.d.ts +26 -0
  169. package/lib/typescript/module/updateError.d.ts.map +1 -0
  170. package/lib/typescript/module/wrap.d.ts.map +1 -1
  171. package/lib/typescript/module/wrap.types.d.ts +6 -7
  172. package/lib/typescript/module/wrap.types.d.ts.map +1 -1
  173. package/package.json +7 -4
  174. package/src/appReady.ts +149 -0
  175. package/src/checkForUpdate.ts +151 -88
  176. package/src/clientPlugin.ts +18 -0
  177. package/src/error.ts +4 -14
  178. package/src/fetchJSON.ts +14 -30
  179. package/src/fetchUpdateResponse.ts +54 -0
  180. package/src/httpClient.ts +88 -159
  181. package/src/index.ts +90 -24
  182. package/src/native.ts +106 -102
  183. package/src/pluginHost.ts +45 -0
  184. package/src/releaseCatalogCache.ts +43 -172
  185. package/src/sdkVersion.ts +1 -1
  186. package/src/specs/NativeHotUpdater.ts +41 -48
  187. package/src/store.ts +2 -23
  188. package/src/types.ts +1 -1
  189. package/src/updateError.ts +153 -0
  190. package/src/wrap.tsx +57 -26
  191. package/src/wrap.types.ts +6 -7
  192. package/android/src/main/java/com/hotupdater/DecompressService.kt +0 -89
  193. package/android/src/main/java/com/hotupdater/DecompressionStrategy.kt +0 -26
  194. package/android/src/main/java/com/hotupdater/TarBrDecompressionStrategy.kt +0 -117
  195. package/android/src/main/java/com/hotupdater/TarGzDecompressionStrategy.kt +0 -117
  196. package/android/src/main/java/com/hotupdater/ZipDecompressionStrategy.kt +0 -192
  197. package/android/src/test/java/com/hotupdater/BsdiffPatchTest.kt +0 -46
  198. package/android/src/test/java/com/hotupdater/BundleFileStorageServiceTest.kt +0 -799
  199. package/android/src/test/java/com/hotupdater/HotUpdaterImplTest.kt +0 -273
  200. package/android/src/test/java/com/hotupdater/NativeConfigUtilsTest.kt +0 -20
  201. package/android/src/test/java/com/hotupdater/OkHttpDownloadServiceTest.kt +0 -111
  202. package/android/src/test/java/com/hotupdater/RelativePathResolverTest.kt +0 -41
  203. package/android/src/test/java/com/hotupdater/ReleaseCatalogCacheServiceTest.kt +0 -118
  204. package/android/src/test/java/com/hotupdater/TarArchiveInputStreamTest.kt +0 -68
  205. package/ios/HotUpdater/Internal/ArchiveExtractionUtilities.swift +0 -178
  206. package/ios/HotUpdater/Internal/DecompressService.swift +0 -112
  207. package/ios/HotUpdater/Internal/DecompressionStrategy.swift +0 -22
  208. package/ios/HotUpdater/Internal/StreamingTarArchiveExtractor.swift +0 -370
  209. package/ios/HotUpdater/Internal/TarBrDecompressionStrategy.swift +0 -39
  210. package/ios/HotUpdater/Internal/TarGzDecompressionStrategy.swift +0 -59
  211. package/ios/HotUpdater/Internal/ZipArchiveExtractor.swift +0 -482
  212. package/ios/HotUpdater/Internal/ZipDecompressionStrategy.swift +0 -56
  213. package/lib/commonjs/catalogCacheNative.spec.js +0 -31
  214. package/lib/commonjs/catalogCacheNative.spec.js.map +0 -1
  215. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js +0 -615
  216. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js.map +0 -1
  217. package/lib/commonjs/httpClient.spec.js +0 -102
  218. package/lib/commonjs/httpClient.spec.js.map +0 -1
  219. package/lib/commonjs/index.spec.js +0 -302
  220. package/lib/commonjs/index.spec.js.map +0 -1
  221. package/lib/commonjs/iosInterop.spec.js +0 -18
  222. package/lib/commonjs/iosInterop.spec.js.map +0 -1
  223. package/lib/commonjs/native.spec.js +0 -883
  224. package/lib/commonjs/native.spec.js.map +0 -1
  225. package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js +0 -218
  226. package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js.map +0 -1
  227. package/lib/commonjs/notifyAppReadyInsights.js +0 -133
  228. package/lib/commonjs/notifyAppReadyInsights.js.map +0 -1
  229. package/lib/commonjs/notifyAppReadyInsights.spec.js +0 -246
  230. package/lib/commonjs/notifyAppReadyInsights.spec.js.map +0 -1
  231. package/lib/commonjs/notifyAppReadyInsights.test-utils.js +0 -24
  232. package/lib/commonjs/notifyAppReadyInsights.test-utils.js.map +0 -1
  233. package/lib/commonjs/notifyAppReadyInsights.transport.spec.js +0 -117
  234. package/lib/commonjs/notifyAppReadyInsights.transport.spec.js.map +0 -1
  235. package/lib/commonjs/releaseCatalogCache.spec.js +0 -195
  236. package/lib/commonjs/releaseCatalogCache.spec.js.map +0 -1
  237. package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js +0 -64
  238. package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js.map +0 -1
  239. package/lib/commonjs/store.notification.spec.js +0 -76
  240. package/lib/commonjs/store.notification.spec.js.map +0 -1
  241. package/lib/commonjs/store.spec.js +0 -316
  242. package/lib/commonjs/store.spec.js.map +0 -1
  243. package/lib/commonjs/wrap.spec.js +0 -329
  244. package/lib/commonjs/wrap.spec.js.map +0 -1
  245. package/lib/module/catalogCacheNative.spec.js +0 -31
  246. package/lib/module/catalogCacheNative.spec.js.map +0 -1
  247. package/lib/module/checkForUpdate.releaseCatalog.spec.js +0 -614
  248. package/lib/module/checkForUpdate.releaseCatalog.spec.js.map +0 -1
  249. package/lib/module/httpClient.spec.js +0 -102
  250. package/lib/module/httpClient.spec.js.map +0 -1
  251. package/lib/module/index.spec.js +0 -301
  252. package/lib/module/index.spec.js.map +0 -1
  253. package/lib/module/iosInterop.spec.js +0 -18
  254. package/lib/module/iosInterop.spec.js.map +0 -1
  255. package/lib/module/native.spec.js +0 -882
  256. package/lib/module/native.spec.js.map +0 -1
  257. package/lib/module/notifyAppReadyInsights.boundary.spec.js +0 -217
  258. package/lib/module/notifyAppReadyInsights.boundary.spec.js.map +0 -1
  259. package/lib/module/notifyAppReadyInsights.js +0 -128
  260. package/lib/module/notifyAppReadyInsights.js.map +0 -1
  261. package/lib/module/notifyAppReadyInsights.spec.js +0 -245
  262. package/lib/module/notifyAppReadyInsights.spec.js.map +0 -1
  263. package/lib/module/notifyAppReadyInsights.test-utils.js +0 -18
  264. package/lib/module/notifyAppReadyInsights.test-utils.js.map +0 -1
  265. package/lib/module/notifyAppReadyInsights.transport.spec.js +0 -116
  266. package/lib/module/notifyAppReadyInsights.transport.spec.js.map +0 -1
  267. package/lib/module/releaseCatalogCache.spec.js +0 -195
  268. package/lib/module/releaseCatalogCache.spec.js.map +0 -1
  269. package/lib/module/releaseCatalogCacheNativeContract.spec.js +0 -64
  270. package/lib/module/releaseCatalogCacheNativeContract.spec.js.map +0 -1
  271. package/lib/module/store.notification.spec.js +0 -77
  272. package/lib/module/store.notification.spec.js.map +0 -1
  273. package/lib/module/store.spec.js +0 -315
  274. package/lib/module/store.spec.js.map +0 -1
  275. package/lib/module/wrap.spec.js +0 -330
  276. package/lib/module/wrap.spec.js.map +0 -1
  277. package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts +0 -13
  278. package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts.map +0 -1
  279. package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts +0 -8
  280. package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts.map +0 -1
  281. package/lib/typescript/module/notifyAppReadyInsights.d.ts +0 -13
  282. package/lib/typescript/module/notifyAppReadyInsights.d.ts.map +0 -1
  283. package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts +0 -8
  284. package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts.map +0 -1
  285. package/src/catalogCacheNative.spec.ts +0 -63
  286. package/src/checkForUpdate.releaseCatalog.spec.ts +0 -611
  287. package/src/httpClient.spec.ts +0 -132
  288. package/src/index.spec.ts +0 -337
  289. package/src/iosInterop.spec.ts +0 -30
  290. package/src/native.spec.ts +0 -945
  291. package/src/notifyAppReadyInsights.boundary.spec.ts +0 -234
  292. package/src/notifyAppReadyInsights.spec.ts +0 -243
  293. package/src/notifyAppReadyInsights.test-utils.ts +0 -31
  294. package/src/notifyAppReadyInsights.transport.spec.ts +0 -130
  295. package/src/notifyAppReadyInsights.ts +0 -194
  296. package/src/releaseCatalogCache.spec.ts +0 -282
  297. package/src/releaseCatalogCacheNativeContract.spec.ts +0 -80
  298. package/src/store.notification.spec.ts +0 -92
  299. package/src/store.spec.ts +0 -372
  300. package/src/wrap.spec.ts +0 -406
@@ -1,329 +0,0 @@
1
- "use strict";
2
-
3
- var _react = require("@testing-library/react");
4
- var _react2 = require("react");
5
- var _vitest = require("vitest");
6
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); } // @vitest-environment jsdom
7
- _vitest.vi.mock("react-native", () => ({
8
- Platform: {
9
- OS: "ios"
10
- }
11
- }));
12
- const createNotifyReadResult = (result = {
13
- status: "UNCHANGED"
14
- }, insightsEvent = null, pending = false) => ({
15
- insightsEvent,
16
- pending,
17
- result
18
- });
19
- const mocks = _vitest.vi.hoisted(() => ({
20
- addListener: _vitest.vi.fn(() => () => {}),
21
- checkForUpdate: _vitest.vi.fn(),
22
- getAppVersion: _vitest.vi.fn(() => "1.0.0"),
23
- getBundleId: _vitest.vi.fn(() => "bundle-id"),
24
- getUpdateId: _vitest.vi.fn(() => "release-id"),
25
- getChannel: _vitest.vi.fn(() => "production"),
26
- getCohort: _vitest.vi.fn(() => "123"),
27
- getFingerprintHash: _vitest.vi.fn(() => "fingerprint-hash"),
28
- getInstallId: _vitest.vi.fn(() => "install-id"),
29
- getPersistedUserIdentity: _vitest.vi.fn(() => ({})),
30
- readNotifyAppReady: _vitest.vi.fn(() => createNotifyReadResult()),
31
- reload: _vitest.vi.fn()
32
- }));
33
- _vitest.vi.mock("./checkForUpdate", () => ({
34
- checkForUpdate: mocks.checkForUpdate
35
- }));
36
- _vitest.vi.mock("./native", () => ({
37
- addListener: mocks.addListener,
38
- getAppVersion: mocks.getAppVersion,
39
- getBundleId: mocks.getBundleId,
40
- getUpdateId: mocks.getUpdateId,
41
- getChannel: mocks.getChannel,
42
- getCohort: mocks.getCohort,
43
- getFingerprintHash: mocks.getFingerprintHash,
44
- getInstallId: mocks.getInstallId,
45
- getPersistedUserIdentity: mocks.getPersistedUserIdentity,
46
- readNotifyAppReady: mocks.readNotifyAppReady,
47
- reload: mocks.reload
48
- }));
49
- const createClient = (sendInsightsEvent = _vitest.vi.fn().mockResolvedValue(undefined)) => ({
50
- client: {
51
- createSession: _vitest.vi.fn(async () => ({
52
- fetchReleaseCatalog: _vitest.vi.fn(),
53
- resolveArtifact: _vitest.vi.fn(),
54
- sendInsightsEvent
55
- }))
56
- },
57
- sendInsightsEvent
58
- });
59
- (0, _vitest.describe)("HotUpdater wrap initialization", () => {
60
- (0, _vitest.beforeEach)(() => {
61
- _vitest.vi.resetModules();
62
- _vitest.vi.unstubAllGlobals();
63
- _vitest.vi.useRealTimers();
64
- for (const mock of Object.values(mocks)) {
65
- mock.mockReset();
66
- }
67
- mocks.checkForUpdate.mockResolvedValue(null);
68
- mocks.addListener.mockReturnValue(() => {});
69
- mocks.getAppVersion.mockReturnValue("1.0.0");
70
- mocks.getPersistedUserIdentity.mockReturnValue({});
71
- mocks.getBundleId.mockReturnValue("bundle-id");
72
- mocks.getUpdateId.mockReturnValue("release-id");
73
- mocks.getChannel.mockReturnValue("production");
74
- mocks.getCohort.mockReturnValue("123");
75
- mocks.getFingerprintHash.mockReturnValue("fingerprint-hash");
76
- mocks.getInstallId.mockReturnValue("install-id");
77
- mocks.readNotifyAppReady.mockReturnValue(createNotifyReadResult());
78
- });
79
- (0, _vitest.afterEach)(_react.cleanup);
80
- (0, _vitest.it)("reports the console ID when up to date while retaining file IDs in insights", async () => {
81
- const onUpdateProcessCompleted = _vitest.vi.fn();
82
- const {
83
- client,
84
- sendInsightsEvent
85
- } = createClient();
86
- const {
87
- wrap
88
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./wrap")));
89
- const WrappedComponent = wrap({
90
- insights: true,
91
- client,
92
- onUpdateProcessCompleted,
93
- updateStrategy: "appVersion"
94
- })(() => null);
95
- (0, _react.render)(/*#__PURE__*/(0, _react2.createElement)(WrappedComponent));
96
- await (0, _react.waitFor)(() => (0, _vitest.expect)(onUpdateProcessCompleted).toHaveBeenCalledWith({
97
- id: "release-id",
98
- message: null,
99
- shouldForceUpdate: false,
100
- status: "UP_TO_DATE"
101
- }));
102
- await (0, _react.waitFor)(() => (0, _vitest.expect)(sendInsightsEvent).toHaveBeenCalledWith(_vitest.expect.objectContaining({
103
- toBundleId: "bundle-id",
104
- type: "UNCHANGED"
105
- })));
106
- });
107
- (0, _vitest.it)("returns void from init and defers notifyAppReady to the next frame", async () => {
108
- _vitest.vi.useFakeTimers();
109
- const requestAnimationFrame = _vitest.vi.fn(callback => {
110
- setTimeout(() => callback(0), 0);
111
- return 1;
112
- });
113
- _vitest.vi.stubGlobal("requestAnimationFrame", requestAnimationFrame);
114
- const {
115
- client,
116
- sendInsightsEvent
117
- } = createClient();
118
- const {
119
- init
120
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./wrap")));
121
- const result = init({
122
- client,
123
- requestHeaders: {
124
- Authorization: "Bearer token"
125
- },
126
- requestTimeout: 1000
127
- });
128
- (0, _vitest.expect)(result).toBeUndefined();
129
- (0, _vitest.expect)(mocks.readNotifyAppReady).not.toHaveBeenCalled();
130
- (0, _vitest.expect)(sendInsightsEvent).not.toHaveBeenCalled();
131
- (0, _vitest.expect)(requestAnimationFrame).toHaveBeenCalled();
132
- await _vitest.vi.runOnlyPendingTimersAsync();
133
- (0, _vitest.expect)(mocks.readNotifyAppReady).toHaveBeenCalledWith();
134
- (0, _vitest.expect)(sendInsightsEvent).not.toHaveBeenCalled();
135
- });
136
- (0, _vitest.it)("waits for native launch verification before sending insights", async () => {
137
- _vitest.vi.useFakeTimers();
138
- _vitest.vi.stubGlobal("requestAnimationFrame", _vitest.vi.fn(callback => {
139
- setTimeout(() => callback(0), 0);
140
- return 1;
141
- }));
142
- mocks.readNotifyAppReady.mockReturnValueOnce(createNotifyReadResult(undefined, null, true)).mockReturnValueOnce(createNotifyReadResult({
143
- fromBundleId: "bundle-a",
144
- status: "UPDATE_APPLIED",
145
- toBundleId: "bundle-b"
146
- }, {
147
- fromBundleId: "bundle-a",
148
- toBundleId: "bundle-b",
149
- type: "UPDATE_APPLIED",
150
- updateStrategy: "appVersion"
151
- }));
152
- const {
153
- client,
154
- sendInsightsEvent
155
- } = createClient();
156
- const {
157
- init
158
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./wrap")));
159
- init({
160
- insights: true,
161
- client
162
- });
163
- await _vitest.vi.runAllTimersAsync();
164
- (0, _vitest.expect)(mocks.readNotifyAppReady).toHaveBeenCalledTimes(2);
165
- (0, _vitest.expect)(sendInsightsEvent).toHaveBeenCalledTimes(1);
166
- });
167
- (0, _vitest.it)("sends automatic insights only from init when enabled", async () => {
168
- _vitest.vi.useFakeTimers();
169
- _vitest.vi.stubGlobal("requestAnimationFrame", _vitest.vi.fn(callback => {
170
- setTimeout(() => callback(0), 0);
171
- return 1;
172
- }));
173
- mocks.readNotifyAppReady.mockReturnValue(createNotifyReadResult({
174
- fromBundleId: "bundle-a",
175
- status: "UPDATE_APPLIED",
176
- toBundleId: "bundle-b"
177
- }, {
178
- fromBundleId: "bundle-a",
179
- toBundleId: "bundle-b",
180
- type: "UPDATE_APPLIED",
181
- updateStrategy: "fingerprint"
182
- }));
183
- mocks.getPersistedUserIdentity.mockReturnValue({
184
- userId: "user-123",
185
- username: "alice"
186
- });
187
- const {
188
- client,
189
- sendInsightsEvent
190
- } = createClient();
191
- const {
192
- init
193
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./wrap")));
194
- init({
195
- insights: true,
196
- requestHeaders: {
197
- Authorization: "Bearer token"
198
- },
199
- requestTimeout: 1000,
200
- client
201
- });
202
- await _vitest.vi.runOnlyPendingTimersAsync();
203
- (0, _vitest.expect)(sendInsightsEvent).toHaveBeenCalledWith({
204
- appVersion: "1.0.0",
205
- channel: "production",
206
- cohort: "123",
207
- fingerprintHash: "fingerprint-hash",
208
- fromBundleId: "bundle-a",
209
- fromReleaseId: null,
210
- installId: "install-id",
211
- platform: "ios",
212
- requestHeaders: {
213
- Authorization: "Bearer token"
214
- },
215
- requestTimeout: 1000,
216
- toBundleId: "bundle-b",
217
- toReleaseId: null,
218
- type: "UPDATE_APPLIED",
219
- updateStrategy: "fingerprint",
220
- userId: "user-123",
221
- username: "alice"
222
- });
223
- });
224
- (0, _vitest.it)("guards automatic insights to a single delivery attempt per runtime", async () => {
225
- _vitest.vi.useFakeTimers();
226
- _vitest.vi.stubGlobal("requestAnimationFrame", _vitest.vi.fn(callback => {
227
- setTimeout(() => callback(0), 0);
228
- return 1;
229
- }));
230
- mocks.readNotifyAppReady.mockReturnValue(createNotifyReadResult({
231
- fromBundleId: "bundle-a",
232
- status: "RECOVERED",
233
- toBundleId: "bundle-b"
234
- }, {
235
- fromBundleId: "bundle-a",
236
- toBundleId: "bundle-b",
237
- type: "RECOVERED",
238
- updateStrategy: "appVersion"
239
- }));
240
- const {
241
- client,
242
- sendInsightsEvent
243
- } = createClient();
244
- const {
245
- init
246
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./wrap")));
247
- init({
248
- insights: true,
249
- client
250
- });
251
- init({
252
- insights: true,
253
- client
254
- });
255
- await _vitest.vi.runOnlyPendingTimersAsync();
256
- (0, _vitest.expect)(sendInsightsEvent).toHaveBeenCalledTimes(1);
257
- });
258
- (0, _vitest.it)("warns without interrupting app readiness when insights transport fails", async () => {
259
- _vitest.vi.useFakeTimers();
260
- const warn = _vitest.vi.spyOn(console, "warn").mockImplementation(() => {});
261
- const error = new Error("Expected HTTP 204 from /events, received 404");
262
- const onError = _vitest.vi.fn();
263
- const onNotifyAppReady = _vitest.vi.fn();
264
- _vitest.vi.stubGlobal("requestAnimationFrame", _vitest.vi.fn(callback => {
265
- setTimeout(() => callback(0), 0);
266
- return 1;
267
- }));
268
- mocks.readNotifyAppReady.mockReturnValue(createNotifyReadResult({
269
- fromBundleId: "bundle-a",
270
- status: "UPDATE_APPLIED",
271
- toBundleId: "bundle-b"
272
- }, {
273
- fromBundleId: "bundle-a",
274
- toBundleId: "bundle-b",
275
- type: "UPDATE_APPLIED",
276
- updateStrategy: "appVersion"
277
- }));
278
- const {
279
- client
280
- } = createClient(_vitest.vi.fn().mockRejectedValue(error));
281
- const {
282
- init
283
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./wrap")));
284
- init({
285
- insights: true,
286
- onError,
287
- onNotifyAppReady,
288
- client
289
- });
290
- await _vitest.vi.runOnlyPendingTimersAsync();
291
- (0, _vitest.expect)(onError).not.toHaveBeenCalled();
292
- (0, _vitest.expect)(warn).toHaveBeenCalledWith("[HotUpdater] Automatic notifyAppReady insights failed:", error);
293
- (0, _vitest.expect)(onNotifyAppReady).toHaveBeenCalledWith({
294
- fromBundleId: "bundle-a",
295
- status: "UPDATE_APPLIED",
296
- toBundleId: "bundle-b"
297
- });
298
- warn.mockRestore();
299
- });
300
- (0, _vitest.it)("does not accept a manual wrap HOC", async () => {
301
- const {
302
- wrap
303
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./wrap")));
304
- wrap({
305
- client: createClient().client,
306
- updateStrategy: "appVersion"
307
- });
308
- });
309
- (0, _vitest.it)("preserves wrapped component prop inference", async () => {
310
- const {
311
- wrap
312
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./wrap")));
313
- const Component = () => null;
314
- const WrappedComponent = wrap({
315
- client: createClient().client,
316
- updateStrategy: "appVersion"
317
- })(Component);
318
- const acceptsTitleProps = WrappedComponent;
319
- (0, _vitest.expect)(acceptsTitleProps).toBe(WrappedComponent);
320
- });
321
- (0, _vitest.it)("types public wrap options as automatic mode by default", () => {
322
- const autoOptions = {
323
- baseURL: "https://updates.example.com",
324
- updateStrategy: "appVersion"
325
- };
326
- (0, _vitest.expect)(autoOptions.updateStrategy).toBe("appVersion");
327
- });
328
- });
329
- //# sourceMappingURL=wrap.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_react2","_vitest","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","vi","mock","Platform","OS","createNotifyReadResult","result","status","insightsEvent","pending","mocks","hoisted","addListener","fn","checkForUpdate","getAppVersion","getBundleId","getUpdateId","getChannel","getCohort","getFingerprintHash","getInstallId","getPersistedUserIdentity","readNotifyAppReady","reload","createClient","sendInsightsEvent","mockResolvedValue","undefined","client","createSession","fetchReleaseCatalog","resolveArtifact","describe","beforeEach","resetModules","unstubAllGlobals","useRealTimers","values","mockReset","mockReturnValue","afterEach","cleanup","it","onUpdateProcessCompleted","wrap","Promise","resolve","then","WrappedComponent","insights","updateStrategy","render","createElement","waitFor","expect","toHaveBeenCalledWith","id","message","shouldForceUpdate","objectContaining","toBundleId","type","useFakeTimers","requestAnimationFrame","callback","setTimeout","stubGlobal","init","requestHeaders","Authorization","requestTimeout","toBeUndefined","not","toHaveBeenCalled","runOnlyPendingTimersAsync","mockReturnValueOnce","fromBundleId","runAllTimersAsync","toHaveBeenCalledTimes","userId","username","appVersion","channel","cohort","fingerprintHash","fromReleaseId","installId","platform","toReleaseId","warn","spyOn","console","mockImplementation","error","Error","onError","onNotifyAppReady","mockRejectedValue","mockRestore","Component","acceptsTitleProps","toBe","autoOptions","baseURL"],"sourceRoot":"../../src","sources":["wrap.spec.ts"],"mappings":"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","ignoreList":[]}
@@ -1,31 +0,0 @@
1
- "use strict";
2
-
3
- import { beforeEach, describe, expect, it, vi } from "vitest";
4
- const nativeModule = vi.hoisted(() => ({}));
5
- vi.mock("./specs/NativeHotUpdater", () => ({
6
- default: nativeModule
7
- }));
8
- import { readNativeReleaseCatalogCache, removeNativeReleaseCatalogCache, writeNativeReleaseCatalogCache } from "./catalogCacheNative.js";
9
- describe("Release Catalog native cache", () => {
10
- beforeEach(() => {
11
- for (const key of Object.keys(nativeModule)) delete nativeModule[key];
12
- });
13
- it("fails fast when the v1 native cache API is missing", async () => {
14
- await expect(readNativeReleaseCatalogCache("partition")).rejects.toThrow("Native module is missing 'getReleaseCatalogCache()'. Rebuild the native app before using Release catalogs.");
15
- await expect(writeNativeReleaseCatalogCache("partition", "payload")).rejects.toThrow("Native module is missing 'setReleaseCatalogCache()'. Rebuild the native app before using Release catalogs.");
16
- await expect(removeNativeReleaseCatalogCache("partition")).rejects.toThrow("Native module is missing 'removeReleaseCatalogCache()'. Rebuild the native app before using Release catalogs.");
17
- });
18
- it("normalizes an undefined iOS TurboModule cache miss to null", async () => {
19
- nativeModule.getReleaseCatalogCache = vi.fn().mockResolvedValue(undefined);
20
- await expect(readNativeReleaseCatalogCache("partition")).resolves.toBeNull();
21
- });
22
- it("treats native cache I/O failures as misses without hiding network work", async () => {
23
- nativeModule.getReleaseCatalogCache = vi.fn().mockRejectedValue(new Error("read"));
24
- nativeModule.setReleaseCatalogCache = vi.fn().mockRejectedValue(new Error("write"));
25
- nativeModule.removeReleaseCatalogCache = vi.fn().mockRejectedValue(new Error("remove"));
26
- await expect(readNativeReleaseCatalogCache("partition")).resolves.toBeNull();
27
- await expect(writeNativeReleaseCatalogCache("partition", "payload")).resolves.toBe(false);
28
- await expect(removeNativeReleaseCatalogCache("partition")).resolves.toBeUndefined();
29
- });
30
- });
31
- //# sourceMappingURL=catalogCacheNative.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["beforeEach","describe","expect","it","vi","nativeModule","hoisted","mock","default","readNativeReleaseCatalogCache","removeNativeReleaseCatalogCache","writeNativeReleaseCatalogCache","key","Object","keys","rejects","toThrow","getReleaseCatalogCache","fn","mockResolvedValue","undefined","resolves","toBeNull","mockRejectedValue","Error","setReleaseCatalogCache","removeReleaseCatalogCache","toBe","toBeUndefined"],"sourceRoot":"../../src","sources":["catalogCacheNative.spec.ts"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,QAAQ,QAAQ;AAE7D,MAAMC,YAAY,GAAGD,EAAE,CAACE,OAAO,CAC7B,OAAO,CAAC,CAAC,CACX,CAAC;AAEDF,EAAE,CAACG,IAAI,CAAC,0BAA0B,EAAE,OAAO;EAAEC,OAAO,EAAEH;AAAa,CAAC,CAAC,CAAC;AAEtE,SACEI,6BAA6B,EAC7BC,+BAA+B,EAC/BC,8BAA8B,QACzB,yBAAsB;AAE7BV,QAAQ,CAAC,8BAA8B,EAAE,MAAM;EAC7CD,UAAU,CAAC,MAAM;IACf,KAAK,MAAMY,GAAG,IAAIC,MAAM,CAACC,IAAI,CAACT,YAAY,CAAC,EAAE,OAAOA,YAAY,CAACO,GAAG,CAAC;EACvE,CAAC,CAAC;EAEFT,EAAE,CAAC,oDAAoD,EAAE,YAAY;IACnE,MAAMD,MAAM,CAACO,6BAA6B,CAAC,WAAW,CAAC,CAAC,CAACM,OAAO,CAACC,OAAO,CACtE,4GACF,CAAC;IACD,MAAMd,MAAM,CACVS,8BAA8B,CAAC,WAAW,EAAE,SAAS,CACvD,CAAC,CAACI,OAAO,CAACC,OAAO,CACf,4GACF,CAAC;IACD,MAAMd,MAAM,CAACQ,+BAA+B,CAAC,WAAW,CAAC,CAAC,CAACK,OAAO,CAACC,OAAO,CACxE,+GACF,CAAC;EACH,CAAC,CAAC;EAEFb,EAAE,CAAC,4DAA4D,EAAE,YAAY;IAC3EE,YAAY,CAACY,sBAAsB,GAAGb,EAAE,CAACc,EAAE,CAAC,CAAC,CAACC,iBAAiB,CAACC,SAAS,CAAC;IAE1E,MAAMlB,MAAM,CACVO,6BAA6B,CAAC,WAAW,CAC3C,CAAC,CAACY,QAAQ,CAACC,QAAQ,CAAC,CAAC;EACvB,CAAC,CAAC;EAEFnB,EAAE,CAAC,wEAAwE,EAAE,YAAY;IACvFE,YAAY,CAACY,sBAAsB,GAAGb,EAAE,CACrCc,EAAE,CAAC,CAAC,CACJK,iBAAiB,CAAC,IAAIC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvCnB,YAAY,CAACoB,sBAAsB,GAAGrB,EAAE,CACrCc,EAAE,CAAC,CAAC,CACJK,iBAAiB,CAAC,IAAIC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxCnB,YAAY,CAACqB,yBAAyB,GAAGtB,EAAE,CACxCc,EAAE,CAAC,CAAC,CACJK,iBAAiB,CAAC,IAAIC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEzC,MAAMtB,MAAM,CACVO,6BAA6B,CAAC,WAAW,CAC3C,CAAC,CAACY,QAAQ,CAACC,QAAQ,CAAC,CAAC;IACrB,MAAMpB,MAAM,CACVS,8BAA8B,CAAC,WAAW,EAAE,SAAS,CACvD,CAAC,CAACU,QAAQ,CAACM,IAAI,CAAC,KAAK,CAAC;IACtB,MAAMzB,MAAM,CACVQ,+BAA+B,CAAC,WAAW,CAC7C,CAAC,CAACW,QAAQ,CAACO,aAAa,CAAC,CAAC;EAC5B,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}