@capgo/capacitor-updater 3.3.11 → 4.0.0-alpha.10
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/LICENCE +656 -160
- package/README.md +225 -129
- package/android/src/main/java/ee/forgr/capacitor_updater/BundleInfo.java +130 -0
- package/android/src/main/java/ee/forgr/capacitor_updater/BundleStatus.java +36 -0
- package/android/src/main/java/ee/forgr/capacitor_updater/CapacitorUpdater.java +314 -198
- package/android/src/main/java/ee/forgr/capacitor_updater/CapacitorUpdaterPlugin.java +481 -246
- package/dist/docs.json +607 -114
- package/dist/esm/definitions.d.ts +222 -74
- package/dist/esm/web.d.ts +19 -16
- package/dist/esm/web.js +32 -23
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +32 -23
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +32 -23
- package/dist/plugin.js.map +1 -1
- package/ios/Plugin/BundleInfo.swift +94 -0
- package/ios/Plugin/BundleStatus.swift +41 -0
- package/ios/Plugin/CapacitorUpdater.swift +319 -82
- package/ios/Plugin/CapacitorUpdaterPlugin.m +4 -2
- package/ios/Plugin/CapacitorUpdaterPlugin.swift +287 -173
- package/ios/Plugin/ObjectPreferences.swift +41 -0
- package/package.json +3 -2
package/dist/plugin.js
CHANGED
|
@@ -5,54 +5,63 @@ var capacitorCapacitorUpdater = (function (exports, core) {
|
|
|
5
5
|
web: () => Promise.resolve().then(function () { return web; }).then(m => new m.CapacitorUpdaterWeb()),
|
|
6
6
|
});
|
|
7
7
|
|
|
8
|
+
const BUNDLE_BUILTIN = { status: 'success', version: '', downloaded: '1970-01-01T00:00:00.000Z', id: 'builtin' };
|
|
8
9
|
class CapacitorUpdaterWeb extends core.WebPlugin {
|
|
9
10
|
async download(options) {
|
|
10
|
-
console.
|
|
11
|
-
return
|
|
11
|
+
console.warn('Cannot download version in web', options);
|
|
12
|
+
return BUNDLE_BUILTIN;
|
|
13
|
+
}
|
|
14
|
+
async next(options) {
|
|
15
|
+
console.warn('Cannot set next version in web', options);
|
|
16
|
+
return BUNDLE_BUILTIN;
|
|
17
|
+
}
|
|
18
|
+
async isAutoUpdateEnabled() {
|
|
19
|
+
console.warn('Cannot get isAutoUpdateEnabled in web');
|
|
20
|
+
return { enabled: false };
|
|
12
21
|
}
|
|
13
22
|
async set(options) {
|
|
14
|
-
console.
|
|
23
|
+
console.warn('Cannot set active bundle in web', options);
|
|
24
|
+
return;
|
|
15
25
|
}
|
|
16
26
|
async getId() {
|
|
17
|
-
console.
|
|
27
|
+
console.warn('Cannot get ID in web');
|
|
18
28
|
return { id: 'default' };
|
|
19
29
|
}
|
|
20
30
|
async getPluginVersion() {
|
|
21
|
-
console.
|
|
31
|
+
console.warn('Cannot get plugin version in web');
|
|
22
32
|
return { version: 'default' };
|
|
23
33
|
}
|
|
24
34
|
async delete(options) {
|
|
25
|
-
console.
|
|
35
|
+
console.warn('Cannot delete bundle in web', options);
|
|
26
36
|
}
|
|
27
37
|
async list() {
|
|
28
|
-
console.
|
|
29
|
-
return {
|
|
38
|
+
console.warn('Cannot list bundles in web');
|
|
39
|
+
return { bundles: [] };
|
|
30
40
|
}
|
|
31
41
|
async reset(options) {
|
|
32
|
-
console.
|
|
42
|
+
console.warn('Cannot reset version in web', options);
|
|
33
43
|
}
|
|
34
44
|
async current() {
|
|
35
|
-
console.
|
|
36
|
-
return {
|
|
45
|
+
console.warn('Cannot get current bundle in web');
|
|
46
|
+
return { bundle: BUNDLE_BUILTIN, native: '0.0.0' };
|
|
37
47
|
}
|
|
38
48
|
async reload() {
|
|
39
|
-
console.
|
|
49
|
+
console.warn('Cannot reload current bundle in web');
|
|
40
50
|
return;
|
|
41
51
|
}
|
|
42
|
-
async
|
|
43
|
-
console.
|
|
44
|
-
return {
|
|
52
|
+
async getLatest() {
|
|
53
|
+
console.warn('Cannot getLatest current bundle in web');
|
|
54
|
+
return {
|
|
55
|
+
version: "0.0.0",
|
|
56
|
+
message: "Cannot getLatest current bundle in web",
|
|
57
|
+
};
|
|
45
58
|
}
|
|
46
59
|
async notifyAppReady() {
|
|
47
|
-
console.
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
async delayUpdate() {
|
|
51
|
-
console.log('Cannot delay update in web');
|
|
52
|
-
return;
|
|
60
|
+
console.warn('Cannot notify App Ready in web');
|
|
61
|
+
return BUNDLE_BUILTIN;
|
|
53
62
|
}
|
|
54
|
-
async
|
|
55
|
-
console.
|
|
63
|
+
async setDelay(options) {
|
|
64
|
+
console.warn('Cannot setDelay delay update in web', options);
|
|
56
65
|
return;
|
|
57
66
|
}
|
|
58
67
|
}
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst CapacitorUpdater = registerPlugin('CapacitorUpdater', {\n web: () => import('./web').then(m => new m.CapacitorUpdaterWeb()),\n});\nexport * from './definitions';\nexport { CapacitorUpdater };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class CapacitorUpdaterWeb extends WebPlugin {\n async download(options) {\n console.
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst CapacitorUpdater = registerPlugin('CapacitorUpdater', {\n web: () => import('./web').then(m => new m.CapacitorUpdaterWeb()),\n});\nexport * from './definitions';\nexport { CapacitorUpdater };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nconst BUNDLE_BUILTIN = { status: 'success', version: '', downloaded: '1970-01-01T00:00:00.000Z', id: 'builtin' };\nexport class CapacitorUpdaterWeb extends WebPlugin {\n async download(options) {\n console.warn('Cannot download version in web', options);\n return BUNDLE_BUILTIN;\n }\n async next(options) {\n console.warn('Cannot set next version in web', options);\n return BUNDLE_BUILTIN;\n }\n async isAutoUpdateEnabled() {\n console.warn('Cannot get isAutoUpdateEnabled in web');\n return { enabled: false };\n }\n async set(options) {\n console.warn('Cannot set active bundle in web', options);\n return;\n }\n async getId() {\n console.warn('Cannot get ID in web');\n return { id: 'default' };\n }\n async getPluginVersion() {\n console.warn('Cannot get plugin version in web');\n return { version: 'default' };\n }\n async delete(options) {\n console.warn('Cannot delete bundle in web', options);\n }\n async list() {\n console.warn('Cannot list bundles in web');\n return { bundles: [] };\n }\n async reset(options) {\n console.warn('Cannot reset version in web', options);\n }\n async current() {\n console.warn('Cannot get current bundle in web');\n return { bundle: BUNDLE_BUILTIN, native: '0.0.0' };\n }\n async reload() {\n console.warn('Cannot reload current bundle in web');\n return;\n }\n async getLatest() {\n console.warn('Cannot getLatest current bundle in web');\n return {\n version: \"0.0.0\",\n message: \"Cannot getLatest current bundle in web\",\n };\n }\n async notifyAppReady() {\n console.warn('Cannot notify App Ready in web');\n return BUNDLE_BUILTIN;\n }\n async setDelay(options) {\n console.warn('Cannot setDelay delay update in web', options);\n return;\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":";;;AACK,UAAC,gBAAgB,GAAGA,mBAAc,CAAC,kBAAkB,EAAE;IAC5D,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,mBAAmB,EAAE,CAAC;IACrE,CAAC;;ICFD,MAAM,cAAc,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,0BAA0B,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;IAC1G,MAAM,mBAAmB,SAASC,cAAS,CAAC;IACnD,IAAI,MAAM,QAAQ,CAAC,OAAO,EAAE;IAC5B,QAAQ,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAC;IAChE,QAAQ,OAAO,cAAc,CAAC;IAC9B,KAAK;IACL,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE;IACxB,QAAQ,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAC;IAChE,QAAQ,OAAO,cAAc,CAAC;IAC9B,KAAK;IACL,IAAI,MAAM,mBAAmB,GAAG;IAChC,QAAQ,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IAC9D,QAAQ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAClC,KAAK;IACL,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE;IACvB,QAAQ,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;IACjE,QAAQ,OAAO;IACf,KAAK;IACL,IAAI,MAAM,KAAK,GAAG;IAClB,QAAQ,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC7C,QAAQ,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;IACjC,KAAK;IACL,IAAI,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACzD,QAAQ,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACtC,KAAK;IACL,IAAI,MAAM,MAAM,CAAC,OAAO,EAAE;IAC1B,QAAQ,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;IAC7D,KAAK;IACL,IAAI,MAAM,IAAI,GAAG;IACjB,QAAQ,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACnD,QAAQ,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAC/B,KAAK;IACL,IAAI,MAAM,KAAK,CAAC,OAAO,EAAE;IACzB,QAAQ,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;IAC7D,KAAK;IACL,IAAI,MAAM,OAAO,GAAG;IACpB,QAAQ,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACzD,QAAQ,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC3D,KAAK;IACL,IAAI,MAAM,MAAM,GAAG;IACnB,QAAQ,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAC5D,QAAQ,OAAO;IACf,KAAK;IACL,IAAI,MAAM,SAAS,GAAG;IACtB,QAAQ,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IAC/D,QAAQ,OAAO;IACf,YAAY,OAAO,EAAE,OAAO;IAC5B,YAAY,OAAO,EAAE,wCAAwC;IAC7D,SAAS,CAAC;IACV,KAAK;IACL,IAAI,MAAM,cAAc,GAAG;IAC3B,QAAQ,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IACvD,QAAQ,OAAO,cAAc,CAAC;IAC9B,KAAK;IACL,IAAI,MAAM,QAAQ,CAAC,OAAO,EAAE;IAC5B,QAAQ,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,OAAO,CAAC,CAAC;IACrE,QAAQ,OAAO;IACf,KAAK;IACL;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
|
|
2
|
+
import Foundation
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
@objc public class BundleInfo: NSObject, Decodable, Encodable {
|
|
6
|
+
public static let ID_BUILTIN: String = "builtin"
|
|
7
|
+
public static let ID_UNKNOWN: String = "unknown"
|
|
8
|
+
public static let DOWNLOADED_BUILTIN: String = "1970-01-01T00:00:00.000Z"
|
|
9
|
+
|
|
10
|
+
private let downloaded: String
|
|
11
|
+
private let id: String
|
|
12
|
+
private let version: String
|
|
13
|
+
private let status: BundleStatus
|
|
14
|
+
|
|
15
|
+
convenience init(id: String, version: String, status: BundleStatus, downloaded: Date) {
|
|
16
|
+
self.init(id: id, version: version, status: status, downloaded: downloaded.iso8601withFractionalSeconds)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
init(id: String, version: String, status: BundleStatus, downloaded: String = BundleInfo.DOWNLOADED_BUILTIN) {
|
|
20
|
+
self.downloaded = downloaded.trim()
|
|
21
|
+
self.id = id
|
|
22
|
+
self.version = version
|
|
23
|
+
self.status = status
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
enum CodingKeys: String, CodingKey {
|
|
27
|
+
case downloaded, id, version, status
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
public func isBuiltin() -> Bool {
|
|
31
|
+
return BundleInfo.ID_BUILTIN == self.id
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
public func isUnknown() -> Bool {
|
|
35
|
+
return BundleInfo.ID_UNKNOWN == self.id
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
public func isErrorStatus() -> Bool {
|
|
39
|
+
return BundleStatus.ERROR == self.status
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
public func isDownloaded() -> Bool {
|
|
43
|
+
return !self.isBuiltin() && self.downloaded != "" && self.downloaded == BundleInfo.DOWNLOADED_BUILTIN
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public func getDownloaded() -> String {
|
|
47
|
+
return self.isBuiltin() ? BundleInfo.DOWNLOADED_BUILTIN : self.downloaded
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
public func setDownloaded(downloaded: Date) -> BundleInfo {
|
|
51
|
+
return BundleInfo(id: self.id, version: self.version, status: self.status, downloaded: downloaded)
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public func getId() -> String {
|
|
55
|
+
return self.isBuiltin() ? BundleInfo.ID_BUILTIN : self.id
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
public func setId(id: String) -> BundleInfo {
|
|
59
|
+
return BundleInfo(id: id, version: self.version, status: self.status, downloaded: self.downloaded)
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
public func getVersionName() -> String {
|
|
63
|
+
return self.version == "" ? BundleInfo.ID_BUILTIN : self.version
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
public func setVersionName(version: String) -> BundleInfo {
|
|
67
|
+
return BundleInfo(id: self.id, version: version, status: self.status, downloaded: self.downloaded)
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
public func getStatus() -> String {
|
|
71
|
+
return self.isBuiltin() ? BundleStatus.SUCCESS.localizedString : self.status.localizedString
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
public func setStatus(status: String) -> BundleInfo {
|
|
75
|
+
return BundleInfo(id: self.id, version: self.version, status: BundleStatus(localizedString: status)!, downloaded: self.downloaded)
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
public func toJSON() -> [String: String] {
|
|
79
|
+
return [
|
|
80
|
+
"id": self.getId(),
|
|
81
|
+
"version": self.getVersionName(),
|
|
82
|
+
"downloaded": self.getDownloaded(),
|
|
83
|
+
"status": self.getStatus(),
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
public static func == (lhs: BundleInfo, rhs: BundleInfo) -> Bool {
|
|
88
|
+
return lhs.getVersionName() == rhs.getVersionName()
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
public func toString() -> String {
|
|
92
|
+
return "{ \"downloaded\": \"\(self.getDownloaded())\", \"id\": \"\(self.getId())\", \"version\": \"\(self.getVersionName())\", \"status\": \"\(self.getStatus())\"}"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
struct LocalizedString: ExpressibleByStringLiteral, Equatable {
|
|
4
|
+
|
|
5
|
+
let v: String
|
|
6
|
+
|
|
7
|
+
init(key: String) {
|
|
8
|
+
self.v = NSLocalizedString(key, comment: "")
|
|
9
|
+
}
|
|
10
|
+
init(localized: String) {
|
|
11
|
+
self.v = localized
|
|
12
|
+
}
|
|
13
|
+
init(stringLiteral value:String) {
|
|
14
|
+
self.init(key: value)
|
|
15
|
+
}
|
|
16
|
+
init(extendedGraphemeClusterLiteral value: String) {
|
|
17
|
+
self.init(key: value)
|
|
18
|
+
}
|
|
19
|
+
init(unicodeScalarLiteral value: String) {
|
|
20
|
+
self.init(key: value)
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
func ==(lhs:LocalizedString, rhs:LocalizedString) -> Bool {
|
|
25
|
+
return lhs.v == rhs.v
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
enum BundleStatus: LocalizedString, Decodable, Encodable {
|
|
29
|
+
case SUCCESS = "success"
|
|
30
|
+
case ERROR = "error"
|
|
31
|
+
case PENDING = "pending"
|
|
32
|
+
case DOWNLOADING = "donwloading"
|
|
33
|
+
|
|
34
|
+
var localizedString: String {
|
|
35
|
+
return self.rawValue.v
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
init?(localizedString: String) {
|
|
39
|
+
self.init(rawValue: LocalizedString(localized: localizedString))
|
|
40
|
+
}
|
|
41
|
+
}
|