@hot-updater/react-native 1.0.0-rc.17 → 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 (240) hide show
  1. package/lib/commonjs/checkForUpdate.js +7 -9
  2. package/lib/commonjs/checkForUpdate.js.map +1 -1
  3. package/lib/commonjs/clientPlugin.js +7 -43
  4. package/lib/commonjs/clientPlugin.js.map +1 -1
  5. package/lib/commonjs/httpClient.js +7 -9
  6. package/lib/commonjs/httpClient.js.map +1 -1
  7. package/lib/commonjs/index.js +10 -0
  8. package/lib/commonjs/index.js.map +1 -1
  9. package/lib/commonjs/native.js +4 -4
  10. package/lib/commonjs/native.js.map +1 -1
  11. package/lib/commonjs/pluginHost.js +26 -190
  12. package/lib/commonjs/pluginHost.js.map +1 -1
  13. package/lib/commonjs/releaseCatalogCache.js +7 -59
  14. package/lib/commonjs/releaseCatalogCache.js.map +1 -1
  15. package/lib/commonjs/sdkVersion.js +1 -1
  16. package/lib/module/checkForUpdate.js +1 -3
  17. package/lib/module/checkForUpdate.js.map +1 -1
  18. package/lib/module/clientPlugin.js +1 -41
  19. package/lib/module/clientPlugin.js.map +1 -1
  20. package/lib/module/httpClient.js +1 -3
  21. package/lib/module/httpClient.js.map +1 -1
  22. package/lib/module/index.js +2 -0
  23. package/lib/module/index.js.map +1 -1
  24. package/lib/module/native.js +1 -1
  25. package/lib/module/native.js.map +1 -1
  26. package/lib/module/pluginHost.js +22 -187
  27. package/lib/module/pluginHost.js.map +1 -1
  28. package/lib/module/releaseCatalogCache.js +3 -54
  29. package/lib/module/releaseCatalogCache.js.map +1 -1
  30. package/lib/module/sdkVersion.js +1 -1
  31. package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
  32. package/lib/typescript/commonjs/clientPlugin.d.ts +1 -184
  33. package/lib/typescript/commonjs/clientPlugin.d.ts.map +1 -1
  34. package/lib/typescript/commonjs/httpClient.d.ts +1 -2
  35. package/lib/typescript/commonjs/httpClient.d.ts.map +1 -1
  36. package/lib/typescript/commonjs/index.d.ts +1 -0
  37. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  38. package/lib/typescript/commonjs/native.d.ts +1 -1
  39. package/lib/typescript/commonjs/native.d.ts.map +1 -1
  40. package/lib/typescript/commonjs/pluginHost.d.ts +3 -28
  41. package/lib/typescript/commonjs/pluginHost.d.ts.map +1 -1
  42. package/lib/typescript/commonjs/releaseCatalogCache.d.ts +1 -13
  43. package/lib/typescript/commonjs/releaseCatalogCache.d.ts.map +1 -1
  44. package/lib/typescript/commonjs/sdkVersion.d.ts +1 -1
  45. package/lib/typescript/commonjs/types.d.ts +1 -1
  46. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  47. package/lib/typescript/commonjs/wrap.types.d.ts +2 -2
  48. package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
  49. package/lib/typescript/module/clientPlugin.d.ts +1 -184
  50. package/lib/typescript/module/clientPlugin.d.ts.map +1 -1
  51. package/lib/typescript/module/httpClient.d.ts +1 -2
  52. package/lib/typescript/module/httpClient.d.ts.map +1 -1
  53. package/lib/typescript/module/index.d.ts +1 -0
  54. package/lib/typescript/module/index.d.ts.map +1 -1
  55. package/lib/typescript/module/native.d.ts +1 -1
  56. package/lib/typescript/module/native.d.ts.map +1 -1
  57. package/lib/typescript/module/pluginHost.d.ts +3 -28
  58. package/lib/typescript/module/pluginHost.d.ts.map +1 -1
  59. package/lib/typescript/module/releaseCatalogCache.d.ts +1 -13
  60. package/lib/typescript/module/releaseCatalogCache.d.ts.map +1 -1
  61. package/lib/typescript/module/sdkVersion.d.ts +1 -1
  62. package/lib/typescript/module/types.d.ts +1 -1
  63. package/lib/typescript/module/types.d.ts.map +1 -1
  64. package/lib/typescript/module/wrap.types.d.ts +2 -2
  65. package/package.json +7 -16
  66. package/src/checkForUpdate.ts +4 -6
  67. package/src/clientPlugin.ts +17 -231
  68. package/src/httpClient.ts +4 -4
  69. package/src/index.ts +7 -0
  70. package/src/native.ts +1 -1
  71. package/src/pluginHost.ts +24 -241
  72. package/src/releaseCatalogCache.ts +7 -136
  73. package/src/sdkVersion.ts +1 -1
  74. package/src/types.ts +1 -1
  75. package/src/wrap.types.ts +2 -2
  76. package/android/src/test/java/com/hotupdater/BsdiffPatchTest.kt +0 -46
  77. package/android/src/test/java/com/hotupdater/BundleFileStorageServiceTest.kt +0 -2236
  78. package/android/src/test/java/com/hotupdater/HotUpdaterExceptionTest.kt +0 -220
  79. package/android/src/test/java/com/hotupdater/HotUpdaterImplTest.kt +0 -264
  80. package/android/src/test/java/com/hotupdater/HotUpdaterRecoveryStateTest.kt +0 -97
  81. package/android/src/test/java/com/hotupdater/InstallIdentityServiceTest.kt +0 -71
  82. package/android/src/test/java/com/hotupdater/KeyValueStorageServiceTest.kt +0 -106
  83. package/android/src/test/java/com/hotupdater/NativeConfigUtilsTest.kt +0 -20
  84. package/android/src/test/java/com/hotupdater/NoBackupContext.kt +0 -11
  85. package/android/src/test/java/com/hotupdater/OkHttpDownloadServiceTest.kt +0 -397
  86. package/android/src/test/java/com/hotupdater/PendingCrashRecoveryTest.kt +0 -44
  87. package/android/src/test/java/com/hotupdater/PreviousProcessExitTest.kt +0 -57
  88. package/android/src/test/java/com/hotupdater/RelativePathResolverTest.kt +0 -41
  89. package/android/src/test/java/com/hotupdater/ReleaseCatalogCacheServiceTest.kt +0 -118
  90. package/android/src/test/java/com/hotupdater/TarBrArchiveExtractorTest.kt +0 -206
  91. package/lib/commonjs/appReady.spec.js +0 -360
  92. package/lib/commonjs/appReady.spec.js.map +0 -1
  93. package/lib/commonjs/appReady.test-utils.js +0 -25
  94. package/lib/commonjs/appReady.test-utils.js.map +0 -1
  95. package/lib/commonjs/baseURL.js +0 -16
  96. package/lib/commonjs/baseURL.js.map +0 -1
  97. package/lib/commonjs/catalogCacheNative.spec.js +0 -31
  98. package/lib/commonjs/catalogCacheNative.spec.js.map +0 -1
  99. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js +0 -936
  100. package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js.map +0 -1
  101. package/lib/commonjs/entryImportGraph.spec.js +0 -50
  102. package/lib/commonjs/entryImportGraph.spec.js.map +0 -1
  103. package/lib/commonjs/httpClient.spec.js +0 -171
  104. package/lib/commonjs/httpClient.spec.js.map +0 -1
  105. package/lib/commonjs/index.spec.js +0 -395
  106. package/lib/commonjs/index.spec.js.map +0 -1
  107. package/lib/commonjs/iosInterop.spec.js +0 -18
  108. package/lib/commonjs/iosInterop.spec.js.map +0 -1
  109. package/lib/commonjs/native.spec.js +0 -910
  110. package/lib/commonjs/native.spec.js.map +0 -1
  111. package/lib/commonjs/pluginHost.spec.js +0 -292
  112. package/lib/commonjs/pluginHost.spec.js.map +0 -1
  113. package/lib/commonjs/plugins/insights/eventId.js +0 -129
  114. package/lib/commonjs/plugins/insights/eventId.js.map +0 -1
  115. package/lib/commonjs/plugins/insights/eventId.spec.js +0 -47
  116. package/lib/commonjs/plugins/insights/eventId.spec.js.map +0 -1
  117. package/lib/commonjs/plugins/insights/index.js +0 -272
  118. package/lib/commonjs/plugins/insights/index.js.map +0 -1
  119. package/lib/commonjs/plugins/insights/insights.spec.js +0 -640
  120. package/lib/commonjs/plugins/insights/insights.spec.js.map +0 -1
  121. package/lib/commonjs/plugins/insights/sender.js +0 -128
  122. package/lib/commonjs/plugins/insights/sender.js.map +0 -1
  123. package/lib/commonjs/plugins/insights/sender.spec.js +0 -265
  124. package/lib/commonjs/plugins/insights/sender.spec.js.map +0 -1
  125. package/lib/commonjs/plugins/insights/state.js +0 -145
  126. package/lib/commonjs/plugins/insights/state.js.map +0 -1
  127. package/lib/commonjs/releaseCatalogCache.spec.js +0 -213
  128. package/lib/commonjs/releaseCatalogCache.spec.js.map +0 -1
  129. package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js +0 -64
  130. package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js.map +0 -1
  131. package/lib/commonjs/store.notification.spec.js +0 -84
  132. package/lib/commonjs/store.notification.spec.js.map +0 -1
  133. package/lib/commonjs/store.spec.js +0 -182
  134. package/lib/commonjs/store.spec.js.map +0 -1
  135. package/lib/commonjs/updateError.spec.js +0 -149
  136. package/lib/commonjs/updateError.spec.js.map +0 -1
  137. package/lib/commonjs/wrap.progress.spec.js +0 -195
  138. package/lib/commonjs/wrap.progress.spec.js.map +0 -1
  139. package/lib/commonjs/wrap.spec.js +0 -232
  140. package/lib/commonjs/wrap.spec.js.map +0 -1
  141. package/lib/module/appReady.spec.js +0 -359
  142. package/lib/module/appReady.spec.js.map +0 -1
  143. package/lib/module/appReady.test-utils.js +0 -19
  144. package/lib/module/appReady.test-utils.js.map +0 -1
  145. package/lib/module/baseURL.js +0 -11
  146. package/lib/module/baseURL.js.map +0 -1
  147. package/lib/module/catalogCacheNative.spec.js +0 -31
  148. package/lib/module/catalogCacheNative.spec.js.map +0 -1
  149. package/lib/module/checkForUpdate.releaseCatalog.spec.js +0 -935
  150. package/lib/module/checkForUpdate.releaseCatalog.spec.js.map +0 -1
  151. package/lib/module/entryImportGraph.spec.js +0 -50
  152. package/lib/module/entryImportGraph.spec.js.map +0 -1
  153. package/lib/module/httpClient.spec.js +0 -171
  154. package/lib/module/httpClient.spec.js.map +0 -1
  155. package/lib/module/index.spec.js +0 -394
  156. package/lib/module/index.spec.js.map +0 -1
  157. package/lib/module/iosInterop.spec.js +0 -18
  158. package/lib/module/iosInterop.spec.js.map +0 -1
  159. package/lib/module/native.spec.js +0 -909
  160. package/lib/module/native.spec.js.map +0 -1
  161. package/lib/module/pluginHost.spec.js +0 -291
  162. package/lib/module/pluginHost.spec.js.map +0 -1
  163. package/lib/module/plugins/insights/eventId.js +0 -122
  164. package/lib/module/plugins/insights/eventId.js.map +0 -1
  165. package/lib/module/plugins/insights/eventId.spec.js +0 -47
  166. package/lib/module/plugins/insights/eventId.spec.js.map +0 -1
  167. package/lib/module/plugins/insights/index.js +0 -268
  168. package/lib/module/plugins/insights/index.js.map +0 -1
  169. package/lib/module/plugins/insights/insights.spec.js +0 -639
  170. package/lib/module/plugins/insights/insights.spec.js.map +0 -1
  171. package/lib/module/plugins/insights/sender.js +0 -123
  172. package/lib/module/plugins/insights/sender.js.map +0 -1
  173. package/lib/module/plugins/insights/sender.spec.js +0 -265
  174. package/lib/module/plugins/insights/sender.spec.js.map +0 -1
  175. package/lib/module/plugins/insights/state.js +0 -139
  176. package/lib/module/plugins/insights/state.js.map +0 -1
  177. package/lib/module/releaseCatalogCache.spec.js +0 -213
  178. package/lib/module/releaseCatalogCache.spec.js.map +0 -1
  179. package/lib/module/releaseCatalogCacheNativeContract.spec.js +0 -64
  180. package/lib/module/releaseCatalogCacheNativeContract.spec.js.map +0 -1
  181. package/lib/module/store.notification.spec.js +0 -85
  182. package/lib/module/store.notification.spec.js.map +0 -1
  183. package/lib/module/store.spec.js +0 -181
  184. package/lib/module/store.spec.js.map +0 -1
  185. package/lib/module/updateError.spec.js +0 -149
  186. package/lib/module/updateError.spec.js.map +0 -1
  187. package/lib/module/wrap.progress.spec.js +0 -196
  188. package/lib/module/wrap.progress.spec.js.map +0 -1
  189. package/lib/module/wrap.spec.js +0 -233
  190. package/lib/module/wrap.spec.js.map +0 -1
  191. package/lib/typescript/commonjs/appReady.test-utils.d.ts +0 -9
  192. package/lib/typescript/commonjs/appReady.test-utils.d.ts.map +0 -1
  193. package/lib/typescript/commonjs/baseURL.d.ts +0 -4
  194. package/lib/typescript/commonjs/baseURL.d.ts.map +0 -1
  195. package/lib/typescript/commonjs/plugins/insights/eventId.d.ts +0 -18
  196. package/lib/typescript/commonjs/plugins/insights/eventId.d.ts.map +0 -1
  197. package/lib/typescript/commonjs/plugins/insights/index.d.ts +0 -40
  198. package/lib/typescript/commonjs/plugins/insights/index.d.ts.map +0 -1
  199. package/lib/typescript/commonjs/plugins/insights/sender.d.ts +0 -74
  200. package/lib/typescript/commonjs/plugins/insights/sender.d.ts.map +0 -1
  201. package/lib/typescript/commonjs/plugins/insights/state.d.ts +0 -46
  202. package/lib/typescript/commonjs/plugins/insights/state.d.ts.map +0 -1
  203. package/lib/typescript/module/appReady.test-utils.d.ts +0 -9
  204. package/lib/typescript/module/appReady.test-utils.d.ts.map +0 -1
  205. package/lib/typescript/module/baseURL.d.ts +0 -4
  206. package/lib/typescript/module/baseURL.d.ts.map +0 -1
  207. package/lib/typescript/module/plugins/insights/eventId.d.ts +0 -18
  208. package/lib/typescript/module/plugins/insights/eventId.d.ts.map +0 -1
  209. package/lib/typescript/module/plugins/insights/index.d.ts +0 -40
  210. package/lib/typescript/module/plugins/insights/index.d.ts.map +0 -1
  211. package/lib/typescript/module/plugins/insights/sender.d.ts +0 -74
  212. package/lib/typescript/module/plugins/insights/sender.d.ts.map +0 -1
  213. package/lib/typescript/module/plugins/insights/state.d.ts +0 -46
  214. package/lib/typescript/module/plugins/insights/state.d.ts.map +0 -1
  215. package/plugins/insights/package.json +0 -8
  216. package/src/appReady.spec.ts +0 -393
  217. package/src/appReady.test-utils.ts +0 -31
  218. package/src/baseURL.ts +0 -15
  219. package/src/catalogCacheNative.spec.ts +0 -63
  220. package/src/checkForUpdate.releaseCatalog.spec.ts +0 -966
  221. package/src/entryImportGraph.spec.ts +0 -65
  222. package/src/httpClient.spec.ts +0 -216
  223. package/src/index.spec.ts +0 -434
  224. package/src/iosInterop.spec.ts +0 -30
  225. package/src/native.spec.ts +0 -978
  226. package/src/pluginHost.spec.ts +0 -297
  227. package/src/plugins/insights/eventId.spec.ts +0 -60
  228. package/src/plugins/insights/eventId.ts +0 -171
  229. package/src/plugins/insights/index.ts +0 -367
  230. package/src/plugins/insights/insights.spec.ts +0 -732
  231. package/src/plugins/insights/sender.spec.ts +0 -287
  232. package/src/plugins/insights/sender.ts +0 -221
  233. package/src/plugins/insights/state.ts +0 -184
  234. package/src/releaseCatalogCache.spec.ts +0 -304
  235. package/src/releaseCatalogCacheNativeContract.spec.ts +0 -80
  236. package/src/store.notification.spec.ts +0 -102
  237. package/src/store.spec.ts +0 -215
  238. package/src/updateError.spec.ts +0 -144
  239. package/src/wrap.progress.spec.ts +0 -232
  240. package/src/wrap.spec.ts +0 -262
