@hot-updater/react-native 0.36.7 → 1.0.0-rc.0

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 (239) hide show
  1. package/android/src/main/java/com/hotupdater/BundleFileStorageService.kt +357 -6
  2. package/android/src/main/java/com/hotupdater/BundleMetadata.kt +268 -34
  3. package/android/src/main/java/com/hotupdater/HotUpdaterImpl.kt +75 -9
  4. package/android/src/main/java/com/hotupdater/NativeConfigUtils.kt +2 -16
  5. package/android/src/main/java/com/hotupdater/ReleaseCatalogCacheService.kt +166 -0
  6. package/android/src/main/java/com/hotupdater/SignatureVerifier.kt +1 -2
  7. package/android/src/newarch/HotUpdater.kt +1 -1
  8. package/android/src/newarch/HotUpdaterModule.kt +116 -0
  9. package/android/src/oldarch/HotUpdater.kt +1 -1
  10. package/android/src/oldarch/HotUpdaterModule.kt +128 -0
  11. package/android/src/oldarch/HotUpdaterSpec.kt +38 -0
  12. package/android/src/test/java/com/hotupdater/BundleFileStorageServiceTest.kt +280 -2
  13. package/android/src/test/java/com/hotupdater/HotUpdaterImplTest.kt +57 -2
  14. package/android/src/test/java/com/hotupdater/ReleaseCatalogCacheServiceTest.kt +118 -0
  15. package/ios/HotUpdater/Internal/BundleFileStorageService.swift +491 -30
  16. package/ios/HotUpdater/Internal/BundleMetadata.swift +229 -6
  17. package/ios/HotUpdater/Internal/HotUpdater.mm +122 -0
  18. package/ios/HotUpdater/Internal/HotUpdaterImpl.swift +176 -7
  19. package/ios/HotUpdater/Internal/ReleaseCatalogCacheService.swift +213 -0
  20. package/lib/commonjs/catalogCacheNative.js +44 -0
  21. package/lib/commonjs/catalogCacheNative.js.map +1 -0
  22. package/lib/commonjs/catalogCacheNative.spec.js +31 -0
  23. package/lib/commonjs/catalogCacheNative.spec.js.map +1 -0
  24. package/lib/commonjs/checkForUpdate.js +231 -60
  25. package/lib/commonjs/checkForUpdate.js.map +1 -1
  26. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js +604 -0
  27. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js.map +1 -0
  28. package/lib/commonjs/error.js +8 -1
  29. package/lib/commonjs/error.js.map +1 -1
  30. package/lib/commonjs/{fetchUpdateInfo.js → fetchJSON.js} +11 -14
  31. package/lib/commonjs/fetchJSON.js.map +1 -0
  32. package/lib/commonjs/httpClient.js +153 -0
  33. package/lib/commonjs/httpClient.js.map +1 -0
  34. package/lib/commonjs/httpClient.spec.js +102 -0
  35. package/lib/commonjs/httpClient.spec.js.map +1 -0
  36. package/lib/commonjs/index.js +48 -71
  37. package/lib/commonjs/index.js.map +1 -1
  38. package/lib/commonjs/index.spec.js +117 -161
  39. package/lib/commonjs/index.spec.js.map +1 -1
  40. package/lib/commonjs/iosInterop.spec.js +18 -0
  41. package/lib/commonjs/iosInterop.spec.js.map +1 -0
  42. package/lib/commonjs/native.js +222 -55
  43. package/lib/commonjs/native.js.map +1 -1
  44. package/lib/commonjs/native.spec.js +226 -12
  45. package/lib/commonjs/native.spec.js.map +1 -1
  46. package/lib/commonjs/notifyAppReadyAnalytics.boundary.spec.js +218 -0
  47. package/lib/commonjs/notifyAppReadyAnalytics.boundary.spec.js.map +1 -0
  48. package/lib/commonjs/notifyAppReadyAnalytics.js +133 -0
  49. package/lib/commonjs/notifyAppReadyAnalytics.js.map +1 -0
  50. package/lib/commonjs/notifyAppReadyAnalytics.spec.js +246 -0
  51. package/lib/commonjs/notifyAppReadyAnalytics.spec.js.map +1 -0
  52. package/lib/commonjs/notifyAppReadyAnalytics.test-utils.js +24 -0
  53. package/lib/commonjs/notifyAppReadyAnalytics.test-utils.js.map +1 -0
  54. package/lib/commonjs/notifyAppReadyAnalytics.transport.spec.js +117 -0
  55. package/lib/commonjs/notifyAppReadyAnalytics.transport.spec.js.map +1 -0
  56. package/lib/commonjs/releaseCatalogCache.js +179 -0
  57. package/lib/commonjs/releaseCatalogCache.js.map +1 -0
  58. package/lib/commonjs/releaseCatalogCache.spec.js +195 -0
  59. package/lib/commonjs/releaseCatalogCache.spec.js.map +1 -0
  60. package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js +64 -0
  61. package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js.map +1 -0
  62. package/lib/commonjs/sdkVersion.js +1 -1
  63. package/lib/commonjs/sdkVersion.js.map +1 -1
  64. package/lib/commonjs/specs/NativeHotUpdater.js.map +1 -1
  65. package/lib/commonjs/types.js +0 -12
  66. package/lib/commonjs/types.js.map +1 -1
  67. package/lib/commonjs/wrap.js +7 -82
  68. package/lib/commonjs/wrap.js.map +1 -1
  69. package/lib/commonjs/wrap.spec.js +203 -56
  70. package/lib/commonjs/wrap.spec.js.map +1 -1
  71. package/lib/commonjs/wrap.types.js +6 -0
  72. package/lib/commonjs/wrap.types.js.map +1 -0
  73. package/lib/module/catalogCacheNative.js +36 -0
  74. package/lib/module/catalogCacheNative.js.map +1 -0
  75. package/lib/module/catalogCacheNative.spec.js +31 -0
  76. package/lib/module/catalogCacheNative.spec.js.map +1 -0
  77. package/lib/module/checkForUpdate.js +233 -62
  78. package/lib/module/checkForUpdate.js.map +1 -1
  79. package/lib/module/checkForUpdate.releaseCatalog.spec.js +603 -0
  80. package/lib/module/checkForUpdate.releaseCatalog.spec.js.map +1 -0
  81. package/lib/module/error.js +6 -0
  82. package/lib/module/error.js.map +1 -1
  83. package/lib/module/{fetchUpdateInfo.js → fetchJSON.js} +9 -12
  84. package/lib/module/fetchJSON.js.map +1 -0
  85. package/lib/module/httpClient.js +148 -0
  86. package/lib/module/httpClient.js.map +1 -0
  87. package/lib/module/httpClient.spec.js +102 -0
  88. package/lib/module/httpClient.spec.js.map +1 -0
  89. package/lib/module/index.js +49 -66
  90. package/lib/module/index.js.map +1 -1
  91. package/lib/module/index.spec.js +117 -161
  92. package/lib/module/index.spec.js.map +1 -1
  93. package/lib/module/iosInterop.spec.js +18 -0
  94. package/lib/module/iosInterop.spec.js.map +1 -0
  95. package/lib/module/native.js +206 -51
  96. package/lib/module/native.js.map +1 -1
  97. package/lib/module/native.spec.js +226 -12
  98. package/lib/module/native.spec.js.map +1 -1
  99. package/lib/module/notifyAppReadyAnalytics.boundary.spec.js +217 -0
  100. package/lib/module/notifyAppReadyAnalytics.boundary.spec.js.map +1 -0
  101. package/lib/module/notifyAppReadyAnalytics.js +128 -0
  102. package/lib/module/notifyAppReadyAnalytics.js.map +1 -0
  103. package/lib/module/notifyAppReadyAnalytics.spec.js +245 -0
  104. package/lib/module/notifyAppReadyAnalytics.spec.js.map +1 -0
  105. package/lib/module/notifyAppReadyAnalytics.test-utils.js +18 -0
  106. package/lib/module/notifyAppReadyAnalytics.test-utils.js.map +1 -0
  107. package/lib/module/notifyAppReadyAnalytics.transport.spec.js +116 -0
  108. package/lib/module/notifyAppReadyAnalytics.transport.spec.js.map +1 -0
  109. package/lib/module/releaseCatalogCache.js +171 -0
  110. package/lib/module/releaseCatalogCache.js.map +1 -0
  111. package/lib/module/releaseCatalogCache.spec.js +195 -0
  112. package/lib/module/releaseCatalogCache.spec.js.map +1 -0
  113. package/lib/module/releaseCatalogCacheNativeContract.spec.js +64 -0
  114. package/lib/module/releaseCatalogCacheNativeContract.spec.js.map +1 -0
  115. package/lib/module/sdkVersion.js +1 -1
  116. package/lib/module/sdkVersion.js.map +1 -1
  117. package/lib/module/specs/NativeHotUpdater.js.map +1 -1
  118. package/lib/module/types.js +0 -12
  119. package/lib/module/types.js.map +1 -1
  120. package/lib/module/wrap.js +6 -81
  121. package/lib/module/wrap.js.map +1 -1
  122. package/lib/module/wrap.spec.js +203 -56
  123. package/lib/module/wrap.spec.js.map +1 -1
  124. package/lib/module/wrap.types.js +4 -0
  125. package/lib/module/wrap.types.js.map +1 -0
  126. package/lib/typescript/commonjs/catalogCacheNative.d.ts +4 -0
  127. package/lib/typescript/commonjs/catalogCacheNative.d.ts.map +1 -0
  128. package/lib/typescript/commonjs/checkForUpdate.d.ts +14 -4
  129. package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
  130. package/lib/typescript/commonjs/error.d.ts +3 -0
  131. package/lib/typescript/commonjs/error.d.ts.map +1 -1
  132. package/lib/typescript/commonjs/fetchJSON.d.ts +6 -0
  133. package/lib/typescript/commonjs/fetchJSON.d.ts.map +1 -0
  134. package/lib/typescript/commonjs/httpClient.d.ts +56 -0
  135. package/lib/typescript/commonjs/httpClient.d.ts.map +1 -0
  136. package/lib/typescript/commonjs/index.d.ts +32 -41
  137. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  138. package/lib/typescript/commonjs/native.d.ts +83 -18
  139. package/lib/typescript/commonjs/native.d.ts.map +1 -1
  140. package/lib/typescript/commonjs/notifyAppReadyAnalytics.d.ts +13 -0
  141. package/lib/typescript/commonjs/notifyAppReadyAnalytics.d.ts.map +1 -0
  142. package/lib/typescript/commonjs/notifyAppReadyAnalytics.test-utils.d.ts +8 -0
  143. package/lib/typescript/commonjs/notifyAppReadyAnalytics.test-utils.d.ts.map +1 -0
  144. package/lib/typescript/commonjs/releaseCatalogCache.d.ts +25 -0
  145. package/lib/typescript/commonjs/releaseCatalogCache.d.ts.map +1 -0
  146. package/lib/typescript/commonjs/sdkVersion.d.ts +1 -1
  147. package/lib/typescript/commonjs/sdkVersion.d.ts.map +1 -1
  148. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts +40 -5
  149. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts.map +1 -1
  150. package/lib/typescript/commonjs/types.d.ts +0 -118
  151. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  152. package/lib/typescript/commonjs/wrap.d.ts +2 -191
  153. package/lib/typescript/commonjs/wrap.d.ts.map +1 -1
  154. package/lib/typescript/commonjs/wrap.types.d.ts +65 -0
  155. package/lib/typescript/commonjs/wrap.types.d.ts.map +1 -0
  156. package/lib/typescript/module/catalogCacheNative.d.ts +4 -0
  157. package/lib/typescript/module/catalogCacheNative.d.ts.map +1 -0
  158. package/lib/typescript/module/checkForUpdate.d.ts +14 -4
  159. package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
  160. package/lib/typescript/module/error.d.ts +3 -0
  161. package/lib/typescript/module/error.d.ts.map +1 -1
  162. package/lib/typescript/module/fetchJSON.d.ts +6 -0
  163. package/lib/typescript/module/fetchJSON.d.ts.map +1 -0
  164. package/lib/typescript/module/httpClient.d.ts +56 -0
  165. package/lib/typescript/module/httpClient.d.ts.map +1 -0
  166. package/lib/typescript/module/index.d.ts +32 -41
  167. package/lib/typescript/module/index.d.ts.map +1 -1
  168. package/lib/typescript/module/native.d.ts +83 -18
  169. package/lib/typescript/module/native.d.ts.map +1 -1
  170. package/lib/typescript/module/notifyAppReadyAnalytics.d.ts +13 -0
  171. package/lib/typescript/module/notifyAppReadyAnalytics.d.ts.map +1 -0
  172. package/lib/typescript/module/notifyAppReadyAnalytics.test-utils.d.ts +8 -0
  173. package/lib/typescript/module/notifyAppReadyAnalytics.test-utils.d.ts.map +1 -0
  174. package/lib/typescript/module/releaseCatalogCache.d.ts +25 -0
  175. package/lib/typescript/module/releaseCatalogCache.d.ts.map +1 -0
  176. package/lib/typescript/module/sdkVersion.d.ts +1 -1
  177. package/lib/typescript/module/sdkVersion.d.ts.map +1 -1
  178. package/lib/typescript/module/specs/NativeHotUpdater.d.ts +40 -5
  179. package/lib/typescript/module/specs/NativeHotUpdater.d.ts.map +1 -1
  180. package/lib/typescript/module/types.d.ts +0 -118
  181. package/lib/typescript/module/types.d.ts.map +1 -1
  182. package/lib/typescript/module/wrap.d.ts +2 -191
  183. package/lib/typescript/module/wrap.d.ts.map +1 -1
  184. package/lib/typescript/module/wrap.types.d.ts +65 -0
  185. package/lib/typescript/module/wrap.types.d.ts.map +1 -0
  186. package/package.json +6 -24
  187. package/src/catalogCacheNative.spec.ts +63 -0
  188. package/src/catalogCacheNative.ts +74 -0
  189. package/src/checkForUpdate.releaseCatalog.spec.ts +596 -0
  190. package/src/checkForUpdate.ts +368 -97
  191. package/src/error.ts +7 -0
  192. package/src/{fetchUpdateInfo.ts → fetchJSON.ts} +8 -15
  193. package/src/httpClient.spec.ts +132 -0
  194. package/src/httpClient.ts +261 -0
  195. package/src/index.spec.ts +110 -203
  196. package/src/index.ts +70 -93
  197. package/src/iosInterop.spec.ts +30 -0
  198. package/src/native.spec.ts +226 -10
  199. package/src/native.ts +385 -83
  200. package/src/notifyAppReadyAnalytics.boundary.spec.ts +234 -0
  201. package/src/notifyAppReadyAnalytics.spec.ts +243 -0
  202. package/src/notifyAppReadyAnalytics.test-utils.ts +31 -0
  203. package/src/notifyAppReadyAnalytics.transport.spec.ts +130 -0
  204. package/src/notifyAppReadyAnalytics.ts +194 -0
  205. package/src/releaseCatalogCache.spec.ts +282 -0
  206. package/src/releaseCatalogCache.ts +341 -0
  207. package/src/releaseCatalogCacheNativeContract.spec.ts +80 -0
  208. package/src/sdkVersion.ts +1 -1
  209. package/src/specs/NativeHotUpdater.ts +51 -5
  210. package/src/types.ts +0 -140
  211. package/src/wrap.spec.ts +251 -56
  212. package/src/wrap.tsx +23 -318
  213. package/src/wrap.types.ts +78 -0
  214. package/android/src/main/java/com/hotupdater/StringResourceUtils.kt +0 -45
  215. package/app.plugin.js +0 -1
  216. package/ios/HotUpdater/Internal/HotUpdaterCrashHandler.h +0 -7
  217. package/ios/HotUpdater/Internal/HotUpdaterCrashHandler.mm +0 -4
  218. package/lib/commonjs/DefaultResolver.js +0 -50
  219. package/lib/commonjs/DefaultResolver.js.map +0 -1
  220. package/lib/commonjs/DefaultResolver.spec.js +0 -144
  221. package/lib/commonjs/DefaultResolver.spec.js.map +0 -1
  222. package/lib/commonjs/fetchUpdateInfo.js.map +0 -1
  223. package/lib/module/DefaultResolver.js +0 -46
  224. package/lib/module/DefaultResolver.js.map +0 -1
  225. package/lib/module/DefaultResolver.spec.js +0 -144
  226. package/lib/module/DefaultResolver.spec.js.map +0 -1
  227. package/lib/module/fetchUpdateInfo.js.map +0 -1
  228. package/lib/typescript/commonjs/DefaultResolver.d.ts +0 -11
  229. package/lib/typescript/commonjs/DefaultResolver.d.ts.map +0 -1
  230. package/lib/typescript/commonjs/fetchUpdateInfo.d.ts +0 -7
  231. package/lib/typescript/commonjs/fetchUpdateInfo.d.ts.map +0 -1
  232. package/lib/typescript/module/DefaultResolver.d.ts +0 -11
  233. package/lib/typescript/module/DefaultResolver.d.ts.map +0 -1
  234. package/lib/typescript/module/fetchUpdateInfo.d.ts +0 -7
  235. package/lib/typescript/module/fetchUpdateInfo.d.ts.map +0 -1
  236. package/plugin/build/transformers.js +0 -314
  237. package/plugin/build/withHotUpdater.js +0 -228
  238. package/src/DefaultResolver.spec.ts +0 -193
  239. package/src/DefaultResolver.ts +0 -63
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","checkForUpdate","useEventCallback","getBundleId","notifyAppReady","nativeNotifyAppReady","reload","useHotUpdaterStore","jsx","_jsx","didWarnManualWrapDeprecation","warnManualWrapDeprecation","console","warn","waitForNextFrame","Promise","resolve","requestAnimationFrame","globalThis","then","handleNotifyAppReady","options","nativeResult","resolver","status","crashedBundleId","requestHeaders","requestTimeout","catch","e","onError","onNotifyAppReady","init","wrap","updateMode","WrappedComponent","ManualHOC","props","reloadOnForceUpdate","restOptions","HotUpdaterHOC","progressState","state","progress","message","setMessage","updateStatus","setUpdateStatus","initHotUpdater","updateInfo","updateStrategy","onUpdateProcessCompleted","shouldForceUpdate","id","updateBundle","error","isSuccess","Error","onProgress","fallbackComponent","Fallback","artifactType","details","downloadedBytes","totalBytes"],"sourceRoot":"../../src","sources":["wrap.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","checkForUpdate","useEventCallback","getBundleId","reload","handleNotifyAppReady","useHotUpdaterStore","jsx","_jsx","init","options","wrap","reloadOnForceUpdate","restOptions","WrappedComponent","HotUpdaterHOC","props","progressState","state","progress","message","setMessage","updateStatus","setUpdateStatus","initHotUpdater","updateInfo","analytics","client","updateStrategy","requestHeaders","requestTimeout","onError","onUpdateProcessCompleted","status","shouldForceUpdate","id","updateBundle","catch","error","isSuccess","Error","normalizedError","String","onProgress","fallbackComponent","Fallback","artifactType","details","downloadedBytes","totalBytes"],"sourceRoot":"../../src","sources":["wrap.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,13 +1,29 @@
1
1
  "use strict";
