@appzung/react-native-code-push 10.1.0 → 10.1.2
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/android/app/src/main/java/com/appzung/codepush/react/CodePush.java +3 -0
- package/ios/CodePush/CodePushConfig.m +4 -0
- package/lib/commonjs/CodePush.js +5 -0
- package/lib/commonjs/CodePush.js.map +1 -1
- package/lib/commonjs/checkForUpdates.js +25 -26
- package/lib/commonjs/checkForUpdates.js.map +1 -1
- package/lib/commonjs/enums/LogLevel.enum.js +14 -0
- package/lib/commonjs/enums/LogLevel.enum.js.map +1 -0
- package/lib/commonjs/index.js +30 -9
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/internals/CodePushApiSdk.errors.js +26 -0
- package/lib/commonjs/internals/CodePushApiSdk.errors.js.map +1 -0
- package/lib/commonjs/internals/CodePushApiSdk.js +100 -0
- package/lib/commonjs/internals/CodePushApiSdk.js.map +1 -0
- package/lib/commonjs/{enums/DeploymentStatus.enum.js → internals/CodePushApiSdk.types.js} +3 -2
- package/lib/commonjs/internals/CodePushApiSdk.types.js.map +1 -0
- package/lib/commonjs/internals/RemotePackageImplementation.js +7 -5
- package/lib/commonjs/internals/RemotePackageImplementation.js.map +1 -1
- package/lib/commonjs/internals/shouldUpdateBeIgnored.js +6 -5
- package/lib/commonjs/internals/shouldUpdateBeIgnored.js.map +1 -1
- package/lib/commonjs/internals/utils/fetchRetry.js +59 -0
- package/lib/commonjs/internals/utils/fetchRetry.js.map +1 -0
- package/lib/commonjs/internals/utils/log.js +6 -1
- package/lib/commonjs/internals/utils/log.js.map +1 -1
- package/lib/commonjs/internals/utils/queryStringify.js +25 -0
- package/lib/commonjs/internals/utils/queryStringify.js.map +1 -0
- package/lib/commonjs/internals/utils/requestFetchAdapter.js +38 -0
- package/lib/commonjs/internals/utils/requestFetchAdapter.js.map +1 -0
- package/lib/commonjs/internals/version.js +1 -1
- package/lib/commonjs/logLevel.js +15 -0
- package/lib/commonjs/logLevel.js.map +1 -0
- package/lib/commonjs/notifyAppReady.js +22 -15
- package/lib/commonjs/notifyAppReady.js.map +1 -1
- package/lib/commonjs/sync.js +27 -24
- package/lib/commonjs/sync.js.map +1 -1
- package/lib/module/CodePush.js +5 -0
- package/lib/module/CodePush.js.map +1 -1
- package/lib/module/checkForUpdates.js +25 -26
- package/lib/module/checkForUpdates.js.map +1 -1
- package/lib/module/enums/LogLevel.enum.js +10 -0
- package/lib/module/enums/LogLevel.enum.js.map +1 -0
- package/lib/module/index.js +3 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/internals/CodePushApiSdk.errors.js +20 -0
- package/lib/module/internals/CodePushApiSdk.errors.js.map +1 -0
- package/lib/module/internals/CodePushApiSdk.js +96 -0
- package/lib/module/internals/CodePushApiSdk.js.map +1 -0
- package/lib/module/{enums/DeploymentStatus.enum.js → internals/CodePushApiSdk.types.js} +2 -1
- package/lib/module/internals/CodePushApiSdk.types.js.map +1 -0
- package/lib/module/internals/RemotePackageImplementation.js +7 -5
- package/lib/module/internals/RemotePackageImplementation.js.map +1 -1
- package/lib/module/internals/shouldUpdateBeIgnored.js +6 -5
- package/lib/module/internals/shouldUpdateBeIgnored.js.map +1 -1
- package/lib/module/internals/utils/fetchRetry.js +55 -0
- package/lib/module/internals/utils/fetchRetry.js.map +1 -0
- package/lib/module/internals/utils/log.js +7 -1
- package/lib/module/internals/utils/log.js.map +1 -1
- package/lib/module/internals/utils/queryStringify.js +21 -0
- package/lib/module/internals/utils/queryStringify.js.map +1 -0
- package/lib/module/internals/utils/requestFetchAdapter.js +34 -0
- package/lib/module/internals/utils/requestFetchAdapter.js.map +1 -0
- package/lib/module/internals/version.js +1 -1
- package/lib/module/logLevel.js +9 -0
- package/lib/module/logLevel.js.map +1 -0
- package/lib/module/notifyAppReady.js +22 -15
- package/lib/module/notifyAppReady.js.map +1 -1
- package/lib/module/sync.js +27 -24
- package/lib/module/sync.js.map +1 -1
- package/lib/typescript/commonjs/src/CodePush.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/checkForUpdates.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/enums/LogLevel.enum.d.ts +7 -0
- package/lib/typescript/commonjs/src/enums/LogLevel.enum.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +3 -1
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/internals/CodePushApiSdk.d.ts +13 -0
- package/lib/typescript/commonjs/src/internals/CodePushApiSdk.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/internals/CodePushApiSdk.errors.d.ts +9 -0
- package/lib/typescript/commonjs/src/internals/CodePushApiSdk.errors.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/internals/CodePushApiSdk.types.d.ts +101 -0
- package/lib/typescript/commonjs/src/internals/CodePushApiSdk.types.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/internals/RemotePackageImplementation.d.ts +2 -2
- package/lib/typescript/commonjs/src/internals/RemotePackageImplementation.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/internals/shouldUpdateBeIgnored.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/internals/types.d.ts +2 -2
- package/lib/typescript/commonjs/src/internals/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/internals/utils/fetchRetry.d.ts +9 -0
- package/lib/typescript/commonjs/src/internals/utils/fetchRetry.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/internals/utils/log.d.ts +2 -1
- package/lib/typescript/commonjs/src/internals/utils/log.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/internals/utils/queryStringify.d.ts +4 -0
- package/lib/typescript/commonjs/src/internals/utils/queryStringify.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/internals/utils/requestFetchAdapter.d.ts +3 -0
- package/lib/typescript/commonjs/src/internals/utils/requestFetchAdapter.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/internals/version.d.ts +1 -1
- package/lib/typescript/commonjs/src/logLevel.d.ts +4 -0
- package/lib/typescript/commonjs/src/logLevel.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/notifyAppReady.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types.d.ts +4 -3
- package/lib/typescript/commonjs/src/types.d.ts.map +1 -1
- package/lib/typescript/module/src/CodePush.d.ts.map +1 -1
- package/lib/typescript/module/src/checkForUpdates.d.ts.map +1 -1
- package/lib/typescript/module/src/enums/LogLevel.enum.d.ts +7 -0
- package/lib/typescript/module/src/enums/LogLevel.enum.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +3 -1
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/internals/CodePushApiSdk.d.ts +13 -0
- package/lib/typescript/module/src/internals/CodePushApiSdk.d.ts.map +1 -0
- package/lib/typescript/module/src/internals/CodePushApiSdk.errors.d.ts +9 -0
- package/lib/typescript/module/src/internals/CodePushApiSdk.errors.d.ts.map +1 -0
- package/lib/typescript/module/src/internals/CodePushApiSdk.types.d.ts +101 -0
- package/lib/typescript/module/src/internals/CodePushApiSdk.types.d.ts.map +1 -0
- package/lib/typescript/module/src/internals/RemotePackageImplementation.d.ts +2 -2
- package/lib/typescript/module/src/internals/RemotePackageImplementation.d.ts.map +1 -1
- package/lib/typescript/module/src/internals/shouldUpdateBeIgnored.d.ts.map +1 -1
- package/lib/typescript/module/src/internals/types.d.ts +2 -2
- package/lib/typescript/module/src/internals/types.d.ts.map +1 -1
- package/lib/typescript/module/src/internals/utils/fetchRetry.d.ts +9 -0
- package/lib/typescript/module/src/internals/utils/fetchRetry.d.ts.map +1 -0
- package/lib/typescript/module/src/internals/utils/log.d.ts +2 -1
- package/lib/typescript/module/src/internals/utils/log.d.ts.map +1 -1
- package/lib/typescript/module/src/internals/utils/queryStringify.d.ts +4 -0
- package/lib/typescript/module/src/internals/utils/queryStringify.d.ts.map +1 -0
- package/lib/typescript/module/src/internals/utils/requestFetchAdapter.d.ts +3 -0
- package/lib/typescript/module/src/internals/utils/requestFetchAdapter.d.ts.map +1 -0
- package/lib/typescript/module/src/internals/version.d.ts +1 -1
- package/lib/typescript/module/src/logLevel.d.ts +4 -0
- package/lib/typescript/module/src/logLevel.d.ts.map +1 -0
- package/lib/typescript/module/src/notifyAppReady.d.ts.map +1 -1
- package/lib/typescript/module/src/sync.d.ts.map +1 -1
- package/lib/typescript/module/src/types.d.ts +4 -3
- package/lib/typescript/module/src/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/CodePush.tsx +6 -0
- package/src/checkForUpdates.ts +26 -24
- package/src/enums/LogLevel.enum.ts +6 -0
- package/src/index.ts +3 -1
- package/src/internals/CodePushApiSdk.errors.ts +22 -0
- package/src/internals/CodePushApiSdk.ts +133 -0
- package/src/internals/CodePushApiSdk.types.ts +115 -0
- package/src/internals/RemotePackageImplementation.ts +9 -7
- package/src/internals/shouldUpdateBeIgnored.ts +6 -5
- package/src/internals/types.ts +2 -2
- package/src/internals/utils/fetchRetry.ts +72 -0
- package/src/internals/utils/log.ts +9 -1
- package/src/internals/utils/queryStringify.ts +22 -0
- package/src/internals/utils/requestFetchAdapter.ts +36 -0
- package/src/internals/version.ts +1 -1
- package/src/logLevel.ts +9 -0
- package/src/notifyAppReady.ts +25 -18
- package/src/sync.ts +33 -23
- package/src/types.ts +2 -3
- package/lib/commonjs/enums/DeploymentStatus.enum.js.map +0 -1
- package/lib/commonjs/internals/AcquisitionSdk.js +0 -9
- package/lib/commonjs/internals/AcquisitionSdk.js.map +0 -1
- package/lib/commonjs/internals/getPromisifiedSdk.js +0 -49
- package/lib/commonjs/internals/getPromisifiedSdk.js.map +0 -1
- package/lib/commonjs/internals/utils/request-fetch-adapter.js +0 -50
- package/lib/commonjs/internals/utils/request-fetch-adapter.js.map +0 -1
- package/lib/module/enums/DeploymentStatus.enum.js.map +0 -1
- package/lib/module/internals/AcquisitionSdk.js +0 -5
- package/lib/module/internals/AcquisitionSdk.js.map +0 -1
- package/lib/module/internals/getPromisifiedSdk.js +0 -45
- package/lib/module/internals/getPromisifiedSdk.js.map +0 -1
- package/lib/module/internals/utils/request-fetch-adapter.js +0 -46
- package/lib/module/internals/utils/request-fetch-adapter.js.map +0 -1
- package/lib/typescript/commonjs/src/enums/DeploymentStatus.enum.d.ts +0 -14
- package/lib/typescript/commonjs/src/enums/DeploymentStatus.enum.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/internals/AcquisitionSdk.d.ts +0 -3
- package/lib/typescript/commonjs/src/internals/AcquisitionSdk.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/internals/getPromisifiedSdk.d.ts +0 -13
- package/lib/typescript/commonjs/src/internals/getPromisifiedSdk.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/internals/utils/request-fetch-adapter.d.ts +0 -3
- package/lib/typescript/commonjs/src/internals/utils/request-fetch-adapter.d.ts.map +0 -1
- package/lib/typescript/module/src/enums/DeploymentStatus.enum.d.ts +0 -14
- package/lib/typescript/module/src/enums/DeploymentStatus.enum.d.ts.map +0 -1
- package/lib/typescript/module/src/internals/AcquisitionSdk.d.ts +0 -3
- package/lib/typescript/module/src/internals/AcquisitionSdk.d.ts.map +0 -1
- package/lib/typescript/module/src/internals/getPromisifiedSdk.d.ts +0 -13
- package/lib/typescript/module/src/internals/getPromisifiedSdk.d.ts.map +0 -1
- package/lib/typescript/module/src/internals/utils/request-fetch-adapter.d.ts +0 -3
- package/lib/typescript/module/src/internals/utils/request-fetch-adapter.d.ts.map +0 -1
- package/src/enums/DeploymentStatus.enum.ts +0 -14
- package/src/internals/AcquisitionSdk.ts +0 -3
- package/src/internals/getPromisifiedSdk.ts +0 -72
- package/src/internals/utils/request-fetch-adapter.ts +0 -58
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","NativeRNAppZungCodePushModule","RemotePackageImpl","getConfiguration","getCurrentPackage","
|
|
1
|
+
{"version":3,"names":["Platform","LogLevel","CodePushApiSdk","NativeRNAppZungCodePushModule","RemotePackageImpl","getConfiguration","getCurrentPackage","log","requestFetchAdapter","checkForUpdate","releaseChannelPublicId","handleBinaryVersionMismatchCallback","nativeConfig","config","sdk","localPackage","queryPackage","appVersion","OS","packageHash","update","queryUpdateWithCurrentPackage","updateAppVersion","Error","INFO","_isDebugOnly","remotePackageData","failedInstall","isFailedUpdate","isFirstRun","isPending","packageInfo","reportStatusDownload"],"sourceRoot":"../../src","sources":["checkForUpdates.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,QAAQ,QAAQ,0BAAuB;AAChD,SAASC,cAAc,QAAQ,+BAA4B;AAE3D,SAASC,6BAA6B,QAAQ,8CAA2C;AACzF,SAASC,iBAAiB,QAAQ,4CAAyC;AAC3E,SAASC,gBAAgB,QAAQ,iCAA8B;AAC/D,SAASC,iBAAiB,QAAQ,kCAA+B;AAEjE,SAASC,GAAG,QAAQ,0BAAuB;AAC3C,SAASC,mBAAmB,QAAQ,0CAAuC;AAG3E;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,cAAcA,CAClCC,sBAA+B,EAC/BC,mCAAyE,EAC1C;EAC/B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,YAAY,GAAG,MAAMP,gBAAgB,CAAC,CAAC;EAC7C;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMQ,MAAqB,GAAGH,sBAAsB,GAAG;IAAE,GAAGE,YAAY;IAAEF;EAAuB,CAAC,GAAGE,YAAY;EACjH,MAAME,GAAG,GAAG,IAAIZ,cAAc,CAACM,mBAAmB,EAAEK,MAAM,CAAC;EAE3D,MAAME,YAAY,GAAG,MAAMT,iBAAiB,CAAC,CAAC;;EAE9C;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMU,YAA0C,GAAGD,YAAY,IAAI;IACjEE,UAAU,EAAEJ,MAAM,CAACI,UAAU;IAC7B,IAAIjB,QAAQ,CAACkB,EAAE,KAAK,KAAK,IAAIL,MAAM,CAACM,WAAW,GAAG;MAAEA,WAAW,EAAEN,MAAM,CAACM;IAAY,CAAC,GAAG,CAAC,CAAC;EAC5F,CAAC;EAED,MAAMC,MAAM,GAAG,MAAMN,GAAG,CAACO,6BAA6B,CAACL,YAAY,CAAC;;EAEpE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAI,CAACI,MAAM,EAAE;IACX,OAAO,IAAI;EACb;EAEA,IAAI,kBAAkB,IAAIA,MAAM,EAAE;IAChC,IAAI,CAACA,MAAM,CAACE,gBAAgB,EAAE;MAC5B,MAAM,IAAIC,KAAK,CAAC,wCAAwC,CAAC;IAC3D;IAEAhB,GAAG,CAACN,QAAQ,CAACuB,IAAI,EAAE,gFAAgF,CAAC;IACpGb,mCAAmC,GAAGS,MAAM,CAAC;IAE7C,OAAO,IAAI;EACb;EAEA,IACGL,YAAY,IAAIK,MAAM,CAACD,WAAW,KAAKJ,YAAY,CAACI,WAAW,IAC/D,CAAC,CAACJ,YAAY,IAAK,cAAc,IAAIA,YAAY,IAAIA,YAAY,CAACU,YAAa,KAC9EZ,MAAM,CAACM,WAAW,KAAKC,MAAM,CAACD,WAAY,EAC5C;IACA,OAAO,IAAI;EACb;EAEA,MAAMO,iBAAkD,GAAG;IACzD,GAAGN,MAAM;IACTV,sBAAsB,EAAEA,sBAAsB,IAAIE,YAAY,CAACF,sBAAsB;IACrFiB,aAAa,EAAE,MAAMxB,6BAA6B,CAACyB,cAAc,CAACR,MAAM,CAACD,WAAW,CAAC;IACrFU,UAAU,EAAE,KAAK;IACjBC,SAAS,EAAE;EACb,CAAC;EAED,OAAO,IAAI1B,iBAAiB,CAACsB,iBAAiB,EAAGK,WAAW,IAAKjB,GAAG,CAACkB,oBAAoB,CAACD,WAAW,CAAC,CAAC;AACzG","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export let LogLevel = /*#__PURE__*/function (LogLevel) {
|
|
4
|
+
LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
|
|
5
|
+
LogLevel[LogLevel["INFO"] = 1] = "INFO";
|
|
6
|
+
LogLevel[LogLevel["WARN"] = 2] = "WARN";
|
|
7
|
+
LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
|
|
8
|
+
return LogLevel;
|
|
9
|
+
}({});
|
|
10
|
+
//# sourceMappingURL=LogLevel.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["LogLevel"],"sourceRoot":"../../../src","sources":["enums/LogLevel.enum.ts"],"mappings":";;AAAA,WAAYA,QAAQ,0BAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -12,10 +12,12 @@ export * from "./restartApp.js";
|
|
|
12
12
|
export * from "./sync.js";
|
|
13
13
|
export * from "./getClientUniqueId.js";
|
|
14
14
|
export * from "./resetClientUniqueId.js";
|
|
15
|
+
export * from "./logLevel.js";
|
|
15
16
|
export * from "./types.js";
|
|
16
17
|
export * from "./enums/SyncStatus.enum.js";
|
|
17
18
|
export * from "./enums/InstallMode.enum.js";
|
|
18
19
|
export * from "./enums/UpdateState.enum.js";
|
|
19
|
-
export
|
|
20
|
+
export { DeploymentStatus } from "./internals/CodePushApiSdk.types.js";
|
|
20
21
|
export * from "./enums/CheckFrequency.enum.js";
|
|
22
|
+
export * from "./enums/LogLevel.enum.js";
|
|
21
23
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,mBAAgB;AAC9B,cAAc,sBAAmB;AACjC,cAAc,mBAAgB;AAC9B,cAAc,eAAY;AAC1B,SAASA,OAAO,QAAQ,eAAY;AACpC,cAAc,sBAAmB;AACjC,cAAc,wBAAqB;AACnC,cAAc,qBAAkB;AAChC,cAAc,iBAAc;AAC5B,cAAc,WAAQ;AACtB,cAAc,wBAAqB;AACnC,cAAc,0BAAuB;
|
|
1
|
+
{"version":3,"names":["default","DeploymentStatus"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,mBAAgB;AAC9B,cAAc,sBAAmB;AACjC,cAAc,mBAAgB;AAC9B,cAAc,eAAY;AAC1B,SAASA,OAAO,QAAQ,eAAY;AACpC,cAAc,sBAAmB;AACjC,cAAc,wBAAqB;AACnC,cAAc,qBAAkB;AAChC,cAAc,iBAAc;AAC5B,cAAc,WAAQ;AACtB,cAAc,wBAAqB;AACnC,cAAc,0BAAuB;AACrC,cAAc,eAAY;AAE1B,cAAc,YAAS;AAEvB,cAAc,4BAAyB;AACvC,cAAc,6BAA0B;AACxC,cAAc,6BAA0B;AACxC,SAASC,gBAAgB,QAAQ,qCAAkC;AACnE,cAAc,gCAA6B;AAC3C,cAAc,0BAAuB","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export class CodePushError extends Error {
|
|
4
|
+
constructor(message) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.name = 'CodePushError';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export class CodePushHttpError extends CodePushError {
|
|
10
|
+
constructor(url, statusCode, message) {
|
|
11
|
+
super(message);
|
|
12
|
+
this.url = url;
|
|
13
|
+
this.statusCode = statusCode;
|
|
14
|
+
if (statusCode === 0) {
|
|
15
|
+
this.message = `Couldn't send request to ${url}, xhr.statusCode = 0 was returned. One of the possible reasons for that might be connection problems. Please, check your internet connection.`;
|
|
16
|
+
}
|
|
17
|
+
this.name = 'CodePushHttpError';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=CodePushApiSdk.errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CodePushError","Error","constructor","message","name","CodePushHttpError","url","statusCode"],"sourceRoot":"../../../src","sources":["internals/CodePushApiSdk.errors.ts"],"mappings":";;AAAA,OAAO,MAAMA,aAAa,SAASC,KAAK,CAAC;EACvCC,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAACA,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAG,eAAe;EAC7B;AACF;AAEA,OAAO,MAAMC,iBAAiB,SAASL,aAAa,CAAC;EACnDE,WAAWA,CACAI,GAAW,EACXC,UAAkB,EAC3BJ,OAAe,EACf;IACA,KAAK,CAACA,OAAO,CAAC;IAAC,KAJNG,GAAW,GAAXA,GAAW;IAAA,KACXC,UAAkB,GAAlBA,UAAkB;IAK3B,IAAIA,UAAU,KAAK,CAAC,EAAE;MACpB,IAAI,CAACJ,OAAO,GAAG,4BAA4BG,GAAG,+IAA+I;IAC/L;IAEA,IAAI,CAACF,IAAI,GAAG,mBAAmB;EACjC;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { CodePushError, CodePushHttpError } from "./CodePushApiSdk.errors.js";
|
|
4
|
+
import { queryStringify } from "./utils/queryStringify.js";
|
|
5
|
+
|
|
6
|
+
// TODO move this to @appzung/code-push-api-sdk
|
|
7
|
+
|
|
8
|
+
export class CodePushApiSdk {
|
|
9
|
+
constructor(httpRequester, configuration) {
|
|
10
|
+
this.httpRequester = httpRequester;
|
|
11
|
+
this.configuration = {
|
|
12
|
+
...configuration
|
|
13
|
+
};
|
|
14
|
+
if (this.configuration.serverUrl.slice(-1) !== '/') {
|
|
15
|
+
this.configuration.serverUrl += '/';
|
|
16
|
+
}
|
|
17
|
+
this.configuration.serverUrl += 'v0.1/public/codepush';
|
|
18
|
+
}
|
|
19
|
+
async queryUpdateWithCurrentPackage(currentPackageInfo) {
|
|
20
|
+
const query = {
|
|
21
|
+
deployment_key: this.configuration.releaseChannelPublicId,
|
|
22
|
+
app_version: currentPackageInfo.appVersion,
|
|
23
|
+
package_hash: currentPackageInfo.packageHash,
|
|
24
|
+
is_companion: this.configuration.ignoreAppVersion,
|
|
25
|
+
label: currentPackageInfo.label,
|
|
26
|
+
client_unique_id: this.configuration.clientUniqueId
|
|
27
|
+
};
|
|
28
|
+
const url = `${this.configuration.serverUrl}/update_check?${queryStringify(query)}`;
|
|
29
|
+
const response = await this.httpRequester.request('GET', url);
|
|
30
|
+
if (response.statusCode < 200 || response.statusCode >= 300) {
|
|
31
|
+
throw new CodePushHttpError(url, response.statusCode, response.body || 'No body');
|
|
32
|
+
}
|
|
33
|
+
const responseObject = JSON.parse(response.body || '{}');
|
|
34
|
+
if (!responseObject.update_info) {
|
|
35
|
+
throw new CodePushError('Missing update info in response');
|
|
36
|
+
}
|
|
37
|
+
const {
|
|
38
|
+
update_info: updateInfo
|
|
39
|
+
} = responseObject;
|
|
40
|
+
if (updateInfo.update_app_version) {
|
|
41
|
+
return {
|
|
42
|
+
updateAppVersion: true,
|
|
43
|
+
appVersion: responseObject.update_info.target_binary_range
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
if (!updateInfo.is_available) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
releaseChannelPublicId: this.configuration.releaseChannelPublicId,
|
|
51
|
+
description: updateInfo.description,
|
|
52
|
+
label: updateInfo.label,
|
|
53
|
+
appVersion: updateInfo.target_binary_range,
|
|
54
|
+
isMandatory: updateInfo.is_mandatory,
|
|
55
|
+
packageHash: updateInfo.package_hash,
|
|
56
|
+
packageSize: updateInfo.package_size,
|
|
57
|
+
downloadUrl: updateInfo.download_url
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
async reportStatusDeploy(deployedPackageInfo, previousLabelOrAppVersion, previousDeploymentKey) {
|
|
61
|
+
const requestBody = {
|
|
62
|
+
app_version: this.configuration.appVersion,
|
|
63
|
+
deployment_key: this.configuration.releaseChannelPublicId,
|
|
64
|
+
client_unique_id: this.configuration.clientUniqueId
|
|
65
|
+
};
|
|
66
|
+
if (deployedPackageInfo) {
|
|
67
|
+
requestBody.label = deployedPackageInfo.package.label;
|
|
68
|
+
requestBody.app_version = deployedPackageInfo.package.appVersion;
|
|
69
|
+
requestBody.status = deployedPackageInfo.status;
|
|
70
|
+
}
|
|
71
|
+
if (previousLabelOrAppVersion) {
|
|
72
|
+
requestBody.previous_label_or_app_version = previousLabelOrAppVersion;
|
|
73
|
+
}
|
|
74
|
+
if (previousDeploymentKey) {
|
|
75
|
+
requestBody.previous_deployment_key = previousDeploymentKey;
|
|
76
|
+
}
|
|
77
|
+
const url = `${this.configuration.serverUrl}/report_status/deploy`;
|
|
78
|
+
const response = await this.httpRequester.request('POST', url, JSON.stringify(requestBody));
|
|
79
|
+
if (response.statusCode < 200 || response.statusCode >= 300) {
|
|
80
|
+
throw new CodePushHttpError(url, response.statusCode, response.body || 'No body');
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
async reportStatusDownload(downloadedPackage) {
|
|
84
|
+
const requestBody = {
|
|
85
|
+
client_unique_id: this.configuration.clientUniqueId,
|
|
86
|
+
deployment_key: this.configuration.releaseChannelPublicId,
|
|
87
|
+
label: downloadedPackage.label
|
|
88
|
+
};
|
|
89
|
+
const url = `${this.configuration.serverUrl}/report_status/download`;
|
|
90
|
+
const response = await this.httpRequester.request('POST', url, JSON.stringify(requestBody));
|
|
91
|
+
if (response.statusCode < 200 || response.statusCode >= 300) {
|
|
92
|
+
throw new CodePushHttpError(url, response.statusCode, response.body || 'No body');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=CodePushApiSdk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CodePushError","CodePushHttpError","queryStringify","CodePushApiSdk","constructor","httpRequester","configuration","serverUrl","slice","queryUpdateWithCurrentPackage","currentPackageInfo","query","deployment_key","releaseChannelPublicId","app_version","appVersion","package_hash","packageHash","is_companion","ignoreAppVersion","label","client_unique_id","clientUniqueId","url","response","request","statusCode","body","responseObject","JSON","parse","update_info","updateInfo","update_app_version","updateAppVersion","target_binary_range","is_available","description","isMandatory","is_mandatory","packageSize","package_size","downloadUrl","download_url","reportStatusDeploy","deployedPackageInfo","previousLabelOrAppVersion","previousDeploymentKey","requestBody","package","status","previous_label_or_app_version","previous_deployment_key","stringify","reportStatusDownload","downloadedPackage"],"sourceRoot":"../../../src","sources":["internals/CodePushApiSdk.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
export let Http;
|
|
3
4
|
/**
|
|
4
5
|
* Indicates the status of a deployment (after installing and restarting).
|
|
5
6
|
*/
|
|
@@ -14,4 +15,4 @@ export let DeploymentStatus = /*#__PURE__*/function (DeploymentStatus) {
|
|
|
14
15
|
DeploymentStatus["SUCCEEDED"] = "DeploymentSucceeded";
|
|
15
16
|
return DeploymentStatus;
|
|
16
17
|
}({});
|
|
17
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=CodePushApiSdk.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Http","DeploymentStatus"],"sourceRoot":"../../../src","sources":["internals/CodePushApiSdk.types.ts"],"mappings":";;WA+BiBA,IAAI;AAmBrB;AACA;AACA;AACA,WAAYC,gBAAgB,0BAAhBA,gBAAgB;EAC1B;AACF;AACA;EAHYA,gBAAgB;EAM1B;AACF;AACA;EARYA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { NativeEventEmitter } from 'react-native';
|
|
4
|
+
import { LogLevel } from "../enums/LogLevel.enum.js";
|
|
4
5
|
import { LocalPackageImplementation } from "./LocalPackageImplementation.js";
|
|
5
6
|
import { NativeRNAppZungCodePushModule } from "./NativeRNAppZungCodePushModule.js";
|
|
6
7
|
import { log } from "./utils/log.js";
|
|
@@ -26,12 +27,13 @@ export class RemotePackageImpl {
|
|
|
26
27
|
} = remotePackageData; // In dev mode, React Native deep freezes any object queued over the bridge
|
|
27
28
|
const downloadedPackage = await NativeRNAppZungCodePushModule.downloadUpdate(updatePackageCopy, !!downloadProgressCallback);
|
|
28
29
|
if (reportStatusDownload) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}).catch(
|
|
33
|
-
log(`Report download status failed: ${
|
|
30
|
+
const timeoutPromise = new Promise(resolve => setTimeout(resolve, 250));
|
|
31
|
+
const reportPromise = reportStatusDownload({
|
|
32
|
+
label: this.label
|
|
33
|
+
}).catch(error => {
|
|
34
|
+
log(LogLevel.ERROR, `Report download status failed: ${error}`);
|
|
34
35
|
});
|
|
36
|
+
await Promise.race([timeoutPromise, reportPromise]);
|
|
35
37
|
}
|
|
36
38
|
return new LocalPackageImplementation(downloadedPackage);
|
|
37
39
|
} finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","LocalPackageImplementation","NativeRNAppZungCodePushModule","log","RemotePackageImpl","constructor","remotePackageData","reportStatusDownload","Object","assign","download","downloadProgressCallback","downloadUrl","Error","downloadProgressSubscription","codePushEventEmitter","addListener","updatePackageCopy","downloadedPackage","downloadUpdate","
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","LogLevel","LocalPackageImplementation","NativeRNAppZungCodePushModule","log","RemotePackageImpl","constructor","remotePackageData","reportStatusDownload","Object","assign","download","downloadProgressCallback","downloadUrl","Error","downloadProgressSubscription","codePushEventEmitter","addListener","updatePackageCopy","downloadedPackage","downloadUpdate","timeoutPromise","Promise","resolve","setTimeout","reportPromise","label","catch","error","ERROR","race","remove","isPending"],"sourceRoot":"../../../src","sources":["internals/RemotePackageImplementation.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,cAAc;AACjD,SAASC,QAAQ,QAAQ,2BAAwB;AAGjD,SAASC,0BAA0B,QAAQ,iCAA8B;AACzE,SAASC,6BAA6B,QAAQ,oCAAiC;AAC/E,SAASC,GAAG,QAAQ,gBAAa;AAEjC,OAAO,MAAMC,iBAAiB,CAA0B;EACtDC,WAAWA,CACTC,iBAAkD,EAClDC,oBAA2F,EAC3F;IACAC,MAAM,CAACC,MAAM,CAAC,IAAI,EAAEH,iBAAiB,CAAC;IAEtC,IAAI,CAACI,QAAQ,GAAG,MAAOC,wBAAmD,IAAK;MAC7E,IAAI,CAAC,IAAI,CAACC,WAAW,EAAE;QACrB,MAAM,IAAIC,KAAK,CAAC,kDAAkD,CAAC;MACrE;MAEA,IAAIC,4BAA4B;MAEhC,IAAIH,wBAAwB,EAAE;QAC5B,MAAMI,oBAAoB,GAAG,IAAIhB,kBAAkB,CAACG,6BAA6B,CAAC;QAClF;QACAY,4BAA4B,GAAGC,oBAAoB,CAACC,WAAW,CAC7D,0BAA0B,EAC1BL,wBACF,CAAC;MACH;;MAEA;MACA;MACA,IAAI;QACF,MAAM;UAAE,GAAGM;QAAkB,CAAC,GAAGX,iBAAiB,CAAC,CAAC;QACpD,MAAMY,iBAAiB,GAAG,MAAMhB,6BAA6B,CAACiB,cAAc,CAC1EF,iBAAiB,EACjB,CAAC,CAACN,wBACJ,CAAC;QAED,IAAIJ,oBAAoB,EAAE;UACxB,MAAMa,cAAc,GAAG,IAAIC,OAAO,CAAQC,OAAO,IAAKC,UAAU,CAACD,OAAO,EAAE,GAAG,CAAC,CAAC;UAC/E,MAAME,aAAa,GAAGjB,oBAAoB,CAAC;YACzCkB,KAAK,EAAE,IAAI,CAACA;UACd,CAAC,CAAC,CAACC,KAAK,CAAEC,KAAK,IAAK;YAClBxB,GAAG,CAACH,QAAQ,CAAC4B,KAAK,EAAE,kCAAkCD,KAAK,EAAE,CAAC;UAChE,CAAC,CAAC;UACF,MAAMN,OAAO,CAACQ,IAAI,CAAC,CAACT,cAAc,EAAEI,aAAa,CAAC,CAAC;QACrD;QAEA,OAAO,IAAIvB,0BAA0B,CAACiB,iBAAiB,CAAC;MAC1D,CAAC,SAAS;QACRJ,4BAA4B,IAAIA,4BAA4B,CAACgB,MAAM,CAAC,CAAC;MACvE;IACF,CAAC;EACH;EAUAC,SAAS,GAAG,KAAK,CAAC,CAAC;AAKrB","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { LogLevel } from "../enums/LogLevel.enum.js";
|
|
3
4
|
import { NativeRNAppZungCodePushModule } from "./NativeRNAppZungCodePushModule.js";
|
|
4
5
|
import { log } from "./utils/log.js";
|
|
5
6
|
const DEFAULT_ROLLBACK_RETRY_OPTIONS = {
|
|
@@ -11,15 +12,15 @@ function validateLatestRollbackInfo(latestRollbackInfo, packageHash) {
|
|
|
11
12
|
}
|
|
12
13
|
function validateRollbackRetryOptions(rollbackRetryOptions) {
|
|
13
14
|
if (typeof rollbackRetryOptions.delayInHours !== 'number') {
|
|
14
|
-
log("The 'delayInHours' rollback retry parameter must be a number.");
|
|
15
|
+
log(LogLevel.ERROR, "The 'delayInHours' rollback retry parameter must be a number.");
|
|
15
16
|
return false;
|
|
16
17
|
}
|
|
17
18
|
if (typeof rollbackRetryOptions.maxRetryAttempts !== 'number') {
|
|
18
|
-
log("The 'maxRetryAttempts' rollback retry parameter must be a number.");
|
|
19
|
+
log(LogLevel.ERROR, "The 'maxRetryAttempts' rollback retry parameter must be a number.");
|
|
19
20
|
return false;
|
|
20
21
|
}
|
|
21
22
|
if (rollbackRetryOptions.maxRetryAttempts < 1) {
|
|
22
|
-
log("The 'maxRetryAttempts' rollback retry parameter cannot be less then 1.");
|
|
23
|
+
log(LogLevel.ERROR, "The 'maxRetryAttempts' rollback retry parameter cannot be less then 1.");
|
|
23
24
|
return false;
|
|
24
25
|
}
|
|
25
26
|
return true;
|
|
@@ -41,7 +42,7 @@ export async function shouldUpdateBeIgnored(remotePackage, syncOptions) {
|
|
|
41
42
|
}
|
|
42
43
|
const latestRollbackInfo = await NativeRNAppZungCodePushModule.getLatestRollbackInfo();
|
|
43
44
|
if (!validateLatestRollbackInfo(latestRollbackInfo, remotePackage.packageHash)) {
|
|
44
|
-
log('The latest rollback info is not valid.');
|
|
45
|
+
log(LogLevel.ERROR, 'The latest rollback info is not valid.');
|
|
45
46
|
return true;
|
|
46
47
|
}
|
|
47
48
|
const {
|
|
@@ -50,7 +51,7 @@ export async function shouldUpdateBeIgnored(remotePackage, syncOptions) {
|
|
|
50
51
|
} = rollbackRetryOptions;
|
|
51
52
|
const hoursSinceLatestRollback = (Date.now() - latestRollbackInfo.time) / (1000 * 60 * 60);
|
|
52
53
|
if (hoursSinceLatestRollback >= delayInHours && maxRetryAttempts >= latestRollbackInfo.count) {
|
|
53
|
-
log('Previous rollback should be ignored due to rollback retry options.');
|
|
54
|
+
log(LogLevel.INFO, 'Previous rollback should be ignored due to rollback retry options.');
|
|
54
55
|
return false;
|
|
55
56
|
}
|
|
56
57
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeRNAppZungCodePushModule","log","DEFAULT_ROLLBACK_RETRY_OPTIONS","delayInHours","maxRetryAttempts","validateLatestRollbackInfo","latestRollbackInfo","packageHash","time","count","validateRollbackRetryOptions","rollbackRetryOptions","shouldUpdateBeIgnored","remotePackage","syncOptions","isFailedPackage","failedInstall","ignoreFailedUpdates","getLatestRollbackInfo","hoursSinceLatestRollback","Date","now"],"sourceRoot":"../../../src","sources":["internals/shouldUpdateBeIgnored.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["LogLevel","NativeRNAppZungCodePushModule","log","DEFAULT_ROLLBACK_RETRY_OPTIONS","delayInHours","maxRetryAttempts","validateLatestRollbackInfo","latestRollbackInfo","packageHash","time","count","validateRollbackRetryOptions","rollbackRetryOptions","ERROR","shouldUpdateBeIgnored","remotePackage","syncOptions","isFailedPackage","failedInstall","ignoreFailedUpdates","getLatestRollbackInfo","hoursSinceLatestRollback","Date","now","INFO"],"sourceRoot":"../../../src","sources":["internals/shouldUpdateBeIgnored.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,2BAAwB;AAEjD,SAASC,6BAA6B,QAAQ,oCAAiC;AAE/E,SAASC,GAAG,QAAQ,gBAAa;AAEjC,MAAMC,8BAA8B,GAAG;EACrCC,YAAY,EAAE,EAAE;EAChBC,gBAAgB,EAAE;AACpB,CAAC;AAED,SAASC,0BAA0BA,CAACC,kBAAsC,EAAEC,WAAmB,EAAE;EAC/F,OACED,kBAAkB,IAClBA,kBAAkB,CAACE,IAAI,IACvBF,kBAAkB,CAACG,KAAK,IACxBH,kBAAkB,CAACC,WAAW,IAC9BD,kBAAkB,CAACC,WAAW,KAAKA,WAAW;AAElD;AAEA,SAASG,4BAA4BA,CAACC,oBAA0C,EAAE;EAChF,IAAI,OAAOA,oBAAoB,CAACR,YAAY,KAAK,QAAQ,EAAE;IACzDF,GAAG,CAACF,QAAQ,CAACa,KAAK,EAAE,+DAA+D,CAAC;IACpF,OAAO,KAAK;EACd;EAEA,IAAI,OAAOD,oBAAoB,CAACP,gBAAgB,KAAK,QAAQ,EAAE;IAC7DH,GAAG,CAACF,QAAQ,CAACa,KAAK,EAAE,mEAAmE,CAAC;IACxF,OAAO,KAAK;EACd;EAEA,IAAID,oBAAoB,CAACP,gBAAgB,GAAG,CAAC,EAAE;IAC7CH,GAAG,CAACF,QAAQ,CAACa,KAAK,EAAE,wEAAwE,CAAC;IAC7F,OAAO,KAAK;EACd;EAEA,OAAO,IAAI;AACb;AAEA,OAAO,eAAeC,qBAAqBA,CAACC,aAA+C,EAAEC,WAAwB,EAAE;EACrH,MAAMC,eAAe,GAAGF,aAAa,IAAIA,aAAa,CAACG,aAAa;EACpE,IAAI,CAACD,eAAe,IAAI,CAACD,WAAW,CAACG,mBAAmB,EAAE;IACxD,OAAO,KAAK;EACd;EAEA,IAAI,CAACH,WAAW,CAACJ,oBAAoB,EAAE;IACrC,OAAO,IAAI;EACb;EAEA,MAAMA,oBAAoD,GACxD,OAAOI,WAAW,CAACJ,oBAAoB,KAAK,QAAQ,GAChD;IACE,GAAGT,8BAA8B;IACjC,GAAGa,WAAW,CAACJ;EACjB,CAAC,GACDT,8BAA8B;EAEpC,IAAI,CAACQ,4BAA4B,CAACC,oBAAoB,CAAC,EAAE;IACvD,OAAO,IAAI;EACb;EAEA,MAAML,kBAAkB,GAAG,MAAMN,6BAA6B,CAACmB,qBAAqB,CAAC,CAAC;EACtF,IAAI,CAACd,0BAA0B,CAACC,kBAAkB,EAAEQ,aAAa,CAACP,WAAW,CAAC,EAAE;IAC9EN,GAAG,CAACF,QAAQ,CAACa,KAAK,EAAE,wCAAwC,CAAC;IAC7D,OAAO,IAAI;EACb;EAEA,MAAM;IAAET,YAAY;IAAEC;EAAiB,CAAC,GAAGO,oBAAoB;EAC/D,MAAMS,wBAAwB,GAAG,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGhB,kBAAkB,CAACE,IAAI,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;EAC1F,IAAIY,wBAAwB,IAAIjB,YAAY,IAAIC,gBAAgB,IAAIE,kBAAkB,CAACG,KAAK,EAAE;IAC5FR,GAAG,CAACF,QAAQ,CAACwB,IAAI,EAAE,oEAAoE,CAAC;IACxF,OAAO,KAAK;EACd;EAEA,OAAO,IAAI;AACb","ignoreList":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export async function fetchRetry(url, options = {}, attempt = 0) {
|
|
4
|
+
const {
|
|
5
|
+
maxRetries = 3,
|
|
6
|
+
initialBackoff = 1000,
|
|
7
|
+
backoffMultiplier = 2,
|
|
8
|
+
maxRetryDelay = 30000,
|
|
9
|
+
...fetchOptions
|
|
10
|
+
} = options;
|
|
11
|
+
try {
|
|
12
|
+
const response = await fetch(url, fetchOptions);
|
|
13
|
+
if (response.ok || !(response.status === 429 || response.status >= 500)) {
|
|
14
|
+
return response;
|
|
15
|
+
}
|
|
16
|
+
if (attempt >= maxRetries) {
|
|
17
|
+
return response;
|
|
18
|
+
}
|
|
19
|
+
const retryAfter = parseRetryAfterHeader(response);
|
|
20
|
+
if (retryAfter && retryAfter > maxRetryDelay) {
|
|
21
|
+
return response;
|
|
22
|
+
}
|
|
23
|
+
const delay = retryAfter ?? addJitter(initialBackoff * Math.pow(backoffMultiplier, attempt));
|
|
24
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
25
|
+
return fetchRetry(url, options, attempt + 1);
|
|
26
|
+
} catch (error) {
|
|
27
|
+
if (attempt >= maxRetries) {
|
|
28
|
+
throw error;
|
|
29
|
+
}
|
|
30
|
+
const delay = addJitter(initialBackoff * Math.pow(backoffMultiplier, attempt));
|
|
31
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
32
|
+
return fetchRetry(url, options, attempt + 1);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function parseRetryAfterHeader(response) {
|
|
36
|
+
const retryAfter = response.headers.get('Retry-After');
|
|
37
|
+
if (!retryAfter) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
if (!isNaN(Number(retryAfter))) {
|
|
41
|
+
return parseInt(retryAfter, 10) * 1000;
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
const retryDate = new Date(retryAfter).getTime();
|
|
45
|
+
const now = Date.now();
|
|
46
|
+
return retryDate > now ? retryDate - now : 0;
|
|
47
|
+
} catch (e) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function addJitter(delay) {
|
|
52
|
+
const jitterFactor = 0.5 + Math.random() * 0.5;
|
|
53
|
+
return Math.floor(delay * jitterFactor);
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=fetchRetry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["fetchRetry","url","options","attempt","maxRetries","initialBackoff","backoffMultiplier","maxRetryDelay","fetchOptions","response","fetch","ok","status","retryAfter","parseRetryAfterHeader","delay","addJitter","Math","pow","Promise","resolve","setTimeout","error","headers","get","isNaN","Number","parseInt","retryDate","Date","getTime","now","e","jitterFactor","random","floor"],"sourceRoot":"../../../../src","sources":["internals/utils/fetchRetry.ts"],"mappings":";;AAAA,OAAO,eAAeA,UAAUA,CAACC,GAAW,EAAEC,OAA0B,GAAG,CAAC,CAAC,EAAEC,OAAO,GAAG,CAAC,EAAqB;EAC7G,MAAM;IACJC,UAAU,GAAG,CAAC;IACdC,cAAc,GAAG,IAAI;IACrBC,iBAAiB,GAAG,CAAC;IACrBC,aAAa,GAAG,KAAK;IACrB,GAAGC;EACL,CAAC,GAAGN,OAAO;EAEX,IAAI;IACF,MAAMO,QAAQ,GAAG,MAAMC,KAAK,CAACT,GAAG,EAAEO,YAAY,CAAC;IAC/C,IAAIC,QAAQ,CAACE,EAAE,IAAI,EAAEF,QAAQ,CAACG,MAAM,KAAK,GAAG,IAAIH,QAAQ,CAACG,MAAM,IAAI,GAAG,CAAC,EAAE;MACvE,OAAOH,QAAQ;IACjB;IAEA,IAAIN,OAAO,IAAIC,UAAU,EAAE;MACzB,OAAOK,QAAQ;IACjB;IAEA,MAAMI,UAAU,GAAGC,qBAAqB,CAACL,QAAQ,CAAC;IAClD,IAAII,UAAU,IAAIA,UAAU,GAAGN,aAAa,EAAE;MAC5C,OAAOE,QAAQ;IACjB;IAEA,MAAMM,KAAK,GAAGF,UAAU,IAAIG,SAAS,CAACX,cAAc,GAAGY,IAAI,CAACC,GAAG,CAACZ,iBAAiB,EAAEH,OAAO,CAAC,CAAC;IAE5F,MAAM,IAAIgB,OAAO,CAAEC,OAAO,IAAKC,UAAU,CAACD,OAAO,EAAEL,KAAK,CAAC,CAAC;IAE1D,OAAOf,UAAU,CAACC,GAAG,EAAEC,OAAO,EAAEC,OAAO,GAAG,CAAC,CAAC;EAC9C,CAAC,CAAC,OAAOmB,KAAK,EAAE;IACd,IAAInB,OAAO,IAAIC,UAAU,EAAE;MACzB,MAAMkB,KAAK;IACb;IAEA,MAAMP,KAAK,GAAGC,SAAS,CAACX,cAAc,GAAGY,IAAI,CAACC,GAAG,CAACZ,iBAAiB,EAAEH,OAAO,CAAC,CAAC;IAE9E,MAAM,IAAIgB,OAAO,CAAEC,OAAO,IAAKC,UAAU,CAACD,OAAO,EAAEL,KAAK,CAAC,CAAC;IAE1D,OAAOf,UAAU,CAACC,GAAG,EAAEC,OAAO,EAAEC,OAAO,GAAG,CAAC,CAAC;EAC9C;AACF;AASA,SAASW,qBAAqBA,CAACL,QAAkB,EAAiB;EAChE,MAAMI,UAAU,GAAGJ,QAAQ,CAACc,OAAO,CAACC,GAAG,CAAC,aAAa,CAAC;EACtD,IAAI,CAACX,UAAU,EAAE;IACf,OAAO,IAAI;EACb;EAEA,IAAI,CAACY,KAAK,CAACC,MAAM,CAACb,UAAU,CAAC,CAAC,EAAE;IAC9B,OAAOc,QAAQ,CAACd,UAAU,EAAE,EAAE,CAAC,GAAG,IAAI;EACxC;EAEA,IAAI;IACF,MAAMe,SAAS,GAAG,IAAIC,IAAI,CAAChB,UAAU,CAAC,CAACiB,OAAO,CAAC,CAAC;IAChD,MAAMC,GAAG,GAAGF,IAAI,CAACE,GAAG,CAAC,CAAC;IACtB,OAAOH,SAAS,GAAGG,GAAG,GAAGH,SAAS,GAAGG,GAAG,GAAG,CAAC;EAC9C,CAAC,CAAC,OAAOC,CAAC,EAAE;IACV,OAAO,IAAI;EACb;AACF;AAEA,SAAShB,SAASA,CAACD,KAAa,EAAU;EACxC,MAAMkB,YAAY,GAAG,GAAG,GAAGhB,IAAI,CAACiB,MAAM,CAAC,CAAC,GAAG,GAAG;EAC9C,OAAOjB,IAAI,CAACkB,KAAK,CAACpB,KAAK,GAAGkB,YAAY,CAAC;AACzC","ignoreList":[]}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { getLogLevel } from "../../logLevel.js";
|
|
4
|
+
|
|
3
5
|
/* Logs messages to console with the [CodePush] prefix */
|
|
4
|
-
export function log(message) {
|
|
6
|
+
export function log(level, message) {
|
|
7
|
+
const currentLogLevel = getLogLevel();
|
|
8
|
+
if (level < currentLogLevel) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
5
11
|
console.log(`[CodePush] ${message}`);
|
|
6
12
|
}
|
|
7
13
|
//# sourceMappingURL=log.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["log","message","console"],"sourceRoot":"../../../../src","sources":["internals/utils/log.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["getLogLevel","log","level","message","currentLogLevel","console"],"sourceRoot":"../../../../src","sources":["internals/utils/log.ts"],"mappings":";;AACA,SAASA,WAAW,QAAQ,mBAAgB;;AAE5C;AACA,OAAO,SAASC,GAAGA,CAACC,KAAe,EAAEC,OAAe,EAAQ;EAC1D,MAAMC,eAAe,GAAGJ,WAAW,CAAC,CAAC;EACrC,IAAIE,KAAK,GAAGE,eAAe,EAAE;IAC3B;EACF;EAEAC,OAAO,CAACJ,GAAG,CAAC,cAAcE,OAAO,EAAE,CAAC;AACtC","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export function queryStringify(object) {
|
|
4
|
+
let queryString = '';
|
|
5
|
+
let isFirst = true;
|
|
6
|
+
for (const property in object) {
|
|
7
|
+
if (object.hasOwnProperty(property)) {
|
|
8
|
+
const value = object[property];
|
|
9
|
+
if (value !== null && typeof value !== 'undefined') {
|
|
10
|
+
if (!isFirst) {
|
|
11
|
+
queryString += '&';
|
|
12
|
+
}
|
|
13
|
+
queryString += encodeURIComponent(property) + '=';
|
|
14
|
+
queryString += encodeURIComponent(value);
|
|
15
|
+
}
|
|
16
|
+
isFirst = false;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return queryString;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=queryStringify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["queryStringify","object","queryString","isFirst","property","hasOwnProperty","value","encodeURIComponent"],"sourceRoot":"../../../../src","sources":["internals/utils/queryStringify.ts"],"mappings":";;AAAA,OAAO,SAASA,cAAcA,CAACC,MAA8B,EAAU;EACrE,IAAIC,WAAW,GAAG,EAAE;EACpB,IAAIC,OAAO,GAAG,IAAI;EAElB,KAAK,MAAMC,QAAQ,IAAIH,MAAM,EAAE;IAC7B,IAAIA,MAAM,CAACI,cAAc,CAACD,QAAQ,CAAC,EAAE;MACnC,MAAME,KAAK,GAAGL,MAAM,CAACG,QAAQ,CAAC;MAC9B,IAAIE,KAAK,KAAK,IAAI,IAAI,OAAOA,KAAK,KAAK,WAAW,EAAE;QAClD,IAAI,CAACH,OAAO,EAAE;UACZD,WAAW,IAAI,GAAG;QACpB;QAEAA,WAAW,IAAIK,kBAAkB,CAACH,QAAQ,CAAC,GAAG,GAAG;QACjDF,WAAW,IAAIK,kBAAkB,CAACD,KAAK,CAAC;MAC1C;MAEAH,OAAO,GAAG,KAAK;IACjB;EACF;EAEA,OAAOD,WAAW;AACpB","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { LogLevel } from "../../enums/LogLevel.enum.js";
|
|
4
|
+
import { version } from "../version.js";
|
|
5
|
+
import { fetchRetry } from "./fetchRetry.js";
|
|
6
|
+
import { log } from "./log.js";
|
|
7
|
+
export const requestFetchAdapter = {
|
|
8
|
+
async request(method, url, requestBody) {
|
|
9
|
+
const headers = {
|
|
10
|
+
Accept: 'application/json',
|
|
11
|
+
'Content-Type': 'application/json',
|
|
12
|
+
'X-CodePush-Plugin-Name': '@appzung/react-native-code-push',
|
|
13
|
+
'X-CodePush-Plugin-Version': version
|
|
14
|
+
};
|
|
15
|
+
if (requestBody && typeof requestBody === 'object') {
|
|
16
|
+
requestBody = JSON.stringify(requestBody);
|
|
17
|
+
}
|
|
18
|
+
const requestId = Math.round(Math.random() * 10000);
|
|
19
|
+
log(LogLevel.DEBUG, `[${requestId}] Will fetch ${method} ${url}`);
|
|
20
|
+
const response = await fetchRetry(url, {
|
|
21
|
+
method,
|
|
22
|
+
headers,
|
|
23
|
+
body: requestBody
|
|
24
|
+
});
|
|
25
|
+
const statusCode = response.status;
|
|
26
|
+
log(LogLevel.DEBUG, `[${requestId}] Done fetching with status code ${statusCode}`);
|
|
27
|
+
const body = await response.text();
|
|
28
|
+
return {
|
|
29
|
+
statusCode,
|
|
30
|
+
body
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=requestFetchAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["LogLevel","version","fetchRetry","log","requestFetchAdapter","request","method","url","requestBody","headers","Accept","JSON","stringify","requestId","Math","round","random","DEBUG","response","body","statusCode","status","text"],"sourceRoot":"../../../../src","sources":["internals/utils/requestFetchAdapter.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,8BAA2B;AAEpD,SAASC,OAAO,QAAQ,eAAY;AACpC,SAASC,UAAU,QAAQ,iBAAc;AACzC,SAASC,GAAG,QAAQ,UAAO;AAE3B,OAAO,MAAMC,mBAAmC,GAAG;EACjD,MAAMC,OAAOA,CAACC,MAAM,EAAEC,GAAG,EAAEC,WAAW,EAAE;IACtC,MAAMC,OAAO,GAAG;MACdC,MAAM,EAAE,kBAAkB;MAC1B,cAAc,EAAE,kBAAkB;MAClC,wBAAwB,EAAE,iCAAiC;MAC3D,2BAA2B,EAAET;IAC/B,CAAC;IAED,IAAIO,WAAW,IAAI,OAAOA,WAAW,KAAK,QAAQ,EAAE;MAClDA,WAAW,GAAGG,IAAI,CAACC,SAAS,CAACJ,WAAW,CAAC;IAC3C;IAEA,MAAMK,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC;IACnDb,GAAG,CAACH,QAAQ,CAACiB,KAAK,EAAE,IAAIJ,SAAS,gBAAgBP,MAAM,IAAIC,GAAG,EAAE,CAAC;IAEjE,MAAMW,QAAQ,GAAG,MAAMhB,UAAU,CAACK,GAAG,EAAE;MACrCD,MAAM;MACNG,OAAO;MACPU,IAAI,EAAEX;IACR,CAAC,CAAC;IAEF,MAAMY,UAAU,GAAGF,QAAQ,CAACG,MAAM;IAElClB,GAAG,CAACH,QAAQ,CAACiB,KAAK,EAAE,IAAIJ,SAAS,oCAAoCO,UAAU,EAAE,CAAC;IAElF,MAAMD,IAAI,GAAG,MAAMD,QAAQ,CAACI,IAAI,CAAC,CAAC;IAClC,OAAO;MAAEF,UAAU;MAAED;IAAK,CAAC;EAC7B;AACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["LogLevel","logLevel","INFO","setLogLevel","level","getLogLevel"],"sourceRoot":"../../src","sources":["logLevel.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,0BAAuB;AAEhD,IAAIC,QAAQ,GAAGD,QAAQ,CAACE,IAAI;AAE5B,OAAO,MAAMC,WAAW,GAAIC,KAAe,IAAK;EAC9CH,QAAQ,GAAGG,KAAK;AAClB,CAAC;AAED,OAAO,MAAMC,WAAW,GAAGA,CAAA,KAAMJ,QAAQ","ignoreList":[]}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { AppState } from 'react-native';
|
|
4
|
+
import { LogLevel } from "./enums/LogLevel.enum.js";
|
|
5
|
+
import { CodePushApiSdk } from "./internals/CodePushApiSdk.js";
|
|
4
6
|
import { NativeRNAppZungCodePushModule } from "./internals/NativeRNAppZungCodePushModule.js";
|
|
5
7
|
import { getConfiguration } from "./internals/getConfiguration.js";
|
|
6
|
-
import { getPromisifiedSdk } from "./internals/getPromisifiedSdk.js";
|
|
7
8
|
import { log } from "./internals/utils/log.js";
|
|
8
|
-
import { requestFetchAdapter } from "./internals/utils/
|
|
9
|
+
import { requestFetchAdapter } from "./internals/utils/requestFetchAdapter.js";
|
|
9
10
|
/**
|
|
10
11
|
* Notifies the CodePush runtime that an installed update is considered successful.
|
|
11
12
|
*
|
|
@@ -23,46 +24,51 @@ export const notifyAppReady = (() => {
|
|
|
23
24
|
};
|
|
24
25
|
})();
|
|
25
26
|
async function notifyApplicationReadyInternal() {
|
|
27
|
+
log(LogLevel.DEBUG, 'notifyApplicationReady');
|
|
26
28
|
await NativeRNAppZungCodePushModule.notifyApplicationReady();
|
|
27
29
|
const statusReport = await NativeRNAppZungCodePushModule.getNewStatusReport();
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
if (statusReport) {
|
|
31
|
+
log(LogLevel.DEBUG, `tryReportStatus ${statusReport.status || '(no update)'}`);
|
|
32
|
+
tryReportStatus(statusReport); // Don't wait for this to complete.
|
|
33
|
+
} else {
|
|
34
|
+
log(LogLevel.DEBUG, `Nothing to report`);
|
|
35
|
+
}
|
|
30
36
|
return statusReport;
|
|
31
37
|
}
|
|
32
38
|
async function tryReportStatus(statusReport, retryOnAppResume) {
|
|
33
39
|
const config = await getConfiguration();
|
|
34
|
-
const previousLabelOrAppVersion = statusReport.previousLabelOrAppVersion;
|
|
40
|
+
const previousLabelOrAppVersion = statusReport.previousLabelOrAppVersion ?? null;
|
|
35
41
|
const previousReleaseChannelPublicId = statusReport.previousReleaseChannelPublicId || config.releaseChannelPublicId;
|
|
36
42
|
try {
|
|
37
43
|
if (statusReport.appVersion) {
|
|
38
|
-
log(`Reporting binary update (${statusReport.appVersion})`);
|
|
44
|
+
log(LogLevel.INFO, `Reporting binary update (${statusReport.appVersion})`);
|
|
39
45
|
if (!config.releaseChannelPublicId) {
|
|
40
46
|
throw new Error('Release channel is missing');
|
|
41
47
|
}
|
|
42
|
-
const sdk =
|
|
43
|
-
await sdk.reportStatusDeploy(
|
|
48
|
+
const sdk = new CodePushApiSdk(requestFetchAdapter, config);
|
|
49
|
+
await sdk.reportStatusDeploy(null, previousLabelOrAppVersion, previousReleaseChannelPublicId);
|
|
44
50
|
} else {
|
|
45
51
|
if (!statusReport.package) {
|
|
46
52
|
throw new Error('Missing package in status report');
|
|
47
53
|
}
|
|
48
54
|
const label = statusReport.package.label;
|
|
49
55
|
if (statusReport.status === 'DeploymentSucceeded') {
|
|
50
|
-
log(`Reporting CodePush update success (${label})`);
|
|
56
|
+
log(LogLevel.INFO, `Reporting CodePush update success (${label})`);
|
|
51
57
|
} else {
|
|
52
|
-
log(`Reporting CodePush update rollback (${label})`);
|
|
58
|
+
log(LogLevel.INFO, `Reporting CodePush update rollback (${label})`);
|
|
53
59
|
await NativeRNAppZungCodePushModule.setLatestRollbackInfo(statusReport.package.packageHash);
|
|
54
60
|
}
|
|
55
61
|
config.releaseChannelPublicId = statusReport.package.releaseChannelPublicId;
|
|
56
|
-
const sdk =
|
|
62
|
+
const sdk = new CodePushApiSdk(requestFetchAdapter, config);
|
|
57
63
|
await sdk.reportStatusDeploy({
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
},
|
|
64
|
+
package: statusReport.package,
|
|
65
|
+
status: statusReport.status
|
|
66
|
+
}, previousLabelOrAppVersion, previousReleaseChannelPublicId);
|
|
61
67
|
}
|
|
62
68
|
NativeRNAppZungCodePushModule.recordStatusReported(statusReport);
|
|
63
69
|
retryOnAppResume && retryOnAppResume.remove();
|
|
64
70
|
} catch (e) {
|
|
65
|
-
log(`Report status failed: ${JSON.stringify(statusReport)}`);
|
|
71
|
+
log(LogLevel.WARN, `Report status failed: ${JSON.stringify(statusReport)}`);
|
|
66
72
|
NativeRNAppZungCodePushModule.saveStatusReportForRetry(statusReport);
|
|
67
73
|
// Try again when the app resumes
|
|
68
74
|
if (!retryOnAppResume) {
|
|
@@ -70,6 +76,7 @@ async function tryReportStatus(statusReport, retryOnAppResume) {
|
|
|
70
76
|
if (newState !== 'active') return;
|
|
71
77
|
const refreshedStatusReport = await NativeRNAppZungCodePushModule.getNewStatusReport();
|
|
72
78
|
if (refreshedStatusReport) {
|
|
79
|
+
log(LogLevel.DEBUG, `tryReportStatus on active appState ${statusReport.status || '(no update)'}`);
|
|
73
80
|
tryReportStatus(refreshedStatusReport, resumeListener);
|
|
74
81
|
} else {
|
|
75
82
|
resumeListener && resumeListener.remove();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AppState","
|
|
1
|
+
{"version":3,"names":["AppState","LogLevel","CodePushApiSdk","NativeRNAppZungCodePushModule","getConfiguration","log","requestFetchAdapter","notifyAppReady","notifyApplicationReadyPromise","notifyApplicationReadyInternal","DEBUG","notifyApplicationReady","statusReport","getNewStatusReport","status","tryReportStatus","retryOnAppResume","config","previousLabelOrAppVersion","previousReleaseChannelPublicId","releaseChannelPublicId","appVersion","INFO","Error","sdk","reportStatusDeploy","package","label","setLatestRollbackInfo","packageHash","recordStatusReported","remove","e","WARN","JSON","stringify","saveStatusReportForRetry","resumeListener","addEventListener","newState","refreshedStatusReport"],"sourceRoot":"../../src","sources":["notifyAppReady.ts"],"mappings":"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","ignoreList":[]}
|