@hot-updater/react-native 0.30.10 → 0.30.12
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.
- package/lib/commonjs/DefaultResolver.js +13 -3
- package/lib/commonjs/DefaultResolver.js.map +1 -1
- package/lib/commonjs/DefaultResolver.spec.js +60 -0
- package/lib/commonjs/DefaultResolver.spec.js.map +1 -0
- package/lib/commonjs/error.js +83 -0
- package/lib/commonjs/error.js.map +1 -1
- package/lib/commonjs/fetchUpdateInfo.js +8 -10
- package/lib/commonjs/fetchUpdateInfo.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.spec.js +16 -0
- package/lib/commonjs/index.spec.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/wrap.js.map +1 -1
- package/lib/module/DefaultResolver.js +13 -3
- package/lib/module/DefaultResolver.js.map +1 -1
- package/lib/module/DefaultResolver.spec.js +60 -0
- package/lib/module/DefaultResolver.spec.js.map +1 -0
- package/lib/module/error.js +83 -0
- package/lib/module/error.js.map +1 -1
- package/lib/module/fetchUpdateInfo.js +8 -10
- package/lib/module/fetchUpdateInfo.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.spec.js +16 -0
- package/lib/module/index.spec.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/wrap.js.map +1 -1
- package/lib/typescript/commonjs/DefaultResolver.d.ts +4 -3
- package/lib/typescript/commonjs/DefaultResolver.d.ts.map +1 -1
- package/lib/typescript/commonjs/fetchUpdateInfo.d.ts +1 -2
- package/lib/typescript/commonjs/fetchUpdateInfo.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +1 -1
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/types.d.ts +1 -0
- package/lib/typescript/commonjs/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/wrap.d.ts +5 -3
- package/lib/typescript/commonjs/wrap.d.ts.map +1 -1
- package/lib/typescript/module/DefaultResolver.d.ts +4 -3
- package/lib/typescript/module/DefaultResolver.d.ts.map +1 -1
- package/lib/typescript/module/fetchUpdateInfo.d.ts +1 -2
- package/lib/typescript/module/fetchUpdateInfo.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +1 -1
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/types.d.ts +1 -0
- package/lib/typescript/module/types.d.ts.map +1 -1
- package/lib/typescript/module/wrap.d.ts +5 -3
- package/lib/typescript/module/wrap.d.ts.map +1 -1
- package/package.json +11 -18
- package/src/DefaultResolver.spec.ts +78 -0
- package/src/DefaultResolver.ts +24 -5
- package/src/fetchUpdateInfo.ts +9 -12
- package/src/index.spec.ts +21 -1
- package/src/index.ts +1 -0
- package/src/types.ts +2 -0
- package/src/wrap.tsx +5 -3
|
@@ -5,25 +5,35 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.createDefaultResolver = createDefaultResolver;
|
|
7
7
|
var _fetchUpdateInfo = require("./fetchUpdateInfo.js");
|
|
8
|
+
const resolveBaseURL = async baseURL => {
|
|
9
|
+
const resolvedBaseURL = typeof baseURL === "function" ? await baseURL() : baseURL;
|
|
10
|
+
if (!resolvedBaseURL) {
|
|
11
|
+
throw new Error("baseURL resolver must return a non-empty string");
|
|
12
|
+
}
|
|
13
|
+
return resolvedBaseURL;
|
|
14
|
+
};
|
|
15
|
+
|
|
8
16
|
/**
|
|
9
17
|
* Creates a default resolver that uses baseURL for network operations.
|
|
10
18
|
* This encapsulates the existing baseURL logic into a resolver.
|
|
11
19
|
*
|
|
12
|
-
* @param baseURL - The base URL for the update server
|
|
20
|
+
* @param baseURL - The base URL for the update server, or a function that
|
|
21
|
+
* resolves it before each update check.
|
|
13
22
|
* @returns A HotUpdaterResolver that uses the baseURL
|
|
14
23
|
*/
|
|
15
24
|
function createDefaultResolver(baseURL) {
|
|
16
25
|
return {
|
|
17
26
|
checkUpdate: async params => {
|
|
27
|
+
const resolvedBaseURL = await resolveBaseURL(baseURL);
|
|
18
28
|
let url;
|
|
19
29
|
const cohortPath = `/${encodeURIComponent(params.cohort)}`;
|
|
20
30
|
if (params.updateStrategy === "fingerprint") {
|
|
21
31
|
if (!params.fingerprintHash) {
|
|
22
32
|
throw new Error("Fingerprint hash is required");
|
|
23
33
|
}
|
|
24
|
-
url = `${
|
|
34
|
+
url = `${resolvedBaseURL}/fingerprint/${params.platform}/${params.fingerprintHash}/${params.channel}/${params.minBundleId}/${params.bundleId}${cohortPath}`;
|
|
25
35
|
} else {
|
|
26
|
-
url = `${
|
|
36
|
+
url = `${resolvedBaseURL}/app-version/${params.platform}/${params.appVersion}/${params.channel}/${params.minBundleId}/${params.bundleId}${cohortPath}`;
|
|
27
37
|
}
|
|
28
38
|
return (0, _fetchUpdateInfo.fetchUpdateInfo)({
|
|
29
39
|
url,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_fetchUpdateInfo","require","
|
|
1
|
+
{"version":3,"names":["_fetchUpdateInfo","require","resolveBaseURL","baseURL","resolvedBaseURL","Error","createDefaultResolver","checkUpdate","params","url","cohortPath","encodeURIComponent","cohort","updateStrategy","fingerprintHash","platform","channel","minBundleId","bundleId","appVersion","fetchUpdateInfo","requestHeaders","requestTimeout"],"sourceRoot":"../../src","sources":["DefaultResolver.ts"],"mappings":";;;;;;AAEA,IAAAA,gBAAA,GAAAC,OAAA;AAOA,MAAMC,cAAc,GAAG,MAAOC,OAA0B,IAAsB;EAC5E,MAAMC,eAAe,GACnB,OAAOD,OAAO,KAAK,UAAU,GAAG,MAAMA,OAAO,CAAC,CAAC,GAAGA,OAAO;EAE3D,IAAI,CAACC,eAAe,EAAE;IACpB,MAAM,IAAIC,KAAK,CAAC,iDAAiD,CAAC;EACpE;EAEA,OAAOD,eAAe;AACxB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,qBAAqBA,CACnCH,OAA0B,EACN;EACpB,OAAO;IACLI,WAAW,EAAE,MACXC,MAAiC,IACC;MAClC,MAAMJ,eAAe,GAAG,MAAMF,cAAc,CAACC,OAAO,CAAC;MACrD,IAAIM,GAAW;MACf,MAAMC,UAAU,GAAG,IAAIC,kBAAkB,CAACH,MAAM,CAACI,MAAM,CAAC,EAAE;MAE1D,IAAIJ,MAAM,CAACK,cAAc,KAAK,aAAa,EAAE;QAC3C,IAAI,CAACL,MAAM,CAACM,eAAe,EAAE;UAC3B,MAAM,IAAIT,KAAK,CAAC,8BAA8B,CAAC;QACjD;QACAI,GAAG,GAAG,GAAGL,eAAe,gBAAgBI,MAAM,CAACO,QAAQ,IAAIP,MAAM,CAACM,eAAe,IAAIN,MAAM,CAACQ,OAAO,IAAIR,MAAM,CAACS,WAAW,IAAIT,MAAM,CAACU,QAAQ,GAAGR,UAAU,EAAE;MAC7J,CAAC,MAAM;QACLD,GAAG,GAAG,GAAGL,eAAe,gBAAgBI,MAAM,CAACO,QAAQ,IAAIP,MAAM,CAACW,UAAU,IAAIX,MAAM,CAACQ,OAAO,IAAIR,MAAM,CAACS,WAAW,IAAIT,MAAM,CAACU,QAAQ,GAAGR,UAAU,EAAE;MACxJ;MAEA,OAAO,IAAAU,gCAAe,EAAC;QACrBX,GAAG;QACHY,cAAc,EAAEb,MAAM,CAACa,cAAc;QACrCC,cAAc,EAAEd,MAAM,CAACc;MACzB,CAAC,CAAC;IACJ;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _vitest = require("vitest");
|
|
4
|
+
var _DefaultResolver = require("./DefaultResolver.js");
|
|
5
|
+
const mocks = _vitest.vi.hoisted(() => ({
|
|
6
|
+
fetchUpdateInfo: _vitest.vi.fn()
|
|
7
|
+
}));
|
|
8
|
+
_vitest.vi.mock("./fetchUpdateInfo", () => ({
|
|
9
|
+
fetchUpdateInfo: mocks.fetchUpdateInfo
|
|
10
|
+
}));
|
|
11
|
+
const createParams = params => ({
|
|
12
|
+
appVersion: "1.0.0",
|
|
13
|
+
bundleId: "bundle-id",
|
|
14
|
+
channel: "production",
|
|
15
|
+
cohort: "cohort",
|
|
16
|
+
fingerprintHash: null,
|
|
17
|
+
minBundleId: "min-bundle-id",
|
|
18
|
+
platform: "ios",
|
|
19
|
+
updateStrategy: "appVersion",
|
|
20
|
+
...params
|
|
21
|
+
});
|
|
22
|
+
(0, _vitest.describe)("createDefaultResolver", () => {
|
|
23
|
+
(0, _vitest.beforeEach)(() => {
|
|
24
|
+
mocks.fetchUpdateInfo.mockReset();
|
|
25
|
+
mocks.fetchUpdateInfo.mockResolvedValue(null);
|
|
26
|
+
});
|
|
27
|
+
(0, _vitest.it)("resolves dynamic baseURL before checking for updates", async () => {
|
|
28
|
+
const resolveBaseURL = _vitest.vi.fn(async () => "https://updates.example.com");
|
|
29
|
+
const resolver = (0, _DefaultResolver.createDefaultResolver)(resolveBaseURL);
|
|
30
|
+
await resolver.checkUpdate?.(createParams());
|
|
31
|
+
(0, _vitest.expect)(resolveBaseURL).toHaveBeenCalledWith();
|
|
32
|
+
(0, _vitest.expect)(mocks.fetchUpdateInfo).toHaveBeenCalledWith({
|
|
33
|
+
requestHeaders: undefined,
|
|
34
|
+
requestTimeout: undefined,
|
|
35
|
+
url: "https://updates.example.com/app-version/ios/1.0.0/production/min-bundle-id/bundle-id/cohort"
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
(0, _vitest.it)("calls dynamic baseURL for each update check", async () => {
|
|
39
|
+
const resolveBaseURL = _vitest.vi.fn().mockResolvedValueOnce("https://one.example.com").mockResolvedValueOnce("https://two.example.com");
|
|
40
|
+
const resolver = (0, _DefaultResolver.createDefaultResolver)(resolveBaseURL);
|
|
41
|
+
await resolver.checkUpdate?.(createParams());
|
|
42
|
+
await resolver.checkUpdate?.(createParams());
|
|
43
|
+
(0, _vitest.expect)(resolveBaseURL).toHaveBeenCalledTimes(2);
|
|
44
|
+
(0, _vitest.expect)(mocks.fetchUpdateInfo).toHaveBeenNthCalledWith(1, {
|
|
45
|
+
requestHeaders: undefined,
|
|
46
|
+
requestTimeout: undefined,
|
|
47
|
+
url: "https://one.example.com/app-version/ios/1.0.0/production/min-bundle-id/bundle-id/cohort"
|
|
48
|
+
});
|
|
49
|
+
(0, _vitest.expect)(mocks.fetchUpdateInfo).toHaveBeenNthCalledWith(2, {
|
|
50
|
+
requestHeaders: undefined,
|
|
51
|
+
requestTimeout: undefined,
|
|
52
|
+
url: "https://two.example.com/app-version/ios/1.0.0/production/min-bundle-id/bundle-id/cohort"
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
(0, _vitest.it)("rejects an empty dynamic baseURL", async () => {
|
|
56
|
+
const resolver = (0, _DefaultResolver.createDefaultResolver)(() => "");
|
|
57
|
+
await (0, _vitest.expect)(resolver.checkUpdate?.(createParams())).rejects.toThrow("baseURL resolver must return a non-empty string");
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
//# sourceMappingURL=DefaultResolver.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_vitest","require","_DefaultResolver","mocks","vi","hoisted","fetchUpdateInfo","fn","mock","createParams","params","appVersion","bundleId","channel","cohort","fingerprintHash","minBundleId","platform","updateStrategy","describe","beforeEach","mockReset","mockResolvedValue","it","resolveBaseURL","resolver","createDefaultResolver","checkUpdate","expect","toHaveBeenCalledWith","requestHeaders","undefined","requestTimeout","url","mockResolvedValueOnce","toHaveBeenCalledTimes","toHaveBeenNthCalledWith","rejects","toThrow"],"sourceRoot":"../../src","sources":["DefaultResolver.spec.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/error.js
CHANGED
|
@@ -23,18 +23,101 @@ exports.isHotUpdaterError = isHotUpdaterError;
|
|
|
23
23
|
* - Non-retryable: Most validation and verification errors
|
|
24
24
|
*/
|
|
25
25
|
let HotUpdaterErrorCode = exports.HotUpdaterErrorCode = /*#__PURE__*/function (HotUpdaterErrorCode) {
|
|
26
|
+
// ==================== Parameter Validation Errors ====================
|
|
27
|
+
/**
|
|
28
|
+
* Bundle ID is missing or empty.
|
|
29
|
+
* Thrown when bundleId parameter is null, undefined, or empty string.
|
|
30
|
+
* @retryable false
|
|
31
|
+
*/
|
|
26
32
|
HotUpdaterErrorCode["MISSING_BUNDLE_ID"] = "MISSING_BUNDLE_ID";
|
|
33
|
+
/**
|
|
34
|
+
* File URL is invalid or malformed.
|
|
35
|
+
* Thrown when fileUrl parameter cannot be parsed as a valid URL.
|
|
36
|
+
* @retryable false
|
|
37
|
+
*/
|
|
27
38
|
HotUpdaterErrorCode["INVALID_FILE_URL"] = "INVALID_FILE_URL";
|
|
39
|
+
// ==================== Bundle Storage Errors ====================
|
|
40
|
+
/**
|
|
41
|
+
* Failed to create required directory for bundle storage.
|
|
42
|
+
* Thrown when bundle directory creation fails due to permissions or disk errors.
|
|
43
|
+
* @retryable false - Usually indicates permissions or filesystem corruption
|
|
44
|
+
*/
|
|
28
45
|
HotUpdaterErrorCode["DIRECTORY_CREATION_FAILED"] = "DIRECTORY_CREATION_FAILED";
|
|
46
|
+
/**
|
|
47
|
+
* Bundle download failed.
|
|
48
|
+
* Covers network errors, HTTP errors (4xx/5xx), timeouts, and connection issues.
|
|
49
|
+
* Check error message for specific cause (network, HTTP status code, etc.).
|
|
50
|
+
* @retryable true - Network issues are often transient
|
|
51
|
+
*/
|
|
29
52
|
HotUpdaterErrorCode["DOWNLOAD_FAILED"] = "DOWNLOAD_FAILED";
|
|
53
|
+
/**
|
|
54
|
+
* Download incomplete - received size doesn't match expected size.
|
|
55
|
+
* Thrown when downloaded file size doesn't match Content-Length header.
|
|
56
|
+
* Error message includes both expected and actual byte counts.
|
|
57
|
+
* @retryable true - Download may succeed on retry
|
|
58
|
+
*/
|
|
30
59
|
HotUpdaterErrorCode["INCOMPLETE_DOWNLOAD"] = "INCOMPLETE_DOWNLOAD";
|
|
60
|
+
/**
|
|
61
|
+
* Bundle archive format is invalid or corrupted.
|
|
62
|
+
* Thrown when ZIP file has wrong magic bytes, invalid structure, or unsupported format.
|
|
63
|
+
* Also thrown for path traversal attempts during extraction.
|
|
64
|
+
* @retryable false - Indicates corrupted or malicious bundle
|
|
65
|
+
*/
|
|
31
66
|
HotUpdaterErrorCode["EXTRACTION_FORMAT_ERROR"] = "EXTRACTION_FORMAT_ERROR";
|
|
67
|
+
/**
|
|
68
|
+
* Bundle missing required platform files.
|
|
69
|
+
* Thrown when extracted bundle doesn't contain index.android.bundle (Android)
|
|
70
|
+
* or main.jsbundle (iOS).
|
|
71
|
+
* @retryable false - Indicates incorrectly built bundle
|
|
72
|
+
*/
|
|
32
73
|
HotUpdaterErrorCode["INVALID_BUNDLE"] = "INVALID_BUNDLE";
|
|
74
|
+
/**
|
|
75
|
+
* Insufficient disk space for bundle download and extraction.
|
|
76
|
+
* Thrown when available disk space is less than required (file size * 2).
|
|
77
|
+
* Error message includes required and available bytes.
|
|
78
|
+
* @retryable false - User must free up disk space
|
|
79
|
+
*/
|
|
33
80
|
HotUpdaterErrorCode["INSUFFICIENT_DISK_SPACE"] = "INSUFFICIENT_DISK_SPACE";
|
|
81
|
+
/**
|
|
82
|
+
* Bundle signature verification failed (general).
|
|
83
|
+
* Thrown when cryptographic signature verification fails.
|
|
84
|
+
* All signature/hash sub-errors are collapsed into this public code.
|
|
85
|
+
* @retryable false - Indicates tampered or incorrectly signed bundle
|
|
86
|
+
*/
|
|
34
87
|
HotUpdaterErrorCode["SIGNATURE_VERIFICATION_FAILED"] = "SIGNATURE_VERIFICATION_FAILED";
|
|
88
|
+
/**
|
|
89
|
+
* Failed to move bundle to final location.
|
|
90
|
+
* Thrown when atomic move from temp directory to final directory fails.
|
|
91
|
+
* iOS: Thrown if move operation fails.
|
|
92
|
+
* Android: Thrown if rename, move, AND copy all fail.
|
|
93
|
+
* @retryable false - Usually indicates filesystem corruption or permissions
|
|
94
|
+
*/
|
|
35
95
|
HotUpdaterErrorCode["MOVE_OPERATION_FAILED"] = "MOVE_OPERATION_FAILED";
|
|
96
|
+
/**
|
|
97
|
+
* Bundle is in crashed history and cannot be applied.
|
|
98
|
+
* Thrown when attempting to install a bundle that previously caused a crash.
|
|
99
|
+
* Use HotUpdater.clearCrashHistory() to allow retrying this bundle.
|
|
100
|
+
* @retryable false - Bundle was marked as crashed for safety
|
|
101
|
+
*/
|
|
36
102
|
HotUpdaterErrorCode["BUNDLE_IN_CRASHED_HISTORY"] = "BUNDLE_IN_CRASHED_HISTORY";
|
|
103
|
+
// ==================== Signature Verification Errors ====================
|
|
104
|
+
// (Collapsed into SIGNATURE_VERIFICATION_FAILED)
|
|
105
|
+
// ==================== Internal Errors ====================
|
|
106
|
+
/**
|
|
107
|
+
* Internal error: self deallocated during update (iOS only).
|
|
108
|
+
* Thrown when the native object is deallocated mid-operation.
|
|
109
|
+
* iOS-specific due to manual memory management (ARC).
|
|
110
|
+
* Not applicable to Android (uses garbage collection).
|
|
111
|
+
* @platform iOS
|
|
112
|
+
* @retryable false - Memory management issue
|
|
113
|
+
*/
|
|
37
114
|
HotUpdaterErrorCode["SELF_DEALLOCATED"] = "SELF_DEALLOCATED";
|
|
115
|
+
/**
|
|
116
|
+
* An unknown or unexpected error occurred.
|
|
117
|
+
* Catch-all for errors that don't fit other categories.
|
|
118
|
+
* Check error message for details.
|
|
119
|
+
* @retryable unknown - Depends on underlying cause
|
|
120
|
+
*/
|
|
38
121
|
HotUpdaterErrorCode["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
|
|
39
122
|
return HotUpdaterErrorCode;
|
|
40
123
|
}({});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HotUpdaterErrorCode","exports","isHotUpdaterError","error","code","Object","values","includes","HotUpdaterError","Error","constructor","message","name"],"sourceRoot":"../../src","sources":["error.ts"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAhBA,IAkBYA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,0BAAnBA,mBAAmB;
|
|
1
|
+
{"version":3,"names":["HotUpdaterErrorCode","exports","isHotUpdaterError","error","code","Object","values","includes","HotUpdaterError","Error","constructor","message","name"],"sourceRoot":"../../src","sources":["error.ts"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAhBA,IAkBYA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,0BAAnBA,mBAAmB;EAC7B;EAEA;AACF;AACA;AACA;AACA;EAPYA,mBAAmB;EAU7B;AACF;AACA;AACA;AACA;EAdYA,mBAAmB;EAiB7B;EAEA;AACF;AACA;AACA;AACA;EAvBYA,mBAAmB;EA0B7B;AACF;AACA;AACA;AACA;AACA;EA/BYA,mBAAmB;EAkC7B;AACF;AACA;AACA;AACA;AACA;EAvCYA,mBAAmB;EA0C7B;AACF;AACA;AACA;AACA;AACA;EA/CYA,mBAAmB;EAkD7B;AACF;AACA;AACA;AACA;AACA;EAvDYA,mBAAmB;EA0D7B;AACF;AACA;AACA;AACA;AACA;EA/DYA,mBAAmB;EAkE7B;AACF;AACA;AACA;AACA;AACA;EAvEYA,mBAAmB;EA0E7B;AACF;AACA;AACA;AACA;AACA;AACA;EAhFYA,mBAAmB;EAmF7B;AACF;AACA;AACA;AACA;AACA;EAxFYA,mBAAmB;EA2F7B;EACA;EAEA;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAvGYA,mBAAmB;EA0G7B;AACF;AACA;AACA;AACA;AACA;EA/GYA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAmH/B;AACA;AACA;AACO,SAASE,iBAAiBA,CAC/BC,KAAc,EAC2C;EACzD,OACE,OAAOA,KAAK,KAAK,QAAQ,IACzBA,KAAK,KAAK,IAAI,IACd,MAAM,IAAIA,KAAK,IACf,OAAOA,KAAK,CAACC,IAAI,KAAK,QAAQ,IAC9BC,MAAM,CAACC,MAAM,CAACN,mBAAmB,CAAC,CAACO,QAAQ,CACzCJ,KAAK,CAACC,IACR,CAAC;AAEL;;AAEA;AACA;AACA;AACO,MAAMI,eAAe,SAASC,KAAK,CAAC;EACzCC,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,iBAAiB;EAC/B;AACF;AAACX,OAAA,CAAAO,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -7,14 +7,13 @@ exports.fetchUpdateInfo = void 0;
|
|
|
7
7
|
const fetchUpdateInfo = async ({
|
|
8
8
|
url,
|
|
9
9
|
requestHeaders,
|
|
10
|
-
onError,
|
|
11
10
|
requestTimeout = 5000
|
|
12
11
|
}) => {
|
|
12
|
+
const controller = new AbortController();
|
|
13
|
+
const timeoutId = setTimeout(() => {
|
|
14
|
+
controller.abort();
|
|
15
|
+
}, requestTimeout);
|
|
13
16
|
try {
|
|
14
|
-
const controller = new AbortController();
|
|
15
|
-
const timeoutId = setTimeout(() => {
|
|
16
|
-
controller.abort();
|
|
17
|
-
}, requestTimeout);
|
|
18
17
|
const headers = {
|
|
19
18
|
"Content-Type": "application/json",
|
|
20
19
|
...requestHeaders
|
|
@@ -23,18 +22,17 @@ const fetchUpdateInfo = async ({
|
|
|
23
22
|
signal: controller.signal,
|
|
24
23
|
headers
|
|
25
24
|
});
|
|
26
|
-
clearTimeout(timeoutId);
|
|
27
25
|
if (response.status !== 200) {
|
|
28
26
|
throw new Error(response.statusText);
|
|
29
27
|
}
|
|
30
28
|
return response.json();
|
|
31
29
|
} catch (error) {
|
|
32
30
|
if (error instanceof Error && error.name === "AbortError") {
|
|
33
|
-
|
|
34
|
-
} else {
|
|
35
|
-
onError?.(error);
|
|
31
|
+
throw new Error("Request timed out");
|
|
36
32
|
}
|
|
37
|
-
|
|
33
|
+
throw error;
|
|
34
|
+
} finally {
|
|
35
|
+
clearTimeout(timeoutId);
|
|
38
36
|
}
|
|
39
37
|
};
|
|
40
38
|
exports.fetchUpdateInfo = fetchUpdateInfo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["fetchUpdateInfo","url","requestHeaders","
|
|
1
|
+
{"version":3,"names":["fetchUpdateInfo","url","requestHeaders","requestTimeout","controller","AbortController","timeoutId","setTimeout","abort","headers","response","fetch","signal","status","Error","statusText","json","error","name","clearTimeout","exports"],"sourceRoot":"../../src","sources":["fetchUpdateInfo.ts"],"mappings":";;;;;;AAEO,MAAMA,eAAe,GAAG,MAAAA,CAAO;EACpCC,GAAG;EACHC,cAAc;EACdC,cAAc,GAAG;AAKnB,CAAC,KAAoC;EACnC,MAAMC,UAAU,GAAG,IAAIC,eAAe,CAAC,CAAC;EACxC,MAAMC,SAAS,GAAGC,UAAU,CAAC,MAAM;IACjCH,UAAU,CAACI,KAAK,CAAC,CAAC;EACpB,CAAC,EAAEL,cAAc,CAAC;EAElB,IAAI;IACF,MAAMM,OAAO,GAAG;MACd,cAAc,EAAE,kBAAkB;MAClC,GAAGP;IACL,CAAC;IAED,MAAMQ,QAAQ,GAAG,MAAMC,KAAK,CAACV,GAAG,EAAE;MAChCW,MAAM,EAAER,UAAU,CAACQ,MAAM;MACzBH;IACF,CAAC,CAAC;IAEF,IAAIC,QAAQ,CAACG,MAAM,KAAK,GAAG,EAAE;MAC3B,MAAM,IAAIC,KAAK,CAACJ,QAAQ,CAACK,UAAU,CAAC;IACtC;IACA,OAAOL,QAAQ,CAACM,IAAI,CAAC,CAAC;EACxB,CAAC,CAAC,OAAOC,KAAc,EAAE;IACvB,IAAIA,KAAK,YAAYH,KAAK,IAAIG,KAAK,CAACC,IAAI,KAAK,YAAY,EAAE;MACzD,MAAM,IAAIJ,KAAK,CAAC,mBAAmB,CAAC;IACtC;IACA,MAAMG,KAAK;EACb,CAAC,SAAS;IACRE,YAAY,CAACb,SAAS,CAAC;EACzB;AACF,CAAC;AAACc,OAAA,CAAApB,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_checkForUpdate","require","_DefaultResolver","_native","_store","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_wrap","_types","registerGlobalGetBaseURL","fn","getBaseURL","globalThis","HotUpdaterGetBaseURL","createHotUpdaterClient","globalConfig","resolver","createMissingNetworkConfigError","apiName","Error","baseURLExample","resolverExample","normalizeOptions","options","baseURL","rest","createDefaultResolver","normalizeInitOptions","updateMode","_updateMode","configureGlobal","normalizedOptions","requestHeaders","requestTimeout","ensureGlobalResolver","methodName","wrap","init","reload","setReloadBehavior","isUpdateDownloaded","hotUpdaterStore","getSnapshot","getAppVersion","getBundleId","getMinBundleId","getManifest","getChannel","getDefaultChannel","isChannelSwitched","setCohort","getCohort","addListener","checkForUpdate","config","mergedConfig","updateBundle","params","resetChannel","ok","setState","progress","getFingerprintHash","getCrashHistory","clearCrashHistory","HotUpdater"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAKA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAqBA,IAAAG,MAAA,GAAAH,OAAA;AAoBAI,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAlBA,IAAAS,KAAA,GAAAhB,OAAA;AAmBA,IAAAiB,MAAA,GAAAjB,OAAA;
|
|
1
|
+
{"version":3,"names":["_checkForUpdate","require","_DefaultResolver","_native","_store","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_wrap","_types","registerGlobalGetBaseURL","fn","getBaseURL","globalThis","HotUpdaterGetBaseURL","createHotUpdaterClient","globalConfig","resolver","createMissingNetworkConfigError","apiName","Error","baseURLExample","resolverExample","normalizeOptions","options","baseURL","rest","createDefaultResolver","normalizeInitOptions","updateMode","_updateMode","configureGlobal","normalizedOptions","requestHeaders","requestTimeout","ensureGlobalResolver","methodName","wrap","init","reload","setReloadBehavior","isUpdateDownloaded","hotUpdaterStore","getSnapshot","getAppVersion","getBundleId","getMinBundleId","getManifest","getChannel","getDefaultChannel","isChannelSwitched","setCohort","getCohort","addListener","checkForUpdate","config","mergedConfig","updateBundle","params","resetChannel","ok","setState","progress","getFingerprintHash","getCrashHistory","clearCrashHistory","HotUpdater"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,iBAAiB,EAAjBA,yBAAiB;IAEjB;AACJ;AACA;AACA;AACA;IACIC,iBAAiB,EAAjBA,yBAAiB;IAEjB;AACJ;AACA;AACA;IACIC,SAAS,EAATA,iBAAS;IAET;AACJ;AACA;IACIC,SAAS,EAATA,iBAAS;IAET;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,WAAW,EAAXA,mBAAW;IAEX;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,cAAc,EAAGC,MAA6B,IAAK;MACjD,MAAMtC,QAAQ,GAAGkB,oBAAoB,CAAC,gBAAgB,CAAC;MAEvD,MAAMqB,YAA2C,GAAG;QAClD,GAAGD,MAAM;QACTtC,QAAQ;QACRgB,cAAc,EAAE;UACd,GAAGjB,YAAY,CAACiB,cAAc;UAC9B,GAAGsB,MAAM,CAACtB;QACZ,CAAC;QACDC,cAAc,EAAEqB,MAAM,CAACrB,cAAc,IAAIlB,YAAY,CAACkB;MACxD,CAAC;MAED,OAAO,IAAAoB,8BAAc,EAACE,YAAY,CAAC;IACrC,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,YAAY,EAAGC,MAAoB,IAAK;MACtCvB,oBAAoB,CAAC,cAAc,CAAC;MACpC,OAAO,IAAAsB,oBAAY,EAACC,MAAM,CAAC;IAC7B,CAAC;IAED;AACJ;AACA;AACA;AACA;IACIC,YAAY,EAAE,MAAAA,CAAA,KAAY;MACxB,MAAMC,EAAE,GAAG,MAAM,IAAAD,oBAAY,EAAC,CAAC;MAC/B,IAAIC,EAAE,EAAE;QACNlB,sBAAe,CAACmB,QAAQ,CAAC;UACvBpB,kBAAkB,EAAE,KAAK;UACzBqB,QAAQ,EAAE;QACZ,CAAC,CAAC;MACJ;MACA,OAAOF,EAAE;IACX,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIG,kBAAkB,EAAlBA,0BAAkB;IAElB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,eAAe,EAAfA,uBAAe;IAEf;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,iBAAiB,EAAjBA;EACF,CAAC;AACH;AAEO,MAAMC,UAAU,GAAA9D,OAAA,CAAA8D,UAAA,GAAGnD,sBAAsB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -103,6 +103,22 @@ const importHotUpdater = async () => {
|
|
|
103
103
|
resolver
|
|
104
104
|
});
|
|
105
105
|
});
|
|
106
|
+
(0, _vitest.it)("accepts dynamic baseURL resolvers for manual update flows", async () => {
|
|
107
|
+
const resolver = {
|
|
108
|
+
checkUpdate: _vitest.vi.fn(),
|
|
109
|
+
notifyAppReady: _vitest.vi.fn()
|
|
110
|
+
};
|
|
111
|
+
const resolveBaseURL = _vitest.vi.fn(() => "https://updates.example.com");
|
|
112
|
+
mocks.createDefaultResolver.mockReturnValue(resolver);
|
|
113
|
+
const HotUpdater = await importHotUpdater();
|
|
114
|
+
HotUpdater.init({
|
|
115
|
+
baseURL: resolveBaseURL
|
|
116
|
+
});
|
|
117
|
+
(0, _vitest.expect)(mocks.createDefaultResolver).toHaveBeenCalledWith(resolveBaseURL);
|
|
118
|
+
(0, _vitest.expect)(mocks.init).toHaveBeenCalledWith({
|
|
119
|
+
resolver
|
|
120
|
+
});
|
|
121
|
+
});
|
|
106
122
|
(0, _vitest.it)("uses init configuration for later manual update checks", async () => {
|
|
107
123
|
const resolver = {
|
|
108
124
|
checkUpdate: _vitest.vi.fn(),
|
|
@@ -1 +1 @@
|
|
|
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","mocks","vi","hoisted","addListener","fn","checkForUpdate","clearCrashHistory","createDefaultResolver","getAppVersion","getBaseURL","getBundleId","getChannel","getCohort","getCrashHistory","getDefaultChannel","getFingerprintHash","getManifest","getMinBundleId","init","isChannelSwitched","reload","resetChannel","setCohort","setReloadBehavior","updateBundle","wrap","mock","importHotUpdater","HotUpdater","Promise","resolve","then","describe","beforeEach","resetModules","values","mockReset","mockReturnValue","mockResolvedValue","mockImplementation","baseURL","checkUpdate","notifyAppReady","undefined","Component","it","resolver","result","requestHeaders","Authorization","requestTimeout","expect","toBeUndefined","toHaveBeenCalledWith","updateStrategy","toThrow","not","toHaveBeenCalled"],"sourceRoot":"../../src","sources":["index.spec.ts"],"mappings":"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
|
|
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","mocks","vi","hoisted","addListener","fn","checkForUpdate","clearCrashHistory","createDefaultResolver","getAppVersion","getBaseURL","getBundleId","getChannel","getCohort","getCrashHistory","getDefaultChannel","getFingerprintHash","getManifest","getMinBundleId","init","isChannelSwitched","reload","resetChannel","setCohort","setReloadBehavior","updateBundle","wrap","mock","importHotUpdater","HotUpdater","Promise","resolve","then","describe","beforeEach","resetModules","values","mockReset","mockReturnValue","mockResolvedValue","mockImplementation","baseURL","checkUpdate","notifyAppReady","undefined","Component","it","resolver","result","requestHeaders","Authorization","requestTimeout","expect","toBeUndefined","toHaveBeenCalledWith","resolveBaseURL","updateStrategy","toThrow","not","toHaveBeenCalled"],"sourceRoot":"../../src","sources":["index.spec.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isSignatureVerificationError","error","Error","message","toLowerCase","includes","extractSignatureFailure","bundleId","normalizedError","String"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"names":["isSignatureVerificationError","error","Error","message","toLowerCase","includes","extractSignatureFailure","bundleId","normalizedError","String"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;;;;;;AAMA;AACA;AACA;;AAqDA;AACA;AACA;;AAyBA;AACA;AACA;;AAoDA;AACA;AACA;AACA;AACA;;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,4BAA4BA,CAACC,KAAc,EAAW;EACpE,IAAI,EAAEA,KAAK,YAAYC,KAAK,CAAC,EAAE;IAC7B,OAAO,KAAK;EACd;EAEA,MAAMC,OAAO,GAAGF,KAAK,CAACE,OAAO,CAACC,WAAW,CAAC,CAAC;;EAE3C;EACA;EACA,OACED,OAAO,CAACE,QAAQ,CAAC,wBAAwB,CAAC,IAC1CF,OAAO,CAACE,QAAQ,CAAC,2BAA2B,CAAC,IAC7CF,OAAO,CAACE,QAAQ,CAAC,8BAA8B,CAAC,IAChDF,OAAO,CAACE,QAAQ,CAAC,6BAA6B,CAAC,IAC/CF,OAAO,CAACE,QAAQ,CAAC,qCAAqC,CAAC;AAE3D;;AAEA;AACA;AACA;AACO,SAASC,uBAAuBA,CACrCL,KAAc,EACdM,QAAgB,EACc;EAC9B,MAAMC,eAAe,GACnBP,KAAK,YAAYC,KAAK,GAAGD,KAAK,GAAG,IAAIC,KAAK,CAACO,MAAM,CAACR,KAAK,CAAC,CAAC;EAE3D,OAAO;IACLM,QAAQ;IACRJ,OAAO,EAAEK,eAAe,CAACL,OAAO;IAChCF,KAAK,EAAEO;EACT,CAAC;AACH","ignoreList":[]}
|
package/lib/commonjs/wrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_checkForUpdate","_useEventCallback","_native","_store","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","waitForNextFrame","Promise","resolve","requestAnimationFrame","globalThis","then","handleNotifyAppReady","options","nativeResult","nativeNotifyAppReady","resolver","notifyAppReady","status","crashedBundleId","requestHeaders","requestTimeout","catch","console","warn","onNotifyAppReady","init","wrap","updateMode","WrappedComponent","ManualHOC","props","useEffect","jsx","reloadOnForceUpdate","restOptions","HotUpdaterHOC","progress","useHotUpdaterStore","state","message","setMessage","useState","updateStatus","setUpdateStatus","initHotUpdater","useEventCallback","updateInfo","checkForUpdate","updateStrategy","onError","onUpdateProcessCompleted","shouldForceUpdate","id","getBundleId","updateBundle","error","isSuccess","Error","reload","onProgress","fallbackComponent","Fallback"],"sourceRoot":"../../src","sources":["wrap.tsx"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAMA,IAAAI,MAAA,GAAAJ,OAAA;AAA6C,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAD,wBAAAO,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,CAAAO,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAe7C;AACA;AACA;;AAuCA;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_checkForUpdate","_useEventCallback","_native","_store","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","waitForNextFrame","Promise","resolve","requestAnimationFrame","globalThis","then","handleNotifyAppReady","options","nativeResult","nativeNotifyAppReady","resolver","notifyAppReady","status","crashedBundleId","requestHeaders","requestTimeout","catch","console","warn","onNotifyAppReady","init","wrap","updateMode","WrappedComponent","ManualHOC","props","useEffect","jsx","reloadOnForceUpdate","restOptions","HotUpdaterHOC","progress","useHotUpdaterStore","state","message","setMessage","useState","updateStatus","setUpdateStatus","initHotUpdater","useEventCallback","updateInfo","checkForUpdate","updateStrategy","onError","onUpdateProcessCompleted","shouldForceUpdate","id","getBundleId","updateBundle","error","isSuccess","Error","reload","onProgress","fallbackComponent","Fallback"],"sourceRoot":"../../src","sources":["wrap.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,25 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { fetchUpdateInfo } from "./fetchUpdateInfo.js";
|
|
4
|
+
const resolveBaseURL = async baseURL => {
|
|
5
|
+
const resolvedBaseURL = typeof baseURL === "function" ? await baseURL() : baseURL;
|
|
6
|
+
if (!resolvedBaseURL) {
|
|
7
|
+
throw new Error("baseURL resolver must return a non-empty string");
|
|
8
|
+
}
|
|
9
|
+
return resolvedBaseURL;
|
|
10
|
+
};
|
|
11
|
+
|
|
4
12
|
/**
|
|
5
13
|
* Creates a default resolver that uses baseURL for network operations.
|
|
6
14
|
* This encapsulates the existing baseURL logic into a resolver.
|
|
7
15
|
*
|
|
8
|
-
* @param baseURL - The base URL for the update server
|
|
16
|
+
* @param baseURL - The base URL for the update server, or a function that
|
|
17
|
+
* resolves it before each update check.
|
|
9
18
|
* @returns A HotUpdaterResolver that uses the baseURL
|
|
10
19
|
*/
|
|
11
20
|
export function createDefaultResolver(baseURL) {
|
|
12
21
|
return {
|
|
13
22
|
checkUpdate: async params => {
|
|
23
|
+
const resolvedBaseURL = await resolveBaseURL(baseURL);
|
|
14
24
|
let url;
|
|
15
25
|
const cohortPath = `/${encodeURIComponent(params.cohort)}`;
|
|
16
26
|
if (params.updateStrategy === "fingerprint") {
|
|
17
27
|
if (!params.fingerprintHash) {
|
|
18
28
|
throw new Error("Fingerprint hash is required");
|
|
19
29
|
}
|
|
20
|
-
url = `${
|
|
30
|
+
url = `${resolvedBaseURL}/fingerprint/${params.platform}/${params.fingerprintHash}/${params.channel}/${params.minBundleId}/${params.bundleId}${cohortPath}`;
|
|
21
31
|
} else {
|
|
22
|
-
url = `${
|
|
32
|
+
url = `${resolvedBaseURL}/app-version/${params.platform}/${params.appVersion}/${params.channel}/${params.minBundleId}/${params.bundleId}${cohortPath}`;
|
|
23
33
|
}
|
|
24
34
|
return fetchUpdateInfo({
|
|
25
35
|
url,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["fetchUpdateInfo","
|
|
1
|
+
{"version":3,"names":["fetchUpdateInfo","resolveBaseURL","baseURL","resolvedBaseURL","Error","createDefaultResolver","checkUpdate","params","url","cohortPath","encodeURIComponent","cohort","updateStrategy","fingerprintHash","platform","channel","minBundleId","bundleId","appVersion","requestHeaders","requestTimeout"],"sourceRoot":"../../src","sources":["DefaultResolver.ts"],"mappings":";;AAEA,SAASA,eAAe,QAAQ,sBAAmB;AAOnD,MAAMC,cAAc,GAAG,MAAOC,OAA0B,IAAsB;EAC5E,MAAMC,eAAe,GACnB,OAAOD,OAAO,KAAK,UAAU,GAAG,MAAMA,OAAO,CAAC,CAAC,GAAGA,OAAO;EAE3D,IAAI,CAACC,eAAe,EAAE;IACpB,MAAM,IAAIC,KAAK,CAAC,iDAAiD,CAAC;EACpE;EAEA,OAAOD,eAAe;AACxB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,qBAAqBA,CACnCH,OAA0B,EACN;EACpB,OAAO;IACLI,WAAW,EAAE,MACXC,MAAiC,IACC;MAClC,MAAMJ,eAAe,GAAG,MAAMF,cAAc,CAACC,OAAO,CAAC;MACrD,IAAIM,GAAW;MACf,MAAMC,UAAU,GAAG,IAAIC,kBAAkB,CAACH,MAAM,CAACI,MAAM,CAAC,EAAE;MAE1D,IAAIJ,MAAM,CAACK,cAAc,KAAK,aAAa,EAAE;QAC3C,IAAI,CAACL,MAAM,CAACM,eAAe,EAAE;UAC3B,MAAM,IAAIT,KAAK,CAAC,8BAA8B,CAAC;QACjD;QACAI,GAAG,GAAG,GAAGL,eAAe,gBAAgBI,MAAM,CAACO,QAAQ,IAAIP,MAAM,CAACM,eAAe,IAAIN,MAAM,CAACQ,OAAO,IAAIR,MAAM,CAACS,WAAW,IAAIT,MAAM,CAACU,QAAQ,GAAGR,UAAU,EAAE;MAC7J,CAAC,MAAM;QACLD,GAAG,GAAG,GAAGL,eAAe,gBAAgBI,MAAM,CAACO,QAAQ,IAAIP,MAAM,CAACW,UAAU,IAAIX,MAAM,CAACQ,OAAO,IAAIR,MAAM,CAACS,WAAW,IAAIT,MAAM,CAACU,QAAQ,GAAGR,UAAU,EAAE;MACxJ;MAEA,OAAOT,eAAe,CAAC;QACrBQ,GAAG;QACHW,cAAc,EAAEZ,MAAM,CAACY,cAAc;QACrCC,cAAc,EAAEb,MAAM,CAACa;MACzB,CAAC,CAAC;IACJ;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
4
|
+
import { createDefaultResolver } from "./DefaultResolver.js";
|
|
5
|
+
const mocks = vi.hoisted(() => ({
|
|
6
|
+
fetchUpdateInfo: vi.fn()
|
|
7
|
+
}));
|
|
8
|
+
vi.mock("./fetchUpdateInfo", () => ({
|
|
9
|
+
fetchUpdateInfo: mocks.fetchUpdateInfo
|
|
10
|
+
}));
|
|
11
|
+
const createParams = params => ({
|
|
12
|
+
appVersion: "1.0.0",
|
|
13
|
+
bundleId: "bundle-id",
|
|
14
|
+
channel: "production",
|
|
15
|
+
cohort: "cohort",
|
|
16
|
+
fingerprintHash: null,
|
|
17
|
+
minBundleId: "min-bundle-id",
|
|
18
|
+
platform: "ios",
|
|
19
|
+
updateStrategy: "appVersion",
|
|
20
|
+
...params
|
|
21
|
+
});
|
|
22
|
+
describe("createDefaultResolver", () => {
|
|
23
|
+
beforeEach(() => {
|
|
24
|
+
mocks.fetchUpdateInfo.mockReset();
|
|
25
|
+
mocks.fetchUpdateInfo.mockResolvedValue(null);
|
|
26
|
+
});
|
|
27
|
+
it("resolves dynamic baseURL before checking for updates", async () => {
|
|
28
|
+
const resolveBaseURL = vi.fn(async () => "https://updates.example.com");
|
|
29
|
+
const resolver = createDefaultResolver(resolveBaseURL);
|
|
30
|
+
await resolver.checkUpdate?.(createParams());
|
|
31
|
+
expect(resolveBaseURL).toHaveBeenCalledWith();
|
|
32
|
+
expect(mocks.fetchUpdateInfo).toHaveBeenCalledWith({
|
|
33
|
+
requestHeaders: undefined,
|
|
34
|
+
requestTimeout: undefined,
|
|
35
|
+
url: "https://updates.example.com/app-version/ios/1.0.0/production/min-bundle-id/bundle-id/cohort"
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
it("calls dynamic baseURL for each update check", async () => {
|
|
39
|
+
const resolveBaseURL = vi.fn().mockResolvedValueOnce("https://one.example.com").mockResolvedValueOnce("https://two.example.com");
|
|
40
|
+
const resolver = createDefaultResolver(resolveBaseURL);
|
|
41
|
+
await resolver.checkUpdate?.(createParams());
|
|
42
|
+
await resolver.checkUpdate?.(createParams());
|
|
43
|
+
expect(resolveBaseURL).toHaveBeenCalledTimes(2);
|
|
44
|
+
expect(mocks.fetchUpdateInfo).toHaveBeenNthCalledWith(1, {
|
|
45
|
+
requestHeaders: undefined,
|
|
46
|
+
requestTimeout: undefined,
|
|
47
|
+
url: "https://one.example.com/app-version/ios/1.0.0/production/min-bundle-id/bundle-id/cohort"
|
|
48
|
+
});
|
|
49
|
+
expect(mocks.fetchUpdateInfo).toHaveBeenNthCalledWith(2, {
|
|
50
|
+
requestHeaders: undefined,
|
|
51
|
+
requestTimeout: undefined,
|
|
52
|
+
url: "https://two.example.com/app-version/ios/1.0.0/production/min-bundle-id/bundle-id/cohort"
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
it("rejects an empty dynamic baseURL", async () => {
|
|
56
|
+
const resolver = createDefaultResolver(() => "");
|
|
57
|
+
await expect(resolver.checkUpdate?.(createParams())).rejects.toThrow("baseURL resolver must return a non-empty string");
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
//# sourceMappingURL=DefaultResolver.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["beforeEach","describe","expect","it","vi","createDefaultResolver","mocks","hoisted","fetchUpdateInfo","fn","mock","createParams","params","appVersion","bundleId","channel","cohort","fingerprintHash","minBundleId","platform","updateStrategy","mockReset","mockResolvedValue","resolveBaseURL","resolver","checkUpdate","toHaveBeenCalledWith","requestHeaders","undefined","requestTimeout","url","mockResolvedValueOnce","toHaveBeenCalledTimes","toHaveBeenNthCalledWith","rejects","toThrow"],"sourceRoot":"../../src","sources":["DefaultResolver.spec.ts"],"mappings":"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","ignoreList":[]}
|