@hot-updater/react-native 1.0.0-rc.2 → 1.0.0-rc.21

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 (291) 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 +125 -70
  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 +5 -2
  50. package/lib/commonjs/fetchJSON.js.map +1 -1
  51. package/lib/commonjs/httpClient.js +55 -92
  52. package/lib/commonjs/httpClient.js.map +1 -1
  53. package/lib/commonjs/index.js +68 -20
  54. package/lib/commonjs/index.js.map +1 -1
  55. package/lib/commonjs/native.js +82 -62
  56. package/lib/commonjs/native.js.map +1 -1
  57. package/lib/commonjs/pluginHost.js +44 -0
  58. package/lib/commonjs/pluginHost.js.map +1 -0
  59. package/lib/commonjs/releaseCatalogCache.js +20 -61
  60. package/lib/commonjs/releaseCatalogCache.js.map +1 -1
  61. package/lib/commonjs/sdkVersion.js +1 -1
  62. package/lib/commonjs/sdkVersion.js.map +1 -1
  63. package/lib/commonjs/specs/NativeHotUpdater.js.map +1 -1
  64. package/lib/commonjs/store.js +3 -10
  65. package/lib/commonjs/store.js.map +1 -1
  66. package/lib/commonjs/updateError.js +132 -0
  67. package/lib/commonjs/updateError.js.map +1 -0
  68. package/lib/commonjs/wrap.js +44 -27
  69. package/lib/commonjs/wrap.js.map +1 -1
  70. package/lib/module/appReady.js +103 -0
  71. package/lib/module/appReady.js.map +1 -0
  72. package/lib/module/checkForUpdate.js +118 -65
  73. package/lib/module/checkForUpdate.js.map +1 -1
  74. package/lib/module/clientPlugin.js +4 -0
  75. package/lib/module/clientPlugin.js.map +1 -0
  76. package/lib/module/error.js +4 -13
  77. package/lib/module/error.js.map +1 -1
  78. package/lib/module/fetchJSON.js +3 -1
  79. package/lib/module/fetchJSON.js.map +1 -1
  80. package/lib/module/httpClient.js +53 -90
  81. package/lib/module/httpClient.js.map +1 -1
  82. package/lib/module/index.js +55 -22
  83. package/lib/module/index.js.map +1 -1
  84. package/lib/module/native.js +74 -54
  85. package/lib/module/native.js.map +1 -1
  86. package/lib/module/pluginHost.js +35 -0
  87. package/lib/module/pluginHost.js.map +1 -0
  88. package/lib/module/releaseCatalogCache.js +16 -56
  89. package/lib/module/releaseCatalogCache.js.map +1 -1
  90. package/lib/module/sdkVersion.js +1 -1
  91. package/lib/module/sdkVersion.js.map +1 -1
  92. package/lib/module/specs/NativeHotUpdater.js.map +1 -1
  93. package/lib/module/store.js +3 -10
  94. package/lib/module/store.js.map +1 -1
  95. package/lib/module/updateError.js +126 -0
  96. package/lib/module/updateError.js.map +1 -0
  97. package/lib/module/wrap.js +45 -28
  98. package/lib/module/wrap.js.map +1 -1
  99. package/lib/typescript/commonjs/appReady.d.ts +23 -0
  100. package/lib/typescript/commonjs/appReady.d.ts.map +1 -0
  101. package/lib/typescript/commonjs/checkForUpdate.d.ts +16 -4
  102. package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
  103. package/lib/typescript/commonjs/clientPlugin.d.ts +2 -0
  104. package/lib/typescript/commonjs/clientPlugin.d.ts.map +1 -0
  105. package/lib/typescript/commonjs/error.d.ts +4 -13
  106. package/lib/typescript/commonjs/error.d.ts.map +1 -1
  107. package/lib/typescript/commonjs/fetchJSON.d.ts +3 -0
  108. package/lib/typescript/commonjs/fetchJSON.d.ts.map +1 -1
  109. package/lib/typescript/commonjs/httpClient.d.ts +3 -32
  110. package/lib/typescript/commonjs/httpClient.d.ts.map +1 -1
  111. package/lib/typescript/commonjs/index.d.ts +7 -12
  112. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  113. package/lib/typescript/commonjs/native.d.ts +33 -23
  114. package/lib/typescript/commonjs/native.d.ts.map +1 -1
  115. package/lib/typescript/commonjs/pluginHost.d.ts +4 -0
  116. package/lib/typescript/commonjs/pluginHost.d.ts.map +1 -0
  117. package/lib/typescript/commonjs/releaseCatalogCache.d.ts +6 -14
  118. package/lib/typescript/commonjs/releaseCatalogCache.d.ts.map +1 -1
  119. package/lib/typescript/commonjs/sdkVersion.d.ts +1 -1
  120. package/lib/typescript/commonjs/sdkVersion.d.ts.map +1 -1
  121. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts +42 -47
  122. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts.map +1 -1
  123. package/lib/typescript/commonjs/store.d.ts +1 -3
  124. package/lib/typescript/commonjs/store.d.ts.map +1 -1
  125. package/lib/typescript/commonjs/types.d.ts +1 -1
  126. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  127. package/lib/typescript/commonjs/updateError.d.ts +26 -0
  128. package/lib/typescript/commonjs/updateError.d.ts.map +1 -0
  129. package/lib/typescript/commonjs/wrap.d.ts.map +1 -1
  130. package/lib/typescript/commonjs/wrap.types.d.ts +6 -7
  131. package/lib/typescript/commonjs/wrap.types.d.ts.map +1 -1
  132. package/lib/typescript/module/appReady.d.ts +23 -0
  133. package/lib/typescript/module/appReady.d.ts.map +1 -0
  134. package/lib/typescript/module/checkForUpdate.d.ts +16 -4
  135. package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
  136. package/lib/typescript/module/clientPlugin.d.ts +2 -0
  137. package/lib/typescript/module/clientPlugin.d.ts.map +1 -0
  138. package/lib/typescript/module/error.d.ts +4 -13
  139. package/lib/typescript/module/error.d.ts.map +1 -1
  140. package/lib/typescript/module/fetchJSON.d.ts +3 -0
  141. package/lib/typescript/module/fetchJSON.d.ts.map +1 -1
  142. package/lib/typescript/module/httpClient.d.ts +3 -32
  143. package/lib/typescript/module/httpClient.d.ts.map +1 -1
  144. package/lib/typescript/module/index.d.ts +7 -12
  145. package/lib/typescript/module/index.d.ts.map +1 -1
  146. package/lib/typescript/module/native.d.ts +33 -23
  147. package/lib/typescript/module/native.d.ts.map +1 -1
  148. package/lib/typescript/module/pluginHost.d.ts +4 -0
  149. package/lib/typescript/module/pluginHost.d.ts.map +1 -0
  150. package/lib/typescript/module/releaseCatalogCache.d.ts +6 -14
  151. package/lib/typescript/module/releaseCatalogCache.d.ts.map +1 -1
  152. package/lib/typescript/module/sdkVersion.d.ts +1 -1
  153. package/lib/typescript/module/sdkVersion.d.ts.map +1 -1
  154. package/lib/typescript/module/specs/NativeHotUpdater.d.ts +42 -47
  155. package/lib/typescript/module/specs/NativeHotUpdater.d.ts.map +1 -1
  156. package/lib/typescript/module/store.d.ts +1 -3
  157. package/lib/typescript/module/store.d.ts.map +1 -1
  158. package/lib/typescript/module/types.d.ts +1 -1
  159. package/lib/typescript/module/types.d.ts.map +1 -1
  160. package/lib/typescript/module/updateError.d.ts +26 -0
  161. package/lib/typescript/module/updateError.d.ts.map +1 -0
  162. package/lib/typescript/module/wrap.d.ts.map +1 -1
  163. package/lib/typescript/module/wrap.types.d.ts +6 -7
  164. package/lib/typescript/module/wrap.types.d.ts.map +1 -1
  165. package/package.json +7 -4
  166. package/src/appReady.ts +149 -0
  167. package/src/checkForUpdate.ts +152 -89
  168. package/src/clientPlugin.ts +17 -0
  169. package/src/error.ts +4 -14
  170. package/src/fetchJSON.ts +5 -1
  171. package/src/httpClient.ts +78 -157
  172. package/src/index.ts +87 -29
  173. package/src/native.ts +109 -104
  174. package/src/pluginHost.ts +45 -0
  175. package/src/releaseCatalogCache.ts +26 -140
  176. package/src/sdkVersion.ts +1 -1
  177. package/src/specs/NativeHotUpdater.ts +41 -48
  178. package/src/store.ts +2 -23
  179. package/src/types.ts +1 -1
  180. package/src/updateError.ts +153 -0
  181. package/src/wrap.tsx +59 -28
  182. package/src/wrap.types.ts +6 -7
  183. package/android/src/main/java/com/hotupdater/DecompressService.kt +0 -89
  184. package/android/src/main/java/com/hotupdater/DecompressionStrategy.kt +0 -26
  185. package/android/src/main/java/com/hotupdater/TarBrDecompressionStrategy.kt +0 -117
  186. package/android/src/main/java/com/hotupdater/TarGzDecompressionStrategy.kt +0 -117
  187. package/android/src/main/java/com/hotupdater/ZipDecompressionStrategy.kt +0 -192
  188. package/android/src/test/java/com/hotupdater/BsdiffPatchTest.kt +0 -46
  189. package/android/src/test/java/com/hotupdater/BundleFileStorageServiceTest.kt +0 -799
  190. package/android/src/test/java/com/hotupdater/HotUpdaterImplTest.kt +0 -273
  191. package/android/src/test/java/com/hotupdater/NativeConfigUtilsTest.kt +0 -20
  192. package/android/src/test/java/com/hotupdater/OkHttpDownloadServiceTest.kt +0 -111
  193. package/android/src/test/java/com/hotupdater/RelativePathResolverTest.kt +0 -41
  194. package/android/src/test/java/com/hotupdater/ReleaseCatalogCacheServiceTest.kt +0 -118
  195. package/android/src/test/java/com/hotupdater/TarArchiveInputStreamTest.kt +0 -68
  196. package/ios/HotUpdater/Internal/ArchiveExtractionUtilities.swift +0 -178
  197. package/ios/HotUpdater/Internal/DecompressService.swift +0 -112
  198. package/ios/HotUpdater/Internal/DecompressionStrategy.swift +0 -22
  199. package/ios/HotUpdater/Internal/StreamingTarArchiveExtractor.swift +0 -370
  200. package/ios/HotUpdater/Internal/TarBrDecompressionStrategy.swift +0 -39
  201. package/ios/HotUpdater/Internal/TarGzDecompressionStrategy.swift +0 -59
  202. package/ios/HotUpdater/Internal/ZipArchiveExtractor.swift +0 -482
  203. package/ios/HotUpdater/Internal/ZipDecompressionStrategy.swift +0 -56
  204. package/lib/commonjs/catalogCacheNative.spec.js +0 -31
  205. package/lib/commonjs/catalogCacheNative.spec.js.map +0 -1
  206. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js +0 -604
  207. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js.map +0 -1
  208. package/lib/commonjs/httpClient.spec.js +0 -102
  209. package/lib/commonjs/httpClient.spec.js.map +0 -1
  210. package/lib/commonjs/index.spec.js +0 -298
  211. package/lib/commonjs/index.spec.js.map +0 -1
  212. package/lib/commonjs/iosInterop.spec.js +0 -18
  213. package/lib/commonjs/iosInterop.spec.js.map +0 -1
  214. package/lib/commonjs/native.spec.js +0 -795
  215. package/lib/commonjs/native.spec.js.map +0 -1
  216. package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js +0 -218
  217. package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js.map +0 -1
  218. package/lib/commonjs/notifyAppReadyInsights.js +0 -133
  219. package/lib/commonjs/notifyAppReadyInsights.js.map +0 -1
  220. package/lib/commonjs/notifyAppReadyInsights.spec.js +0 -246
  221. package/lib/commonjs/notifyAppReadyInsights.spec.js.map +0 -1
  222. package/lib/commonjs/notifyAppReadyInsights.test-utils.js +0 -24
  223. package/lib/commonjs/notifyAppReadyInsights.test-utils.js.map +0 -1
  224. package/lib/commonjs/notifyAppReadyInsights.transport.spec.js +0 -117
  225. package/lib/commonjs/notifyAppReadyInsights.transport.spec.js.map +0 -1
  226. package/lib/commonjs/releaseCatalogCache.spec.js +0 -195
  227. package/lib/commonjs/releaseCatalogCache.spec.js.map +0 -1
  228. package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js +0 -64
  229. package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js.map +0 -1
  230. package/lib/commonjs/store.notification.spec.js +0 -76
  231. package/lib/commonjs/store.notification.spec.js.map +0 -1
  232. package/lib/commonjs/store.spec.js +0 -316
  233. package/lib/commonjs/store.spec.js.map +0 -1
  234. package/lib/commonjs/wrap.spec.js +0 -296
  235. package/lib/commonjs/wrap.spec.js.map +0 -1
  236. package/lib/module/catalogCacheNative.spec.js +0 -31
  237. package/lib/module/catalogCacheNative.spec.js.map +0 -1
  238. package/lib/module/checkForUpdate.releaseCatalog.spec.js +0 -603
  239. package/lib/module/checkForUpdate.releaseCatalog.spec.js.map +0 -1
  240. package/lib/module/httpClient.spec.js +0 -102
  241. package/lib/module/httpClient.spec.js.map +0 -1
  242. package/lib/module/index.spec.js +0 -297
  243. package/lib/module/index.spec.js.map +0 -1
  244. package/lib/module/iosInterop.spec.js +0 -18
  245. package/lib/module/iosInterop.spec.js.map +0 -1
  246. package/lib/module/native.spec.js +0 -794
  247. package/lib/module/native.spec.js.map +0 -1
  248. package/lib/module/notifyAppReadyInsights.boundary.spec.js +0 -217
  249. package/lib/module/notifyAppReadyInsights.boundary.spec.js.map +0 -1
  250. package/lib/module/notifyAppReadyInsights.js +0 -128
  251. package/lib/module/notifyAppReadyInsights.js.map +0 -1
  252. package/lib/module/notifyAppReadyInsights.spec.js +0 -245
  253. package/lib/module/notifyAppReadyInsights.spec.js.map +0 -1
  254. package/lib/module/notifyAppReadyInsights.test-utils.js +0 -18
  255. package/lib/module/notifyAppReadyInsights.test-utils.js.map +0 -1
  256. package/lib/module/notifyAppReadyInsights.transport.spec.js +0 -116
  257. package/lib/module/notifyAppReadyInsights.transport.spec.js.map +0 -1
  258. package/lib/module/releaseCatalogCache.spec.js +0 -195
  259. package/lib/module/releaseCatalogCache.spec.js.map +0 -1
  260. package/lib/module/releaseCatalogCacheNativeContract.spec.js +0 -64
  261. package/lib/module/releaseCatalogCacheNativeContract.spec.js.map +0 -1
  262. package/lib/module/store.notification.spec.js +0 -77
  263. package/lib/module/store.notification.spec.js.map +0 -1
  264. package/lib/module/store.spec.js +0 -315
  265. package/lib/module/store.spec.js.map +0 -1
  266. package/lib/module/wrap.spec.js +0 -295
  267. package/lib/module/wrap.spec.js.map +0 -1
  268. package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts +0 -13
  269. package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts.map +0 -1
  270. package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts +0 -8
  271. package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts.map +0 -1
  272. package/lib/typescript/module/notifyAppReadyInsights.d.ts +0 -13
  273. package/lib/typescript/module/notifyAppReadyInsights.d.ts.map +0 -1
  274. package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts +0 -8
  275. package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts.map +0 -1
  276. package/src/catalogCacheNative.spec.ts +0 -63
  277. package/src/checkForUpdate.releaseCatalog.spec.ts +0 -596
  278. package/src/httpClient.spec.ts +0 -132
  279. package/src/index.spec.ts +0 -331
  280. package/src/iosInterop.spec.ts +0 -30
  281. package/src/native.spec.ts +0 -855
  282. package/src/notifyAppReadyInsights.boundary.spec.ts +0 -234
  283. package/src/notifyAppReadyInsights.spec.ts +0 -243
  284. package/src/notifyAppReadyInsights.test-utils.ts +0 -31
  285. package/src/notifyAppReadyInsights.transport.spec.ts +0 -130
  286. package/src/notifyAppReadyInsights.ts +0 -194
  287. package/src/releaseCatalogCache.spec.ts +0 -282
  288. package/src/releaseCatalogCacheNativeContract.spec.ts +0 -80
  289. package/src/store.notification.spec.ts +0 -92
  290. package/src/store.spec.ts +0 -372
  291. package/src/wrap.spec.ts +0 -367
