@take-out/native-hot-update 0.0.73 → 0.0.74
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/README.md +7 -7
- package/dist/cjs/createHotUpdater.cjs +1 -2
- package/dist/cjs/createHotUpdater.js +1 -2
- package/dist/cjs/createHotUpdater.js.map +1 -1
- package/dist/cjs/createHotUpdater.native.js +1 -2
- package/dist/cjs/createHotUpdater.native.js.map +1 -1
- package/dist/cjs/helpers.cjs +36 -0
- package/dist/cjs/helpers.js +31 -0
- package/dist/cjs/helpers.js.map +6 -0
- package/dist/cjs/helpers.native.js +39 -0
- package/dist/cjs/helpers.native.js.map +1 -0
- package/dist/cjs/index.cjs +5 -2
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +5 -2
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/esm/createHotUpdater.js +1 -2
- package/dist/esm/createHotUpdater.js.map +1 -1
- package/dist/esm/createHotUpdater.mjs +1 -2
- package/dist/esm/createHotUpdater.mjs.map +1 -1
- package/dist/esm/createHotUpdater.native.js +1 -2
- package/dist/esm/createHotUpdater.native.js.map +1 -1
- package/dist/esm/helpers.js +15 -0
- package/dist/esm/helpers.js.map +6 -0
- package/dist/esm/helpers.mjs +12 -0
- package/dist/esm/helpers.mjs.map +1 -0
- package/dist/esm/helpers.native.js +12 -0
- package/dist/esm/helpers.native.js.map +1 -0
- package/dist/esm/index.js +4 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +2 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -1
- package/dist/esm/index.native.js.map +1 -1
- package/package.json +1 -1
- package/src/createHotUpdater.ts +15 -7
- package/src/helpers.ts +23 -0
- package/src/index.ts +4 -0
package/README.md
CHANGED
|
@@ -26,7 +26,6 @@ bun add @take-out/native-hot-update react-native-mmkv
|
|
|
26
26
|
import { MMKV } from 'react-native-mmkv'
|
|
27
27
|
import { createHotUpdater } from '@take-out/native-hot-update'
|
|
28
28
|
import { createMMKVStorage } from '@take-out/native-hot-update/mmkv'
|
|
29
|
-
import { HotUpdater } from '@hot-updater/react-native'
|
|
30
29
|
|
|
31
30
|
const mmkv = new MMKV({ id: 'hot-updater' })
|
|
32
31
|
|
|
@@ -36,9 +35,8 @@ const hotUpdaterInstance = createHotUpdater({
|
|
|
36
35
|
updateStrategy: 'appVersion',
|
|
37
36
|
})
|
|
38
37
|
|
|
39
|
-
// Export the hook and
|
|
38
|
+
// Export the hook and instance
|
|
40
39
|
export const useOtaUpdater = hotUpdaterInstance.useOtaUpdater
|
|
41
|
-
export const hotUpdaterResolver = hotUpdaterInstance.createResolver()
|
|
42
40
|
export const hotUpdater = hotUpdaterInstance
|
|
43
41
|
```
|
|
44
42
|
|
|
@@ -46,21 +44,23 @@ export const hotUpdater = hotUpdaterInstance
|
|
|
46
44
|
|
|
47
45
|
```tsx
|
|
48
46
|
// app/index.tsx or App.tsx
|
|
49
|
-
import { HotUpdater } from '@
|
|
50
|
-
import { hotUpdaterResolver } from './hotUpdater'
|
|
47
|
+
import { HotUpdater } from '@take-out/native-hot-update'
|
|
51
48
|
|
|
52
49
|
function App() {
|
|
53
50
|
// Your app component
|
|
54
51
|
return <YourApp />
|
|
55
52
|
}
|
|
56
53
|
|
|
57
|
-
// IMPORTANT:
|
|
54
|
+
// IMPORTANT: wrap() initializes HotUpdater config - required for checkForUpdate
|
|
58
55
|
export default HotUpdater.wrap({
|
|
59
|
-
|
|
56
|
+
baseURL: 'https://your-update-server.com',
|
|
60
57
|
updateMode: 'manual', // Use manual mode with custom hooks
|
|
61
58
|
})(App)
|
|
62
59
|
```
|
|
63
60
|
|
|
61
|
+
> **Note**: For custom server implementations, you can use `resolver` instead of
|
|
62
|
+
> `baseURL`. See advanced usage below.
|
|
63
|
+
|
|
64
64
|
### 3. Use in Your App
|
|
65
65
|
|
|
66
66
|
```tsx
|
|
@@ -76,7 +76,7 @@ function createHotUpdater(config) {
|
|
|
76
76
|
},
|
|
77
77
|
getShortOtaId = () => {
|
|
78
78
|
const fullId = getAppliedOta();
|
|
79
|
-
return fullId ? fullId.slice(
|
|
79
|
+
return fullId ? fullId.slice(-12) : null;
|
|
80
80
|
},
|
|
81
81
|
getIsUpdatePending = () => isUpdatePending,
|
|
82
82
|
getPreReleaseBundleId = () => storage.get(PRE_RELEASE_BUNDLE_ID_KEY),
|
|
@@ -86,7 +86,6 @@ function createHotUpdater(config) {
|
|
|
86
86
|
};
|
|
87
87
|
return {
|
|
88
88
|
createResolver,
|
|
89
|
-
// Export resolver for use with HotUpdater.wrap()
|
|
90
89
|
useOtaUpdater: (options = {}) => {
|
|
91
90
|
const {
|
|
92
91
|
enabled = !0,
|
|
@@ -56,14 +56,13 @@ function createHotUpdater(config) {
|
|
|
56
56
|
return id === INITIAL_OTA_ID || id === import_react_native.HotUpdater.getMinBundleId() ? null : id;
|
|
57
57
|
}, getShortOtaId = () => {
|
|
58
58
|
const fullId = getAppliedOta();
|
|
59
|
-
return fullId ? fullId.slice(
|
|
59
|
+
return fullId ? fullId.slice(-12) : null;
|
|
60
60
|
}, getIsUpdatePending = () => isUpdatePending, getPreReleaseBundleId = () => storage.get(PRE_RELEASE_BUNDLE_ID_KEY), handleUpdateDownloaded = (id, options = {}) => {
|
|
61
61
|
const appVersion = Application.nativeApplicationVersion;
|
|
62
62
|
appVersion && storage.set(`${BUNDLE_ID_KEY_PREFIX}.${appVersion}`, id), options.isPreRelease ? storage.set(PRE_RELEASE_BUNDLE_ID_KEY, id) : storage.delete(PRE_RELEASE_BUNDLE_ID_KEY), isUpdatePending = !0;
|
|
63
63
|
};
|
|
64
64
|
return {
|
|
65
65
|
createResolver,
|
|
66
|
-
// Export resolver for use with HotUpdater.wrap()
|
|
67
66
|
useOtaUpdater: (options = {}) => {
|
|
68
67
|
const {
|
|
69
68
|
enabled = !0,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createHotUpdater.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAIO,sCACP,cAA6B,yCAC7B,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["import_react_native"]
|
|
6
6
|
}
|
|
@@ -80,7 +80,7 @@ function createHotUpdater(config) {
|
|
|
80
80
|
},
|
|
81
81
|
getShortOtaId = function () {
|
|
82
82
|
var fullId = getAppliedOta();
|
|
83
|
-
return fullId ? fullId.slice(
|
|
83
|
+
return fullId ? fullId.slice(-12) : null;
|
|
84
84
|
},
|
|
85
85
|
getIsUpdatePending = function () {
|
|
86
86
|
return isUpdatePending;
|
|
@@ -210,7 +210,6 @@ function createHotUpdater(config) {
|
|
|
210
210
|
};
|
|
211
211
|
return {
|
|
212
212
|
createResolver,
|
|
213
|
-
// Export resolver for use with HotUpdater.wrap()
|
|
214
213
|
useOtaUpdater,
|
|
215
214
|
checkForUpdate,
|
|
216
215
|
getAppliedOta,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createHotUpdater_exports","__export","createHotUpdater","module","exports","import_react_native","require","Application","__toESM","import_react","import_react_native2","INITIAL_OTA_ID","BUNDLE_ID_KEY_PREFIX","PRE_RELEASE_BUNDLE_ID_KEY","config","serverUrl","storage","updateStrategy","createResolver","checkUpdate","params","response","fetch","method","headers","requestHeaders","body","JSON","stringify","platform","appVersion","bundleId","minBundleId","channel","fingerprintHash","signal","requestTimeout","AbortSignal","timeout","ok","json","isUpdatePending","getAppliedOta","id","HotUpdater","getBundleId","getMinBundleId","getShortOtaId","fullId","slice","getIsUpdatePending","getPreReleaseBundleId","get","handleUpdateDownloaded","options","arguments","length","nativeApplicationVersion","set","isPreRelease","delete","useOtaUpdater","enabled","onUpdateDownloaded","onUpdateDownloadedCallback","onError","progress","useHotUpdaterStore","state","isUpdating","isUserClearedForAccess","setIsUserClearedForAccess","useState","isUserClearedForAccessRef","useRef","current","useEffect","timer","setTimeout","clearTimeout","shouldContinue","updateInfo","checkForUpdate","status","preReleaseBundleId","currentBundleId","Alert","alert","shouldForceUpdate","updateBundle","info","isCriticalUpdate","fileUrl","message","reload","text","style","onPress","error","userClearedForAccess","Object","keys"],"sources":["../../src/createHotUpdater.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAA;EAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;IAAAC,KAAA;EAAA,IAAAH,GAAA;AAAA,IAAAI,wBAAA;AAAAC,QAAA,CAAAD,wBAAA;EAAAE,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAIO,CAAAK,wBAAA;AAOP,IAAAK,mBAAuB,GAAAC,OAAA;EACjBC,WAAA,GAAAC,OAAA,CAAuBF,OAAA,mBACvB;EAAAG,YAAA,GAAAH,OAA4B;EAAAI,oBAAA,GAAAJ,OAAA;EAAAK,cAAA;EAAAC,oBAAA;EAAAC,yBAAA;
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createHotUpdater_exports","__export","createHotUpdater","module","exports","import_react_native","require","Application","__toESM","import_react","import_react_native2","INITIAL_OTA_ID","BUNDLE_ID_KEY_PREFIX","PRE_RELEASE_BUNDLE_ID_KEY","config","serverUrl","storage","updateStrategy","createResolver","checkUpdate","params","response","fetch","method","headers","requestHeaders","body","JSON","stringify","platform","appVersion","bundleId","minBundleId","channel","fingerprintHash","signal","requestTimeout","AbortSignal","timeout","ok","json","isUpdatePending","getAppliedOta","id","HotUpdater","getBundleId","getMinBundleId","getShortOtaId","fullId","slice","getIsUpdatePending","getPreReleaseBundleId","get","handleUpdateDownloaded","options","arguments","length","nativeApplicationVersion","set","isPreRelease","delete","useOtaUpdater","enabled","onUpdateDownloaded","onUpdateDownloadedCallback","onError","progress","useHotUpdaterStore","state","isUpdating","isUserClearedForAccess","setIsUserClearedForAccess","useState","isUserClearedForAccessRef","useRef","current","useEffect","timer","setTimeout","clearTimeout","shouldContinue","updateInfo","checkForUpdate","status","preReleaseBundleId","currentBundleId","Alert","alert","shouldForceUpdate","updateBundle","info","isCriticalUpdate","fileUrl","message","reload","text","style","onPress","error","userClearedForAccess","Object","keys"],"sources":["../../src/createHotUpdater.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: !0
|
|
9
|
+
});
|
|
10
|
+
},
|
|
11
|
+
__copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
13
|
+
get: () => from[key],
|
|
14
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
|
+
});
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
+
value: !0
|
|
20
|
+
}), mod);
|
|
21
|
+
var helpers_exports = {};
|
|
22
|
+
__export(helpers_exports, {
|
|
23
|
+
getAppliedOta: () => getAppliedOta,
|
|
24
|
+
getShortOtaId: () => getShortOtaId
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(helpers_exports);
|
|
27
|
+
var import_react_native = require("@hot-updater/react-native");
|
|
28
|
+
const INITIAL_OTA_ID = "00000000-0000-0000-0000-000000000000";
|
|
29
|
+
function getAppliedOta() {
|
|
30
|
+
const id = import_react_native.HotUpdater.getBundleId();
|
|
31
|
+
return id === INITIAL_OTA_ID || id === import_react_native.HotUpdater.getMinBundleId() ? null : id;
|
|
32
|
+
}
|
|
33
|
+
function getShortOtaId() {
|
|
34
|
+
const fullId = getAppliedOta();
|
|
35
|
+
return fullId ? fullId.slice(-12) : null;
|
|
36
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
+
var helpers_exports = {};
|
|
16
|
+
__export(helpers_exports, {
|
|
17
|
+
getAppliedOta: () => getAppliedOta,
|
|
18
|
+
getShortOtaId: () => getShortOtaId
|
|
19
|
+
});
|
|
20
|
+
module.exports = __toCommonJS(helpers_exports);
|
|
21
|
+
var import_react_native = require("@hot-updater/react-native");
|
|
22
|
+
const INITIAL_OTA_ID = "00000000-0000-0000-0000-000000000000";
|
|
23
|
+
function getAppliedOta() {
|
|
24
|
+
const id = import_react_native.HotUpdater.getBundleId();
|
|
25
|
+
return id === INITIAL_OTA_ID || id === import_react_native.HotUpdater.getMinBundleId() ? null : id;
|
|
26
|
+
}
|
|
27
|
+
function getShortOtaId() {
|
|
28
|
+
const fullId = getAppliedOta();
|
|
29
|
+
return fullId ? fullId.slice(-12) : null;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/helpers.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA2B;AAE3B,MAAM,iBAAiB;AAMhB,SAAS,gBAA+B;AAC7C,QAAM,KAAK,+BAAW,YAAY;AAElC,SADI,OAAO,kBACP,OAAO,+BAAW,eAAe,IAAU,OACxC;AACT;AAMO,SAAS,gBAA+B;AAC7C,QAAM,SAAS,cAAc;AAC7B,SAAO,SAAS,OAAO,MAAM,GAAG,IAAI;AACtC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: !0
|
|
11
|
+
});
|
|
12
|
+
},
|
|
13
|
+
__copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
15
|
+
get: () => from[key],
|
|
16
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
|
+
});
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: !0
|
|
22
|
+
}), mod);
|
|
23
|
+
var helpers_exports = {};
|
|
24
|
+
__export(helpers_exports, {
|
|
25
|
+
getAppliedOta: () => getAppliedOta,
|
|
26
|
+
getShortOtaId: () => getShortOtaId
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(helpers_exports);
|
|
29
|
+
var import_react_native = require("@hot-updater/react-native"),
|
|
30
|
+
INITIAL_OTA_ID = "00000000-0000-0000-0000-000000000000";
|
|
31
|
+
function getAppliedOta() {
|
|
32
|
+
var id = import_react_native.HotUpdater.getBundleId();
|
|
33
|
+
return id === INITIAL_OTA_ID || id === import_react_native.HotUpdater.getMinBundleId() ? null : id;
|
|
34
|
+
}
|
|
35
|
+
function getShortOtaId() {
|
|
36
|
+
var fullId = getAppliedOta();
|
|
37
|
+
return fullId ? fullId.slice(-12) : null;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=helpers.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","helpers_exports","__export","getAppliedOta","getShortOtaId","module","exports","import_react_native","require","INITIAL_OTA_ID","id","HotUpdater","getBundleId","getMinBundleId","fullId","slice"],"sources":["../../src/helpers.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,eAAA;AAAAC,QAAA,CAAAD,eAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAV,YAA2B,CAAAK,eAAA;AAE3B,IAAAM,mBAAuB,GAAAC,OAAA;EAAAC,cAAA;AAMhB,SAASN,cAAA,EAA+B;EAC7C,IAAAO,EAAM,GAAAH,mBAAK,CAAAI,UAAA,CAAAC,WAAW;EAEtB,OADIF,EAAA,KAAOD,cAAA,IACPC,EAAA,KAAOH,mBAAA,CAAAI,UAAA,CAAWE,cAAA,CAAe,IAAU,OACxCH,EAAA;AACT;AAMO,SAASN,cAAA,EAA+B;EAC7C,IAAAU,MAAM,GAAAX,aAAS;EACf,OAAOW,MAAA,GAASA,MAAA,CAAOC,KAAA,CAAM,GAAG,IAAI;AACtC","ignoreList":[]}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -20,7 +20,10 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
|
20
20
|
}), mod);
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
|
-
|
|
23
|
+
HotUpdater: () => import_react_native.HotUpdater,
|
|
24
|
+
createHotUpdater: () => import_createHotUpdater.createHotUpdater,
|
|
25
|
+
useHotUpdaterStore: () => import_react_native.useHotUpdaterStore
|
|
24
26
|
});
|
|
25
27
|
module.exports = __toCommonJS(index_exports);
|
|
26
|
-
var
|
|
28
|
+
var import_react_native = require("@hot-updater/react-native"),
|
|
29
|
+
import_createHotUpdater = require("./createHotUpdater.cjs");
|
package/dist/cjs/index.js
CHANGED
|
@@ -14,8 +14,10 @@ var __export = (target, all) => {
|
|
|
14
14
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
15
|
var index_exports = {};
|
|
16
16
|
__export(index_exports, {
|
|
17
|
-
|
|
17
|
+
HotUpdater: () => import_react_native.HotUpdater,
|
|
18
|
+
createHotUpdater: () => import_createHotUpdater.createHotUpdater,
|
|
19
|
+
useHotUpdaterStore: () => import_react_native.useHotUpdaterStore
|
|
18
20
|
});
|
|
19
21
|
module.exports = __toCommonJS(index_exports);
|
|
20
|
-
var import_createHotUpdater = require("./createHotUpdater");
|
|
22
|
+
var import_react_native = require("@hot-updater/react-native"), import_createHotUpdater = require("./createHotUpdater");
|
|
21
23
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
package/dist/cjs/index.native.js
CHANGED
|
@@ -22,8 +22,11 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
|
22
22
|
}), mod);
|
|
23
23
|
var index_exports = {};
|
|
24
24
|
__export(index_exports, {
|
|
25
|
-
|
|
25
|
+
HotUpdater: () => import_react_native.HotUpdater,
|
|
26
|
+
createHotUpdater: () => import_createHotUpdater.createHotUpdater,
|
|
27
|
+
useHotUpdaterStore: () => import_react_native.useHotUpdaterStore
|
|
26
28
|
});
|
|
27
29
|
module.exports = __toCommonJS(index_exports);
|
|
28
|
-
var
|
|
30
|
+
var import_react_native = require("@hot-updater/react-native"),
|
|
31
|
+
import_createHotUpdater = require("./createHotUpdater.native.js");
|
|
29
32
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","createHotUpdater","import_createHotUpdater","module","exports"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,gBAAA,EAAAA,CAAA,KAAAC,uBAAA,CAAAD;AAAA;
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","HotUpdater","import_react_native","createHotUpdater","import_createHotUpdater","useHotUpdaterStore","module","exports"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,UAAA,EAAAA,CAAA,KAAAC,mBAAA,CAAAD,UAAA;EAAAE,gBAAA,EAAAA,CAAA,KAAAC,uBAAA,CAAAD,gBAAA;EAAAE,kBAAA,EAAAA,CAAA,KAAAH,mBAAA,CAAAG;AAAA;AACAC,MAAA,CAAAC,OAAA,GAAAb,YAA+C,CAAAK,aAAA","ignoreList":[]}
|
|
@@ -35,14 +35,13 @@ function createHotUpdater(config) {
|
|
|
35
35
|
return id === INITIAL_OTA_ID || id === HotUpdater.getMinBundleId() ? null : id;
|
|
36
36
|
}, getShortOtaId = () => {
|
|
37
37
|
const fullId = getAppliedOta();
|
|
38
|
-
return fullId ? fullId.slice(
|
|
38
|
+
return fullId ? fullId.slice(-12) : null;
|
|
39
39
|
}, getIsUpdatePending = () => isUpdatePending, getPreReleaseBundleId = () => storage.get(PRE_RELEASE_BUNDLE_ID_KEY), handleUpdateDownloaded = (id, options = {}) => {
|
|
40
40
|
const appVersion = Application.nativeApplicationVersion;
|
|
41
41
|
appVersion && storage.set(`${BUNDLE_ID_KEY_PREFIX}.${appVersion}`, id), options.isPreRelease ? storage.set(PRE_RELEASE_BUNDLE_ID_KEY, id) : storage.delete(PRE_RELEASE_BUNDLE_ID_KEY), isUpdatePending = !0;
|
|
42
42
|
};
|
|
43
43
|
return {
|
|
44
44
|
createResolver,
|
|
45
|
-
// Export resolver for use with HotUpdater.wrap()
|
|
46
45
|
useOtaUpdater: (options = {}) => {
|
|
47
46
|
const {
|
|
48
47
|
enabled = !0,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createHotUpdater.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP,YAAY,iBAAiB;AAC7B,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -40,7 +40,7 @@ function createHotUpdater(config) {
|
|
|
40
40
|
},
|
|
41
41
|
getShortOtaId = () => {
|
|
42
42
|
const fullId = getAppliedOta();
|
|
43
|
-
return fullId ? fullId.slice(
|
|
43
|
+
return fullId ? fullId.slice(-12) : null;
|
|
44
44
|
},
|
|
45
45
|
getIsUpdatePending = () => isUpdatePending,
|
|
46
46
|
getPreReleaseBundleId = () => storage.get(PRE_RELEASE_BUNDLE_ID_KEY),
|
|
@@ -50,7 +50,6 @@ function createHotUpdater(config) {
|
|
|
50
50
|
};
|
|
51
51
|
return {
|
|
52
52
|
createResolver,
|
|
53
|
-
// Export resolver for use with HotUpdater.wrap()
|
|
54
53
|
useOtaUpdater: (options = {}) => {
|
|
55
54
|
const {
|
|
56
55
|
enabled = !0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HotUpdater","useHotUpdaterStore","Application","useEffect","useRef","useState","Alert","INITIAL_OTA_ID","BUNDLE_ID_KEY_PREFIX","PRE_RELEASE_BUNDLE_ID_KEY","createHotUpdater","config","serverUrl","storage","updateStrategy","createResolver","checkUpdate","params","response","fetch","method","headers","requestHeaders","body","JSON","stringify","platform","appVersion","bundleId","minBundleId","channel","fingerprintHash","signal","requestTimeout","AbortSignal","timeout","ok","json","isUpdatePending","getAppliedOta","id","getBundleId","getMinBundleId","getShortOtaId","fullId","slice","getIsUpdatePending","getPreReleaseBundleId","get","handleUpdateDownloaded","options","nativeApplicationVersion","set","isPreRelease","delete","useOtaUpdater","enabled","onUpdateDownloaded","onUpdateDownloadedCallback","onError","progress","state","isUpdating","isUserClearedForAccess","setIsUserClearedForAccess","isUserClearedForAccessRef","current","timer","setTimeout","clearTimeout","shouldContinue","updateInfo","checkForUpdate","status","preReleaseBundleId","currentBundleId","alert","shouldForceUpdate","updateBundle","info","isCriticalUpdate","fileUrl","message","reload","text","style","onPress","error","userClearedForAccess","Object","keys","length","getChannel"],"sources":["../../src/createHotUpdater.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,UAAA,EACAC,kBAAA,QAEK;AACP,YAAYC,WAAA,MAAiB;AAC7B,
|
|
1
|
+
{"version":3,"names":["HotUpdater","useHotUpdaterStore","Application","useEffect","useRef","useState","Alert","INITIAL_OTA_ID","BUNDLE_ID_KEY_PREFIX","PRE_RELEASE_BUNDLE_ID_KEY","createHotUpdater","config","serverUrl","storage","updateStrategy","createResolver","checkUpdate","params","response","fetch","method","headers","requestHeaders","body","JSON","stringify","platform","appVersion","bundleId","minBundleId","channel","fingerprintHash","signal","requestTimeout","AbortSignal","timeout","ok","json","isUpdatePending","getAppliedOta","id","getBundleId","getMinBundleId","getShortOtaId","fullId","slice","getIsUpdatePending","getPreReleaseBundleId","get","handleUpdateDownloaded","options","nativeApplicationVersion","set","isPreRelease","delete","useOtaUpdater","enabled","onUpdateDownloaded","onUpdateDownloadedCallback","onError","progress","state","isUpdating","isUserClearedForAccess","setIsUserClearedForAccess","isUserClearedForAccessRef","current","timer","setTimeout","clearTimeout","shouldContinue","updateInfo","checkForUpdate","status","preReleaseBundleId","currentBundleId","alert","shouldForceUpdate","updateBundle","info","isCriticalUpdate","fileUrl","message","reload","text","style","onPress","error","userClearedForAccess","Object","keys","length","getChannel"],"sources":["../../src/createHotUpdater.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -42,7 +42,7 @@ function createHotUpdater(config) {
|
|
|
42
42
|
},
|
|
43
43
|
getShortOtaId = function () {
|
|
44
44
|
var fullId = getAppliedOta();
|
|
45
|
-
return fullId ? fullId.slice(
|
|
45
|
+
return fullId ? fullId.slice(-12) : null;
|
|
46
46
|
},
|
|
47
47
|
getIsUpdatePending = function () {
|
|
48
48
|
return isUpdatePending;
|
|
@@ -172,7 +172,6 @@ function createHotUpdater(config) {
|
|
|
172
172
|
};
|
|
173
173
|
return {
|
|
174
174
|
createResolver,
|
|
175
|
-
// Export resolver for use with HotUpdater.wrap()
|
|
176
175
|
useOtaUpdater,
|
|
177
176
|
checkForUpdate,
|
|
178
177
|
getAppliedOta,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HotUpdater","useHotUpdaterStore","Application","useEffect","useRef","useState","Alert","INITIAL_OTA_ID","BUNDLE_ID_KEY_PREFIX","PRE_RELEASE_BUNDLE_ID_KEY","createHotUpdater","config","serverUrl","storage","updateStrategy","createResolver","checkUpdate","params","response","fetch","method","headers","requestHeaders","body","JSON","stringify","platform","appVersion","bundleId","minBundleId","channel","fingerprintHash","signal","requestTimeout","AbortSignal","timeout","ok","json","isUpdatePending","getAppliedOta","id","getBundleId","getMinBundleId","getShortOtaId","fullId","slice","getIsUpdatePending","getPreReleaseBundleId","get","handleUpdateDownloaded","options","arguments","length","nativeApplicationVersion","set","isPreRelease","delete","useOtaUpdater","enabled","onUpdateDownloaded","onUpdateDownloadedCallback","onError","progress","state","isUpdating","isUserClearedForAccess","setIsUserClearedForAccess","isUserClearedForAccessRef","current","timer","setTimeout","clearTimeout","shouldContinue","updateInfo","checkForUpdate","status","preReleaseBundleId","currentBundleId","alert","shouldForceUpdate","updateBundle","info","isCriticalUpdate","fileUrl","message","reload","text","style","onPress","error","userClearedForAccess","Object","keys"],"sources":["../../src/createHotUpdater.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,UAAA,EAAAC,kBAAA;AAAA,OACE,KAAAC,WAAA;AAAA,SACAC,SAAA,EAAAC,MAAA,EAAAC,QAAA;AAAA,SAEKC,KAAA;AACP,IAAAC,cAAY,yCAAiB;EAAAC,oBAAA;EAAAC,yBAAA;AAC7B,
|
|
1
|
+
{"version":3,"names":["HotUpdater","useHotUpdaterStore","Application","useEffect","useRef","useState","Alert","INITIAL_OTA_ID","BUNDLE_ID_KEY_PREFIX","PRE_RELEASE_BUNDLE_ID_KEY","createHotUpdater","config","serverUrl","storage","updateStrategy","createResolver","checkUpdate","params","response","fetch","method","headers","requestHeaders","body","JSON","stringify","platform","appVersion","bundleId","minBundleId","channel","fingerprintHash","signal","requestTimeout","AbortSignal","timeout","ok","json","isUpdatePending","getAppliedOta","id","getBundleId","getMinBundleId","getShortOtaId","fullId","slice","getIsUpdatePending","getPreReleaseBundleId","get","handleUpdateDownloaded","options","arguments","length","nativeApplicationVersion","set","isPreRelease","delete","useOtaUpdater","enabled","onUpdateDownloaded","onUpdateDownloadedCallback","onError","progress","state","isUpdating","isUserClearedForAccess","setIsUserClearedForAccess","isUserClearedForAccessRef","current","timer","setTimeout","clearTimeout","shouldContinue","updateInfo","checkForUpdate","status","preReleaseBundleId","currentBundleId","alert","shouldForceUpdate","updateBundle","info","isCriticalUpdate","fileUrl","message","reload","text","style","onPress","error","userClearedForAccess","Object","keys"],"sources":["../../src/createHotUpdater.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { HotUpdater } from "@hot-updater/react-native";
|
|
2
|
+
const INITIAL_OTA_ID = "00000000-0000-0000-0000-000000000000";
|
|
3
|
+
function getAppliedOta() {
|
|
4
|
+
const id = HotUpdater.getBundleId();
|
|
5
|
+
return id === INITIAL_OTA_ID || id === HotUpdater.getMinBundleId() ? null : id;
|
|
6
|
+
}
|
|
7
|
+
function getShortOtaId() {
|
|
8
|
+
const fullId = getAppliedOta();
|
|
9
|
+
return fullId ? fullId.slice(-12) : null;
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
getAppliedOta,
|
|
13
|
+
getShortOtaId
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/helpers.ts"],
|
|
4
|
+
"mappings": "AAAA,SAAS,kBAAkB;AAE3B,MAAM,iBAAiB;AAMhB,SAAS,gBAA+B;AAC7C,QAAM,KAAK,WAAW,YAAY;AAElC,SADI,OAAO,kBACP,OAAO,WAAW,eAAe,IAAU,OACxC;AACT;AAMO,SAAS,gBAA+B;AAC7C,QAAM,SAAS,cAAc;AAC7B,SAAO,SAAS,OAAO,MAAM,GAAG,IAAI;AACtC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { HotUpdater } from "@hot-updater/react-native";
|
|
2
|
+
const INITIAL_OTA_ID = "00000000-0000-0000-0000-000000000000";
|
|
3
|
+
function getAppliedOta() {
|
|
4
|
+
const id = HotUpdater.getBundleId();
|
|
5
|
+
return id === INITIAL_OTA_ID || id === HotUpdater.getMinBundleId() ? null : id;
|
|
6
|
+
}
|
|
7
|
+
function getShortOtaId() {
|
|
8
|
+
const fullId = getAppliedOta();
|
|
9
|
+
return fullId ? fullId.slice(-12) : null;
|
|
10
|
+
}
|
|
11
|
+
export { getAppliedOta, getShortOtaId };
|
|
12
|
+
//# sourceMappingURL=helpers.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["HotUpdater","INITIAL_OTA_ID","getAppliedOta","id","getBundleId","getMinBundleId","getShortOtaId","fullId","slice"],"sources":["../../src/helpers.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAE3B,MAAMC,cAAA,GAAiB;AAMhB,SAASC,cAAA,EAA+B;EAC7C,MAAMC,EAAA,GAAKH,UAAA,CAAWI,WAAA,CAAY;EAElC,OADID,EAAA,KAAOF,cAAA,IACPE,EAAA,KAAOH,UAAA,CAAWK,cAAA,CAAe,IAAU,OACxCF,EAAA;AACT;AAMO,SAASG,cAAA,EAA+B;EAC7C,MAAMC,MAAA,GAASL,aAAA,CAAc;EAC7B,OAAOK,MAAA,GAASA,MAAA,CAAOC,KAAA,CAAM,GAAG,IAAI;AACtC","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { HotUpdater } from "@hot-updater/react-native";
|
|
2
|
+
var INITIAL_OTA_ID = "00000000-0000-0000-0000-000000000000";
|
|
3
|
+
function getAppliedOta() {
|
|
4
|
+
var id = HotUpdater.getBundleId();
|
|
5
|
+
return id === INITIAL_OTA_ID || id === HotUpdater.getMinBundleId() ? null : id;
|
|
6
|
+
}
|
|
7
|
+
function getShortOtaId() {
|
|
8
|
+
var fullId = getAppliedOta();
|
|
9
|
+
return fullId ? fullId.slice(-12) : null;
|
|
10
|
+
}
|
|
11
|
+
export { getAppliedOta, getShortOtaId };
|
|
12
|
+
//# sourceMappingURL=helpers.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["HotUpdater","INITIAL_OTA_ID","getAppliedOta","id","getBundleId","getMinBundleId","getShortOtaId","fullId","slice"],"sources":["../../src/helpers.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAE3B,IAAAC,cAAM,yCAAiB;AAMhB,SAASC,cAAA,EAA+B;EAC7C,IAAAC,EAAM,GAAAH,UAAK,CAAAI,WAAW;EAEtB,OADID,EAAA,KAAOF,cAAA,IACPE,EAAA,KAAOH,UAAA,CAAWK,cAAA,CAAe,IAAU,OACxCF,EAAA;AACT;AAMO,SAASG,cAAA,EAA+B;EAC7C,IAAAC,MAAM,GAAAL,aAAS;EACf,OAAOK,MAAA,GAASA,MAAA,CAAOC,KAAA,CAAM,GAAG,IAAI;AACtC","ignoreList":[]}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
package/dist/esm/index.mjs
CHANGED
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createHotUpdater"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"names":["HotUpdater","useHotUpdaterStore","createHotUpdater"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,UAAA,EAAYC,kBAAA,QAA0B;AAG/C,SAASC,gBAAA,QAAwB","ignoreList":[]}
|
package/dist/esm/index.native.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { HotUpdater, useHotUpdaterStore } from "@hot-updater/react-native";
|
|
1
2
|
import { createHotUpdater } from "./createHotUpdater.native.js";
|
|
2
|
-
export { createHotUpdater };
|
|
3
|
+
export { HotUpdater, createHotUpdater, useHotUpdaterStore };
|
|
3
4
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createHotUpdater"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"names":["HotUpdater","useHotUpdaterStore","createHotUpdater"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,UAAA,EAAYC,kBAAA,QAA0B;AAG/C,SAASC,gBAAA,QAAwB","ignoreList":[]}
|
package/package.json
CHANGED
package/src/createHotUpdater.ts
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
type HotUpdaterResolver,
|
|
5
5
|
} from '@hot-updater/react-native'
|
|
6
6
|
import * as Application from 'expo-application'
|
|
7
|
-
import
|
|
7
|
+
import { useEffect, useRef, useState } from 'react'
|
|
8
8
|
import { Alert } from 'react-native'
|
|
9
9
|
|
|
10
10
|
import type { HotUpdaterConfig, HotUpdaterInstance, UpdateInfo } from './types'
|
|
@@ -13,13 +13,16 @@ const INITIAL_OTA_ID = '00000000-0000-0000-0000-000000000000'
|
|
|
13
13
|
const BUNDLE_ID_KEY_PREFIX = 'hotUpdater.bundleId'
|
|
14
14
|
const PRE_RELEASE_BUNDLE_ID_KEY = 'hotUpdater.preReleaseBundleId'
|
|
15
15
|
|
|
16
|
+
/**
|
|
17
|
+
* Creates a HotUpdater instance with custom hooks and helpers.
|
|
18
|
+
* NOTE: Requires HotUpdater.wrap() to be called first (e.g., in HotUpdaterSplash).
|
|
19
|
+
*/
|
|
16
20
|
export function createHotUpdater(config: HotUpdaterConfig): HotUpdaterInstance {
|
|
17
21
|
const { serverUrl, storage, updateStrategy = 'appVersion' } = config
|
|
18
22
|
|
|
19
|
-
// Create a resolver
|
|
23
|
+
// Create a custom resolver for advanced use cases
|
|
20
24
|
const createResolver = (): HotUpdaterResolver => ({
|
|
21
25
|
checkUpdate: async (params) => {
|
|
22
|
-
// Use POST request with all params in body (more flexible than URL path)
|
|
23
26
|
const response = await fetch(`${serverUrl}/check`, {
|
|
24
27
|
method: 'POST',
|
|
25
28
|
headers: {
|
|
@@ -56,7 +59,7 @@ export function createHotUpdater(config: HotUpdaterConfig): HotUpdaterInstance {
|
|
|
56
59
|
|
|
57
60
|
const getShortOtaId = (): string | null => {
|
|
58
61
|
const fullId = getAppliedOta()
|
|
59
|
-
return fullId ? fullId.slice(
|
|
62
|
+
return fullId ? fullId.slice(-12) : null
|
|
60
63
|
}
|
|
61
64
|
|
|
62
65
|
const getIsUpdatePending = (): boolean => {
|
|
@@ -85,6 +88,10 @@ export function createHotUpdater(config: HotUpdaterConfig): HotUpdaterInstance {
|
|
|
85
88
|
isUpdatePending = true
|
|
86
89
|
}
|
|
87
90
|
|
|
91
|
+
/**
|
|
92
|
+
* Hook that checks for OTA updates with timeout protection.
|
|
93
|
+
* Returns userClearedForAccess which controls when to show the app.
|
|
94
|
+
*/
|
|
88
95
|
const useOtaUpdater = (
|
|
89
96
|
options: {
|
|
90
97
|
enabled?: boolean
|
|
@@ -140,7 +147,6 @@ export function createHotUpdater(config: HotUpdaterConfig): HotUpdaterInstance {
|
|
|
140
147
|
|
|
141
148
|
if (!shouldContinue) return
|
|
142
149
|
|
|
143
|
-
// Check for update using the configured strategy
|
|
144
150
|
const updateInfo = await HotUpdater.checkForUpdate({
|
|
145
151
|
updateStrategy,
|
|
146
152
|
})
|
|
@@ -226,12 +232,14 @@ export function createHotUpdater(config: HotUpdaterConfig): HotUpdaterInstance {
|
|
|
226
232
|
}
|
|
227
233
|
}
|
|
228
234
|
|
|
235
|
+
/**
|
|
236
|
+
* Manually check for updates (for debug/testing).
|
|
237
|
+
*/
|
|
229
238
|
const checkForUpdate = async (
|
|
230
239
|
options: { channel?: string; isPreRelease?: boolean } = {}
|
|
231
240
|
) => {
|
|
232
241
|
const { channel, isPreRelease = false } = options
|
|
233
242
|
|
|
234
|
-
// Check for update with optional request headers for channel
|
|
235
243
|
const requestHeaders: Record<string, string> = {}
|
|
236
244
|
if (channel) {
|
|
237
245
|
requestHeaders['X-Channel'] = channel
|
|
@@ -258,7 +266,7 @@ export function createHotUpdater(config: HotUpdaterConfig): HotUpdaterInstance {
|
|
|
258
266
|
}
|
|
259
267
|
|
|
260
268
|
return {
|
|
261
|
-
createResolver,
|
|
269
|
+
createResolver,
|
|
262
270
|
useOtaUpdater,
|
|
263
271
|
checkForUpdate,
|
|
264
272
|
getAppliedOta,
|
package/src/helpers.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { HotUpdater } from '@hot-updater/react-native'
|
|
2
|
+
|
|
3
|
+
const INITIAL_OTA_ID = '00000000-0000-0000-0000-000000000000'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Get the currently applied OTA bundle ID.
|
|
7
|
+
* Returns null if running native build (no OTA applied).
|
|
8
|
+
*/
|
|
9
|
+
export function getAppliedOta(): string | null {
|
|
10
|
+
const id = HotUpdater.getBundleId()
|
|
11
|
+
if (id === INITIAL_OTA_ID) return null
|
|
12
|
+
if (id === HotUpdater.getMinBundleId()) return null
|
|
13
|
+
return id
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Get a short version of the OTA ID (last 12 characters).
|
|
18
|
+
* Returns null if running native build.
|
|
19
|
+
*/
|
|
20
|
+
export function getShortOtaId(): string | null {
|
|
21
|
+
const fullId = getAppliedOta()
|
|
22
|
+
return fullId ? fullId.slice(-12) : null
|
|
23
|
+
}
|