2
2
 
3
3
  import { beforeEach, describe, expect, it, vi } from "vitest";
4
+ vi.mock("react-native", () => ({
5
+ Platform: {
6
+ OS: "ios"
7
+ }
8
+ }));
9
+ const createNotifyReadResult = (result = {
10
+ status: "UNCHANGED"
11
+ }, analyticsEvent = null, pending = false) => ({
12
+ analyticsEvent,
13
+ pending,
14
+ result
15
+ });
4
16
  const mocks = vi.hoisted(() => ({
5
17
  addListener: vi.fn(() => () => {}),
6
18
  checkForUpdate: vi.fn(),
19
+ getAppVersion: vi.fn(() => "1.0.0"),
7
20
  getBundleId: vi.fn(() => "bundle-id"),
8
- notifyAppReady: vi.fn(() => ({
9
- status: "STABLE"
10
- })),
21
+ getChannel: vi.fn(() => "production"),
22
+ getCohort: vi.fn(() => "123"),
23
+ getFingerprintHash: vi.fn(() => "fingerprint-hash"),
24
+ getInstallId: vi.fn(() => "install-id"),
25
+ getPersistedUserIdentity: vi.fn(() => ({})),
26
+ readNotifyAppReady: vi.fn(() => createNotifyReadResult()),
11
27
  reload: vi.fn()
12
28
  }));
