@capawesome/capacitor-live-update 6.4.2 → 6.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -5
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/LiveUpdate.java +363 -251
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/LiveUpdateHttpClient.java +71 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/LiveUpdatePlugin.java +65 -60
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/classes/Manifest.java +58 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/classes/ManifestItem.java +37 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/classes/api/GetLatestBundleResponse.java +19 -27
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/classes/options/DownloadBundleOptions.java +15 -1
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/classes/results/FetchLatestBundleResult.java +22 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/liveupdate/enums/ArtifactType.java +6 -0
- package/dist/docs.json +67 -4
- package/dist/esm/definitions.d.ts +42 -3
- package/dist/esm/definitions.js.map +1 -1
- package/dist/esm/web.d.ts +2 -1
- package/dist/esm/web.js +3 -0
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +3 -0
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +3 -0
- package/dist/plugin.js.map +1 -1
- package/ios/Plugin/Classes/Manifest.swift +20 -0
- package/ios/Plugin/Classes/Options/DownloadBundleOptions.swift +11 -1
- package/ios/Plugin/Classes/Results/FetchLatestBundle.swift +16 -0
- package/ios/Plugin/Enums/ArtifactType.swift +4 -0
- package/ios/Plugin/{Classes → Enums}/CustomError.swift +3 -0
- package/ios/Plugin/LiveUpdate.swift +279 -198
- package/ios/Plugin/LiveUpdateHttpClient.swift +42 -0
- package/ios/Plugin/LiveUpdatePlugin.m +1 -0
- package/ios/Plugin/LiveUpdatePlugin.swift +77 -61
- package/ios/Plugin/Protocols/Api/GetLatestBundleResponse.swift +2 -3
- package/ios/Plugin/Protocols/Api/ManifestItem.swift +5 -0
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@ import Capacitor
|
|
|
8
8
|
@objc(LiveUpdatePlugin)
|
|
9
9
|
public class LiveUpdatePlugin: CAPPlugin {
|
|
10
10
|
public static let tag = "LiveUpdate"
|
|
11
|
-
public static let version = "6.
|
|
11
|
+
public static let version = "6.6.0"
|
|
12
12
|
public static let userDefaultsPrefix = "CapawesomeLiveUpdate" // DO NOT CHANGE
|
|
13
13
|
|
|
14
14
|
private var config: LiveUpdateConfig?
|
|
@@ -30,8 +30,7 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
30
30
|
|
|
31
31
|
implementation?.deleteBundle(options, completion: { error in
|
|
32
32
|
if let error = error {
|
|
33
|
-
|
|
34
|
-
call.reject(error.localizedDescription)
|
|
33
|
+
self.rejectCall(call, error)
|
|
35
34
|
return
|
|
36
35
|
}
|
|
37
36
|
call.resolve()
|
|
@@ -39,33 +38,46 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
39
38
|
}
|
|
40
39
|
|
|
41
40
|
@objc func downloadBundle(_ call: CAPPluginCall) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
41
|
+
Task {
|
|
42
|
+
do {
|
|
43
|
+
let artifactType = call.getString("artifactType", "zip")
|
|
44
|
+
guard let bundleId = call.getString("bundleId") else {
|
|
45
|
+
call.reject(CustomError.bundleIdMissing.localizedDescription)
|
|
46
|
+
return
|
|
47
|
+
}
|
|
48
|
+
let checksum = call.getString("checksum")
|
|
49
|
+
guard let url = call.getString("url") else {
|
|
50
|
+
call.reject(CustomError.urlMissing.localizedDescription)
|
|
51
|
+
return
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
let options = DownloadBundleOptions(artifactType: artifactType, bundleId: bundleId, checksum: checksum, url: url)
|
|
55
|
+
|
|
56
|
+
try await implementation?.downloadBundle(options)
|
|
57
|
+
call.resolve()
|
|
58
|
+
} catch {
|
|
59
|
+
rejectCall(call, error)
|
|
60
|
+
}
|
|
50
61
|
}
|
|
62
|
+
}
|
|
51
63
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
64
|
+
@objc func fetchLatestBundle(_ call: CAPPluginCall) {
|
|
65
|
+
Task {
|
|
66
|
+
do {
|
|
67
|
+
let result = try await implementation?.fetchLatestBundle()
|
|
68
|
+
if let result = result?.toJSObject() as? JSObject {
|
|
69
|
+
call.resolve(result)
|
|
70
|
+
}
|
|
71
|
+
} catch {
|
|
72
|
+
rejectCall(call, error)
|
|
59
73
|
}
|
|
60
|
-
|
|
61
|
-
})
|
|
74
|
+
}
|
|
62
75
|
}
|
|
63
76
|
|
|
64
77
|
@objc func getBundle(_ call: CAPPluginCall) {
|
|
65
78
|
implementation?.getBundle(completion: { result, error in
|
|
66
79
|
if let error = error {
|
|
67
|
-
|
|
68
|
-
call.reject(error.localizedDescription)
|
|
80
|
+
self.rejectCall(call, error)
|
|
69
81
|
return
|
|
70
82
|
}
|
|
71
83
|
if let result = result?.toJSObject() as? JSObject {
|
|
@@ -77,8 +89,7 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
77
89
|
@objc func getBundles(_ call: CAPPluginCall) {
|
|
78
90
|
implementation?.getBundles(completion: { result, error in
|
|
79
91
|
if let error = error {
|
|
80
|
-
|
|
81
|
-
call.reject(error.localizedDescription)
|
|
92
|
+
self.rejectCall(call, error)
|
|
82
93
|
return
|
|
83
94
|
}
|
|
84
95
|
if let result = result?.toJSObject() as? JSObject {
|
|
@@ -90,8 +101,7 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
90
101
|
@objc func getChannel(_ call: CAPPluginCall) {
|
|
91
102
|
implementation?.getChannel(completion: { result, error in
|
|
92
103
|
if let error = error {
|
|
93
|
-
|
|
94
|
-
call.reject(error.localizedDescription)
|
|
104
|
+
self.rejectCall(call, error)
|
|
95
105
|
return
|
|
96
106
|
}
|
|
97
107
|
if let result = result?.toJSObject() as? JSObject {
|
|
@@ -103,8 +113,7 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
103
113
|
@objc func getCustomId(_ call: CAPPluginCall) {
|
|
104
114
|
implementation?.getCustomId(completion: { result, error in
|
|
105
115
|
if let error = error {
|
|
106
|
-
|
|
107
|
-
call.reject(error.localizedDescription)
|
|
116
|
+
self.rejectCall(call, error)
|
|
108
117
|
return
|
|
109
118
|
}
|
|
110
119
|
if let result = result?.toJSObject() as? JSObject {
|
|
@@ -116,8 +125,7 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
116
125
|
@objc func getDeviceId(_ call: CAPPluginCall) {
|
|
117
126
|
implementation?.getDeviceId(completion: { result, error in
|
|
118
127
|
if let error = error {
|
|
119
|
-
|
|
120
|
-
call.reject(error.localizedDescription)
|
|
128
|
+
self.rejectCall(call, error)
|
|
121
129
|
return
|
|
122
130
|
}
|
|
123
131
|
if let result = result?.toJSObject() as? JSObject {
|
|
@@ -129,8 +137,7 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
129
137
|
@objc func getVersionCode(_ call: CAPPluginCall) {
|
|
130
138
|
implementation?.getVersionCode(completion: { result, error in
|
|
131
139
|
if let error = error {
|
|
132
|
-
|
|
133
|
-
call.reject(error.localizedDescription)
|
|
140
|
+
self.rejectCall(call, error)
|
|
134
141
|
return
|
|
135
142
|
}
|
|
136
143
|
if let result = result?.toJSObject() as? JSObject {
|
|
@@ -142,8 +149,7 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
142
149
|
@objc func getVersionName(_ call: CAPPluginCall) {
|
|
143
150
|
implementation?.getVersionName(completion: { result, error in
|
|
144
151
|
if let error = error {
|
|
145
|
-
|
|
146
|
-
call.reject(error.localizedDescription)
|
|
152
|
+
self.rejectCall(call, error)
|
|
147
153
|
return
|
|
148
154
|
}
|
|
149
155
|
if let result = result?.toJSObject() as? JSObject {
|
|
@@ -177,8 +183,7 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
177
183
|
|
|
178
184
|
implementation?.setBundle(options, completion: { error in
|
|
179
185
|
if let error = error {
|
|
180
|
-
|
|
181
|
-
call.reject(error.localizedDescription)
|
|
186
|
+
self.rejectCall(call, error)
|
|
182
187
|
return
|
|
183
188
|
}
|
|
184
189
|
})
|
|
@@ -192,8 +197,7 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
192
197
|
|
|
193
198
|
implementation?.setChannel(options, completion: { error in
|
|
194
199
|
if let error = error {
|
|
195
|
-
|
|
196
|
-
call.reject(error.localizedDescription)
|
|
200
|
+
self.rejectCall(call, error)
|
|
197
201
|
return
|
|
198
202
|
}
|
|
199
203
|
})
|
|
@@ -210,8 +214,7 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
210
214
|
|
|
211
215
|
implementation?.setCustomId(options, completion: { error in
|
|
212
216
|
if let error = error {
|
|
213
|
-
|
|
214
|
-
call.reject(error.localizedDescription)
|
|
217
|
+
self.rejectCall(call, error)
|
|
215
218
|
return
|
|
216
219
|
}
|
|
217
220
|
})
|
|
@@ -219,28 +222,30 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
219
222
|
}
|
|
220
223
|
|
|
221
224
|
@objc func sync(_ call: CAPPluginCall) {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
225
|
+
Task {
|
|
226
|
+
do {
|
|
227
|
+
|
|
228
|
+
guard let _ = config?.appId else {
|
|
229
|
+
call.reject(CustomError.appIdMissing.localizedDescription)
|
|
230
|
+
return
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
guard !syncInProgress else {
|
|
234
|
+
call.reject(CustomError.syncInProgress.localizedDescription)
|
|
235
|
+
return
|
|
236
|
+
}
|
|
237
|
+
syncInProgress = true
|
|
238
|
+
|
|
239
|
+
let result = try await implementation?.sync()
|
|
240
|
+
self.syncInProgress = false
|
|
241
|
+
if let result = result?.toJSObject() as? JSObject {
|
|
242
|
+
call.resolve(result)
|
|
243
|
+
}
|
|
244
|
+
} catch {
|
|
245
|
+
self.syncInProgress = false
|
|
246
|
+
rejectCall(call, error)
|
|
239
247
|
}
|
|
240
|
-
|
|
241
|
-
call.resolve(result)
|
|
242
|
-
}
|
|
243
|
-
})
|
|
248
|
+
}
|
|
244
249
|
}
|
|
245
250
|
|
|
246
251
|
private func liveUpdateConfig() -> LiveUpdateConfig {
|
|
@@ -258,4 +263,15 @@ public class LiveUpdatePlugin: CAPPlugin {
|
|
|
258
263
|
|
|
259
264
|
return config
|
|
260
265
|
}
|
|
266
|
+
|
|
267
|
+
private func rejectCall(_ call: CAPPluginCall, _ error: Error) {
|
|
268
|
+
CAPLog.print("[", LiveUpdatePlugin.tag, "] ", error)
|
|
269
|
+
var message = error.localizedDescription
|
|
270
|
+
if let urlError = error as? URLError {
|
|
271
|
+
if urlError.code == .timedOut {
|
|
272
|
+
message = CustomError.httpTimeout.localizedDescription
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
call.reject(message)
|
|
276
|
+
}
|
|
261
277
|
}
|