@@ -1,296 +0,0 @@
1
- "use strict";
2
-
3
- var _vitest = require("vitest");
4
- 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); }
5
- _vitest.vi.mock("react-native", () => ({
6
- Platform: {
7
- OS: "ios"
8
- }
9
- }));
10
- const createNotifyReadResult = (result = {
11
- status: "UNCHANGED"
12
- }, insightsEvent = null, pending = false) => ({
13
- insightsEvent,
14
- pending,
15
- result
16
- });
17
- const mocks = _vitest.vi.hoisted(() => ({
18
- addListener: _vitest.vi.fn(() => () => {}),
19
- checkForUpdate: _vitest.vi.fn(),
20
- getAppVersion: _vitest.vi.fn(() => "1.0.0"),
21
- getBundleId: _vitest.vi.fn(() => "bundle-id"),
22
- getChannel: _vitest.vi.fn(() => "production"),
23
- getCohort: _vitest.vi.fn(() => "123"),
24
- getFingerprintHash: _vitest.vi.fn(() => "fingerprint-hash"),
25
- getInstallId: _vitest.vi.fn(() => "install-id"),
26
- getPersistedUserIdentity: _vitest.vi.fn(() => ({})),
27
- readNotifyAppReady: _vitest.vi.fn(() => createNotifyReadResult()),
28
- reload: _vitest.vi.fn()
29
- }));
30
- _vitest.vi.mock("./checkForUpdate", () => ({
31
- checkForUpdate: mocks.checkForUpdate
32
- }));
33
- _vitest.vi.mock("./native", () => ({
34
- addListener: mocks.addListener,
35
- getAppVersion: mocks.getAppVersion,
36
- getBundleId: mocks.getBundleId,
37
- getChannel: mocks.getChannel,
38
- getCohort: mocks.getCohort,
39
- getFingerprintHash: mocks.getFingerprintHash,
40
- getInstallId: mocks.getInstallId,
41
- getPersistedUserIdentity: mocks.getPersistedUserIdentity,
42
- readNotifyAppReady: mocks.readNotifyAppReady,
43
- reload: mocks.reload
44
- }));
45
- const createClient = (sendInsightsEvent = _vitest.vi.fn().mockResolvedValue(undefined)) => ({
46
- client: {
47
- createSession: _vitest.vi.fn(async () => ({
48
- fetchReleaseCatalog: _vitest.vi.fn(),
49
- resolveArtifact: _vitest.vi.fn(),
50
- sendInsightsEvent
51
- }))
52
- },
53
- sendInsightsEvent
54
- });
55
- (0, _vitest.describe)("HotUpdater wrap initialization", () => {
56
- (0, _vitest.beforeEach)(() => {
57
- _vitest.vi.resetModules();
58
- _vitest.vi.unstubAllGlobals();
59
- _vitest.vi.useRealTimers();
60
- for (const mock of Object.values(mocks)) {
61
- mock.mockReset();
62
- }
63
- mocks.checkForUpdate.mockResolvedValue(null);
64
- mocks.addListener.mockReturnValue(() => {});
65
- mocks.getAppVersion.mockReturnValue("1.0.0");
66
- mocks.getPersistedUserIdentity.mockReturnValue({});
67
- mocks.getBundleId.mockReturnValue("bundle-id");
68
- mocks.getChannel.mockReturnValue("production");
69
- mocks.getCohort.mockReturnValue("123");
70
- mocks.getFingerprintHash.mockReturnValue("fingerprint-hash");
71
- mocks.getInstallId.mockReturnValue("install-id");
72
- mocks.readNotifyAppReady.mockReturnValue(createNotifyReadResult());
73
- });
74
- (0, _vitest.it)("returns void from init and defers notifyAppReady to the next frame", async () => {
75
- _vitest.vi.useFakeTimers();
76
- const requestAnimationFrame = _vitest.vi.fn(callback => {
77
- setTimeout(() => callback(0), 0);
78
- return 1;
79
- });
80
- _vitest.vi.stubGlobal("requestAnimationFrame", requestAnimationFrame);
81
- const {
82
- client,
83
- sendInsightsEvent
84
- } = createClient();
85
- const {
86
- init
87
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./wrap")));
88
- const result = init({
89
- client,
90
- requestHeaders: {
91
- Authorization: "Bearer token"
92
- },
93
- requestTimeout: 1000
94
- });
95
- (0, _vitest.expect)(result).toBeUndefined();
96
- (0, _vitest.expect)(mocks.readNotifyAppReady).not.toHaveBeenCalled();
97
- (0, _vitest.expect)(sendInsightsEvent).not.toHaveBeenCalled();
98
- (0, _vitest.expect)(requestAnimationFrame).toHaveBeenCalled();
99
- await _vitest.vi.runOnlyPendingTimersAsync();
100
- (0, _vitest.expect)(mocks.readNotifyAppReady).toHaveBeenCalledWith();
101
- (0, _vitest.expect)(sendInsightsEvent).not.toHaveBeenCalled();
102
- });
103
- (0, _vitest.it)("waits for native launch verification before sending insights", async () => {
104
- _vitest.vi.useFakeTimers();
105
- _vitest.vi.stubGlobal("requestAnimationFrame", _vitest.vi.fn(callback => {
106
- setTimeout(() => callback(0), 0);
107
- return 1;
108
- }));
109
- mocks.readNotifyAppReady.mockReturnValueOnce(createNotifyReadResult(undefined, null, true)).mockReturnValueOnce(createNotifyReadResult({
110
- fromBundleId: "bundle-a",
111
- status: "UPDATE_APPLIED",
112
- toBundleId: "bundle-b"
113
- }, {
114
- fromBundleId: "bundle-a",
115
- toBundleId: "bundle-b",
116
- type: "UPDATE_APPLIED",
117
- updateStrategy: "appVersion"
118
- }));
119
- const {
120
- client,
121
- sendInsightsEvent
122
- } = createClient();
123
- const {
124
- init
125
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./wrap")));
126
- init({
127
- insights: true,
128
- client
129
- });
130
- await _vitest.vi.runAllTimersAsync();
131
- (0, _vitest.expect)(mocks.readNotifyAppReady).toHaveBeenCalledTimes(2);
132
- (0, _vitest.expect)(sendInsightsEvent).toHaveBeenCalledTimes(1);
133
- });
134
- (0, _vitest.it)("sends automatic insights only from init when enabled", async () => {
135
- _vitest.vi.useFakeTimers();
136
- _vitest.vi.stubGlobal("requestAnimationFrame", _vitest.vi.fn(callback => {
137
- setTimeout(() => callback(0), 0);
138
- return 1;
139
- }));
140
- mocks.readNotifyAppReady.mockReturnValue(createNotifyReadResult({
141
- fromBundleId: "bundle-a",
142
- status: "UPDATE_APPLIED",
143
- toBundleId: "bundle-b"
144
- }, {
145
- fromBundleId: "bundle-a",
146
- toBundleId: "bundle-b",
147
- type: "UPDATE_APPLIED",
148
- updateStrategy: "fingerprint"
149
- }));
150
- mocks.getPersistedUserIdentity.mockReturnValue({
151
- userId: "user-123",
152
- username: "alice"
153
- });
154
- const {
155
- client,
156
- sendInsightsEvent
157
- } = createClient();
158
- const {
159
- init
160
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./wrap")));
161
- init({
162
- insights: true,
163
- requestHeaders: {
164
- Authorization: "Bearer token"
165
- },
166
- requestTimeout: 1000,
167
- client
168
- });
169
- await _vitest.vi.runOnlyPendingTimersAsync();
170
- (0, _vitest.expect)(sendInsightsEvent).toHaveBeenCalledWith({
171
- appVersion: "1.0.0",
172
- channel: "production",
173
- cohort: "123",
174
- fingerprintHash: "fingerprint-hash",
175
- fromBundleId: "bundle-a",
176
- fromReleaseId: null,
177
- installId: "install-id",
178
- platform: "ios",
179
- requestHeaders: {
180
- Authorization: "Bearer token"
181
- },
182
- requestTimeout: 1000,
183
- toBundleId: "bundle-b",
184
- toReleaseId: null,
185
- type: "UPDATE_APPLIED",
186
- updateStrategy: "fingerprint",
187
- userId: "user-123",
188
- username: "alice"
189
- });
190
- });
191
- (0, _vitest.it)("guards automatic insights to a single delivery attempt per runtime", async () => {
192
- _vitest.vi.useFakeTimers();
193
- _vitest.vi.stubGlobal("requestAnimationFrame", _vitest.vi.fn(callback => {
194
- setTimeout(() => callback(0), 0);
195
- return 1;
196
- }));
197
- mocks.readNotifyAppReady.mockReturnValue(createNotifyReadResult({
198
- fromBundleId: "bundle-a",
199
- status: "RECOVERED",
200
- toBundleId: "bundle-b"
201
- }, {
202
- fromBundleId: "bundle-a",
203
- toBundleId: "bundle-b",
204
- type: "RECOVERED",
205
- updateStrategy: "appVersion"
206
- }));
207
- const {
208
- client,
209
- sendInsightsEvent
210
- } = createClient();
211
- const {
212
- init
213
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./wrap")));
214
- init({
215
- insights: true,
216
- client
217
- });
218
- init({
219
- insights: true,
220
- client
221
- });
222
- await _vitest.vi.runOnlyPendingTimersAsync();
223
- (0, _vitest.expect)(sendInsightsEvent).toHaveBeenCalledTimes(1);
224
- });
225
- (0, _vitest.it)("warns without interrupting app readiness when insights transport fails", async () => {
226
- _vitest.vi.useFakeTimers();
227
- const warn = _vitest.vi.spyOn(console, "warn").mockImplementation(() => {});
228
- const error = new Error("Expected HTTP 204 from /events, received 404");
229
- const onError = _vitest.vi.fn();
230
- const onNotifyAppReady = _vitest.vi.fn();
231
- _vitest.vi.stubGlobal("requestAnimationFrame", _vitest.vi.fn(callback => {
232
- setTimeout(() => callback(0), 0);
233
- return 1;
234
- }));
235
- mocks.readNotifyAppReady.mockReturnValue(createNotifyReadResult({
236
- fromBundleId: "bundle-a",
237
- status: "UPDATE_APPLIED",
238
- toBundleId: "bundle-b"
239
- }, {
240
- fromBundleId: "bundle-a",
241
- toBundleId: "bundle-b",
242
- type: "UPDATE_APPLIED",
243
- updateStrategy: "appVersion"
244
- }));
245
- const {
246
- client
247
- } = createClient(_vitest.vi.fn().mockRejectedValue(error));
248
- const {
249
- init
250
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./wrap")));
251
- init({
252
- insights: true,
253
- onError,
254
- onNotifyAppReady,
255
- client
256
- });
257
- await _vitest.vi.runOnlyPendingTimersAsync();
258
- (0, _vitest.expect)(onError).not.toHaveBeenCalled();
259
- (0, _vitest.expect)(warn).toHaveBeenCalledWith("[HotUpdater] Automatic notifyAppReady insights failed:", error);
260
- (0, _vitest.expect)(onNotifyAppReady).toHaveBeenCalledWith({
261
- fromBundleId: "bundle-a",
262
- status: "UPDATE_APPLIED",
263
- toBundleId: "bundle-b"
264
- });
265
- warn.mockRestore();
266
- });
267
- (0, _vitest.it)("does not accept a manual wrap HOC", async () => {
268
- const {
269
- wrap
270
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./wrap")));
271
- wrap({
272
- client: createClient().client,
273
- updateStrategy: "appVersion"
274
- });
275
- });
276
- (0, _vitest.it)("preserves wrapped component prop inference", async () => {
277
- const {
278
- wrap
279
- } = await Promise.resolve().then(() => _interopRequireWildcard(require("./wrap")));
280
- const Component = () => null;
281
- const WrappedComponent = wrap({
282
- client: createClient().client,
283
- updateStrategy: "appVersion"
284
- })(Component);
285
- const acceptsTitleProps = WrappedComponent;
286
- (0, _vitest.expect)(acceptsTitleProps).toBe(WrappedComponent);
287
- });
288
- (0, _vitest.it)("types public wrap options as automatic mode by default", () => {
289
- const autoOptions = {
290
- baseURL: "https://updates.example.com",
291
- updateStrategy: "appVersion"
292
- };
293
- (0, _vitest.expect)(autoOptions.updateStrategy).toBe("appVersion");
294
- });
295
- });
296
- //# sourceMappingURL=wrap.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_vitest","require","_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","getChannel","getCohort","getFingerprintHash","getInstallId","getPersistedUserIdentity","readNotifyAppReady","reload","createClient","sendInsightsEvent","mockResolvedValue","undefined","client","createSession","fetchReleaseCatalog","resolveArtifact","describe","beforeEach","resetModules","unstubAllGlobals","useRealTimers","values","mockReset","mockReturnValue","it","useFakeTimers","requestAnimationFrame","callback","setTimeout","stubGlobal","init","Promise","resolve","then","requestHeaders","Authorization","requestTimeout","expect","toBeUndefined","not","toHaveBeenCalled","runOnlyPendingTimersAsync","toHaveBeenCalledWith","mockReturnValueOnce","fromBundleId","toBundleId","type","updateStrategy","insights","runAllTimersAsync","toHaveBeenCalledTimes","userId","username","appVersion","channel","cohort","fingerprintHash","fromReleaseId","installId","platform","toReleaseId","warn","spyOn","console","mockImplementation","error","Error","onError","onNotifyAppReady","mockRejectedValue","mockRestore","wrap","Component","WrappedComponent","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":[]}