13
29
  vi.mock("./checkForUpdate", () => ({
@@ -15,10 +31,26 @@ vi.mock("./checkForUpdate", () => ({
15
31
  }));
16
32
  vi.mock("./native", () => ({
17
33
  addListener: mocks.addListener,
34
+ getAppVersion: mocks.getAppVersion,
18
35
  getBundleId: mocks.getBundleId,
19
- notifyAppReady: mocks.notifyAppReady,
36
+ getChannel: mocks.getChannel,
37
+ getCohort: mocks.getCohort,
38
+ getFingerprintHash: mocks.getFingerprintHash,
39
+ getInstallId: mocks.getInstallId,
40
+ getPersistedUserIdentity: mocks.getPersistedUserIdentity,
41
+ readNotifyAppReady: mocks.readNotifyAppReady,
20
42
  reload: mocks.reload
21
43
  }));
44
+ const createClient = (sendAnalyticsEvent = vi.fn().mockResolvedValue(undefined)) => ({
45
+ client: {
46
+ createSession: vi.fn(async () => ({
47
+ fetchReleaseCatalog: vi.fn(),
48
+ resolveArtifact: vi.fn(),
49
+ sendAnalyticsEvent
50
+ }))
51
+ },
52
+ sendAnalyticsEvent
53
+ });
22
54
  describe("HotUpdater wrap initialization", () => {
23
55
  beforeEach(() => {
24
56
  vi.resetModules();
@@ -29,10 +61,14 @@ describe("HotUpdater wrap initialization", () => {
29
61
  }
30
62
  mocks.checkForUpdate.mockResolvedValue(null);
31
63
  mocks.addListener.mockReturnValue(() => {});
64
+ mocks.getAppVersion.mockReturnValue("1.0.0");
65
+ mocks.getPersistedUserIdentity.mockReturnValue({});
32
66
  mocks.getBundleId.mockReturnValue("bundle-id");
33
- mocks.notifyAppReady.mockReturnValue({
34
- status: "STABLE"
35
- });
67
+ mocks.getChannel.mockReturnValue("production");
68
+ mocks.getCohort.mockReturnValue("123");
69
+ mocks.getFingerprintHash.mockReturnValue("fingerprint-hash");
70
+ mocks.getInstallId.mockReturnValue("install-id");
71
+ mocks.readNotifyAppReady.mockReturnValue(createNotifyReadResult());
36
72
  });
37
73
  it("returns void from init and defers notifyAppReady to the next frame", async () => {
38
74
  vi.useFakeTimers();
@@ -41,74 +77,200 @@ describe("HotUpdater wrap initialization", () => {
41
77
  return 1;
42
78
  });
43
79
  vi.stubGlobal("requestAnimationFrame", requestAnimationFrame);
44
- const resolver = {
45
- checkUpdate: vi.fn(),
46
- notifyAppReady: vi.fn().mockResolvedValue(undefined)
47
- };
80
+ const {
81
+ client,
82
+ sendAnalyticsEvent
83
+ } = createClient();
48
84
  const {
49
85
  init
50
86
  } = await import("./wrap");
51
87
  const result = init({
52
- resolver,
88
+ client,
53
89
  requestHeaders: {
54
90
  Authorization: "Bearer token"
55
91
  },
56
92
  requestTimeout: 1000
57
93
  });
58
94
  expect(result).toBeUndefined();
59
- expect(mocks.notifyAppReady).not.toHaveBeenCalled();
60
- expect(resolver.notifyAppReady).not.toHaveBeenCalled();
95
+ expect(mocks.readNotifyAppReady).not.toHaveBeenCalled();
96
+ expect(sendAnalyticsEvent).not.toHaveBeenCalled();
61
97
  expect(requestAnimationFrame).toHaveBeenCalled();
62
98
  await vi.runOnlyPendingTimersAsync();
63
- expect(mocks.notifyAppReady).toHaveBeenCalledWith();
64
- expect(resolver.notifyAppReady).toHaveBeenCalledWith({
65
- status: "STABLE",
66
- crashedBundleId: undefined,
99
+ expect(mocks.readNotifyAppReady).toHaveBeenCalledWith();
100
+ expect(sendAnalyticsEvent).not.toHaveBeenCalled();
101
+ });
102
+ it("waits for native launch verification before sending analytics", async () => {
103
+ vi.useFakeTimers();
104
+ vi.stubGlobal("requestAnimationFrame", vi.fn(callback => {
105
+ setTimeout(() => callback(0), 0);
106
+ return 1;
107
+ }));
108
+ mocks.readNotifyAppReady.mockReturnValueOnce(createNotifyReadResult(undefined, null, true)).mockReturnValueOnce(createNotifyReadResult({
109
+ fromBundleId: "bundle-a",
110
+ status: "UPDATE_APPLIED",
111
+ toBundleId: "bundle-b"
112
+ }, {
113
+ fromBundleId: "bundle-a",
114
+ toBundleId: "bundle-b",
115
+ type: "UPDATE_APPLIED",
116
+ updateStrategy: "appVersion"
117
+ }));
118
+ const {
119
+ client,
120
+ sendAnalyticsEvent
121
+ } = createClient();
122
+ const {
123
+ init
124
+ } = await import("./wrap");
125
+ init({
126
+ analytics: true,
127
+ client
128
+ });
129
+ await vi.runAllTimersAsync();
130
+ expect(mocks.readNotifyAppReady).toHaveBeenCalledTimes(2);
131
+ expect(sendAnalyticsEvent).toHaveBeenCalledTimes(1);
132
+ });
133
+ it("sends automatic analytics only from init when enabled", async () => {
134
+ vi.useFakeTimers();
135
+ vi.stubGlobal("requestAnimationFrame", vi.fn(callback => {
136
+ setTimeout(() => callback(0), 0);
137
+ return 1;
138
+ }));
139
+ mocks.readNotifyAppReady.mockReturnValue(createNotifyReadResult({
140
+ fromBundleId: "bundle-a",
141
+ status: "UPDATE_APPLIED",
142
+ toBundleId: "bundle-b"
143
+ }, {
144
+ fromBundleId: "bundle-a",
145
+ toBundleId: "bundle-b",
146
+ type: "UPDATE_APPLIED",
147
+ updateStrategy: "fingerprint"
148
+ }));
149
+ mocks.getPersistedUserIdentity.mockReturnValue({
150
+ userId: "user-123",
151
+ username: "alice"
152
+ });
153
+ const {
154
+ client,
155
+ sendAnalyticsEvent
156
+ } = createClient();
157
+ const {
158
+ init
159
+ } = await import("./wrap");
160
+ init({
161
+ analytics: true,
67
162
  requestHeaders: {
68
163
  Authorization: "Bearer token"
69
164
  },
70
- requestTimeout: 1000
165
+ requestTimeout: 1000,
166
+ client
167
+ });
168
+ await vi.runOnlyPendingTimersAsync();
169
+ expect(sendAnalyticsEvent).toHaveBeenCalledWith({
170
+ appVersion: "1.0.0",
171
+ channel: "production",
172
+ cohort: "123",
173
+ fingerprintHash: "fingerprint-hash",
174
+ fromBundleId: "bundle-a",
175
+ fromReleaseId: null,
176
+ installId: "install-id",
177
+ platform: "ios",
178
+ requestHeaders: {
179
+ Authorization: "Bearer token"
180
+ },
181
+ requestTimeout: 1000,
182
+ toBundleId: "bundle-b",
183
+ toReleaseId: null,
184
+ type: "UPDATE_APPLIED",
185
+ updateStrategy: "fingerprint",
186
+ userId: "user-123",
187
+ username: "alice"
188
+ });
189
+ });
190
+ it("guards automatic analytics to a single delivery attempt per runtime", async () => {
191
+ vi.useFakeTimers();
192
+ vi.stubGlobal("requestAnimationFrame", vi.fn(callback => {
193
+ setTimeout(() => callback(0), 0);
194
+ return 1;
195
+ }));
196
+ mocks.readNotifyAppReady.mockReturnValue(createNotifyReadResult({
197
+ fromBundleId: "bundle-a",
198
+ status: "RECOVERED",
199
+ toBundleId: "bundle-b"
200
+ }, {
201
+ fromBundleId: "bundle-a",
202
+ toBundleId: "bundle-b",
203
+ type: "RECOVERED",
204
+ updateStrategy: "appVersion"
205
+ }));
206
+ const {
207
+ client,
208
+ sendAnalyticsEvent
209
+ } = createClient();
210
+ const {
211
+ init
212
+ } = await import("./wrap");
213
+ init({
214
+ analytics: true,
215
+ client
71
216
  });
217
+ init({
218
+ analytics: true,
219
+ client
220
+ });
221
+ await vi.runOnlyPendingTimersAsync();
222
+ expect(sendAnalyticsEvent).toHaveBeenCalledTimes(1);
72
223
  });
73
- it("calls init onError when app-ready notification fails", async () => {
224
+ it("warns without interrupting app readiness when analytics transport fails", async () => {
74
225
  vi.useFakeTimers();
75
226
  const warn = vi.spyOn(console, "warn").mockImplementation(() => {});
76
- const error = new Error("notify failed");
227
+ const error = new Error("Expected HTTP 204 from /events, received 404");
77
228
  const onError = vi.fn();
78
- const requestAnimationFrame = vi.fn(callback => {
229
+ const onNotifyAppReady = vi.fn();
230
+ vi.stubGlobal("requestAnimationFrame", vi.fn(callback => {
79
231
  setTimeout(() => callback(0), 0);
80
232
  return 1;
81
- });
82
- vi.stubGlobal("requestAnimationFrame", requestAnimationFrame);
83
- const resolver = {
84
- checkUpdate: vi.fn(),
85
- notifyAppReady: vi.fn().mockRejectedValue(error)
86
- };
233
+ }));
234
+ mocks.readNotifyAppReady.mockReturnValue(createNotifyReadResult({
235
+ fromBundleId: "bundle-a",
236
+ status: "UPDATE_APPLIED",
237
+ toBundleId: "bundle-b"
238
+ }, {
239
+ fromBundleId: "bundle-a",
240
+ toBundleId: "bundle-b",
241
+ type: "UPDATE_APPLIED",
242
+ updateStrategy: "appVersion"
243
+ }));
244
+ const {
245
+ client
246
+ } = createClient(vi.fn().mockRejectedValue(error));
87
247
  const {
88
248
  init
89
249
  } = await import("./wrap");
90
250
  init({
91
- resolver,
92
- onError
251
+ analytics: true,
252
+ onError,
253
+ onNotifyAppReady,
254
+ client
93
255
  });
94
256
  await vi.runOnlyPendingTimersAsync();
95
- expect(onError).toHaveBeenCalledWith(error);
257
+ expect(onError).not.toHaveBeenCalled();
258
+ expect(warn).toHaveBeenCalledWith("[HotUpdater] Automatic notifyAppReady analytics failed:", error);
259
+ expect(onNotifyAppReady).toHaveBeenCalledWith({
260
+ fromBundleId: "bundle-a",
261
+ status: "UPDATE_APPLIED",
262
+ toBundleId: "bundle-b"
263
+ });
96
264
  warn.mockRestore();
97
265
  });
98
- it("warns when the deprecated manual wrap HOC is used", async () => {
99
- const warn = vi.spyOn(console, "warn").mockImplementation(() => {});
266
+ it("does not accept a manual wrap HOC", async () => {
100
267
  const {
101
268
  wrap
102
269
  } = await import("./wrap");
103
270
  wrap({
104
- resolver: {
105
- checkUpdate: vi.fn(),
106
- notifyAppReady: vi.fn()
107
- },
108
- updateMode: "manual"
271
+ client: createClient().client,
272
+ updateStrategy: "appVersion"
109
273
  });
110
- expect(warn).toHaveBeenCalledWith(expect.stringContaining('HotUpdater.wrap({ updateMode: "manual" }) is deprecated'));
111
- warn.mockRestore();
112
274
  });
113
275
  it("preserves wrapped component prop inference", async () => {
114
276
  const {
@@ -116,11 +278,7 @@ describe("HotUpdater wrap initialization", () => {
116
278
  } = await import("./wrap");
117
279
  const Component = () => null;
118
280
  const WrappedComponent = wrap({
119
- resolver: {
120
- checkUpdate: vi.fn(),
121
- notifyAppReady: vi.fn()
122
- },
123
- updateMode: "auto",
281
+ client: createClient().client,
124
282
  updateStrategy: "appVersion"
125
283
  })(Component);
126
284
  const acceptsTitleProps = WrappedComponent;
@@ -131,18 +289,7 @@ describe("HotUpdater wrap initialization", () => {
131
289
  baseURL: "https://updates.example.com",
132
290
  updateStrategy: "appVersion"
133
291
  };
134
- const explicitAutoOptions = {
135
- baseURL: "https://updates.example.com",
136
- updateMode: "auto",
137
- updateStrategy: "appVersion"
138
- };
139
- const manualOptions = {
140
- baseURL: "https://updates.example.com",
141
- updateMode: "manual"
142
- };
143
292
  expect(autoOptions.updateStrategy).toBe("appVersion");
144
- expect(explicitAutoOptions.updateMode).toBe("auto");
145
- expect(manualOptions.updateMode).toBe("manual");
146
293
  });
147
294
  });
148
295
  //# sourceMappingURL=wrap.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["beforeEach","describe","expect","it","vi","mocks","hoisted","addListener","fn","checkForUpdate","getBundleId","notifyAppReady","status","reload","mock","resetModules","unstubAllGlobals","useRealTimers","Object","values","mockReset","mockResolvedValue","mockReturnValue","useFakeTimers","requestAnimationFrame","callback","setTimeout","stubGlobal","resolver","checkUpdate","undefined","init","result","requestHeaders","Authorization","requestTimeout","toBeUndefined","not","toHaveBeenCalled","runOnlyPendingTimersAsync","toHaveBeenCalledWith","crashedBundleId","warn","spyOn","console","mockImplementation","error","Error","onError","mockRejectedValue","mockRestore","wrap","updateMode","stringContaining","Component","WrappedComponent","updateStrategy","acceptsTitleProps","toBe","autoOptions","baseURL","explicitAutoOptions","manualOptions"],"sourceRoot":"../../src","sources":["wrap.spec.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["beforeEach","describe","expect","it","vi","mock","Platform","OS","createNotifyReadResult","result","status","analyticsEvent","pending","mocks","hoisted","addListener","fn","checkForUpdate","getAppVersion","getBundleId","getChannel","getCohort","getFingerprintHash","getInstallId","getPersistedUserIdentity","readNotifyAppReady","reload","createClient","sendAnalyticsEvent","mockResolvedValue","undefined","client","createSession","fetchReleaseCatalog","resolveArtifact","resetModules","unstubAllGlobals","useRealTimers","Object","values","mockReset","mockReturnValue","useFakeTimers","requestAnimationFrame","callback","setTimeout","stubGlobal","init","requestHeaders","Authorization","requestTimeout","toBeUndefined","not","toHaveBeenCalled","runOnlyPendingTimersAsync","toHaveBeenCalledWith","mockReturnValueOnce","fromBundleId","toBundleId","type","updateStrategy","analytics","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":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=wrap.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["wrap.types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ export declare const readNativeReleaseCatalogCache: (partition: string) => Promise<string | null>;
2
+ export declare const writeNativeReleaseCatalogCache: (partition: string, payload: string) => Promise<boolean>;
3
+ export declare const removeNativeReleaseCatalogCache: (partition: string) => Promise<void>;
4
+ //# sourceMappingURL=catalogCacheNative.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalogCacheNative.d.ts","sourceRoot":"","sources":["../../../src/catalogCacheNative.ts"],"names":[],"mappings":"AA4BA,eAAO,MAAM,6BAA6B,cAC7B,MAAM,KAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAYvB,CAAC;AAEF,eAAO,MAAM,8BAA8B,cAC9B,MAAM,WACR,MAAM,KACd,OAAO,CAAC,OAAO,CAWjB,CAAC;AAEF,eAAO,MAAM,+BAA+B,cAC/B,MAAM,KAChB,OAAO,CAAC,IAAI,CAWd,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { AppUpdateAvailableInfo } from "@hot-updater/core";
2
- import type { HotUpdaterResolver } from "./types";
1
+ import { type ArtifactInfo } from "@hot-updater/core";
2
+ import type { HotUpdaterHttpClient } from "./httpClient";
3
3
  export interface CheckForUpdateOptions {
4
4
  /**
5
5
  * Update strategy
@@ -21,15 +21,25 @@ export interface CheckForUpdateOptions {
21
21
  */
22
22
  requestTimeout?: number;
23
23
  }
24
- export type CheckForUpdateResult = AppUpdateAvailableInfo & {
24
+ export type CheckForUpdateResult = ArtifactInfo & {
25
+ readonly id: string;
26
+ readonly message: string | null;
27
+ readonly rolloutCohortCount: number;
28
+ readonly shouldForceUpdate: boolean;
29
+ readonly status: "ROLLBACK" | "UPDATE";
30
+ readonly targetCohorts: string[];
31
+ readonly releaseId?: string | null;
32
+ readonly transitionKind?: ReleaseTransitionKind;
25
33
  /**
26
34
  * Updates the bundle.
27
35
  * This method is equivalent to `HotUpdater.updateBundle()` but with all required arguments pre-filled.
28
36
  */
29
37
  updateBundle: () => Promise<boolean>;
30
38
  };
39
+ export type ReleaseTransitionKind = "INSTALL" | "ADOPT_RELEASE" | "USE_EMBEDDED" | "USE_BUILTIN";
31
40
  export interface InternalCheckForUpdateOptions extends CheckForUpdateOptions {
32
- resolver: HotUpdaterResolver;
41
+ analytics?: boolean;
42
+ client: HotUpdaterHttpClient;
33
43
  }
34
44
  export declare function checkForUpdate(options: InternalCheckForUpdateOptions): Promise<CheckForUpdateResult | null>;
35
45
  //# sourceMappingURL=checkForUpdate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkForUpdate.d.ts","sourceRoot":"","sources":["../../../src/checkForUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAiB,MAAM,mBAAmB,CAAC;AAiB/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIlD,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,cAAc,EAAE,YAAY,GAAG,aAAa,CAAC;IAE7C;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,GAAG;IAC1D;;;OAGG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACtC,CAAC;AAGF,MAAM,WAAW,6BAA8B,SAAQ,qBAAqB;IAC1E,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAUD,wBAAsB,cAAc,CAClC,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CA8HtC"}
1
+ {"version":3,"file":"checkForUpdate.d.ts","sourceRoot":"","sources":["../../../src/checkForUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,YAAY,EAGlB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,oBAAoB,EAAyB,MAAM,cAAc,CAAC;AAyBhF,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,cAAc,EAAE,YAAY,GAAG,aAAa,CAAC;IAE7C;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAChD;;;OAGG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B,SAAS,GACT,eAAe,GACf,cAAc,GACd,aAAa,CAAC;AAElB,MAAM,WAAW,6BAA8B,SAAQ,qBAAqB;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AA+TD,wBAAsB,cAAc,CAClC,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAyDtC"}
@@ -121,4 +121,7 @@ export declare function isHotUpdaterError(error: unknown): error is {
121
121
  export declare class HotUpdaterError extends Error {
122
122
  constructor(message: string);
123
123
  }
124
+ export declare class StaleReleaseCatalogError extends HotUpdaterError {
125
+ constructor();
126
+ }
124
127
  //# sourceMappingURL=error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,oBAAY,mBAAmB;IAG7B;;;;OAIG;IACH,iBAAiB,sBAAsB;IAEvC;;;;OAIG;IACH,gBAAgB,qBAAqB;IAIrC;;;;OAIG;IACH,yBAAyB,8BAA8B;IAEvD;;;;;OAKG;IACH,eAAe,oBAAoB;IAEnC;;;;;OAKG;IACH,mBAAmB,wBAAwB;IAE3C;;;;;OAKG;IACH,uBAAuB,4BAA4B;IAEnD;;;;;OAKG;IACH,cAAc,mBAAmB;IAEjC;;;;;OAKG;IACH,uBAAuB,4BAA4B;IAEnD;;;;;OAKG;IACH,6BAA6B,kCAAkC;IAE/D;;;;;;OAMG;IACH,qBAAqB,0BAA0B;IAE/C;;;;;OAKG;IACH,yBAAyB,8BAA8B;IAOvD;;;;;;;OAOG;IACH,gBAAgB,qBAAqB;IAErC;;;;;OAKG;IACH,aAAa,kBAAkB;CAChC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAUzD;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,oBAAY,mBAAmB;IAG7B;;;;OAIG;IACH,iBAAiB,sBAAsB;IAEvC;;;;OAIG;IACH,gBAAgB,qBAAqB;IAIrC;;;;OAIG;IACH,yBAAyB,8BAA8B;IAEvD;;;;;OAKG;IACH,eAAe,oBAAoB;IAEnC;;;;;OAKG;IACH,mBAAmB,wBAAwB;IAE3C;;;;;OAKG;IACH,uBAAuB,4BAA4B;IAEnD;;;;;OAKG;IACH,cAAc,mBAAmB;IAEjC;;;;;OAKG;IACH,uBAAuB,4BAA4B;IAEnD;;;;;OAKG;IACH,6BAA6B,kCAAkC;IAE/D;;;;;;OAMG;IACH,qBAAqB,0BAA0B;IAE/C;;;;;OAKG;IACH,yBAAyB,8BAA8B;IAOvD;;;;;;;OAOG;IACH,gBAAgB,qBAAqB;IAErC;;;;;OAKG;IACH,aAAa,kBAAkB;CAChC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAUzD;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED,qBAAa,wBAAyB,SAAQ,eAAe;IAC3D,cAGC;CACF"}
@@ -0,0 +1,6 @@
1
+ export declare const fetchJSON: <T>({ url, requestHeaders, requestTimeout, }: {
2
+ url: string;
3
+ requestHeaders?: Record<string, string>;
4
+ requestTimeout?: number;
5
+ }) => Promise<T>;
6
+ //# sourceMappingURL=fetchJSON.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchJSON.d.ts","sourceRoot":"","sources":["../../../src/fetchJSON.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,GAAU,CAAC,4CAI9B;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,KAAG,OAAO,CAAC,CAAC,CAwBZ,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { type ArtifactInfo, type ReleaseCatalog } from "@hot-updater/core";
2
+ import type { HotUpdaterBaseURL } from "./types";
3
+ export interface ReleaseCatalogRequest {
4
+ readonly platform: "ios" | "android";
5
+ readonly channel: string;
6
+ readonly updateStrategy: "fingerprint" | "appVersion";
7
+ readonly appVersion: string;
8
+ readonly fingerprintHash: string | null;
9
+ readonly requestHeaders?: Record<string, string>;
10
+ readonly requestTimeout?: number;
11
+ }
12
+ export interface ArtifactRequest {
13
+ readonly targetBundleId: string;
14
+ readonly currentBundleId: string;
15
+ readonly requestHeaders?: Record<string, string>;
16
+ readonly requestTimeout?: number;
17
+ }
18
+ interface AnalyticsEventCommonParams {
19
+ readonly installId: string;
20
+ readonly userId?: string;
21
+ readonly username?: string;
22
+ readonly platform: "ios" | "android";
23
+ readonly appVersion: string;
24
+ readonly channel: string;
25
+ readonly cohort: string;
26
+ readonly fingerprintHash: string | null;
27
+ readonly fromReleaseId?: string | null;
28
+ readonly toReleaseId?: string | null;
29
+ readonly requestHeaders?: Record<string, string>;
30
+ readonly requestTimeout?: number;
31
+ }
32
+ type AnalyticsTransitionEventParams = AnalyticsEventCommonParams & {
33
+ readonly type: "UPDATE_APPLIED" | "RECOVERED" | "RELEASE_ADOPTED";
34
+ readonly fromBundleId: string;
35
+ readonly toBundleId: string;
36
+ readonly updateStrategy: "fingerprint" | "appVersion";
37
+ };
38
+ type AnalyticsUnchangedEventParams = AnalyticsEventCommonParams & {
39
+ readonly type: "UNCHANGED";
40
+ readonly fromBundleId: null;
41
+ readonly toBundleId: string;
42
+ readonly updateStrategy: null;
43
+ };
44
+ export type AnalyticsEventParams = AnalyticsTransitionEventParams | AnalyticsUnchangedEventParams;
45
+ export interface HotUpdaterHttpSession {
46
+ fetchReleaseCatalog: (params: ReleaseCatalogRequest) => Promise<ReleaseCatalog>;
47
+ resolveArtifact: (params: ArtifactRequest) => Promise<ArtifactInfo>;
48
+ sendAnalyticsEvent: (params: AnalyticsEventParams) => Promise<void>;
49
+ }
50
+ export interface HotUpdaterHttpClient {
51
+ createSession: () => Promise<HotUpdaterHttpSession>;
52
+ }
53
+ /** Creates the private HTTP client used by HotUpdater.init and HotUpdater.wrap. */
54
+ export declare const createHttpClient: (baseURL: HotUpdaterBaseURL) => HotUpdaterHttpClient;
55
+ export {};
56
+ //# sourceMappingURL=httpClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpClient.d.ts","sourceRoot":"","sources":["../../../src/httpClient.ts"],"names":[],"mappings":"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"}