@@ -1 +0,0 @@
1
- {"version":3,"names":["INVALID_COHORT_ERROR_MESSAGE","beforeEach","describe","expect","it","vi","nativeModuleMock","hoisted","getManifest","fn","getCrashHistory","getActiveUpdateState","clearCrashHistory","getBaseURL","getBundleId","getCohort","getInstallId","getStorageItem","getConstants","APP_VERSION","CHANNEL","DEFAULT_CHANNEL","FINGERPRINT_HASH","MIN_BUNDLE_ID","notifyAppReady","reload","resetChannel","setCohort","setStorageItem","setBundleURL","switchChannel","updateBundle","mock","NativeEventEmitter","addListener","remove","Platform","OS","default","resetModules","mockReset","mockReturnValue","activeSelection","stableSelection","verificationPending","highestSeenCatalogs","assets","fileHash","bundleId","receipt","releaseId","kind","channel","catalogId","scopeKey","generation","catalogHash","selectionContextHash","getPublicActiveUpdateState","selection","toEqual","state","mockImplementation","getUpdateId","toBe","each","expected","runningSelection","JSON","stringify","fromBundleId","status","toBundleId","toHaveBeenCalledWith","updateStrategy","readNotifyAppReady","previousProcessExit","transition","fromReleaseId","toReleaseId","type","pending","result","nativeModule","originalGetBundleId","toThrow","signature","toHaveBeenCalledTimes","firstManifest","mockResolvedValue","archiveUrl","manifestFileHash","manifestUrl","objectContaining","resolves","file","compression","url","patch","algorithm","baseBundleId","baseFileHash","patchFileHash","patchUrl","undefined","delivery","patchFallback","stageBundle","params","toBeNull","not","toHaveBeenCalled","repeat","getFingerprintHash","originalGetInstallId","key","toHaveBeenNthCalledWith","name","original"],"sourceRoot":"../../src","sources":["native.spec.ts"],"mappings":"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","ignoreList":[]}
@@ -1,291 +0,0 @@
1
- "use strict";
2
-
3
- import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
4
- vi.mock("react-native", () => ({
5
- Platform: {
6
- OS: "android"
7
- }
8
- }));
9
- const mocks = vi.hoisted(() => {
10
- Reflect.set(globalThis, "HotUpdater", {
11
- SDK_VERSION: "test-sdk-version"
12
- });
13
- return {
14
- getAppVersion: vi.fn(() => "1.2.3"),
15
- getBundleId: vi.fn(() => "bundle-id"),
16
- getChannel: vi.fn(() => "production"),
17
- getCohort: vi.fn(() => "123"),
18
- getFingerprintHash: vi.fn(() => null),
19
- getInstallId: vi.fn(() => "install-id"),
20
- getStorageItem: vi.fn(() => null),
21
- setStorageItem: vi.fn()
22
- };
23
- });
24
- vi.mock("./native", () => mocks);
25
- const importHost = () => import("./pluginHost");
26
- const capture = (id = "example") => {
27
- let context;
28
- const setup = vi.fn(pluginContext => {
29
- context = pluginContext;
30
- });
31
- const plugin = {
32
- id,
33
- setup
34
- };
35
- return {
36
- plugin,
37
- setup,
38
- context: () => context
39
- };
40
- };
41
- describe("client plugin host", () => {
42
- beforeEach(() => {
43
- vi.resetModules();
44
- for (const mock of Object.values(mocks)) mock.mockClear();
45
- mocks.getStorageItem.mockReturnValue(null);
46
- });
47
- afterEach(() => {
48
- vi.useRealTimers();
49
- vi.unstubAllGlobals();
50
- vi.restoreAllMocks();
51
- });
52
- it("throws at configuration for two plugins with one id", async () => {
53
- const {
54
- configurePlugins
55
- } = await importHost();
56
- expect(() => configurePlugins([capture("same").plugin, capture("same").plugin], {
57
- baseURL: "https://updates.example.com"
58
- })).toThrow('Two plugins use the id "same"');
59
- });
60
- it("sets a plugin up once and stops calling a plugin left out", async () => {
61
- const {
62
- configurePlugins,
63
- emitPluginHook
64
- } = await importHost();
65
- const onAppReady = vi.fn();
66
- const plugin = {
67
- id: "example",
68
- setup: vi.fn(() => ({
69
- onAppReady
70
- }))
71
- };
72
- const config = {
73
- baseURL: "https://updates.example.com"
74
- };
75
- configurePlugins([plugin], config);
76
- configurePlugins([plugin], config);
77
- emitPluginHook("onAppReady", () => ({
78
- status: "UNCHANGED",
79
- channel: "production",
80
- bundleId: "bundle-id",
81
- releaseId: null,
82
- previousProcessExit: null
83
- }));
84
- configurePlugins([], config);
85
- emitPluginHook("onAppReady", () => ({
86
- status: "UNCHANGED",
87
- channel: "production",
88
- bundleId: "bundle-id",
89
- releaseId: null,
90
- previousProcessExit: null
91
- }));
92
- expect(plugin.setup).toHaveBeenCalledOnce();
93
- expect(onAppReady).toHaveBeenCalledOnce();
94
- });
95
- it("warns without onError when setup throws, and keeps other plugins", async () => {
96
- const warn = vi.spyOn(console, "warn").mockImplementation(() => {});
97
- const {
98
- configurePlugins
99
- } = await importHost();
100
- const healthy = capture("healthy");
101
- configurePlugins([{
102
- id: "broken",
103
- setup: () => {
104
- throw new Error("setup failed");
105
- }
106
- }, healthy.plugin], {
107
- baseURL: "https://updates.example.com"
108
- });
109
- expect(healthy.setup).toHaveBeenCalledOnce();
110
- expect(warn).toHaveBeenCalledWith('[HotUpdater] Plugin "broken" failed in setup', expect.objectContaining({
111
- message: "setup failed"
112
- }));
113
- });
114
- it("never waits for a hook", async () => {
115
- const {
116
- configurePlugins,
117
- emitPluginHook
118
- } = await importHost();
119
- const onUpdateCheck = vi.fn(() => new Promise(() => {}));
120
- configurePlugins([{
121
- id: "slow",
122
- setup: () => ({
123
- onUpdateCheck
124
- })
125
- }], {
126
- baseURL: "https://updates.example.com"
127
- });
128
- const result = emitPluginHook("onUpdateCheck", () => ({
129
- status: "UNCHANGED",
130
- channel: "production",
131
- bundleId: "bundle-id",
132
- releaseId: null,
133
- previousReleaseId: null
134
- }));
135
- expect(result).toBeUndefined();
136
- expect(onUpdateCheck).toHaveBeenCalledOnce();
137
- });
138
- it("builds an event only when a plugin listens", async () => {
139
- const {
140
- configurePlugins,
141
- emitPluginHook
142
- } = await importHost();
143
- configurePlugins([capture().plugin], {
144
- baseURL: "https://updates.example.com"
145
- });
146
- const createPayload = vi.fn(() => null);
147
- emitPluginHook("onUpdateError", createPayload);
148
- expect(createPayload).not.toHaveBeenCalled();
149
- });
150
- it("exposes the app's identity and environment", async () => {
151
- vi.stubGlobal("__DEV__", true);
152
- vi.spyOn(Date, "now").mockReturnValue(1_700_000_000_000);
153
- const {
154
- configurePlugins
155
- } = await importHost();
156
- const plugin = capture();
157
- configurePlugins([plugin.plugin], {
158
- baseURL: "https://updates.example.com"
159
- });
160
- const context = plugin.context();
161
- expect({
162
- appVersion: context.appVersion,
163
- bundleId: context.getBundleId(),
164
- channel: context.getChannel(),
165
- cohort: context.getCohort(),
166
- fingerprintHash: context.getFingerprintHash(),
167
- installId: context.installId,
168
- isDebugBuild: context.isDebugBuild,
169
- now: context.now(),
170
- platform: context.platform,
171
- sdkVersion: context.sdkVersion
172
- }).toEqual({
173
- appVersion: "1.2.3",
174
- bundleId: "bundle-id",
175
- channel: "production",
176
- cohort: "123",
177
- fingerprintHash: null,
178
- installId: "install-id",
179
- isDebugBuild: true,
180
- now: 1_700_000_000_000,
181
- platform: "android",
182
- sdkVersion: "test-sdk-version"
183
- });
184
- });
185
- describe("fetch", () => {
186
- it("requests a path under the resolved baseURL with the SDK's headers", async () => {
187
- const fetchMock = vi.fn(async () => new Response(null, {
188
- status: 204
189
- }));
190
- vi.stubGlobal("fetch", fetchMock);
191
- const {
192
- configurePlugins
193
- } = await importHost();
194
- const plugin = capture();
195
- configurePlugins([plugin.plugin], {
196
- baseURL: async () => "https://updates.example.com/hot-updater/",
197
- requestHeaders: {
198
- "x-api-key": "client-key",
199
- "X-Shared": "sdk"
200
- }
201
- });
202
- await plugin.context().fetch("/events", {
203
- headers: {
204
- "Content-Type": "application/json",
205
- "X-Shared": "plugin"
206
- },
207
- method: "POST"
208
- });
209
- const [url, init] = fetchMock.mock.calls[0];
210
- expect(url).toBe("https://updates.example.com/hot-updater/events");
211
- expect(init?.method).toBe("POST");
212
- const headers = new Headers(init?.headers);
213
- expect(headers.get("x-api-key")).toBe("client-key");
214
- expect(headers.get("content-type")).toBe("application/json");
215
- expect(headers.get("x-shared")).toBe("plugin");
216
- });
217
- it("rejects with Request timed out after the SDK's timeout", async () => {
218
- vi.useFakeTimers();
219
- vi.stubGlobal("fetch", vi.fn((_input, init) => new Promise((_resolve, reject) => {
220
- init?.signal?.addEventListener("abort", () => {
221
- reject(Object.assign(new Error("aborted"), {
222
- name: "AbortError"
223
- }));
224
- });
225
- })));
226
- const {
227
- configurePlugins
228
- } = await importHost();
229
- const plugin = capture();
230
- configurePlugins([plugin.plugin], {
231
- baseURL: "https://updates.example.com",
232
- requestTimeout: 2_000
233
- });
234
- const request = plugin.context().fetch("events");
235
- const settled = expect(request).rejects.toThrow("Request timed out");
236
- await vi.advanceTimersByTimeAsync(2_000);
237
- await settled;
238
- });
239
- it("refuses a URL outside baseURL", async () => {
240
- const {
241
- configurePlugins
242
- } = await importHost();
243
- const plugin = capture();
244
- configurePlugins([plugin.plugin], {
245
- baseURL: "https://updates.example.com"
246
- });
247
- await expect(plugin.context().fetch("https://elsewhere.example.com/events")).rejects.toThrow("relative to baseURL");
248
- });
249
- });
250
- describe("storage", () => {
251
- it("scopes keys to the plugin and reads its own writes", async () => {
252
- mocks.getStorageItem.mockReturnValue("from-native");
253
- const {
254
- configurePlugins
255
- } = await importHost();
256
- const plugin = capture("example");
257
- configurePlugins([plugin.plugin], {
258
- baseURL: "https://updates.example.com"
259
- });
260
- const {
261
- storage
262
- } = plugin.context();
263
- expect(storage.get("state")).toBe("from-native");
264
- expect(storage.get("state")).toBe("from-native");
265
- storage.set("state", "next");
266
- expect(storage.get("state")).toBe("next");
267
- storage.set("state", null);
268
- expect(storage.get("state")).toBeNull();
269
- expect(mocks.getStorageItem).toHaveBeenCalledOnce();
270
- expect(mocks.getStorageItem).toHaveBeenCalledWith("plugins/example/state");
271
- expect(mocks.setStorageItem.mock.calls).toEqual([["plugins/example/state", "next"], ["plugins/example/state", null]]);
272
- });
273
- it("refuses empty keys, non-string values, and values over 64 KB", async () => {
274
- const {
275
- configurePlugins
276
- } = await importHost();
277
- const plugin = capture();
278
- configurePlugins([plugin.plugin], {
279
- baseURL: "https://updates.example.com"
280
- });
281
- const {
282
- storage
283
- } = plugin.context();
284
- expect(() => storage.get("")).toThrow("non-empty strings");
285
- expect(() => storage.set("key", 1)).toThrow("strings or null");
286
- expect(() => storage.set("key", "x".repeat(64 * 1024 + 1))).toThrow("at most 64 KB");
287
- expect(mocks.setStorageItem).not.toHaveBeenCalled();
288
- });
289
- });
290
- });
291
- //# sourceMappingURL=pluginHost.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["afterEach","beforeEach","describe","expect","it","vi","mock","Platform","OS","mocks","hoisted","Reflect","set","globalThis","SDK_VERSION","getAppVersion","fn","getBundleId","getChannel","getCohort","getFingerprintHash","getInstallId","getStorageItem","setStorageItem","importHost","capture","id","context","setup","pluginContext","plugin","resetModules","Object","values","mockClear","mockReturnValue","useRealTimers","unstubAllGlobals","restoreAllMocks","configurePlugins","baseURL","toThrow","emitPluginHook","onAppReady","config","status","channel","bundleId","releaseId","previousProcessExit","toHaveBeenCalledOnce","warn","spyOn","console","mockImplementation","healthy","Error","toHaveBeenCalledWith","objectContaining","message","onUpdateCheck","Promise","result","previousReleaseId","toBeUndefined","createPayload","not","toHaveBeenCalled","stubGlobal","Date","appVersion","cohort","fingerprintHash","installId","isDebugBuild","now","platform","sdkVersion","toEqual","fetchMock","Response","requestHeaders","fetch","headers","method","url","init","calls","toBe","Headers","get","useFakeTimers","_input","_resolve","reject","signal","addEventListener","assign","name","requestTimeout","request","settled","rejects","advanceTimersByTimeAsync","storage","toBeNull","repeat"],"sourceRoot":"../../src","sources":["pluginHost.spec.ts"],"mappings":"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","ignoreList":[]}
@@ -1,122 +0,0 @@
1
- "use strict";
2
-
3
- const formatUUIDv7 = (bytes, timestamp) => {
4
- // Division, not bit shifts: shifts truncate to 32 bits, and a millisecond
5
- // timestamp already needs 41.
6
- let time = timestamp;
7
- for (let index = 5; index >= 0; index -= 1) {
8
- bytes[index] = time % 256;
9
- time = Math.floor(time / 256);
10
- }
11
- bytes[6] = 0x70 | bytes[6] & 0x0f;
12
- bytes[8] = 0x80 | bytes[8] & 0x3f;
13
- const hex = Array.from(bytes, byte => byte.toString(16).padStart(2, "0")).join("");
14
- return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
15
- };
16
-
17
- /**
18
- * Creates an RFC 9562 UUIDv7: a 48-bit millisecond timestamp, then random bits.
19
- *
20
- * `createUUIDv7` from `@hot-updater/plugin-core` calls `crypto.getRandomValues`
21
- * unconditionally, but React Native has no Web Crypto unless the app installs a
22
- * polyfill. An Insights event ID only has to tell one event from another so a
23
- * retried POST is counted once, so `Math.random` is enough without one.
24
- */
25
- export const createUUIDv7 = () => {
26
- const bytes = new Uint8Array(16);
27
- const {
28
- crypto
29
- } = globalThis;
30
- if (typeof crypto?.getRandomValues === "function") {
31
- crypto.getRandomValues(bytes);
32
- } else {
33
- for (let index = 0; index < bytes.length; index += 1) {
34
- bytes[index] = Math.floor(Math.random() * 256);
35
- }
36
- }
37
- return formatUUIDv7(bytes, Date.now());
38
- };
39
- const SHA256_K = [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2];
40
- const encodeUtf8 = value => {
41
- const bytes = [];
42
- for (const character of value) {
43
- const code = character.codePointAt(0);
44
- if (code < 0x80) {
45
- bytes.push(code);
46
- } else if (code < 0x800) {
47
- bytes.push(0xc0 | code >> 6, 0x80 | code & 0x3f);
48
- } else if (code < 0x10000) {
49
- bytes.push(0xe0 | code >> 12, 0x80 | code >> 6 & 0x3f, 0x80 | code & 0x3f);
50
- } else {
51
- bytes.push(0xf0 | code >> 18, 0x80 | code >> 12 & 0x3f, 0x80 | code >> 6 & 0x3f, 0x80 | code & 0x3f);
52
- }
53
- }
54
- return bytes;
55
- };
56
-
57
- /** SHA-256 of a string's UTF-8 bytes, since React Native has no Web Crypto. */
58
- export const sha256 = value => {
59
- const bytes = encodeUtf8(value);
60
- const bitLength = bytes.length * 8;
61
- bytes.push(0x80);
62
- while (bytes.length % 64 !== 56) bytes.push(0);
63
- for (let shift = 56; shift >= 0; shift -= 8) {
64
- // The length's high word, as division, since shifts truncate to 32 bits.
65
- bytes.push(shift >= 32 ? Math.floor(bitLength / 2 ** shift) & 0xff : bitLength >>> shift & 0xff);
66
- }
67
- const hash = [0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19];
68
- const words = Array.from({
69
- length: 64
70
- }, () => 0);
71
- const rotate = (word, bits) => word >>> bits | word << 32 - bits;
72
- for (let offset = 0; offset < bytes.length; offset += 64) {
73
- for (let index = 0; index < 16; index += 1) {
74
- const at = offset + index * 4;
75
- words[index] = bytes[at] << 24 | bytes[at + 1] << 16 | bytes[at + 2] << 8 | bytes[at + 3];
76
- }
77
- for (let index = 16; index < 64; index += 1) {
78
- const low = words[index - 15];
79
- const high = words[index - 2];
80
- const s0 = rotate(low, 7) ^ rotate(low, 18) ^ low >>> 3;
81
- const s1 = rotate(high, 17) ^ rotate(high, 19) ^ high >>> 10;
82
- words[index] = words[index - 16] + s0 + words[index - 7] + s1 | 0;
83
- }
84
- let [a, b, c, d, e, f, g, h] = hash;
85
- for (let index = 0; index < 64; index += 1) {
86
- const s1 = rotate(e, 6) ^ rotate(e, 11) ^ rotate(e, 25);
87
- const choose = e & f ^ ~e & g;
88
- const temp1 = h + s1 + choose + SHA256_K[index] + words[index] | 0;
89
- const s0 = rotate(a, 2) ^ rotate(a, 13) ^ rotate(a, 22);
90
- const majority = a & b ^ a & c ^ b & c;
91
- const temp2 = s0 + majority | 0;
92
- h = g;
93
- g = f;
94
- f = e;
95
- e = d + temp1 | 0;
96
- d = c;
97
- c = b;
98
- b = a;
99
- a = temp1 + temp2 | 0;
100
- }
101
- const results = [a, b, c, d, e, f, g, h];
102
- for (let index = 0; index < 8; index += 1) {
103
- hash[index] = hash[index] + results[index] | 0;
104
- }
105
- }
106
- const digest = new Uint8Array(32);
107
- hash.forEach((word, index) => {
108
- digest[index * 4] = word >>> 24 & 0xff;
109
- digest[index * 4 + 1] = word >>> 16 & 0xff;
110
- digest[index * 4 + 2] = word >>> 8 & 0xff;
111
- digest[index * 4 + 3] = word & 0xff;
112
- });
113
- return digest;
114
- };
115
-
116
- /**
117
- * A UUIDv7 derived from a key: its time field is `timestamp` and its random
118
- * bits are the key's SHA-256, so the same key and time always give the same
119
- * id, and a server that stores reports by id counts it once.
120
- */
121
- export const createKeyedUUIDv7 = (key, timestamp) => formatUUIDv7(sha256(key).slice(0, 16), timestamp);
122
- //# sourceMappingURL=eventId.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["formatUUIDv7","bytes","timestamp","time","index","Math","floor","hex","Array","from","byte","toString","padStart","join","slice","createUUIDv7","Uint8Array","crypto","globalThis","getRandomValues","length","random","Date","now","SHA256_K","encodeUtf8","value","character","code","codePointAt","push","sha256","bitLength","shift","hash","words","rotate","word","bits","offset","at","low","high","s0","s1","a","b","c","d","e","f","g","h","choose","temp1","majority","temp2","results","digest","forEach","createKeyedUUIDv7","key"],"sourceRoot":"../../../../src","sources":["plugins/insights/eventId.ts"],"mappings":"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","ignoreList":[]}
@@ -1,47 +0,0 @@
1
- "use strict";
2
-
3
- import { createHash } from "node:crypto";
4
- import { isUUIDv7 } from "@hot-updater/core";
5
- import { afterEach, describe, expect, it, vi } from "vitest";
6
- import { createKeyedUUIDv7, createUUIDv7, sha256 } from "./eventId.js";
7
- describe("createUUIDv7", () => {
8
- afterEach(() => {
9
- vi.useRealTimers();
10
- vi.unstubAllGlobals();
11
- });
12
- it.each([{
13
- label: "Web Crypto",
14
- crypto: globalThis.crypto
15
- }, {
16
- label: "no Web Crypto, as in React Native",
17
- crypto: undefined
18
- }])("leads with the 48-bit millisecond time using $label", ({
19
- crypto
20
- }) => {
21
- vi.useFakeTimers({
22
- now: 0x0192_3456_789a
23
- });
24
- vi.stubGlobal("crypto", crypto);
25
- const id = createUUIDv7();
26
- expect(isUUIDv7(id)).toBe(true);
27
- expect(id.startsWith("01923456-789a-7")).toBe(true);
28
- expect(createUUIDv7()).not.toBe(id);
29
- });
30
- });
31
- describe("sha256", () => {
32
- it.each(["", "abc", "a".repeat(55), "a".repeat(56), "a".repeat(64), "a".repeat(1_000), "install-id\n2026-09-30\ndownload hash_mismatch bundle-id", "한글 및 이모지 😀"])("matches Node's SHA-256 for %j", value => {
33
- expect(Buffer.from(sha256(value)).toString("hex")).toBe(createHash("sha256").update(value, "utf8").digest("hex"));
34
- });
35
- });
36
- describe("createKeyedUUIDv7", () => {
37
- it("gives one UUIDv7 per key and time, led by that time", () => {
38
- const midnight = Date.UTC(2026, 8, 30);
39
- const id = createKeyedUUIDv7("install-id\nfailure", midnight);
40
- expect(isUUIDv7(id)).toBe(true);
41
- expect(parseInt(id.replace(/-/g, "").slice(0, 12), 16)).toBe(midnight);
42
- expect(createKeyedUUIDv7("install-id\nfailure", midnight)).toBe(id);
43
- expect(createKeyedUUIDv7("install-id\nother", midnight)).not.toBe(id);
44
- expect(createKeyedUUIDv7("install-id\nfailure", midnight + 86_400_000)).not.toBe(id);
45
- });
46
- });
47
- //# sourceMappingURL=eventId.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["createHash","isUUIDv7","afterEach","describe","expect","it","vi","createKeyedUUIDv7","createUUIDv7","sha256","useRealTimers","unstubAllGlobals","each","label","crypto","globalThis","undefined","useFakeTimers","now","stubGlobal","id","toBe","startsWith","not","repeat","value","Buffer","from","toString","update","digest","midnight","Date","UTC","parseInt","replace","slice"],"sourceRoot":"../../../../src","sources":["plugins/insights/eventId.spec.ts"],"mappings":"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","ignoreList":[]}