react-native-ota-hot-update 2.1.14 → 2.1.42
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 +3 -0
- package/android/generated/java/com/otahotupdate/NativeOtaHotUpdateSpec.java +8 -0
- package/android/generated/jni/RNOtaHotUpdateSpec-generated.cpp +12 -0
- package/android/generated/jni/react/renderer/components/RNOtaHotUpdateSpec/RNOtaHotUpdateSpecJSI-generated.cpp +14 -0
- package/android/generated/jni/react/renderer/components/RNOtaHotUpdateSpec/RNOtaHotUpdateSpecJSI.h +18 -0
- package/android/src/main/java/com/otahotupdate/OtaHotUpdateModule.kt +20 -0
- package/android/src/main/java/com/otahotupdate/SharedPrefs.kt +1 -0
- package/android/src/oldarch/OtaHotUpdateSpec.kt +2 -0
- package/app.plugin.js +1 -1
- package/ios/OtaHotUpdate.mm +27 -0
- package/ios/generated/RNOtaHotUpdateSpec/RNOtaHotUpdateSpec-generated.mm +14 -0
- package/ios/generated/RNOtaHotUpdateSpec/RNOtaHotUpdateSpec.h +6 -0
- package/ios/generated/RNOtaHotUpdateSpecJSI-generated.cpp +14 -0
- package/ios/generated/RNOtaHotUpdateSpecJSI.h +18 -0
- package/lib/commonjs/NativeOtaHotUpdate.js.map +1 -1
- package/lib/commonjs/index.js +38 -22
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/NativeOtaHotUpdate.js.map +1 -1
- package/lib/module/index.js +38 -22
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/NativeOtaHotUpdate.d.ts +2 -0
- package/lib/typescript/commonjs/src/NativeOtaHotUpdate.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +4 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/type.d.ts +10 -0
- package/lib/typescript/commonjs/src/type.d.ts.map +1 -1
- package/lib/typescript/module/src/NativeOtaHotUpdate.d.ts +2 -0
- package/lib/typescript/module/src/NativeOtaHotUpdate.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +4 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/type.d.ts +10 -0
- package/lib/typescript/module/src/type.d.ts.map +1 -1
- package/package.json +2 -13
- package/plugin/tsconfig.tsbuildinfo +1 -1
- package/src/NativeOtaHotUpdate.ts +2 -0
- package/src/index.tsx +45 -22
- package/src/type.ts +12 -0
package/README.md
CHANGED
|
@@ -145,6 +145,9 @@ MainApplication.java:
|
|
|
145
145
|
return OtaHotUpdate.getBundleJS();
|
|
146
146
|
}
|
|
147
147
|
```
|
|
148
|
+
|
|
149
|
+
For jave it maybe can be like: `OtaHotUpdate.Companion.getBundleJS()` depend on kotlin / jdk version on your project, you can use android studio to get the correct format coding.
|
|
150
|
+
|
|
148
151
|
Open `AndroidManifest.xml` :
|
|
149
152
|
|
|
150
153
|
`<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />`
|
|
@@ -52,10 +52,18 @@ public abstract class NativeOtaHotUpdateSpec extends ReactContextBaseJavaModule
|
|
|
52
52
|
@DoNotStrip
|
|
53
53
|
public abstract void getCurrentVersion(double a, Promise promise);
|
|
54
54
|
|
|
55
|
+
@ReactMethod
|
|
56
|
+
@DoNotStrip
|
|
57
|
+
public abstract void getUpdateMetadata(double a, Promise promise);
|
|
58
|
+
|
|
55
59
|
@ReactMethod
|
|
56
60
|
@DoNotStrip
|
|
57
61
|
public abstract void setCurrentVersion(String version, Promise promise);
|
|
58
62
|
|
|
63
|
+
@ReactMethod
|
|
64
|
+
@DoNotStrip
|
|
65
|
+
public abstract void setUpdateMetadata(String metadata, Promise promise);
|
|
66
|
+
|
|
59
67
|
@ReactMethod
|
|
60
68
|
@DoNotStrip
|
|
61
69
|
public abstract void rollbackToPreviousBundle(double a, Promise promise);
|
|
@@ -37,11 +37,21 @@ static facebook::jsi::Value __hostFunction_NativeOtaHotUpdateSpecJSI_getCurrentV
|
|
|
37
37
|
return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "getCurrentVersion", "(DLcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
+
static facebook::jsi::Value __hostFunction_NativeOtaHotUpdateSpecJSI_getUpdateMetadata(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
|
|
41
|
+
static jmethodID cachedMethodId = nullptr;
|
|
42
|
+
return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "getUpdateMetadata", "(DLcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
|
|
43
|
+
}
|
|
44
|
+
|
|
40
45
|
static facebook::jsi::Value __hostFunction_NativeOtaHotUpdateSpecJSI_setCurrentVersion(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
|
|
41
46
|
static jmethodID cachedMethodId = nullptr;
|
|
42
47
|
return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "setCurrentVersion", "(Ljava/lang/String;Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
|
|
43
48
|
}
|
|
44
49
|
|
|
50
|
+
static facebook::jsi::Value __hostFunction_NativeOtaHotUpdateSpecJSI_setUpdateMetadata(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
|
|
51
|
+
static jmethodID cachedMethodId = nullptr;
|
|
52
|
+
return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "setUpdateMetadata", "(Ljava/lang/String;Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
|
|
53
|
+
}
|
|
54
|
+
|
|
45
55
|
static facebook::jsi::Value __hostFunction_NativeOtaHotUpdateSpecJSI_rollbackToPreviousBundle(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
|
|
46
56
|
static jmethodID cachedMethodId = nullptr;
|
|
47
57
|
return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "rollbackToPreviousBundle", "(DLcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
|
|
@@ -54,7 +64,9 @@ NativeOtaHotUpdateSpecJSI::NativeOtaHotUpdateSpecJSI(const JavaTurboModule::Init
|
|
|
54
64
|
methodMap_["deleteBundle"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateSpecJSI_deleteBundle};
|
|
55
65
|
methodMap_["restart"] = MethodMetadata {0, __hostFunction_NativeOtaHotUpdateSpecJSI_restart};
|
|
56
66
|
methodMap_["getCurrentVersion"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateSpecJSI_getCurrentVersion};
|
|
67
|
+
methodMap_["getUpdateMetadata"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateSpecJSI_getUpdateMetadata};
|
|
57
68
|
methodMap_["setCurrentVersion"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateSpecJSI_setCurrentVersion};
|
|
69
|
+
methodMap_["setUpdateMetadata"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateSpecJSI_setUpdateMetadata};
|
|
58
70
|
methodMap_["rollbackToPreviousBundle"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateSpecJSI_rollbackToPreviousBundle};
|
|
59
71
|
}
|
|
60
72
|
|
|
@@ -42,12 +42,24 @@ static jsi::Value __hostFunction_NativeOtaHotUpdateCxxSpecJSI_getCurrentVersion(
|
|
|
42
42
|
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber()
|
|
43
43
|
);
|
|
44
44
|
}
|
|
45
|
+
static jsi::Value __hostFunction_NativeOtaHotUpdateCxxSpecJSI_getUpdateMetadata(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
46
|
+
return static_cast<NativeOtaHotUpdateCxxSpecJSI *>(&turboModule)->getUpdateMetadata(
|
|
47
|
+
rt,
|
|
48
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber()
|
|
49
|
+
);
|
|
50
|
+
}
|
|
45
51
|
static jsi::Value __hostFunction_NativeOtaHotUpdateCxxSpecJSI_setCurrentVersion(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
46
52
|
return static_cast<NativeOtaHotUpdateCxxSpecJSI *>(&turboModule)->setCurrentVersion(
|
|
47
53
|
rt,
|
|
48
54
|
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt)
|
|
49
55
|
);
|
|
50
56
|
}
|
|
57
|
+
static jsi::Value __hostFunction_NativeOtaHotUpdateCxxSpecJSI_setUpdateMetadata(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
58
|
+
return static_cast<NativeOtaHotUpdateCxxSpecJSI *>(&turboModule)->setUpdateMetadata(
|
|
59
|
+
rt,
|
|
60
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt)
|
|
61
|
+
);
|
|
62
|
+
}
|
|
51
63
|
static jsi::Value __hostFunction_NativeOtaHotUpdateCxxSpecJSI_rollbackToPreviousBundle(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
52
64
|
return static_cast<NativeOtaHotUpdateCxxSpecJSI *>(&turboModule)->rollbackToPreviousBundle(
|
|
53
65
|
rt,
|
|
@@ -62,7 +74,9 @@ NativeOtaHotUpdateCxxSpecJSI::NativeOtaHotUpdateCxxSpecJSI(std::shared_ptr<CallI
|
|
|
62
74
|
methodMap_["deleteBundle"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateCxxSpecJSI_deleteBundle};
|
|
63
75
|
methodMap_["restart"] = MethodMetadata {0, __hostFunction_NativeOtaHotUpdateCxxSpecJSI_restart};
|
|
64
76
|
methodMap_["getCurrentVersion"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateCxxSpecJSI_getCurrentVersion};
|
|
77
|
+
methodMap_["getUpdateMetadata"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateCxxSpecJSI_getUpdateMetadata};
|
|
65
78
|
methodMap_["setCurrentVersion"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateCxxSpecJSI_setCurrentVersion};
|
|
79
|
+
methodMap_["setUpdateMetadata"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateCxxSpecJSI_setUpdateMetadata};
|
|
66
80
|
methodMap_["rollbackToPreviousBundle"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateCxxSpecJSI_rollbackToPreviousBundle};
|
|
67
81
|
}
|
|
68
82
|
|
package/android/generated/jni/react/renderer/components/RNOtaHotUpdateSpec/RNOtaHotUpdateSpecJSI.h
CHANGED
|
@@ -25,7 +25,9 @@ public:
|
|
|
25
25
|
virtual jsi::Value deleteBundle(jsi::Runtime &rt, double i) = 0;
|
|
26
26
|
virtual void restart(jsi::Runtime &rt) = 0;
|
|
27
27
|
virtual jsi::Value getCurrentVersion(jsi::Runtime &rt, double a) = 0;
|
|
28
|
+
virtual jsi::Value getUpdateMetadata(jsi::Runtime &rt, double a) = 0;
|
|
28
29
|
virtual jsi::Value setCurrentVersion(jsi::Runtime &rt, jsi::String version) = 0;
|
|
30
|
+
virtual jsi::Value setUpdateMetadata(jsi::Runtime &rt, jsi::String metadata) = 0;
|
|
29
31
|
virtual jsi::Value rollbackToPreviousBundle(jsi::Runtime &rt, double a) = 0;
|
|
30
32
|
|
|
31
33
|
};
|
|
@@ -93,6 +95,14 @@ private:
|
|
|
93
95
|
return bridging::callFromJs<jsi::Value>(
|
|
94
96
|
rt, &T::getCurrentVersion, jsInvoker_, instance_, std::move(a));
|
|
95
97
|
}
|
|
98
|
+
jsi::Value getUpdateMetadata(jsi::Runtime &rt, double a) override {
|
|
99
|
+
static_assert(
|
|
100
|
+
bridging::getParameterCount(&T::getUpdateMetadata) == 2,
|
|
101
|
+
"Expected getUpdateMetadata(...) to have 2 parameters");
|
|
102
|
+
|
|
103
|
+
return bridging::callFromJs<jsi::Value>(
|
|
104
|
+
rt, &T::getUpdateMetadata, jsInvoker_, instance_, std::move(a));
|
|
105
|
+
}
|
|
96
106
|
jsi::Value setCurrentVersion(jsi::Runtime &rt, jsi::String version) override {
|
|
97
107
|
static_assert(
|
|
98
108
|
bridging::getParameterCount(&T::setCurrentVersion) == 2,
|
|
@@ -101,6 +111,14 @@ private:
|
|
|
101
111
|
return bridging::callFromJs<jsi::Value>(
|
|
102
112
|
rt, &T::setCurrentVersion, jsInvoker_, instance_, std::move(version));
|
|
103
113
|
}
|
|
114
|
+
jsi::Value setUpdateMetadata(jsi::Runtime &rt, jsi::String metadata) override {
|
|
115
|
+
static_assert(
|
|
116
|
+
bridging::getParameterCount(&T::setUpdateMetadata) == 2,
|
|
117
|
+
"Expected setUpdateMetadata(...) to have 2 parameters");
|
|
118
|
+
|
|
119
|
+
return bridging::callFromJs<jsi::Value>(
|
|
120
|
+
rt, &T::setUpdateMetadata, jsInvoker_, instance_, std::move(metadata));
|
|
121
|
+
}
|
|
104
122
|
jsi::Value rollbackToPreviousBundle(jsi::Runtime &rt, double a) override {
|
|
105
123
|
static_assert(
|
|
106
124
|
bridging::getParameterCount(&T::rollbackToPreviousBundle) == 2,
|
|
@@ -12,6 +12,7 @@ import com.rnhotupdate.Common.CURRENT_VERSION_NAME
|
|
|
12
12
|
import com.rnhotupdate.Common.PATH
|
|
13
13
|
import com.rnhotupdate.Common.PREVIOUS_PATH
|
|
14
14
|
import com.rnhotupdate.Common.VERSION
|
|
15
|
+
import com.rnhotupdate.Common.METADATA
|
|
15
16
|
import com.rnhotupdate.SharedPrefs
|
|
16
17
|
import java.io.File
|
|
17
18
|
import java.util.Date
|
|
@@ -171,6 +172,25 @@ class OtaHotUpdateModule internal constructor(context: ReactApplicationContext)
|
|
|
171
172
|
promise.resolve(true)
|
|
172
173
|
}
|
|
173
174
|
|
|
175
|
+
@ReactMethod
|
|
176
|
+
override fun getUpdateMetadata(a: Double, promise: Promise) {
|
|
177
|
+
val sharedPrefs = SharedPrefs(reactApplicationContext)
|
|
178
|
+
val metadata = sharedPrefs.getString(METADATA)
|
|
179
|
+
if (metadata != "") {
|
|
180
|
+
promise.resolve(metadata);
|
|
181
|
+
} else {
|
|
182
|
+
promise.resolve(null);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
@ReactMethod
|
|
187
|
+
override fun setUpdateMetadata(metadata: String?, promise: Promise) {
|
|
188
|
+
val sharedPrefs = SharedPrefs(reactApplicationContext)
|
|
189
|
+
sharedPrefs.putString(METADATA, metadata)
|
|
190
|
+
promise.resolve(true)
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
|
|
174
194
|
@ReactMethod
|
|
175
195
|
override fun setExactBundlePath(path: String?, promise: Promise) {
|
|
176
196
|
val sharedPrefs = SharedPrefs(reactApplicationContext)
|
|
@@ -14,4 +14,6 @@ abstract class OtaHotUpdateSpec internal constructor(context: ReactApplicationCo
|
|
|
14
14
|
abstract fun setCurrentVersion(version: String?, promise: Promise)
|
|
15
15
|
abstract fun setExactBundlePath(path: String?, promise: Promise)
|
|
16
16
|
abstract fun rollbackToPreviousBundle(a: Double, promise: Promise)
|
|
17
|
+
abstract fun getUpdateMetadata(a: Double, promise: Promise)
|
|
18
|
+
abstract fun setUpdateMetadata(metadata: String?, promise: Promise)
|
|
17
19
|
}
|
package/app.plugin.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
module.exports = require('./plugin/build');
|
|
1
|
+
module.exports = require('./plugin/build/index');
|
package/ios/OtaHotUpdate.mm
CHANGED
|
@@ -282,6 +282,33 @@ RCT_EXPORT_METHOD(setCurrentVersion:(NSString *)version
|
|
|
282
282
|
}
|
|
283
283
|
}
|
|
284
284
|
|
|
285
|
+
RCT_EXPORT_METHOD(setUpdateMetadata:(NSString *)metadataString
|
|
286
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
287
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
288
|
+
if (metadataString) {
|
|
289
|
+
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
|
|
290
|
+
[defaults setObject:metadataString forKey:@"METADATA"];
|
|
291
|
+
[defaults synchronize];
|
|
292
|
+
resolve(@(YES));
|
|
293
|
+
} else {
|
|
294
|
+
resolve(@(NO));
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
RCT_EXPORT_METHOD(getUpdateMetadata:(double)a
|
|
299
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
300
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
301
|
+
{
|
|
302
|
+
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
|
|
303
|
+
NSString *metadata = [defaults stringForKey:@"METADATA"];
|
|
304
|
+
|
|
305
|
+
if (metadata) {
|
|
306
|
+
resolve(metadata);
|
|
307
|
+
} else {
|
|
308
|
+
resolve(nil);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
|
|
285
312
|
RCT_EXPORT_METHOD(setExactBundlePath:(NSString *)path
|
|
286
313
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
287
314
|
reject:(RCTPromiseRejectBlock)reject) {
|
|
@@ -46,10 +46,18 @@ namespace facebook::react {
|
|
|
46
46
|
return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "getCurrentVersion", @selector(getCurrentVersion:resolve:reject:), args, count);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
static facebook::jsi::Value __hostFunction_NativeOtaHotUpdateSpecJSI_getUpdateMetadata(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
|
|
50
|
+
return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "getUpdateMetadata", @selector(getUpdateMetadata:resolve:reject:), args, count);
|
|
51
|
+
}
|
|
52
|
+
|
|
49
53
|
static facebook::jsi::Value __hostFunction_NativeOtaHotUpdateSpecJSI_setCurrentVersion(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
|
|
50
54
|
return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "setCurrentVersion", @selector(setCurrentVersion:resolve:reject:), args, count);
|
|
51
55
|
}
|
|
52
56
|
|
|
57
|
+
static facebook::jsi::Value __hostFunction_NativeOtaHotUpdateSpecJSI_setUpdateMetadata(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
|
|
58
|
+
return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "setUpdateMetadata", @selector(setUpdateMetadata:resolve:reject:), args, count);
|
|
59
|
+
}
|
|
60
|
+
|
|
53
61
|
static facebook::jsi::Value __hostFunction_NativeOtaHotUpdateSpecJSI_rollbackToPreviousBundle(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
|
|
54
62
|
return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, PromiseKind, "rollbackToPreviousBundle", @selector(rollbackToPreviousBundle:resolve:reject:), args, count);
|
|
55
63
|
}
|
|
@@ -72,9 +80,15 @@ namespace facebook::react {
|
|
|
72
80
|
methodMap_["getCurrentVersion"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateSpecJSI_getCurrentVersion};
|
|
73
81
|
|
|
74
82
|
|
|
83
|
+
methodMap_["getUpdateMetadata"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateSpecJSI_getUpdateMetadata};
|
|
84
|
+
|
|
85
|
+
|
|
75
86
|
methodMap_["setCurrentVersion"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateSpecJSI_setCurrentVersion};
|
|
76
87
|
|
|
77
88
|
|
|
89
|
+
methodMap_["setUpdateMetadata"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateSpecJSI_setUpdateMetadata};
|
|
90
|
+
|
|
91
|
+
|
|
78
92
|
methodMap_["rollbackToPreviousBundle"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateSpecJSI_rollbackToPreviousBundle};
|
|
79
93
|
|
|
80
94
|
}
|
|
@@ -47,9 +47,15 @@
|
|
|
47
47
|
- (void)getCurrentVersion:(double)a
|
|
48
48
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
49
49
|
reject:(RCTPromiseRejectBlock)reject;
|
|
50
|
+
- (void)getUpdateMetadata:(double)a
|
|
51
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
52
|
+
reject:(RCTPromiseRejectBlock)reject;
|
|
50
53
|
- (void)setCurrentVersion:(NSString *)version
|
|
51
54
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
52
55
|
reject:(RCTPromiseRejectBlock)reject;
|
|
56
|
+
- (void)setUpdateMetadata:(NSString *)metadata
|
|
57
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
58
|
+
reject:(RCTPromiseRejectBlock)reject;
|
|
53
59
|
- (void)rollbackToPreviousBundle:(double)a
|
|
54
60
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
55
61
|
reject:(RCTPromiseRejectBlock)reject;
|
|
@@ -42,12 +42,24 @@ static jsi::Value __hostFunction_NativeOtaHotUpdateCxxSpecJSI_getCurrentVersion(
|
|
|
42
42
|
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber()
|
|
43
43
|
);
|
|
44
44
|
}
|
|
45
|
+
static jsi::Value __hostFunction_NativeOtaHotUpdateCxxSpecJSI_getUpdateMetadata(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
46
|
+
return static_cast<NativeOtaHotUpdateCxxSpecJSI *>(&turboModule)->getUpdateMetadata(
|
|
47
|
+
rt,
|
|
48
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber()
|
|
49
|
+
);
|
|
50
|
+
}
|
|
45
51
|
static jsi::Value __hostFunction_NativeOtaHotUpdateCxxSpecJSI_setCurrentVersion(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
46
52
|
return static_cast<NativeOtaHotUpdateCxxSpecJSI *>(&turboModule)->setCurrentVersion(
|
|
47
53
|
rt,
|
|
48
54
|
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt)
|
|
49
55
|
);
|
|
50
56
|
}
|
|
57
|
+
static jsi::Value __hostFunction_NativeOtaHotUpdateCxxSpecJSI_setUpdateMetadata(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
58
|
+
return static_cast<NativeOtaHotUpdateCxxSpecJSI *>(&turboModule)->setUpdateMetadata(
|
|
59
|
+
rt,
|
|
60
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt)
|
|
61
|
+
);
|
|
62
|
+
}
|
|
51
63
|
static jsi::Value __hostFunction_NativeOtaHotUpdateCxxSpecJSI_rollbackToPreviousBundle(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
52
64
|
return static_cast<NativeOtaHotUpdateCxxSpecJSI *>(&turboModule)->rollbackToPreviousBundle(
|
|
53
65
|
rt,
|
|
@@ -62,7 +74,9 @@ NativeOtaHotUpdateCxxSpecJSI::NativeOtaHotUpdateCxxSpecJSI(std::shared_ptr<CallI
|
|
|
62
74
|
methodMap_["deleteBundle"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateCxxSpecJSI_deleteBundle};
|
|
63
75
|
methodMap_["restart"] = MethodMetadata {0, __hostFunction_NativeOtaHotUpdateCxxSpecJSI_restart};
|
|
64
76
|
methodMap_["getCurrentVersion"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateCxxSpecJSI_getCurrentVersion};
|
|
77
|
+
methodMap_["getUpdateMetadata"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateCxxSpecJSI_getUpdateMetadata};
|
|
65
78
|
methodMap_["setCurrentVersion"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateCxxSpecJSI_setCurrentVersion};
|
|
79
|
+
methodMap_["setUpdateMetadata"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateCxxSpecJSI_setUpdateMetadata};
|
|
66
80
|
methodMap_["rollbackToPreviousBundle"] = MethodMetadata {1, __hostFunction_NativeOtaHotUpdateCxxSpecJSI_rollbackToPreviousBundle};
|
|
67
81
|
}
|
|
68
82
|
|
|
@@ -25,7 +25,9 @@ public:
|
|
|
25
25
|
virtual jsi::Value deleteBundle(jsi::Runtime &rt, double i) = 0;
|
|
26
26
|
virtual void restart(jsi::Runtime &rt) = 0;
|
|
27
27
|
virtual jsi::Value getCurrentVersion(jsi::Runtime &rt, double a) = 0;
|
|
28
|
+
virtual jsi::Value getUpdateMetadata(jsi::Runtime &rt, double a) = 0;
|
|
28
29
|
virtual jsi::Value setCurrentVersion(jsi::Runtime &rt, jsi::String version) = 0;
|
|
30
|
+
virtual jsi::Value setUpdateMetadata(jsi::Runtime &rt, jsi::String metadata) = 0;
|
|
29
31
|
virtual jsi::Value rollbackToPreviousBundle(jsi::Runtime &rt, double a) = 0;
|
|
30
32
|
|
|
31
33
|
};
|
|
@@ -93,6 +95,14 @@ private:
|
|
|
93
95
|
return bridging::callFromJs<jsi::Value>(
|
|
94
96
|
rt, &T::getCurrentVersion, jsInvoker_, instance_, std::move(a));
|
|
95
97
|
}
|
|
98
|
+
jsi::Value getUpdateMetadata(jsi::Runtime &rt, double a) override {
|
|
99
|
+
static_assert(
|
|
100
|
+
bridging::getParameterCount(&T::getUpdateMetadata) == 2,
|
|
101
|
+
"Expected getUpdateMetadata(...) to have 2 parameters");
|
|
102
|
+
|
|
103
|
+
return bridging::callFromJs<jsi::Value>(
|
|
104
|
+
rt, &T::getUpdateMetadata, jsInvoker_, instance_, std::move(a));
|
|
105
|
+
}
|
|
96
106
|
jsi::Value setCurrentVersion(jsi::Runtime &rt, jsi::String version) override {
|
|
97
107
|
static_assert(
|
|
98
108
|
bridging::getParameterCount(&T::setCurrentVersion) == 2,
|
|
@@ -101,6 +111,14 @@ private:
|
|
|
101
111
|
return bridging::callFromJs<jsi::Value>(
|
|
102
112
|
rt, &T::setCurrentVersion, jsInvoker_, instance_, std::move(version));
|
|
103
113
|
}
|
|
114
|
+
jsi::Value setUpdateMetadata(jsi::Runtime &rt, jsi::String metadata) override {
|
|
115
|
+
static_assert(
|
|
116
|
+
bridging::getParameterCount(&T::setUpdateMetadata) == 2,
|
|
117
|
+
"Expected setUpdateMetadata(...) to have 2 parameters");
|
|
118
|
+
|
|
119
|
+
return bridging::callFromJs<jsi::Value>(
|
|
120
|
+
rt, &T::setUpdateMetadata, jsInvoker_, instance_, std::move(metadata));
|
|
121
|
+
}
|
|
104
122
|
jsi::Value rollbackToPreviousBundle(jsi::Runtime &rt, double a) override {
|
|
105
123
|
static_assert(
|
|
106
124
|
bridging::getParameterCount(&T::rollbackToPreviousBundle) == 2,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeOtaHotUpdate.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeOtaHotUpdate.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAcpCC,gCAAmB,CAACC,YAAY,CAAO,cAAc,CAAC","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -44,6 +44,15 @@ function deleteBundlePath() {
|
|
|
44
44
|
function getCurrentVersion() {
|
|
45
45
|
return RNhotupdate.getCurrentVersion(0);
|
|
46
46
|
}
|
|
47
|
+
function getUpdateMetadata() {
|
|
48
|
+
return RNhotupdate.getUpdateMetadata(0).then(metadataString => {
|
|
49
|
+
try {
|
|
50
|
+
return metadataString ? JSON.parse(metadataString) : null;
|
|
51
|
+
} catch (error) {
|
|
52
|
+
return Promise.reject(new Error('Error parsing metadata'));
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
47
56
|
function rollbackToPreviousBundle() {
|
|
48
57
|
return RNhotupdate.rollbackToPreviousBundle(0);
|
|
49
58
|
}
|
|
@@ -54,6 +63,14 @@ async function getVersionAsNumber() {
|
|
|
54
63
|
function setCurrentVersion(version) {
|
|
55
64
|
return RNhotupdate.setCurrentVersion(version + '');
|
|
56
65
|
}
|
|
66
|
+
function setUpdateMetadata(metadata) {
|
|
67
|
+
try {
|
|
68
|
+
const metadataString = JSON.stringify(metadata);
|
|
69
|
+
return RNhotupdate.setUpdateMetadata(metadataString);
|
|
70
|
+
} catch (error) {
|
|
71
|
+
return Promise.reject(new Error('Failed to stringify metadata'));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
57
74
|
async function resetApp() {
|
|
58
75
|
RNhotupdate.restart();
|
|
59
76
|
}
|
|
@@ -75,36 +92,33 @@ const installFail = (option, e) => {
|
|
|
75
92
|
};
|
|
76
93
|
async function downloadBundleUri(downloadManager, uri, version, option) {
|
|
77
94
|
if (!uri) {
|
|
78
|
-
installFail(option, 'Please give a valid URL!');
|
|
79
|
-
return;
|
|
95
|
+
return installFail(option, 'Please give a valid URL!');
|
|
80
96
|
}
|
|
81
97
|
if (!version) {
|
|
82
|
-
installFail(option, 'Please give a valid version!');
|
|
83
|
-
return;
|
|
98
|
+
return installFail(option, 'Please give a valid version!');
|
|
84
99
|
}
|
|
85
100
|
const currentVersion = await getVersionAsNumber();
|
|
86
101
|
if (version <= currentVersion) {
|
|
87
|
-
installFail(option, 'Please give a bigger version than the current version, the current version now has setted by: ' + currentVersion);
|
|
88
|
-
return;
|
|
102
|
+
return installFail(option, 'Please give a bigger version than the current version, the current version now has setted by: ' + currentVersion);
|
|
89
103
|
}
|
|
90
104
|
try {
|
|
91
105
|
const path = await downloadBundleFile(downloadManager, uri, option?.headers, option?.progress);
|
|
92
|
-
if (path) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
106
|
+
if (!path) {
|
|
107
|
+
return installFail(option);
|
|
108
|
+
}
|
|
109
|
+
const success = await setupBundlePath(path, option?.extensionBundle);
|
|
110
|
+
if (!success) {
|
|
111
|
+
return installFail(option);
|
|
112
|
+
}
|
|
113
|
+
setCurrentVersion(version);
|
|
114
|
+
if (option?.metadata) {
|
|
115
|
+
setUpdateMetadata(option.metadata);
|
|
116
|
+
}
|
|
117
|
+
option?.updateSuccess?.();
|
|
118
|
+
if (option?.restartAfterInstall) {
|
|
119
|
+
setTimeout(() => {
|
|
120
|
+
resetApp();
|
|
121
|
+
}, option?.restartDelay || 300);
|
|
108
122
|
}
|
|
109
123
|
} catch (e) {
|
|
110
124
|
installFail(option, e);
|
|
@@ -166,6 +180,8 @@ var _default = exports.default = {
|
|
|
166
180
|
resetApp,
|
|
167
181
|
getCurrentVersion: getVersionAsNumber,
|
|
168
182
|
setCurrentVersion,
|
|
183
|
+
getUpdateMetadata,
|
|
184
|
+
setUpdateMetadata,
|
|
169
185
|
rollbackToPreviousBundle,
|
|
170
186
|
git: {
|
|
171
187
|
checkForGitUpdate,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_index","_interopRequireDefault","e","__esModule","default","LINKING_ERROR","Platform","select","ios","isTurboModuleEnabled","global","__turboModuleProxy","OtaHotUpdateModule","NativeModules","OtaHotUpdate","RNhotupdate","Proxy","get","Error","downloadBundleFile","downloadManager","uri","headers","callback","res","config","fileCache","OS","fetch","progress","received","total","path","setupBundlePath","extension","setupExactBundlePath","setExactBundlePath","deleteBundlePath","deleteBundle","getCurrentVersion","rollbackToPreviousBundle","getVersionAsNumber","rawVersion","setCurrentVersion","version","resetApp","restart","removeBundle","restartAfterRemoved","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_index","_interopRequireDefault","e","__esModule","default","LINKING_ERROR","Platform","select","ios","isTurboModuleEnabled","global","__turboModuleProxy","OtaHotUpdateModule","NativeModules","OtaHotUpdate","RNhotupdate","Proxy","get","Error","downloadBundleFile","downloadManager","uri","headers","callback","res","config","fileCache","OS","fetch","progress","received","total","path","setupBundlePath","extension","setupExactBundlePath","setExactBundlePath","deleteBundlePath","deleteBundle","getCurrentVersion","getUpdateMetadata","then","metadataString","JSON","parse","error","Promise","reject","rollbackToPreviousBundle","getVersionAsNumber","rawVersion","setCurrentVersion","version","setUpdateMetadata","metadata","stringify","resetApp","restart","removeBundle","restartAfterRemoved","data","setTimeout","installFail","option","updateFail","console","downloadBundleUri","currentVersion","success","extensionBundle","updateSuccess","restartAfterInstall","restartDelay","checkForGitUpdate","options","url","bundlePath","branch","all","git","getConfig","getBranchName","pull","pullUpdate","onProgress","folderName","onPullSuccess","onPullFailed","msg","clone","cloneRepo","bundle","onCloneSuccess","onCloneFailed","toString","onFinishProgress","_default","exports","removeUpdate","removeGitUpdate","folder"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeOtaHotUpdate.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeOtaHotUpdate.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAclD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,cAAc,CAAC","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -39,6 +39,15 @@ function deleteBundlePath() {
|
|
|
39
39
|
function getCurrentVersion() {
|
|
40
40
|
return RNhotupdate.getCurrentVersion(0);
|
|
41
41
|
}
|
|
42
|
+
function getUpdateMetadata() {
|
|
43
|
+
return RNhotupdate.getUpdateMetadata(0).then(metadataString => {
|
|
44
|
+
try {
|
|
45
|
+
return metadataString ? JSON.parse(metadataString) : null;
|
|
46
|
+
} catch (error) {
|
|
47
|
+
return Promise.reject(new Error('Error parsing metadata'));
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
42
51
|
function rollbackToPreviousBundle() {
|
|
43
52
|
return RNhotupdate.rollbackToPreviousBundle(0);
|
|
44
53
|
}
|
|
@@ -49,6 +58,14 @@ async function getVersionAsNumber() {
|
|
|
49
58
|
function setCurrentVersion(version) {
|
|
50
59
|
return RNhotupdate.setCurrentVersion(version + '');
|
|
51
60
|
}
|
|
61
|
+
function setUpdateMetadata(metadata) {
|
|
62
|
+
try {
|
|
63
|
+
const metadataString = JSON.stringify(metadata);
|
|
64
|
+
return RNhotupdate.setUpdateMetadata(metadataString);
|
|
65
|
+
} catch (error) {
|
|
66
|
+
return Promise.reject(new Error('Failed to stringify metadata'));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
52
69
|
async function resetApp() {
|
|
53
70
|
RNhotupdate.restart();
|
|
54
71
|
}
|
|
@@ -70,36 +87,33 @@ const installFail = (option, e) => {
|
|
|
70
87
|
};
|
|
71
88
|
async function downloadBundleUri(downloadManager, uri, version, option) {
|
|
72
89
|
if (!uri) {
|
|
73
|
-
installFail(option, 'Please give a valid URL!');
|
|
74
|
-
return;
|
|
90
|
+
return installFail(option, 'Please give a valid URL!');
|
|
75
91
|
}
|
|
76
92
|
if (!version) {
|
|
77
|
-
installFail(option, 'Please give a valid version!');
|
|
78
|
-
return;
|
|
93
|
+
return installFail(option, 'Please give a valid version!');
|
|
79
94
|
}
|
|
80
95
|
const currentVersion = await getVersionAsNumber();
|
|
81
96
|
if (version <= currentVersion) {
|
|
82
|
-
installFail(option, 'Please give a bigger version than the current version, the current version now has setted by: ' + currentVersion);
|
|
83
|
-
return;
|
|
97
|
+
return installFail(option, 'Please give a bigger version than the current version, the current version now has setted by: ' + currentVersion);
|
|
84
98
|
}
|
|
85
99
|
try {
|
|
86
100
|
const path = await downloadBundleFile(downloadManager, uri, option?.headers, option?.progress);
|
|
87
|
-
if (path) {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
if (!path) {
|
|
102
|
+
return installFail(option);
|
|
103
|
+
}
|
|
104
|
+
const success = await setupBundlePath(path, option?.extensionBundle);
|
|
105
|
+
if (!success) {
|
|
106
|
+
return installFail(option);
|
|
107
|
+
}
|
|
108
|
+
setCurrentVersion(version);
|
|
109
|
+
if (option?.metadata) {
|
|
110
|
+
setUpdateMetadata(option.metadata);
|
|
111
|
+
}
|
|
112
|
+
option?.updateSuccess?.();
|
|
113
|
+
if (option?.restartAfterInstall) {
|
|
114
|
+
setTimeout(() => {
|
|
115
|
+
resetApp();
|
|
116
|
+
}, option?.restartDelay || 300);
|
|
103
117
|
}
|
|
104
118
|
} catch (e) {
|
|
105
119
|
installFail(option, e);
|
|
@@ -161,6 +175,8 @@ export default {
|
|
|
161
175
|
resetApp,
|
|
162
176
|
getCurrentVersion: getVersionAsNumber,
|
|
163
177
|
setCurrentVersion,
|
|
178
|
+
getUpdateMetadata,
|
|
179
|
+
setUpdateMetadata,
|
|
164
180
|
rollbackToPreviousBundle,
|
|
165
181
|
git: {
|
|
166
182
|
checkForGitUpdate,
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","git","LINKING_ERROR","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","OtaHotUpdateModule","require","OtaHotUpdate","RNhotupdate","Proxy","get","Error","downloadBundleFile","downloadManager","uri","headers","callback","res","config","fileCache","OS","fetch","progress","received","total","path","setupBundlePath","extension","setupExactBundlePath","setExactBundlePath","deleteBundlePath","deleteBundle","getCurrentVersion","rollbackToPreviousBundle","getVersionAsNumber","rawVersion","setCurrentVersion","version","resetApp","restart","removeBundle","restartAfterRemoved","
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","git","LINKING_ERROR","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","OtaHotUpdateModule","require","OtaHotUpdate","RNhotupdate","Proxy","get","Error","downloadBundleFile","downloadManager","uri","headers","callback","res","config","fileCache","OS","fetch","progress","received","total","path","setupBundlePath","extension","setupExactBundlePath","setExactBundlePath","deleteBundlePath","deleteBundle","getCurrentVersion","getUpdateMetadata","then","metadataString","JSON","parse","error","Promise","reject","rollbackToPreviousBundle","getVersionAsNumber","rawVersion","setCurrentVersion","version","setUpdateMetadata","metadata","stringify","resetApp","restart","removeBundle","restartAfterRemoved","data","setTimeout","installFail","option","e","updateFail","console","downloadBundleUri","currentVersion","success","extensionBundle","updateSuccess","restartAfterInstall","restartDelay","checkForGitUpdate","options","url","bundlePath","branch","all","getConfig","getBranchName","pull","pullUpdate","onProgress","folderName","onPullSuccess","onPullFailed","msg","clone","cloneRepo","bundle","onCloneSuccess","onCloneFailed","toString","onFinishProgress","removeUpdate","removeGitUpdate","folder"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,7 +5,9 @@ export interface Spec extends TurboModule {
|
|
|
5
5
|
deleteBundle(i: number): Promise<boolean>;
|
|
6
6
|
restart(): void;
|
|
7
7
|
getCurrentVersion(a: number): Promise<string>;
|
|
8
|
+
getUpdateMetadata(a: number): Promise<string>;
|
|
8
9
|
setCurrentVersion(version: string): Promise<boolean>;
|
|
10
|
+
setUpdateMetadata(metadata: string): Promise<boolean>;
|
|
9
11
|
rollbackToPreviousBundle(a: number): Promise<boolean>;
|
|
10
12
|
}
|
|
11
13
|
declare const _default: Spec;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeOtaHotUpdate.d.ts","sourceRoot":"","sources":["../../../../src/NativeOtaHotUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,IAAI,IAAI,CAAC;IAChB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,wBAAwB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvD;;AAED,wBAAsE"}
|
|
1
|
+
{"version":3,"file":"NativeOtaHotUpdate.d.ts","sourceRoot":"","sources":["../../../../src/NativeOtaHotUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,IAAI,IAAI,CAAC;IAChB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD,wBAAwB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvD;;AAED,wBAAsE"}
|
|
@@ -2,9 +2,11 @@ import type { DownloadManager } from './download';
|
|
|
2
2
|
import type { UpdateGitOption, UpdateOption } from './type';
|
|
3
3
|
declare function setupBundlePath(path: string, extension?: string): Promise<boolean>;
|
|
4
4
|
declare function setupExactBundlePath(path: string): Promise<boolean>;
|
|
5
|
+
declare function getUpdateMetadata(): Promise<object | null>;
|
|
5
6
|
declare function rollbackToPreviousBundle(): Promise<boolean>;
|
|
6
7
|
declare function getVersionAsNumber(): Promise<number>;
|
|
7
8
|
declare function setCurrentVersion(version: number): Promise<boolean>;
|
|
9
|
+
declare function setUpdateMetadata(metadata: any): Promise<boolean>;
|
|
8
10
|
declare function resetApp(): Promise<void>;
|
|
9
11
|
declare function removeBundle(restartAfterRemoved?: boolean): void;
|
|
10
12
|
declare function downloadBundleUri(downloadManager: DownloadManager, uri: string, version: number, option?: UpdateOption): Promise<void>;
|
|
@@ -16,6 +18,8 @@ declare const _default: {
|
|
|
16
18
|
resetApp: typeof resetApp;
|
|
17
19
|
getCurrentVersion: typeof getVersionAsNumber;
|
|
18
20
|
setCurrentVersion: typeof setCurrentVersion;
|
|
21
|
+
getUpdateMetadata: typeof getUpdateMetadata;
|
|
22
|
+
setUpdateMetadata: typeof setUpdateMetadata;
|
|
19
23
|
rollbackToPreviousBundle: typeof rollbackToPreviousBundle;
|
|
20
24
|
git: {
|
|
21
25
|
removeGitUpdate: (folder?: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AA+C5D,iBAAS,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE3E;AACD,iBAAS,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE5D;AAOD,iBAAS,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEpD;AACD,iBAAe,kBAAkB,oBAGhC;AACD,iBAAS,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE5D;AACD,iBAAe,QAAQ,kBAEtB;AACD,iBAAS,YAAY,CAAC,mBAAmB,CAAC,EAAE,OAAO,QAWlD;AAKD,iBAAe,iBAAiB,CAC9B,eAAe,EAAE,eAAe,EAChC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AA+C5D,iBAAS,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE3E;AACD,iBAAS,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE5D;AAOD,iBAAS,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASnD;AACD,iBAAS,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEpD;AACD,iBAAe,kBAAkB,oBAGhC;AACD,iBAAS,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE5D;AACD,iBAAS,iBAAiB,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAO1D;AACD,iBAAe,QAAQ,kBAEtB;AACD,iBAAS,YAAY,CAAC,mBAAmB,CAAC,EAAE,OAAO,QAWlD;AAKD,iBAAe,iBAAiB,CAC9B,eAAe,EAAE,eAAe,EAChC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,YAAY,iBAiDtB;;;;;;;;;;;;;mCAkE8B,MAAM;;;;;;;;;;;;;;;;oBAnNX,CAAC;iBAEd,CAAC;;;qCAgJ4B,eAAe;;;AAmDzD,wBAmBE"}
|
|
@@ -24,11 +24,21 @@ export interface UpdateOption {
|
|
|
24
24
|
* Default: `false`.
|
|
25
25
|
*/
|
|
26
26
|
restartAfterInstall?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Delay in milliseconds before restarting the app after installing the update.
|
|
29
|
+
* Default: 300ms.
|
|
30
|
+
*/
|
|
31
|
+
restartDelay?: number;
|
|
27
32
|
/**
|
|
28
33
|
* Custom extension for the bundle file, if applicable.
|
|
29
34
|
* For example: '.jsbundle'.
|
|
30
35
|
*/
|
|
31
36
|
extensionBundle?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Metadata for the update.
|
|
39
|
+
* Can contain information such as version details, description, etc.
|
|
40
|
+
*/
|
|
41
|
+
metadata?: any;
|
|
32
42
|
}
|
|
33
43
|
/**
|
|
34
44
|
* Options for updating a Git repository.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../src/type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjD;;OAEG;IACH,aAAa,CAAC,IAAI,IAAI,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IAE5C;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../src/type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjD;;OAEG;IACH,aAAa,CAAC,IAAI,IAAI,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IAE5C;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;OAIG;IACH,UAAU,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnD;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,aAAa,CAAC,IAAI,IAAI,CAAC;IACvB;;OAEG;IACH,YAAY,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;OAEG;IACH,cAAc,CAAC,IAAI,IAAI,CAAC;IACxB;;OAEG;IACH,aAAa,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,gBAAgB,CAAC,IAAI,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,UAAU,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnD;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,UAAU,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnD;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -5,7 +5,9 @@ export interface Spec extends TurboModule {
|
|
|
5
5
|
deleteBundle(i: number): Promise<boolean>;
|
|
6
6
|
restart(): void;
|
|
7
7
|
getCurrentVersion(a: number): Promise<string>;
|
|
8
|
+
getUpdateMetadata(a: number): Promise<string>;
|
|
8
9
|
setCurrentVersion(version: string): Promise<boolean>;
|
|
10
|
+
setUpdateMetadata(metadata: string): Promise<boolean>;
|
|
9
11
|
rollbackToPreviousBundle(a: number): Promise<boolean>;
|
|
10
12
|
}
|
|
11
13
|
declare const _default: Spec;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeOtaHotUpdate.d.ts","sourceRoot":"","sources":["../../../../src/NativeOtaHotUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,IAAI,IAAI,CAAC;IAChB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,wBAAwB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvD;;AAED,wBAAsE"}
|
|
1
|
+
{"version":3,"file":"NativeOtaHotUpdate.d.ts","sourceRoot":"","sources":["../../../../src/NativeOtaHotUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,IAAI,IAAI,CAAC;IAChB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD,wBAAwB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvD;;AAED,wBAAsE"}
|
|
@@ -2,9 +2,11 @@ import type { DownloadManager } from './download';
|
|
|
2
2
|
import type { UpdateGitOption, UpdateOption } from './type';
|
|
3
3
|
declare function setupBundlePath(path: string, extension?: string): Promise<boolean>;
|
|
4
4
|
declare function setupExactBundlePath(path: string): Promise<boolean>;
|
|
5
|
+
declare function getUpdateMetadata(): Promise<object | null>;
|
|
5
6
|
declare function rollbackToPreviousBundle(): Promise<boolean>;
|
|
6
7
|
declare function getVersionAsNumber(): Promise<number>;
|
|
7
8
|
declare function setCurrentVersion(version: number): Promise<boolean>;
|
|
9
|
+
declare function setUpdateMetadata(metadata: any): Promise<boolean>;
|
|
8
10
|
declare function resetApp(): Promise<void>;
|
|
9
11
|
declare function removeBundle(restartAfterRemoved?: boolean): void;
|
|
10
12
|
declare function downloadBundleUri(downloadManager: DownloadManager, uri: string, version: number, option?: UpdateOption): Promise<void>;
|
|
@@ -16,6 +18,8 @@ declare const _default: {
|
|
|
16
18
|
resetApp: typeof resetApp;
|
|
17
19
|
getCurrentVersion: typeof getVersionAsNumber;
|
|
18
20
|
setCurrentVersion: typeof setCurrentVersion;
|
|
21
|
+
getUpdateMetadata: typeof getUpdateMetadata;
|
|
22
|
+
setUpdateMetadata: typeof setUpdateMetadata;
|
|
19
23
|
rollbackToPreviousBundle: typeof rollbackToPreviousBundle;
|
|
20
24
|
git: {
|
|
21
25
|
removeGitUpdate: (folder?: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AA+C5D,iBAAS,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE3E;AACD,iBAAS,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE5D;AAOD,iBAAS,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEpD;AACD,iBAAe,kBAAkB,oBAGhC;AACD,iBAAS,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE5D;AACD,iBAAe,QAAQ,kBAEtB;AACD,iBAAS,YAAY,CAAC,mBAAmB,CAAC,EAAE,OAAO,QAWlD;AAKD,iBAAe,iBAAiB,CAC9B,eAAe,EAAE,eAAe,EAChC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AA+C5D,iBAAS,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE3E;AACD,iBAAS,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE5D;AAOD,iBAAS,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASnD;AACD,iBAAS,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEpD;AACD,iBAAe,kBAAkB,oBAGhC;AACD,iBAAS,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE5D;AACD,iBAAS,iBAAiB,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAO1D;AACD,iBAAe,QAAQ,kBAEtB;AACD,iBAAS,YAAY,CAAC,mBAAmB,CAAC,EAAE,OAAO,QAWlD;AAKD,iBAAe,iBAAiB,CAC9B,eAAe,EAAE,eAAe,EAChC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,YAAY,iBAiDtB;;;;;;;;;;;;;mCAkE8B,MAAM;;;;;;;;;;;;;;;;oBAnNX,CAAC;iBAEd,CAAC;;;qCAgJ4B,eAAe;;;AAmDzD,wBAmBE"}
|
|
@@ -24,11 +24,21 @@ export interface UpdateOption {
|
|
|
24
24
|
* Default: `false`.
|
|
25
25
|
*/
|
|
26
26
|
restartAfterInstall?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Delay in milliseconds before restarting the app after installing the update.
|
|
29
|
+
* Default: 300ms.
|
|
30
|
+
*/
|
|
31
|
+
restartDelay?: number;
|
|
27
32
|
/**
|
|
28
33
|
* Custom extension for the bundle file, if applicable.
|
|
29
34
|
* For example: '.jsbundle'.
|
|
30
35
|
*/
|
|
31
36
|
extensionBundle?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Metadata for the update.
|
|
39
|
+
* Can contain information such as version details, description, etc.
|
|
40
|
+
*/
|
|
41
|
+
metadata?: any;
|
|
32
42
|
}
|
|
33
43
|
/**
|
|
34
44
|
* Options for updating a Git repository.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../src/type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjD;;OAEG;IACH,aAAa,CAAC,IAAI,IAAI,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IAE5C;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../src/type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjD;;OAEG;IACH,aAAa,CAAC,IAAI,IAAI,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IAE5C;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;OAIG;IACH,UAAU,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnD;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,aAAa,CAAC,IAAI,IAAI,CAAC;IACvB;;OAEG;IACH,YAAY,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;OAEG;IACH,cAAc,CAAC,IAAI,IAAI,CAAC;IACxB;;OAEG;IACH,aAAa,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,gBAAgB,CAAC,IAAI,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,UAAU,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnD;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,UAAU,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnD;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB"}
|
package/package.json
CHANGED
|
@@ -1,22 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-ota-hot-update",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.42",
|
|
4
4
|
"description": "Hot update for react native",
|
|
5
5
|
"source": "./src/index.tsx",
|
|
6
6
|
"main": "./lib/commonjs/index.js",
|
|
7
7
|
"module": "./lib/module/index.js",
|
|
8
|
-
"
|
|
9
|
-
".": {
|
|
10
|
-
"import": {
|
|
11
|
-
"types": "./lib/typescript/module/src/index.d.ts",
|
|
12
|
-
"default": "./lib/module/index.js"
|
|
13
|
-
},
|
|
14
|
-
"require": {
|
|
15
|
-
"types": "./lib/typescript/commonjs/src/index.d.ts",
|
|
16
|
-
"default": "./lib/commonjs/index.js"
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
},
|
|
8
|
+
"types": "./lib/typescript/module/src/index.d.ts",
|
|
20
9
|
"files": [
|
|
21
10
|
"src",
|
|
22
11
|
"lib",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["./src/index.ts"],"version":"5.7.2"}
|
|
1
|
+
{"root":["./src/index.ts"],"version":"5.7.2"}
|
|
@@ -7,7 +7,9 @@ export interface Spec extends TurboModule {
|
|
|
7
7
|
deleteBundle(i: number): Promise<boolean>;
|
|
8
8
|
restart(): void;
|
|
9
9
|
getCurrentVersion(a: number): Promise<string>;
|
|
10
|
+
getUpdateMetadata(a: number): Promise<string>;
|
|
10
11
|
setCurrentVersion(version: string): Promise<boolean>;
|
|
12
|
+
setUpdateMetadata(metadata: string): Promise<boolean>;
|
|
11
13
|
rollbackToPreviousBundle(a: number): Promise<boolean>;
|
|
12
14
|
}
|
|
13
15
|
|
package/src/index.tsx
CHANGED
|
@@ -59,6 +59,16 @@ function deleteBundlePath(): Promise<boolean> {
|
|
|
59
59
|
function getCurrentVersion(): Promise<string> {
|
|
60
60
|
return RNhotupdate.getCurrentVersion(0);
|
|
61
61
|
}
|
|
62
|
+
function getUpdateMetadata(): Promise<object | null> {
|
|
63
|
+
return RNhotupdate.getUpdateMetadata(0)
|
|
64
|
+
.then((metadataString: string | null) => {
|
|
65
|
+
try {
|
|
66
|
+
return metadataString ? JSON.parse(metadataString) : null;
|
|
67
|
+
} catch (error) {
|
|
68
|
+
return Promise.reject(new Error('Error parsing metadata'));
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
62
72
|
function rollbackToPreviousBundle(): Promise<boolean> {
|
|
63
73
|
return RNhotupdate.rollbackToPreviousBundle(0);
|
|
64
74
|
}
|
|
@@ -69,6 +79,14 @@ async function getVersionAsNumber() {
|
|
|
69
79
|
function setCurrentVersion(version: number): Promise<boolean> {
|
|
70
80
|
return RNhotupdate.setCurrentVersion(version + '');
|
|
71
81
|
}
|
|
82
|
+
function setUpdateMetadata(metadata: any): Promise<boolean> {
|
|
83
|
+
try {
|
|
84
|
+
const metadataString = JSON.stringify(metadata);
|
|
85
|
+
return RNhotupdate.setUpdateMetadata(metadataString);
|
|
86
|
+
} catch (error) {
|
|
87
|
+
return Promise.reject(new Error('Failed to stringify metadata'));
|
|
88
|
+
}
|
|
89
|
+
}
|
|
72
90
|
async function resetApp() {
|
|
73
91
|
RNhotupdate.restart();
|
|
74
92
|
}
|
|
@@ -95,22 +113,21 @@ async function downloadBundleUri(
|
|
|
95
113
|
option?: UpdateOption
|
|
96
114
|
) {
|
|
97
115
|
if (!uri) {
|
|
98
|
-
installFail(option, 'Please give a valid URL!');
|
|
99
|
-
return;
|
|
116
|
+
return installFail(option, 'Please give a valid URL!');
|
|
100
117
|
}
|
|
101
118
|
if (!version) {
|
|
102
|
-
installFail(option, 'Please give a valid version!');
|
|
103
|
-
return;
|
|
119
|
+
return installFail(option, 'Please give a valid version!');
|
|
104
120
|
}
|
|
121
|
+
|
|
105
122
|
const currentVersion = await getVersionAsNumber();
|
|
106
123
|
if (version <= currentVersion) {
|
|
107
|
-
installFail(
|
|
124
|
+
return installFail(
|
|
108
125
|
option,
|
|
109
126
|
'Please give a bigger version than the current version, the current version now has setted by: ' +
|
|
110
127
|
currentVersion
|
|
111
128
|
);
|
|
112
|
-
return;
|
|
113
129
|
}
|
|
130
|
+
|
|
114
131
|
try {
|
|
115
132
|
const path = await downloadBundleFile(
|
|
116
133
|
downloadManager,
|
|
@@ -118,22 +135,26 @@ async function downloadBundleUri(
|
|
|
118
135
|
option?.headers,
|
|
119
136
|
option?.progress
|
|
120
137
|
);
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
138
|
+
|
|
139
|
+
if (!path) {
|
|
140
|
+
return installFail(option);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
const success = await setupBundlePath(path, option?.extensionBundle);
|
|
144
|
+
if (!success) {
|
|
145
|
+
return installFail(option);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
setCurrentVersion(version);
|
|
149
|
+
if (option?.metadata) {
|
|
150
|
+
setUpdateMetadata(option.metadata);
|
|
151
|
+
}
|
|
152
|
+
option?.updateSuccess?.();
|
|
153
|
+
|
|
154
|
+
if (option?.restartAfterInstall) {
|
|
155
|
+
setTimeout(() => {
|
|
156
|
+
resetApp();
|
|
157
|
+
}, option?.restartDelay || 300);
|
|
137
158
|
}
|
|
138
159
|
} catch (e) {
|
|
139
160
|
installFail(option, e);
|
|
@@ -198,6 +219,8 @@ export default {
|
|
|
198
219
|
resetApp,
|
|
199
220
|
getCurrentVersion: getVersionAsNumber,
|
|
200
221
|
setCurrentVersion,
|
|
222
|
+
getUpdateMetadata,
|
|
223
|
+
setUpdateMetadata,
|
|
201
224
|
rollbackToPreviousBundle,
|
|
202
225
|
git: {
|
|
203
226
|
checkForGitUpdate,
|
package/src/type.ts
CHANGED
|
@@ -29,11 +29,23 @@ export interface UpdateOption {
|
|
|
29
29
|
*/
|
|
30
30
|
restartAfterInstall?: boolean;
|
|
31
31
|
|
|
32
|
+
/**
|
|
33
|
+
* Delay in milliseconds before restarting the app after installing the update.
|
|
34
|
+
* Default: 300ms.
|
|
35
|
+
*/
|
|
36
|
+
restartDelay?: number;
|
|
37
|
+
|
|
32
38
|
/**
|
|
33
39
|
* Custom extension for the bundle file, if applicable.
|
|
34
40
|
* For example: '.jsbundle'.
|
|
35
41
|
*/
|
|
36
42
|
extensionBundle?: string;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Metadata for the update.
|
|
46
|
+
* Can contain information such as version details, description, etc.
|
|
47
|
+
*/
|
|
48
|
+
metadata?: any
|
|
37
49
|
}
|
|
38
50
|
|
|
39
51
|
/**
|