From 3209ac7ff22fc0f44ce7e869850e704d7bae77b0 Mon Sep 17 00:00:00 2001 From: Heo Sangmin Date: Wed, 26 May 2021 15:04:50 +0900 Subject: [PATCH] fix: support capacitor 3.0.0 official --- README.md | 10 ++-- dist/esm/definitions.d.ts | 6 -- dist/esm/definitions.js | 2 - dist/esm/definitions.js.map | 1 - dist/esm/httpRequester.js.map | 2 +- dist/esm/index.d.ts | 1 - dist/esm/index.js | 1 - dist/esm/index.js.map | 2 +- dist/esm/sdk.js | 2 +- dist/esm/sdk.js.map | 2 +- dist/plugin.js | 2 +- dist/plugin.js.map | 2 +- package-lock.json | 102 ++++++++++++++++------------------ package.json | 22 ++++---- src/definitions.ts | 7 --- src/httpRequester.ts | 3 +- src/index.ts | 1 - src/sdk.ts | 2 +- 18 files changed, 71 insertions(+), 99 deletions(-) delete mode 100644 dist/esm/definitions.d.ts delete mode 100644 dist/esm/definitions.js delete mode 100644 dist/esm/definitions.js.map delete mode 100644 src/definitions.ts diff --git a/README.md b/README.md index 797b688c..70425a4f 100644 --- a/README.md +++ b/README.md @@ -31,11 +31,11 @@ In order to ensure that your end users always have a functioning version of your Tested with below environment ``` -"@capacitor-community/http": "^1.0.0-alpha.1", -"@capacitor/core": "^3.0.0-beta.6", -"@capacitor/device": "^0.5.5", -"@capacitor/dialog": "^0.4.5", -"@capacitor/filesystem": "^0.5.1" +"@capacitor-community/http": "^1.0.0", +"@capacitor/core": "^3.0.0", +"@capacitor/device": "^1.0.0", +"@capacitor/dialog": "^1.0.0", +"@capacitor/filesystem": "^1.0.0" ``` Capacitor v3 is still in beta. Until major update, this plugin can be unstable. diff --git a/dist/esm/definitions.d.ts b/dist/esm/definitions.d.ts deleted file mode 100644 index fd90c6c5..00000000 --- a/dist/esm/definitions.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { NativeCodePushPlugin } from "./nativeCodePushPlugin"; -declare module "@capacitor/core" { - interface PluginRegistry { - CodePush: NativeCodePushPlugin; - } -} diff --git a/dist/esm/definitions.js b/dist/esm/definitions.js deleted file mode 100644 index 497acb52..00000000 --- a/dist/esm/definitions.js +++ /dev/null @@ -1,2 +0,0 @@ -export {}; -//# sourceMappingURL=definitions.js.map \ No newline at end of file diff --git a/dist/esm/definitions.js.map b/dist/esm/definitions.js.map deleted file mode 100644 index a8a01765..00000000 --- a/dist/esm/definitions.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/esm/httpRequester.js.map b/dist/esm/httpRequester.js.map index ecfa6172..12aabfc8 100644 --- a/dist/esm/httpRequester.js.map +++ b/dist/esm/httpRequester.js.map @@ -1 +1 @@ -{"version":3,"file":"httpRequester.js","sourceRoot":"","sources":["../../src/httpRequester.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI/D;;GAEG;AACH,MAAM,OAAO,aAAa;IAGtB,YAAY,WAAgC;QACxC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAEM,OAAO,CAAC,IAAe,EAAE,GAAW,EAAE,qBAAuD,EAAE,QAAkC;QACpI,IAAI,WAAgB,CAAC;QACrB,IAAI,eAAe,GAA4B,QAAS,CAAC;QAEzD,+BAA+B;QAC/B,IAAI,CAAC,eAAe,IAAI,OAAO,qBAAqB,KAAK,UAAU,EAAE;YACjE,eAAe,GAA4B,qBAAqB,CAAC;SACpE;QAED,4CAA4C;QAC5C,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE;YAC3C,WAAW,GAAW,qBAAqB,CAAC;SAC/C;QAED,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACjC,IAAI;gBACA,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,wCAAwC;aAClF;YAAC,OAAO,CAAC,EAAE;gBACR,aAAa;aAChB;SACJ;QAED,IAAI,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,UAAU,KAAK,IAAI,EAAE;YACrB,OAAO,eAAe,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC,CAAC;SACjE;QAED,MAAM,OAAO,GAA8B;YACvC,wBAAwB,EAAE,0BAA0B;YACpD,2BAA2B,EAAE,SAAS;YACtC,wBAAwB,EAAE,OAAO;SACpC,CAAC;QACF,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;SAC9C;QACD,MAAM,OAAO,GAAgB;YACzB,MAAM,EAAE,UAAU;YAClB,GAAG;YACH,OAAO;SACV,CAAC;QACF,IAAI,UAAU,KAAK,KAAK,EAAE;YACtB,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;SAChC;aAAM;YACH,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC;SAC9B;QACD,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAuB,EAAE,EAAE;YACzD,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxF,IAAI,QAAQ,GAAkB,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;YACrF,eAAe,IAAI,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,IAAe;QACrC,QAAQ,IAAI,EAAE;YACV;gBACI,OAAO,KAAK,CAAC;YACjB;gBACI,OAAO,QAAQ,CAAC;YACpB;gBACI,OAAO,MAAM,CAAC;YAClB;gBACI,OAAO,OAAO,CAAC;YACnB;gBACI,OAAO,MAAM,CAAC;YAClB;gBACI,OAAO,KAAK,CAAC;YACjB,mBAAqB;YACrB,qBAAuB;YACvB,qBAAuB;YACvB;gBACI,OAAO,IAAI,CAAC;SACnB;IACL,CAAC;CACJ"} \ No newline at end of file +{"version":3,"file":"httpRequester.js","sourceRoot":"","sources":["../../src/httpRequester.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG/D;;GAEG;AACH,MAAM,OAAO,aAAa;IAGtB,YAAY,WAAgC;QACxC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAEM,OAAO,CAAC,IAAe,EAAE,GAAW,EAAE,qBAAuD,EAAE,QAAkC;QACpI,IAAI,WAAgB,CAAC;QACrB,IAAI,eAAe,GAA4B,QAAS,CAAC;QAEzD,+BAA+B;QAC/B,IAAI,CAAC,eAAe,IAAI,OAAO,qBAAqB,KAAK,UAAU,EAAE;YACjE,eAAe,GAA4B,qBAAqB,CAAC;SACpE;QAED,4CAA4C;QAC5C,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE;YAC3C,WAAW,GAAW,qBAAqB,CAAC;SAC/C;QAED,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACjC,IAAI;gBACA,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,wCAAwC;aAClF;YAAC,OAAO,CAAC,EAAE;gBACR,aAAa;aAChB;SACJ;QAED,IAAI,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,UAAU,KAAK,IAAI,EAAE;YACrB,OAAO,eAAe,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC,CAAC;SACjE;QAED,MAAM,OAAO,GAA8B;YACvC,wBAAwB,EAAE,0BAA0B;YACpD,2BAA2B,EAAE,SAAS;YACtC,wBAAwB,EAAE,OAAO;SACpC,CAAC;QACF,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;SAC9C;QACD,MAAM,OAAO,GAAgB;YACzB,MAAM,EAAE,UAAU;YAClB,GAAG;YACH,OAAO;SACV,CAAC;QACF,IAAI,UAAU,KAAK,KAAK,EAAE;YACtB,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;SAChC;aAAM;YACH,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC;SAC9B;QACD,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAuB,EAAE,EAAE;YACzD,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxF,IAAI,QAAQ,GAAkB,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;YACrF,eAAe,IAAI,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,IAAe;QACrC,QAAQ,IAAI,EAAE;YACV;gBACI,OAAO,KAAK,CAAC;YACjB;gBACI,OAAO,QAAQ,CAAC;YACpB;gBACI,OAAO,MAAM,CAAC;YAClB;gBACI,OAAO,OAAO,CAAC;YACnB;gBACI,OAAO,MAAM,CAAC;YAClB;gBACI,OAAO,KAAK,CAAC;YACjB,mBAAqB;YACrB,qBAAuB;YACvB,qBAAuB;YACvB;gBACI,OAAO,IAAI,CAAC;SACnB;IACL,CAAC;CACJ"} \ No newline at end of file diff --git a/dist/esm/index.d.ts b/dist/esm/index.d.ts index 61a68405..2ca16666 100644 --- a/dist/esm/index.d.ts +++ b/dist/esm/index.d.ts @@ -1,4 +1,3 @@ -export * from "./definitions"; export * from "./codePush"; export * from "./installMode"; export * from "./installOptions"; diff --git a/dist/esm/index.js b/dist/esm/index.js index 736bb39e..ef655523 100644 --- a/dist/esm/index.js +++ b/dist/esm/index.js @@ -1,4 +1,3 @@ -export * from "./definitions"; export * from "./codePush"; export * from "./installMode"; export * from "./installOptions"; diff --git a/dist/esm/index.js.map b/dist/esm/index.js.map index 59722d3e..07d46909 100644 --- a/dist/esm/index.js.map +++ b/dist/esm/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC"} \ No newline at end of file diff --git a/dist/esm/sdk.js b/dist/esm/sdk.js index bb57883c..52bcc1fe 100644 --- a/dist/esm/sdk.js +++ b/dist/esm/sdk.js @@ -63,7 +63,7 @@ export class Sdk { deploymentKey = yield NativeAppInfo.getDeploymentKey(); } catch (e) { } - const device = yield Device.getInfo(); + const device = yield Device.getId(); Sdk.DefaultConfiguration = { deploymentKey, serverUrl, diff --git a/dist/esm/sdk.js.map b/dist/esm/sdk.js.map index a513ae12..0ea5164b 100644 --- a/dist/esm/sdk.js.map +++ b/dist/esm/sdk.js.map @@ -1 +1 @@ -{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/plugin.js b/dist/plugin.js index ecd852cc..54b78d95 100644 --- a/dist/plugin.js +++ b/dist/plugin.js @@ -537,7 +537,7 @@ var capacitorPlugin = (function (exports, acquisitionSdk, filesystem, core, http deploymentKey = yield NativeAppInfo.getDeploymentKey(); } catch (e) { } - const device$1 = yield device.Device.getInfo(); + const device$1 = yield device.Device.getId(); Sdk.DefaultConfiguration = { deploymentKey, serverUrl, diff --git a/dist/plugin.js.map b/dist/plugin.js.map index 101b0034..9069777f 100644 --- a/dist/plugin.js.map +++ b/dist/plugin.js.map @@ -1 +1 @@ -{"version":3,"file":"plugin.js","sources":["esm/codePushUtil.js","esm/installMode.js","esm/fileUtil.js","esm/nativeCodePushPlugin.js","esm/nativeAppInfo.js","esm/package.js","esm/httpRequester.js","esm/sdk.js","esm/localPackage.js","esm/remotePackage.js","esm/syncStatus.js","esm/codePush.js"],"sourcesContent":["/**\n * Callback / error / logging utilities.\n */\nexport class CodePushUtil {\n /**\n * Performs a copy of all members of fromParameter to toParameter, with the condition that they are unassigned or null in toParameter.\n */\n static copyUnassignedMembers(fromParameter, toParameter) {\n for (let key in fromParameter) {\n if (toParameter[key] === undefined || toParameter[key] === null) {\n toParameter[key] = fromParameter[key];\n }\n }\n }\n /**\n * Given two Cordova style callbacks for success and error, this function returns a node.js\n * style callback where the error is the first parameter and the result the second.\n */\n static getNodeStyleCallbackFor(successCallback, errorCallback) {\n return (error, result) => {\n if (error) {\n errorCallback && errorCallback(error);\n }\n else {\n successCallback && successCallback(result);\n }\n };\n }\n /**\n * Gets the message of an error, if any. Otherwise it returns the empty string.\n */\n static getErrorMessage(e) {\n return e && e.message || e && e.toString() || \"\";\n }\n /**\n * Logs a message using the CodePush tag.\n */\n static logMessage(msg) {\n console.log(CodePushUtil.TAG + \" \" + msg);\n }\n /**\n * Logs an error message using the CodePush tag.\n */\n static logError(message, error) {\n const errorMessage = `${message || \"\"} ${CodePushUtil.getErrorMessage(error)}`;\n const stackTrace = error && error.stack ? `. StackTrace: ${error.stack}` : \"\";\n console.error(`${CodePushUtil.TAG} ${errorMessage}${stackTrace}`);\n }\n}\n/**\n * Tag used for logging to the console.\n */\nCodePushUtil.TAG = \"[CodePush]\";\n/**\n * Logs the error to the console and then forwards it to the provided ErrorCallback, if any.\n * TODO: remove me\n */\nCodePushUtil.invokeErrorCallback = (error, errorCallback) => {\n CodePushUtil.logError(null, error);\n errorCallback && errorCallback(error);\n};\n/**\n * Logs the error to the console and then throws the error.\n */\nCodePushUtil.throwError = (error) => {\n CodePushUtil.logError(null, error);\n throw error;\n};\n//# sourceMappingURL=codePushUtil.js.map","/**\n * Defines the available install modes for updates.\n */\nexport var InstallMode;\n(function (InstallMode) {\n /**\n * The update will be applied to the running application immediately. The application will be reloaded with the new content immediately.\n */\n InstallMode[InstallMode[\"IMMEDIATE\"] = 0] = \"IMMEDIATE\";\n /**\n * The update is downloaded but not installed immediately. The new content will be available the next time the application is started.\n */\n InstallMode[InstallMode[\"ON_NEXT_RESTART\"] = 1] = \"ON_NEXT_RESTART\";\n /**\n * The udpate is downloaded but not installed immediately. The new content will be available the next time the application is resumed or restarted, whichever event happends first.\n */\n InstallMode[InstallMode[\"ON_NEXT_RESUME\"] = 2] = \"ON_NEXT_RESUME\";\n})(InstallMode || (InstallMode = {}));\n//# sourceMappingURL=installMode.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { Directory, Filesystem, Encoding } from \"@capacitor/filesystem\";\n/**\n * File utilities for CodePush.\n */\nexport class FileUtil {\n static directoryExists(directory, path) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const statResult = yield Filesystem.stat({ directory, path });\n // directory for Android, NSFileTypeDirectory for iOS\n return statResult.type === \"directory\" || statResult.type === \"NSFileTypeDirectory\";\n }\n catch (error) {\n return false;\n }\n });\n }\n static writeStringToDataFile(content, path, createIfNotExists, callback) {\n FileUtil.writeStringToFile(content, Directory.Data, path, createIfNotExists, callback);\n }\n static fileExists(directory, path) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const statResult = yield Filesystem.stat({ directory, path });\n // file for Android, NSFileTypeRegular for iOS\n return statResult.type === \"file\" || statResult.type === \"NSFileTypeRegular\";\n }\n catch (error) {\n return false;\n }\n });\n }\n /**\n * Makes sure the given directory exists and is empty.\n */\n static cleanDataDirectory(path) {\n return __awaiter(this, void 0, void 0, function* () {\n if (yield FileUtil.dataDirectoryExists(path)) {\n yield FileUtil.deleteDataDirectory(path);\n }\n yield Filesystem.mkdir({ directory: Directory.Data, path, recursive: true });\n const appDir = yield Filesystem.getUri({ directory: Directory.Data, path });\n return appDir.uri;\n });\n }\n static getUri(fsDir, path) {\n return __awaiter(this, void 0, void 0, function* () {\n const result = yield Filesystem.getUri({ directory: fsDir, path });\n return result.uri;\n });\n }\n static getDataUri(path) {\n return FileUtil.getUri(Directory.Data, path);\n }\n static dataDirectoryExists(path) {\n return FileUtil.directoryExists(Directory.Data, path);\n }\n static copyDirectoryEntriesTo(sourceDir, destinationDir, ignoreList = []) {\n return __awaiter(this, void 0, void 0, function* () {\n /*\n Native-side exception occurs while trying to copy “.DS_Store” and “__MACOSX” entries generated by macOS, so just skip them\n */\n if (ignoreList.indexOf(\".DS_Store\") === -1) {\n ignoreList.push(\".DS_Store\");\n }\n if (ignoreList.indexOf(\"__MACOSX\") === -1) {\n ignoreList.push(\"__MACOSX\");\n }\n // @capacitor/filesystem plugin throw error when destination directory already exists.\n if (yield FileUtil.directoryExists(destinationDir.directory, destinationDir.path)) {\n const { files } = yield Filesystem.readdir(sourceDir);\n for (let i = 0; i < files.length; i++) {\n const file = files[i];\n if (ignoreList.includes(file))\n continue;\n const sourcePath = sourceDir.path + \"/\" + file;\n const destPath = destinationDir.path + \"/\" + file;\n const source = Object.assign(Object.assign({}, sourceDir), { path: sourcePath });\n const destination = Object.assign(Object.assign({}, destinationDir), { path: destPath });\n if (yield FileUtil.directoryExists(source.directory, source.path)) { // is directory\n yield FileUtil.copyDirectoryEntriesTo(source, destination);\n }\n else { // is file\n yield FileUtil.copy(source, destination);\n }\n }\n }\n else {\n yield FileUtil.copy(sourceDir, destinationDir);\n }\n });\n }\n static copy(source, destination) {\n return __awaiter(this, void 0, void 0, function* () {\n yield Filesystem.copy({ directory: source.directory, from: source.path, to: destination.path, toDirectory: destination.directory });\n });\n }\n /**\n * Recursively deletes the contents of a directory.\n */\n static deleteDataDirectory(path) {\n return __awaiter(this, void 0, void 0, function* () {\n yield Filesystem.rmdir({ directory: Directory.Data, path, recursive: true }).then(() => null);\n });\n }\n /**\n * Deletes a given set of files from a directory.\n */\n static deleteEntriesFromDataDirectory(dirPath, filesToDelete) {\n return __awaiter(this, void 0, void 0, function* () {\n for (const file of filesToDelete) {\n const path = dirPath + \"/\" + file;\n const fileExists = yield FileUtil.fileExists(Directory.Data, path);\n if (!fileExists)\n continue;\n try {\n yield Filesystem.deleteFile({ directory: Directory.Data, path });\n }\n catch (error) {\n /* If delete fails, silently continue */\n console.log(\"Could not delete file: \" + path);\n }\n }\n });\n }\n /**\n * Writes a string to a file.\n */\n static writeStringToFile(data, directory, path, createIfNotExists, callback) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n yield Filesystem.writeFile({ directory, path, data, encoding: Encoding.UTF8 });\n callback(null, null);\n }\n catch (error) {\n callback(new Error(\"Could write the current package information file. Error code: \" + error.code), null);\n }\n });\n }\n static readFile(directory, path) {\n return __awaiter(this, void 0, void 0, function* () {\n const result = yield Filesystem.readFile({ directory, path, encoding: Encoding.UTF8 });\n return result.data;\n });\n }\n static readDataFile(path) {\n return FileUtil.readFile(Directory.Data, path);\n }\n}\n//# sourceMappingURL=fileUtil.js.map","// Type definitions for Apache Cordova CodePush plugin.\n// Project: https://github.com/Microsoft/cordova-plugin-code-push\n//\n// Copyright (c) Microsoft Corporation\n// All rights reserved.\n// Licensed under the MIT license.\nimport { registerPlugin } from \"@capacitor/core\";\nexport const CodePush = /*#__PURE__*/ registerPlugin(\"CodePush\");\n//# sourceMappingURL=nativeCodePushPlugin.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { CodePush as NativeCodePush } from \"./nativeCodePushPlugin\";\nconst DefaultServerUrl = \"https://codepush.appcenter.ms/\";\n/**\n * Provides information about the native app.\n */\nexport class NativeAppInfo {\n /**\n * Gets the application build timestamp.\n */\n static getApplicationBuildTime() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.getNativeBuildTime();\n return result.value;\n }\n catch (e) {\n throw new Error(\"Could not get application timestamp.\");\n }\n });\n }\n /**\n * Gets the application version.\n */\n static getApplicationVersion() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.getAppVersion();\n return result.value;\n }\n catch (e) {\n throw new Error(\"Could not get application version.\");\n }\n });\n }\n /**\n * Gets a hash of the `www` folder contents compiled in the app store binary.\n */\n static getBinaryHash() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.getBinaryHash();\n return result.value;\n }\n catch (e) {\n throw new Error(\"Could not get binary hash.\");\n }\n });\n }\n /**\n * Gets the server URL from config.xml by calling into the native platform.\n */\n static getServerURL() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.getServerURL();\n return result.value;\n }\n catch (e) {\n return DefaultServerUrl;\n }\n });\n }\n /**\n * Gets the deployment key from config.xml by calling into the native platform.\n */\n static getDeploymentKey() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.getDeploymentKey();\n return result.value;\n }\n catch (e) {\n throw new Error(\"Deployment key not found.\");\n }\n });\n }\n /**\n * Checks if a package update was previously attempted but failed for a given package hash.\n * Every reverted update is stored such that the application developer has the option to ignore\n * updates that previously failed. This way, an infinite update loop can be prevented in case of a bad update package.\n */\n static isFailedUpdate(packageHash) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.isFailedUpdate({ packageHash });\n return result.value;\n }\n catch (e) {\n /* In case of an error, return false. */\n return false;\n }\n });\n }\n /**\n * Checks if this is the first application run of a package after it has been applied.\n * The didUpdateCallback callback can be used for migrating data from the old app version to the new one.\n *\n * @param packageHash The hash value of the package.\n * @returns Whether it is the first run after an update.\n */\n static isFirstRun(packageHash) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.isFirstRun({ packageHash });\n return result.value;\n }\n catch (e) {\n /* In case of an error, return false. */\n return false;\n }\n });\n }\n /**\n * Checks with the native side if there is a pending update.\n */\n static isPendingUpdate() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.isPendingUpdate();\n return result.value;\n }\n catch (e) {\n /* In case of an error, return false. */\n return false;\n }\n });\n }\n}\n//# sourceMappingURL=nativeAppInfo.js.map","/**\n * Base class for CodePush packages.\n */\nexport class Package {\n}\n//# sourceMappingURL=package.js.map","import { Http as NativeHttp } from \"@capacitor-community/http\";\n/**\n * XMLHttpRequest-based implementation of Http.Requester.\n */\nexport class HttpRequester {\n constructor(contentType) {\n this.contentType = contentType;\n }\n request(verb, url, callbackOrRequestBody, callback) {\n var requestBody;\n var requestCallback = callback;\n // request(verb, url, callback)\n if (!requestCallback && typeof callbackOrRequestBody === \"function\") {\n requestCallback = callbackOrRequestBody;\n }\n // request(verb, url, requestBody, callback)\n if (typeof callbackOrRequestBody === \"string\") {\n requestBody = callbackOrRequestBody;\n }\n if (typeof requestBody === \"string\") {\n try {\n requestBody = JSON.parse(requestBody); // if it is stringify JSON string, parse\n }\n catch (e) {\n // do nothing\n }\n }\n var methodName = this.getHttpMethodName(verb);\n if (methodName === null) {\n return requestCallback(new Error(\"Method Not Allowed\"), null);\n }\n const headers = {\n \"X-CodePush-Plugin-Name\": \"cordova-plugin-code-push\",\n \"X-CodePush-Plugin-Version\": \"1.11.13\",\n \"X-CodePush-SDK-Version\": \"3.1.5\"\n };\n if (this.contentType) {\n headers[\"Content-Type\"] = this.contentType;\n }\n const options = {\n method: methodName,\n url,\n headers\n };\n if (methodName === \"GET\") {\n options.params = requestBody;\n }\n else {\n options.data = requestBody;\n }\n NativeHttp.request(options).then((nativeRes) => {\n if (typeof nativeRes.data === \"object\")\n nativeRes.data = JSON.stringify(nativeRes.data);\n var response = { statusCode: nativeRes.status, body: nativeRes.data };\n requestCallback && requestCallback(null, response);\n });\n }\n /**\n * Gets the HTTP method name as a string.\n * The reason for which this is needed is because the Http.Verb enum corresponds to integer values from native runtime.\n */\n getHttpMethodName(verb) {\n switch (verb) {\n case 0 /* GET */:\n return \"GET\";\n case 4 /* DELETE */:\n return \"DELETE\";\n case 1 /* HEAD */:\n return \"HEAD\";\n case 8 /* PATCH */:\n return \"PATCH\";\n case 2 /* POST */:\n return \"POST\";\n case 3 /* PUT */:\n return \"PUT\";\n case 5 /* TRACE */:\n case 6 /* OPTIONS */:\n case 7 /* CONNECT */:\n default:\n return null;\n }\n }\n}\n//# sourceMappingURL=httpRequester.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { AcquisitionManager } from \"code-push/script/acquisition-sdk\";\nimport { HttpRequester } from \"./httpRequester\";\nimport { NativeAppInfo } from \"./nativeAppInfo\";\nimport { Device } from \"@capacitor/device\";\n/**\n * Interacts with the CodePush Acquisition SDK.\n */\nexport class Sdk {\n /**\n * Reads the CodePush configuration and creates an AcquisitionManager instance using it.\n */\n static getAcquisitionManager(userDeploymentKey, contentType) {\n return __awaiter(this, void 0, void 0, function* () {\n const resolveManager = () => {\n if (userDeploymentKey !== Sdk.DefaultConfiguration.deploymentKey || contentType) {\n var customConfiguration = {\n deploymentKey: userDeploymentKey || Sdk.DefaultConfiguration.deploymentKey,\n serverUrl: Sdk.DefaultConfiguration.serverUrl,\n ignoreAppVersion: Sdk.DefaultConfiguration.ignoreAppVersion,\n appVersion: Sdk.DefaultConfiguration.appVersion,\n clientUniqueId: Sdk.DefaultConfiguration.clientUniqueId\n };\n var requester = new HttpRequester(contentType);\n var customAcquisitionManager = new AcquisitionManager(requester, customConfiguration);\n return Promise.resolve(customAcquisitionManager);\n }\n else if (Sdk.DefaultConfiguration.deploymentKey) {\n return Promise.resolve(Sdk.DefaultAcquisitionManager);\n }\n else {\n return Promise.reject(new Error(\"No deployment key provided, please provide a default one in your config.xml or specify one in the call to checkForUpdate() or sync().\"));\n }\n };\n if (Sdk.DefaultAcquisitionManager) {\n return resolveManager();\n }\n else {\n let serverUrl = null;\n try {\n serverUrl = yield NativeAppInfo.getServerURL();\n }\n catch (e) {\n throw new Error(\"Could not get the CodePush configuration. Please check your config.xml file.\");\n }\n let appVersion = null;\n try {\n appVersion = yield NativeAppInfo.getApplicationVersion();\n }\n catch (e) {\n throw new Error(\"Could not get the app version. Please check your config.xml file.\");\n }\n let deploymentKey = null;\n try {\n deploymentKey = yield NativeAppInfo.getDeploymentKey();\n }\n catch (e) { }\n const device = yield Device.getInfo();\n Sdk.DefaultConfiguration = {\n deploymentKey,\n serverUrl,\n ignoreAppVersion: false,\n appVersion,\n clientUniqueId: device.uuid\n };\n if (deploymentKey) {\n Sdk.DefaultAcquisitionManager = new AcquisitionManager(new HttpRequester(), Sdk.DefaultConfiguration);\n }\n return resolveManager();\n }\n });\n }\n /**\n * Reports the deployment status to the CodePush server.\n */\n static reportStatusDeploy(pkg, status, currentDeploymentKey, previousLabelOrAppVersion, previousDeploymentKey, callback) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const acquisitionManager = yield Sdk.getAcquisitionManager(currentDeploymentKey, \"application/json\");\n acquisitionManager.reportStatusDeploy(pkg, status, previousLabelOrAppVersion, previousDeploymentKey, callback);\n }\n catch (e) {\n callback && callback(e);\n }\n });\n }\n /**\n * Reports the download status to the CodePush server.\n */\n static reportStatusDownload(pkg, deploymentKey, callback) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const acquisitionManager = yield Sdk.getAcquisitionManager(deploymentKey, \"application/json\");\n acquisitionManager.reportStatusDownload(pkg, callback);\n }\n catch (e) {\n callback && callback(new Error(\"An error occured while reporting the download status. \" + e));\n }\n });\n }\n}\n//# sourceMappingURL=sdk.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { Directory, Filesystem } from \"@capacitor/filesystem\";\nimport { AcquisitionStatus } from \"code-push/script/acquisition-sdk\";\nimport { CodePushUtil } from \"./codePushUtil\";\nimport { FileUtil } from \"./fileUtil\";\nimport { InstallMode } from \"./installMode\";\nimport { NativeAppInfo } from \"./nativeAppInfo\";\nimport { CodePush as NativeCodePush } from \"./nativeCodePushPlugin\";\nimport { Package } from \"./package\";\nimport { Sdk } from \"./sdk\";\n/**\n * Defines a local package.\n *\n * !! THIS TYPE IS READ FROM NATIVE CODE AS WELL. ANY CHANGES TO THIS INTERFACE NEEDS TO BE UPDATED IN NATIVE CODE !!\n */\nexport class LocalPackage extends Package {\n /**\n * Applies this package to the application. The application will be reloaded with this package and on every application launch this package will be loaded.\n * On the first run after the update, the application will wait for a codePush.notifyApplicationReady() call. Once this call is made, the install operation is considered a success.\n * Otherwise, the install operation will be marked as failed, and the application is reverted to its previous version on the next run.\n *\n * @param installOptions Optional parameter used for customizing the installation behavior.\n */\n install(installOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\n try {\n CodePushUtil.logMessage(\"Installing update\");\n if (!installOptions) {\n installOptions = LocalPackage.getDefaultInstallOptions();\n }\n else {\n CodePushUtil.copyUnassignedMembers(LocalPackage.getDefaultInstallOptions(), installOptions);\n }\n var installError = (error) => {\n CodePushUtil.invokeErrorCallback(error, reject);\n Sdk.reportStatusDeploy(this, AcquisitionStatus.DeploymentFailed, this.deploymentKey);\n };\n let unzipDir;\n try {\n unzipDir = yield FileUtil.cleanDataDirectory(LocalPackage.DownloadUnzipDir);\n }\n catch (error) {\n installError(error);\n return;\n }\n try {\n yield NativeCodePush.unzip({ zipFile: this.localPath, targetDirectory: unzipDir });\n }\n catch (unzipError) {\n installError(new Error(\"Could not unzip package\" + CodePushUtil.getErrorMessage(unzipError)));\n return;\n }\n try {\n const newPackageLocation = LocalPackage.VersionsDir + \"/\" + this.packageHash;\n const deploymentResult = yield LocalPackage.handleDeployment(newPackageLocation);\n yield this.verifyPackage(deploymentResult);\n this.localPath = deploymentResult.deployDir;\n this.finishInstall(deploymentResult.deployDir, installOptions, resolve, installError);\n }\n catch (error) {\n installError(error);\n }\n }\n catch (e) {\n installError && installError(new Error(\"An error occured while installing the package. \" + CodePushUtil.getErrorMessage(e)));\n }\n }));\n });\n }\n verifyPackage(deploymentResult) {\n return new Promise((resolve, reject) => {\n var deployDir = deploymentResult.deployDir;\n var verificationFail = (error) => {\n reject(error);\n };\n var verify = (isSignatureVerificationEnabled, isSignatureAppearedInBundle, publicKey, signature) => {\n if (isSignatureVerificationEnabled) {\n if (isSignatureAppearedInBundle) {\n this.verifyHash(deployDir, this.packageHash, verificationFail, () => {\n this.verifySignature(deployDir, this.packageHash, publicKey, signature, verificationFail, resolve);\n });\n }\n else {\n var errorMessage = \"Error! Public key was provided but there is no JWT signature within app bundle to verify. \" +\n \"Possible reasons, why that might happen: \\n\" +\n \"1. You've been released CodePush bundle update using version of CodePush CLI that is not support code signing.\\n\" +\n \"2. You've been released CodePush bundle update without providing --privateKeyPath option.\";\n reject(new Error(errorMessage));\n }\n }\n else {\n if (isSignatureAppearedInBundle) {\n CodePushUtil.logMessage(\"Warning! JWT signature exists in codepush update but code integrity check couldn't be performed because there is no public key configured. \" +\n \"Please ensure that public key is properly configured within your application.\");\n // verifyHash\n this.verifyHash(deployDir, this.packageHash, verificationFail, resolve);\n }\n else {\n if (deploymentResult.isDiffUpdate) {\n // verifyHash\n this.verifyHash(deployDir, this.packageHash, verificationFail, resolve);\n }\n else {\n resolve();\n }\n }\n }\n };\n if (deploymentResult.isDiffUpdate) {\n CodePushUtil.logMessage(\"Applying diff update\");\n }\n else {\n CodePushUtil.logMessage(\"Applying full update\");\n }\n var isSignatureVerificationEnabled, isSignatureAppearedInBundle;\n var publicKey;\n this.getPublicKey((error, publicKeyResult) => {\n if (error) {\n reject(new Error(\"Error reading public key. \" + error));\n return;\n }\n publicKey = publicKeyResult;\n isSignatureVerificationEnabled = !!publicKey;\n this.getSignatureFromUpdate(deploymentResult.deployDir, (error, signature) => {\n if (error) {\n reject(new Error(\"Error reading signature from update. \" + error));\n return;\n }\n isSignatureAppearedInBundle = !!signature;\n verify(isSignatureVerificationEnabled, isSignatureAppearedInBundle, publicKey, signature);\n });\n });\n });\n }\n getPublicKey(callback) {\n var success = (publicKey) => {\n callback(null, publicKey);\n };\n var fail = (error) => {\n callback(error, null);\n };\n NativeCodePush.getPublicKey().then(result => success(result.value || null), fail);\n }\n getSignatureFromUpdate(deployDir, callback) {\n return __awaiter(this, void 0, void 0, function* () {\n const filePath = deployDir + \"/www/.codepushrelease\";\n if (!(yield FileUtil.fileExists(Directory.Data, filePath))) {\n // signature absents in the bundle\n callback(null, null);\n return;\n }\n try {\n const signature = yield FileUtil.readFile(Directory.Data, filePath);\n callback(null, signature);\n }\n catch (error) {\n // error reading signature file from bundle\n callback(error, null);\n }\n });\n }\n verifyHash(deployDir, newUpdateHash, errorCallback, successCallback) {\n var packageHashSuccess = (computedHash) => {\n if (computedHash !== newUpdateHash) {\n errorCallback(new Error(\"The update contents failed the data integrity check.\"));\n return;\n }\n CodePushUtil.logMessage(\"The update contents succeeded the data integrity check.\");\n successCallback();\n };\n var packageHashFail = (error) => {\n errorCallback(new Error(\"Unable to compute hash for package: \" + error));\n };\n CodePushUtil.logMessage(\"Verifying hash for folder path: \" + deployDir);\n NativeCodePush.getPackageHash({ path: deployDir }).then(result => packageHashSuccess(result.value), packageHashFail);\n }\n verifySignature(deployDir, newUpdateHash, publicKey, signature, errorCallback, successCallback) {\n var decodeSignatureSuccess = (contentHash) => {\n if (contentHash !== newUpdateHash) {\n errorCallback(new Error(\"The update contents failed the code signing check.\"));\n return;\n }\n CodePushUtil.logMessage(\"The update contents succeeded the code signing check.\");\n successCallback();\n };\n var decodeSignatureFail = (error) => {\n errorCallback(new Error(\"Unable to verify signature for package: \" + error));\n };\n CodePushUtil.logMessage(\"Verifying signature for folder path: \" + deployDir);\n NativeCodePush.decodeSignature({ publicKey, signature }).then(result => decodeSignatureSuccess(result.value), decodeSignatureFail);\n }\n finishInstall(deployDir, installOptions, installSuccess, installError) {\n function backupPackageInformationFileIfNeeded(backupIfNeededDone) {\n return __awaiter(this, void 0, void 0, function* () {\n const pendingUpdate = yield NativeAppInfo.isPendingUpdate();\n if (pendingUpdate) {\n // Don't back up the currently installed update since it hasn't been \"confirmed\"\n backupIfNeededDone(null, null);\n }\n else {\n try {\n yield LocalPackage.backupPackageInformationFile();\n backupIfNeededDone(null, null);\n }\n catch (err) {\n backupIfNeededDone(err, null);\n }\n }\n });\n }\n LocalPackage.getCurrentOrDefaultPackage().then((oldPackage) => {\n backupPackageInformationFileIfNeeded((backupError) => {\n /* continue on error, current package information is missing if this is the first update */\n this.writeNewPackageMetadata().then(() => {\n var invokeSuccessAndInstall = () => {\n CodePushUtil.logMessage(\"Install succeeded.\");\n var installModeToUse = this.isMandatory ? installOptions.mandatoryInstallMode : installOptions.installMode;\n if (installModeToUse === InstallMode.IMMEDIATE) {\n /* invoke success before navigating */\n installSuccess && installSuccess(installModeToUse);\n /* no need for callbacks, the javascript context will reload */\n NativeCodePush.install({\n startLocation: deployDir,\n installMode: installModeToUse,\n minimumBackgroundDuration: installOptions.minimumBackgroundDuration\n });\n }\n else {\n NativeCodePush.install({\n startLocation: deployDir,\n installMode: installModeToUse,\n minimumBackgroundDuration: installOptions.minimumBackgroundDuration\n }).then(() => { installSuccess && installSuccess(installModeToUse); }, () => { installError && installError(); });\n }\n };\n var preInstallSuccess = () => {\n /* package will be cleaned up after success, on the native side */\n invokeSuccessAndInstall();\n };\n var preInstallFailure = (preInstallError) => {\n CodePushUtil.logError(\"Preinstall failure.\", preInstallError);\n var error = new Error(\"An error has occured while installing the package. \" + CodePushUtil.getErrorMessage(preInstallError));\n installError && installError(error);\n };\n NativeCodePush.preInstall({ startLocation: deployDir }).then(preInstallSuccess, preInstallFailure);\n }, (writeMetadataError) => {\n installError && installError(writeMetadataError);\n });\n });\n }, installError);\n }\n static handleDeployment(newPackageLocation) {\n return __awaiter(this, void 0, void 0, function* () {\n const manifestFile = {\n directory: Directory.Data,\n path: LocalPackage.DownloadUnzipDir + \"/\" + LocalPackage.DiffManifestFile\n };\n const isDiffUpdate = yield FileUtil.fileExists(manifestFile.directory, manifestFile.path);\n if (!(yield FileUtil.directoryExists(Directory.Data, LocalPackage.VersionsDir))) {\n // If directory not exists, create recursive folder\n yield Filesystem.mkdir({\n path: LocalPackage.VersionsDir,\n directory: Directory.Data,\n recursive: true\n });\n }\n if (isDiffUpdate) {\n yield LocalPackage.handleDiffDeployment(newPackageLocation, manifestFile);\n }\n else {\n yield LocalPackage.handleCleanDeployment(newPackageLocation);\n }\n return { deployDir: newPackageLocation, isDiffUpdate };\n });\n }\n writeNewPackageMetadata() {\n return __awaiter(this, void 0, void 0, function* () {\n const timestamp = yield NativeAppInfo.getApplicationBuildTime().catch(buildTimeError => {\n CodePushUtil.logError(\"Could not get application build time. \" + buildTimeError);\n });\n const appVersion = yield NativeAppInfo.getApplicationVersion().catch(appVersionError => {\n CodePushUtil.logError(\"Could not get application version.\" + appVersionError);\n });\n const currentPackageMetadata = {\n nativeBuildTime: timestamp,\n localPath: this.localPath,\n appVersion: appVersion,\n deploymentKey: this.deploymentKey,\n description: this.description,\n isMandatory: this.isMandatory,\n packageSize: this.packageSize,\n label: this.label,\n packageHash: this.packageHash,\n isFirstRun: false,\n failedInstall: false,\n install: undefined\n };\n return new Promise((resolve, reject) => {\n LocalPackage.writeCurrentPackageInformation(currentPackageMetadata, error => error ? reject(error) : resolve());\n });\n });\n }\n static handleCleanDeployment(newPackageLocation) {\n return __awaiter(this, void 0, void 0, function* () {\n // no diff manifest\n const source = { directory: Directory.Data, path: LocalPackage.DownloadUnzipDir };\n const target = { directory: Directory.Data, path: newPackageLocation };\n // TODO: create destination directory if it doesn't exist\n return FileUtil.copyDirectoryEntriesTo(source, target);\n });\n }\n static copyCurrentPackage(newPackageLocation, ignoreList) {\n return __awaiter(this, void 0, void 0, function* () {\n const currentPackagePath = yield new Promise(resolve => {\n LocalPackage.getPackage(LocalPackage.PackageInfoFile, (currentPackage) => resolve(currentPackage.localPath), () => resolve());\n });\n newPackageLocation = currentPackagePath ? newPackageLocation : newPackageLocation + \"/www\";\n // https://github.com/ionic-team/capacitor/pull/2514 Directory.Application variable was removed. (TODO - for check)\n const source = currentPackagePath ? { directory: Directory.Data, path: currentPackagePath } : { directory: Directory.Data, path: \"www\" };\n const target = { directory: Directory.Data, path: newPackageLocation };\n return FileUtil.copyDirectoryEntriesTo(source, target, ignoreList);\n });\n }\n static handleDiffDeployment(newPackageLocation, diffManifest) {\n return __awaiter(this, void 0, void 0, function* () {\n let manifest;\n try {\n yield LocalPackage.copyCurrentPackage(newPackageLocation, [\".codepushrelease\"]);\n yield LocalPackage.handleCleanDeployment(newPackageLocation);\n /* delete files mentioned in the manifest */\n const content = yield FileUtil.readFile(diffManifest.directory, diffManifest.path);\n manifest = JSON.parse(content);\n yield FileUtil.deleteEntriesFromDataDirectory(newPackageLocation, manifest.deletedFiles);\n }\n catch (error) {\n throw new Error(\"Cannot perform diff-update.\");\n }\n });\n }\n /**\n * Writes the given local package information to the current package information file.\n * @param packageInfoMetadata The object to serialize.\n * @param callback In case of an error, this function will be called with the error as the fist parameter.\n */\n static writeCurrentPackageInformation(packageInfoMetadata, callback) {\n var content = JSON.stringify(packageInfoMetadata);\n FileUtil.writeStringToDataFile(content, LocalPackage.RootDir + \"/\" + LocalPackage.PackageInfoFile, true, callback);\n }\n /**\n * Backs up the current package information to the old package information file.\n * This file is used for recovery in case of an update going wrong.\n * @param callback In case of an error, this function will be called with the error as the fist parameter.\n */\n static backupPackageInformationFile() {\n return __awaiter(this, void 0, void 0, function* () {\n const source = {\n directory: Directory.Data,\n path: LocalPackage.RootDir + \"/\" + LocalPackage.PackageInfoFile\n };\n const destination = {\n directory: Directory.Data,\n path: LocalPackage.RootDir + \"/\" + LocalPackage.OldPackageInfoFile\n };\n return FileUtil.copy(source, destination);\n });\n }\n /**\n * Get the previous package information.\n *\n * @param packageSuccess Callback invoked with the old package information.\n * @param packageError Optional callback invoked in case of an error.\n */\n static getOldPackage(packageSuccess, packageError) {\n LocalPackage.getPackage(LocalPackage.OldPackageInfoFile, packageSuccess, packageError);\n }\n /**\n * Reads package information from a given file.\n *\n * @param packageFile The package file name.\n * @param packageSuccess Callback invoked with the package information.\n * @param packageError Optional callback invoked in case of an error.\n */\n static getPackage(packageFile, packageSuccess, packageError) {\n return __awaiter(this, void 0, void 0, function* () {\n var handleError = (e) => {\n packageError && packageError(new Error(\"Cannot read package information. \" + CodePushUtil.getErrorMessage(e)));\n };\n try {\n const content = yield FileUtil.readDataFile(LocalPackage.RootDir + \"/\" + packageFile);\n const packageInfo = JSON.parse(content);\n LocalPackage.getLocalPackageFromMetadata(packageInfo).then(packageSuccess, packageError);\n }\n catch (e) {\n handleError(e);\n }\n });\n }\n static getLocalPackageFromMetadata(metadata) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!metadata) {\n throw new Error(\"Invalid package metadata.\");\n }\n const installFailed = yield NativeAppInfo.isFailedUpdate(metadata.packageHash);\n const isFirstRun = yield NativeAppInfo.isFirstRun(metadata.packageHash);\n const localPackage = new LocalPackage();\n localPackage.appVersion = metadata.appVersion;\n localPackage.deploymentKey = metadata.deploymentKey;\n localPackage.description = metadata.description;\n localPackage.isMandatory = metadata.isMandatory;\n localPackage.failedInstall = installFailed;\n localPackage.isFirstRun = isFirstRun;\n localPackage.label = metadata.label;\n localPackage.localPath = metadata.localPath;\n localPackage.packageHash = metadata.packageHash;\n localPackage.packageSize = metadata.packageSize;\n return localPackage;\n });\n }\n static getCurrentOrDefaultPackage() {\n return LocalPackage.getPackageInfoOrDefault(LocalPackage.PackageInfoFile);\n }\n static getOldOrDefaultPackage() {\n return __awaiter(this, void 0, void 0, function* () {\n return LocalPackage.getPackageInfoOrDefault(LocalPackage.OldPackageInfoFile);\n });\n }\n static getPackageInfoOrDefault(packageFile) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => {\n const packageFailure = () => __awaiter(this, void 0, void 0, function* () {\n /**\n * For the default package we need the app version,\n * and ideally the hash of the binary contents.\n */\n let appVersion;\n try {\n appVersion = yield NativeAppInfo.getApplicationVersion();\n }\n catch (appVersionError) {\n CodePushUtil.logError(\"Could not get application version.\" + appVersionError);\n reject(appVersionError);\n return;\n }\n const defaultPackage = new LocalPackage();\n defaultPackage.appVersion = appVersion;\n try {\n defaultPackage.packageHash = yield NativeAppInfo.getBinaryHash();\n }\n catch (binaryHashError) {\n CodePushUtil.logError(\"Could not get binary hash.\" + binaryHashError);\n }\n resolve(defaultPackage);\n });\n LocalPackage.getPackage(packageFile, resolve, packageFailure);\n });\n });\n }\n static getPackageInfoOrNull(packageFile, packageSuccess, packageError) {\n LocalPackage.getPackage(packageFile, packageSuccess, packageSuccess.bind(null, null));\n }\n /**\n * Returns the default options for the CodePush install operation.\n * If the options are not defined yet, the static DefaultInstallOptions member will be instantiated.\n */\n static getDefaultInstallOptions() {\n if (!LocalPackage.DefaultInstallOptions) {\n LocalPackage.DefaultInstallOptions = {\n installMode: InstallMode.ON_NEXT_RESTART,\n minimumBackgroundDuration: 0,\n mandatoryInstallMode: InstallMode.IMMEDIATE\n };\n }\n return LocalPackage.DefaultInstallOptions;\n }\n}\nLocalPackage.RootDir = \"codepush\";\nLocalPackage.DownloadDir = LocalPackage.RootDir + \"/download\";\nLocalPackage.DownloadUnzipDir = LocalPackage.DownloadDir + \"/unzipped\";\nLocalPackage.DeployDir = LocalPackage.RootDir + \"/deploy\";\nLocalPackage.VersionsDir = LocalPackage.DeployDir + \"/versions\";\nLocalPackage.PackageUpdateFileName = \"update.zip\";\nLocalPackage.PackageInfoFile = \"currentPackage.json\";\nLocalPackage.OldPackageInfoFile = \"oldPackage.json\";\nLocalPackage.DiffManifestFile = \"hotcodepush.json\";\n//# sourceMappingURL=localPackage.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { CodePushUtil } from \"./codePushUtil\";\nimport { LocalPackage } from \"./localPackage\";\nimport { NativeAppInfo } from \"./nativeAppInfo\";\nimport { Package } from \"./package\";\nimport { Sdk } from \"./sdk\";\nimport { Directory, Filesystem } from \"@capacitor/filesystem\";\nimport { FileUtil } from \"./fileUtil\";\nimport { Http } from \"@capacitor-community/http\";\n/**\n * Defines a remote package, which represents an update package available for download.\n */\nexport class RemotePackage extends Package {\n constructor() {\n super(...arguments);\n this.isDownloading = false;\n }\n /**\n * Downloads the package update from the CodePush service.\n * TODO: implement download progress\n *\n * @param downloadProgress Optional callback invoked during the download process. It is called several times with one DownloadProgress parameter.\n */\n download(downloadProgress) {\n return __awaiter(this, void 0, void 0, function* () {\n CodePushUtil.logMessage(\"Downloading update\");\n if (!this.downloadUrl) {\n CodePushUtil.throwError(new Error(\"The remote package does not contain a download URL.\"));\n }\n this.isDownloading = true;\n const file = LocalPackage.DownloadDir + \"/\" + LocalPackage.PackageUpdateFileName;\n const fullPath = yield FileUtil.getUri(Directory.Data, file);\n try {\n // create directory if not exists\n if (!(yield FileUtil.directoryExists(Directory.Data, LocalPackage.DownloadDir))) {\n yield Filesystem.mkdir({\n path: LocalPackage.DownloadDir,\n directory: Directory.Data,\n recursive: true,\n });\n }\n // delete file if it exists\n if (yield FileUtil.fileExists(Directory.Data, file)) {\n yield Filesystem.deleteFile({ directory: Directory.Data, path: file });\n }\n yield Http.downloadFile({\n url: this.downloadUrl,\n method: \"GET\",\n filePath: file,\n fileDirectory: Directory.Data,\n responseType: \"blob\"\n });\n }\n catch (e) {\n CodePushUtil.throwError(new Error(\"An error occured while downloading the package. \" + (e && e.message) ? e.message : \"\"));\n }\n finally {\n this.isDownloading = false;\n }\n const installFailed = yield NativeAppInfo.isFailedUpdate(this.packageHash);\n const localPackage = new LocalPackage();\n localPackage.deploymentKey = this.deploymentKey;\n localPackage.description = this.description;\n localPackage.label = this.label;\n localPackage.appVersion = this.appVersion;\n localPackage.isMandatory = this.isMandatory;\n localPackage.packageHash = this.packageHash;\n localPackage.isFirstRun = false;\n localPackage.failedInstall = installFailed;\n localPackage.localPath = fullPath;\n CodePushUtil.logMessage(\"Package download success: \" + JSON.stringify(localPackage));\n Sdk.reportStatusDownload(localPackage, localPackage.deploymentKey);\n return localPackage;\n });\n }\n /**\n * Aborts the current download session, previously started with download().\n */\n abortDownload() {\n return __awaiter(this, void 0, void 0, function* () {\n // TODO: implement download abort\n return new Promise((resolve) => {\n this.isDownloading = false;\n resolve();\n });\n });\n }\n}\n//# sourceMappingURL=remotePackage.js.map","/**\n * Defines the possible result and intermediate statuses of the window.codePush.sync operation.\n * The result statuses are final, mutually exclusive statuses of the sync operation. The operation will end with only one of the possible result statuses.\n * The intermediate statuses are not final, one or more of them can happen before sync ends, based on the options you use and user interaction.\n *\n * NOTE: Adding new statuses or changing old statuses requires an update to CodePush.sync(), which must know which callbacks are results and which are not!\n * Also, don't forget to change the TestMessage module in ServerUtils!\n * AND THE codePush.d.ts (typings) file!!!\n */\nexport var SyncStatus;\n(function (SyncStatus) {\n /**\n * Result status - the application is up to date.\n */\n SyncStatus[SyncStatus[\"UP_TO_DATE\"] = 0] = \"UP_TO_DATE\";\n /**\n * Result status - an update is available, it has been downloaded, unzipped and copied to the deployment folder.\n * After the completion of the callback invoked with SyncStatus.UPDATE_INSTALLED, the application will be reloaded with the updated code and resources.\n */\n SyncStatus[SyncStatus[\"UPDATE_INSTALLED\"] = 1] = \"UPDATE_INSTALLED\";\n /**\n * Result status - an optional update is available, but the user declined to install it. The update was not downloaded.\n */\n SyncStatus[SyncStatus[\"UPDATE_IGNORED\"] = 2] = \"UPDATE_IGNORED\";\n /**\n * Result status - an error happened during the sync operation. This might be an error while communicating with the server, downloading or unziping the update.\n * The console logs should contain more information about what happened. No update has been applied in this case.\n */\n SyncStatus[SyncStatus[\"ERROR\"] = 3] = \"ERROR\";\n /**\n * Result status - there is an ongoing sync in progress, so this attempt to sync has been aborted.\n */\n SyncStatus[SyncStatus[\"IN_PROGRESS\"] = 4] = \"IN_PROGRESS\";\n /**\n * Intermediate status - the plugin is about to check for updates.\n */\n SyncStatus[SyncStatus[\"CHECKING_FOR_UPDATE\"] = 5] = \"CHECKING_FOR_UPDATE\";\n /**\n * Intermediate status - a user dialog is about to be displayed. This status will be reported only if user interaction is enabled.\n */\n SyncStatus[SyncStatus[\"AWAITING_USER_ACTION\"] = 6] = \"AWAITING_USER_ACTION\";\n /**\n * Intermediate status - the update packages is about to be downloaded.\n */\n SyncStatus[SyncStatus[\"DOWNLOADING_PACKAGE\"] = 7] = \"DOWNLOADING_PACKAGE\";\n /**\n * Intermediate status - the update package is about to be installed.\n */\n SyncStatus[SyncStatus[\"INSTALLING_UPDATE\"] = 8] = \"INSTALLING_UPDATE\";\n})(SyncStatus || (SyncStatus = {}));\n//# sourceMappingURL=syncStatus.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { AcquisitionStatus } from \"code-push/script/acquisition-sdk\";\nimport { CodePushUtil } from \"./codePushUtil\";\nimport { InstallMode } from \"./installMode\";\nimport { LocalPackage } from \"./localPackage\";\nimport { NativeAppInfo } from \"./nativeAppInfo\";\nimport { CodePush as NativeCodePush } from \"./nativeCodePushPlugin\";\nimport { RemotePackage } from \"./remotePackage\";\nimport { Sdk } from \"./sdk\";\nimport { SyncStatus } from \"./syncStatus\";\nimport { Dialog } from \"@capacitor/dialog\";\n/**\n * This is the entry point to Cordova CodePush SDK.\n * It provides the following features to the app developer:\n * - polling the server for new versions of the app\n * - notifying the plugin that the application loaded successfully after an update\n * - getting information about the currently deployed package\n */\nclass CodePush {\n /**\n * Notifies the plugin that the update operation succeeded and that the application is ready.\n * Calling this function is required on the first run after an update. On every subsequent application run, calling this function is a noop.\n * If using sync API, calling this function is not required since sync calls it internally.\n */\n notifyApplicationReady() {\n return NativeCodePush.notifyApplicationReady();\n }\n /**\n * Reloads the application. If there is a pending update package installed using ON_NEXT_RESTART or ON_NEXT_RESUME modes, the update\n * will be immediately visible to the user. Otherwise, calling this function will simply reload the current version of the application.\n */\n restartApplication() {\n return NativeCodePush.restartApplication();\n }\n /**\n * Reports an application status back to the server.\n * !!! This function is called from the native side, please make changes accordingly. !!!\n */\n reportStatus(status, label, appVersion, deploymentKey, lastVersionLabelOrAppVersion, lastVersionDeploymentKey) {\n if (((!label && appVersion === lastVersionLabelOrAppVersion) || label === lastVersionLabelOrAppVersion)\n && deploymentKey === lastVersionDeploymentKey) {\n // No-op since the new appVersion and label is exactly the same as the previous\n // (the app might have been updated via a direct or HockeyApp deployment).\n return;\n }\n var createPackageForReporting = (label, appVersion) => {\n return {\n /* The SDK only reports the label and appVersion.\n The rest of the properties are added for type safety. */\n label, appVersion, deploymentKey,\n description: null, isMandatory: false,\n packageHash: null, packageSize: null,\n failedInstall: false\n };\n };\n var reportDone = (error) => {\n var reportArgs = {\n status,\n label,\n appVersion,\n deploymentKey,\n lastVersionLabelOrAppVersion,\n lastVersionDeploymentKey\n };\n if (error) {\n CodePushUtil.logError(`An error occurred while reporting status: ${JSON.stringify(reportArgs)}`, error);\n NativeCodePush.reportFailed({ statusReport: reportArgs });\n }\n else {\n CodePushUtil.logMessage(`Reported status: ${JSON.stringify(reportArgs)}`);\n NativeCodePush.reportSucceeded({ statusReport: reportArgs });\n }\n };\n switch (status) {\n case ReportStatus.STORE_VERSION:\n Sdk.reportStatusDeploy(null, AcquisitionStatus.DeploymentSucceeded, deploymentKey, lastVersionLabelOrAppVersion, lastVersionDeploymentKey, reportDone);\n break;\n case ReportStatus.UPDATE_CONFIRMED:\n Sdk.reportStatusDeploy(createPackageForReporting(label, appVersion), AcquisitionStatus.DeploymentSucceeded, deploymentKey, lastVersionLabelOrAppVersion, lastVersionDeploymentKey, reportDone);\n break;\n case ReportStatus.UPDATE_ROLLED_BACK:\n Sdk.reportStatusDeploy(createPackageForReporting(label, appVersion), AcquisitionStatus.DeploymentFailed, deploymentKey, lastVersionLabelOrAppVersion, lastVersionDeploymentKey, reportDone);\n break;\n }\n }\n /**\n * Get the current package information.\n *\n * @returns The currently deployed package information.\n */\n getCurrentPackage() {\n return __awaiter(this, void 0, void 0, function* () {\n const pendingUpdate = yield NativeAppInfo.isPendingUpdate();\n var packageInfoFile = pendingUpdate ? LocalPackage.OldPackageInfoFile : LocalPackage.PackageInfoFile;\n return new Promise((resolve, reject) => {\n LocalPackage.getPackageInfoOrNull(packageInfoFile, resolve, reject);\n });\n });\n }\n /**\n * Gets the pending package information, if any. A pending package is one that has been installed but the application still runs the old code.\n * This happends only after a package has been installed using ON_NEXT_RESTART or ON_NEXT_RESUME mode, but the application was not restarted/resumed yet.\n */\n getPendingPackage() {\n return __awaiter(this, void 0, void 0, function* () {\n const pendingUpdate = yield NativeAppInfo.isPendingUpdate();\n if (!pendingUpdate)\n return null;\n return new Promise((resolve, reject) => {\n LocalPackage.getPackageInfoOrNull(LocalPackage.PackageInfoFile, resolve, reject);\n });\n });\n }\n /**\n * Checks with the CodePush server if an update package is available for download.\n *\n * @param querySuccess Callback invoked in case of a successful response from the server.\n * The callback takes one RemotePackage parameter. A non-null package is a valid update.\n * A null package means the application is up to date for the current native application version.\n * @param queryError Optional callback invoked in case of an error.\n * @param deploymentKey Optional deployment key that overrides the config.xml setting.\n */\n checkForUpdate(querySuccess, queryError, deploymentKey) {\n try {\n var callback = (error, remotePackageOrUpdateNotification) => __awaiter(this, void 0, void 0, function* () {\n if (error) {\n CodePushUtil.invokeErrorCallback(error, queryError);\n }\n else {\n var appUpToDate = () => {\n CodePushUtil.logMessage(\"App is up to date.\");\n querySuccess && querySuccess(null);\n };\n if (remotePackageOrUpdateNotification) {\n if (remotePackageOrUpdateNotification.updateAppVersion) {\n /* There is an update available for a different version. In the current version of the plugin, we treat that as no update. */\n CodePushUtil.logMessage(\"An update is available, but it is targeting a newer binary version than you are currently running.\");\n appUpToDate();\n }\n else {\n /* There is an update available for the current version. */\n var remotePackage = remotePackageOrUpdateNotification;\n const installFailed = yield NativeAppInfo.isFailedUpdate(remotePackage.packageHash);\n var result = new RemotePackage();\n result.appVersion = remotePackage.appVersion;\n result.deploymentKey = deploymentKey; // server does not send back the deployment key\n result.description = remotePackage.description;\n result.downloadUrl = remotePackage.downloadUrl;\n result.isMandatory = remotePackage.isMandatory;\n result.label = remotePackage.label;\n result.packageHash = remotePackage.packageHash;\n result.packageSize = remotePackage.packageSize;\n result.failedInstall = installFailed;\n CodePushUtil.logMessage(\"An update is available. \" + JSON.stringify(result));\n querySuccess && querySuccess(result);\n }\n }\n else {\n appUpToDate();\n }\n }\n });\n var queryUpdate = () => __awaiter(this, void 0, void 0, function* () {\n try {\n const acquisitionManager = yield Sdk.getAcquisitionManager(deploymentKey);\n LocalPackage.getCurrentOrDefaultPackage().then((localPackage) => __awaiter(this, void 0, void 0, function* () {\n try {\n const currentBinaryVersion = yield NativeAppInfo.getApplicationVersion();\n localPackage.appVersion = currentBinaryVersion;\n }\n catch (e) {\n }\n CodePushUtil.logMessage(\"Checking for update.\");\n acquisitionManager.queryUpdateWithCurrentPackage(localPackage, callback);\n }), (error) => {\n CodePushUtil.invokeErrorCallback(error, queryError);\n });\n }\n catch (e) {\n CodePushUtil.invokeErrorCallback(e, queryError);\n }\n });\n if (deploymentKey) {\n queryUpdate();\n }\n else {\n NativeAppInfo.getDeploymentKey().then(defaultDeploymentKey => {\n deploymentKey = defaultDeploymentKey;\n queryUpdate();\n }, deploymentKeyError => {\n CodePushUtil.invokeErrorCallback(deploymentKeyError, queryError);\n });\n }\n }\n catch (e) {\n CodePushUtil.invokeErrorCallback(new Error(\"An error occurred while querying for updates.\" + CodePushUtil.getErrorMessage(e)), queryError);\n }\n }\n /**\n * Convenience method for installing updates in one method call.\n * This method is provided for simplicity, and its behavior can be replicated by using window.codePush.checkForUpdate(), RemotePackage's download() and LocalPackage's install() methods.\n * If another sync is already running, it yields SyncStatus.IN_PROGRESS.\n *\n * The algorithm of this method is the following:\n * - Checks for an update on the CodePush server.\n * - If an update is available\n * - If the update is mandatory and the alertMessage is set in options, the user will be informed that the application will be updated to the latest version.\n * The update package will then be downloaded and applied.\n * - If the update is not mandatory and the confirmMessage is set in options, the user will be asked if they want to update to the latest version.\n * If they decline, the syncCallback will be invoked with SyncStatus.UPDATE_IGNORED.\n * - Otherwise, the update package will be downloaded and applied with no user interaction.\n * - If no update is available on the server, the syncCallback will be invoked with the SyncStatus.UP_TO_DATE.\n * - If an error occurs during checking for update, downloading or installing it, the syncCallback will be invoked with the SyncStatus.ERROR.\n *\n * @param syncCallback Optional callback to be called with the status of the sync operation.\n * The callback will be called only once, and the possible statuses are defined by the SyncStatus enum.\n * @param syncOptions Optional SyncOptions parameter configuring the behavior of the sync operation.\n * @param downloadProgress Optional callback invoked during the download process. It is called several times with one DownloadProgress parameter.\n * @param syncErrback Optional errback invoked if an error occurs. The callback will be called only once\n *\n */\n sync(syncOptions, downloadProgress) {\n return __awaiter(this, void 0, void 0, function* () {\n /* Check if a sync is already in progress */\n if (CodePush.SyncInProgress) {\n /* A sync is already in progress */\n CodePushUtil.logMessage(\"Sync already in progress.\");\n return SyncStatus.IN_PROGRESS;\n }\n return new Promise((resolve, reject) => {\n /* Create a callback that resets the SyncInProgress flag when the sync is complete\n * If the sync status is a result status, then the sync must be complete and the flag must be updated\n * Otherwise, do not change the flag and trigger the syncCallback as usual\n */\n var syncCallbackAndUpdateSyncInProgress = (err, result) => {\n switch (result) {\n case SyncStatus.ERROR:\n case SyncStatus.IN_PROGRESS:\n case SyncStatus.UP_TO_DATE:\n case SyncStatus.UPDATE_IGNORED:\n case SyncStatus.UPDATE_INSTALLED:\n /* The sync has completed */\n CodePush.SyncInProgress = false;\n break;\n default:\n /* The sync is not yet complete, so do nothing */\n break;\n }\n if (err) {\n reject(err);\n }\n resolve(result);\n };\n /* Begin the sync */\n CodePush.SyncInProgress = true;\n this.syncInternal(syncCallbackAndUpdateSyncInProgress, syncOptions, downloadProgress);\n });\n });\n }\n /**\n * Convenience method for installing updates in one method call.\n * This method is provided for simplicity, and its behavior can be replicated by using window.codePush.checkForUpdate(), RemotePackage's download() and LocalPackage's install() methods.\n *\n * A helper function for the sync function. It does not check if another sync is ongoing.\n *\n * @param syncCallback Optional callback to be called with the status of the sync operation.\n * The callback will be called only once, and the possible statuses are defined by the SyncStatus enum.\n * @param syncOptions Optional SyncOptions parameter configuring the behavior of the sync operation.\n * @param downloadProgress Optional callback invoked during the download process. It is called several times with one DownloadProgress parameter.\n *\n */\n syncInternal(syncCallback, syncOptions, downloadProgress) {\n /* No options were specified, use default */\n if (!syncOptions) {\n syncOptions = this.getDefaultSyncOptions();\n }\n else {\n /* Some options were specified */\n /* Handle dialog options */\n var defaultDialogOptions = this.getDefaultUpdateDialogOptions();\n if (syncOptions.updateDialog) {\n if (typeof syncOptions.updateDialog !== typeof ({})) {\n /* updateDialog set to truey condition, use default options */\n syncOptions.updateDialog = defaultDialogOptions;\n }\n else {\n /* some options were specified, merge with default */\n CodePushUtil.copyUnassignedMembers(defaultDialogOptions, syncOptions.updateDialog);\n }\n }\n /* Handle other options. Dialog options will not be overwritten. */\n var defaultOptions = this.getDefaultSyncOptions();\n CodePushUtil.copyUnassignedMembers(defaultOptions, syncOptions);\n }\n this.notifyApplicationReady();\n var onError = (error) => {\n CodePushUtil.logError(\"An error occurred during sync.\", error);\n syncCallback && syncCallback(error, SyncStatus.ERROR);\n };\n var onInstallSuccess = (appliedWhen) => {\n switch (appliedWhen) {\n case InstallMode.ON_NEXT_RESTART:\n CodePushUtil.logMessage(\"Update is installed and will be run on the next app restart.\");\n break;\n case InstallMode.ON_NEXT_RESUME:\n if (syncOptions.minimumBackgroundDuration > 0) {\n CodePushUtil.logMessage(`Update is installed and will be run after the app has been in the background for at least ${syncOptions.minimumBackgroundDuration} seconds.`);\n }\n else {\n CodePushUtil.logMessage(\"Update is installed and will be run when the app next resumes.\");\n }\n break;\n }\n syncCallback && syncCallback(null, SyncStatus.UPDATE_INSTALLED);\n };\n var onDownloadSuccess = (localPackage) => {\n syncCallback && syncCallback(null, SyncStatus.INSTALLING_UPDATE);\n localPackage.install(syncOptions).then(onInstallSuccess, onError);\n };\n var downloadAndInstallUpdate = (remotePackage) => {\n syncCallback && syncCallback(null, SyncStatus.DOWNLOADING_PACKAGE);\n remotePackage.download(downloadProgress).then(onDownloadSuccess, onError);\n };\n var onUpdate = (remotePackage) => __awaiter(this, void 0, void 0, function* () {\n var updateShouldBeIgnored = remotePackage && (remotePackage.failedInstall && syncOptions.ignoreFailedUpdates);\n if (!remotePackage || updateShouldBeIgnored) {\n if (updateShouldBeIgnored) {\n CodePushUtil.logMessage(\"An update is available, but it is being ignored due to have been previously rolled back.\");\n }\n syncCallback && syncCallback(null, SyncStatus.UP_TO_DATE);\n }\n else {\n var dlgOpts = syncOptions.updateDialog;\n if (dlgOpts) {\n CodePushUtil.logMessage(\"Awaiting user action.\");\n syncCallback && syncCallback(null, SyncStatus.AWAITING_USER_ACTION);\n }\n if (remotePackage.isMandatory && syncOptions.updateDialog) {\n /* Alert user */\n var message = dlgOpts.appendReleaseDescription ?\n dlgOpts.mandatoryUpdateMessage + dlgOpts.descriptionPrefix + remotePackage.description\n : dlgOpts.mandatoryUpdateMessage;\n yield Dialog.alert({\n message,\n title: dlgOpts.updateTitle,\n buttonTitle: dlgOpts.mandatoryContinueButtonLabel\n });\n downloadAndInstallUpdate(remotePackage);\n }\n else if (!remotePackage.isMandatory && syncOptions.updateDialog) {\n /* Confirm update with user */\n var message = dlgOpts.appendReleaseDescription ?\n dlgOpts.optionalUpdateMessage + dlgOpts.descriptionPrefix + remotePackage.description\n : dlgOpts.optionalUpdateMessage;\n const confirmResult = yield Dialog.confirm({\n message,\n title: dlgOpts.updateTitle,\n okButtonTitle: dlgOpts.optionalInstallButtonLabel,\n cancelButtonTitle: dlgOpts.optionalIgnoreButtonLabel\n });\n if (confirmResult.value) {\n /* Install */\n downloadAndInstallUpdate(remotePackage);\n }\n else {\n /* Cancel */\n CodePushUtil.logMessage(\"User cancelled the update.\");\n syncCallback && syncCallback(null, SyncStatus.UPDATE_IGNORED);\n }\n }\n else {\n /* No user interaction */\n downloadAndInstallUpdate(remotePackage);\n }\n }\n });\n syncCallback && syncCallback(null, SyncStatus.CHECKING_FOR_UPDATE);\n this.checkForUpdate(onUpdate, onError, syncOptions.deploymentKey);\n }\n /**\n * Returns the default options for the CodePush sync operation.\n * If the options are not defined yet, the static DefaultSyncOptions member will be instantiated.\n */\n getDefaultSyncOptions() {\n if (!CodePush.DefaultSyncOptions) {\n CodePush.DefaultSyncOptions = {\n ignoreFailedUpdates: true,\n installMode: InstallMode.ON_NEXT_RESTART,\n minimumBackgroundDuration: 0,\n mandatoryInstallMode: InstallMode.IMMEDIATE,\n updateDialog: false,\n deploymentKey: undefined\n };\n }\n return CodePush.DefaultSyncOptions;\n }\n /**\n * Returns the default options for the update dialog.\n * Please note that the dialog is disabled by default.\n */\n getDefaultUpdateDialogOptions() {\n if (!CodePush.DefaultUpdateDialogOptions) {\n CodePush.DefaultUpdateDialogOptions = {\n updateTitle: \"Update available\",\n mandatoryUpdateMessage: \"An update is available that must be installed.\",\n mandatoryContinueButtonLabel: \"Continue\",\n optionalUpdateMessage: \"An update is available. Would you like to install it?\",\n optionalInstallButtonLabel: \"Install\",\n optionalIgnoreButtonLabel: \"Ignore\",\n appendReleaseDescription: false,\n descriptionPrefix: \" Description: \"\n };\n }\n return CodePush.DefaultUpdateDialogOptions;\n }\n}\n/**\n * Defines the application statuses reported from the native layer.\n * !!! This enum is defined in native code as well, please make changes accordingly. !!!\n */\nvar ReportStatus;\n(function (ReportStatus) {\n ReportStatus[ReportStatus[\"STORE_VERSION\"] = 0] = \"STORE_VERSION\";\n ReportStatus[ReportStatus[\"UPDATE_CONFIRMED\"] = 1] = \"UPDATE_CONFIRMED\";\n ReportStatus[ReportStatus[\"UPDATE_ROLLED_BACK\"] = 2] = \"UPDATE_ROLLED_BACK\";\n})(ReportStatus || (ReportStatus = {}));\nexport const codePush = new CodePush();\nwindow.codePush = codePush;\n//# sourceMappingURL=codePush.js.map"],"names":["InstallMode","this","Filesystem","Directory","Encoding","registerPlugin","__awaiter","NativeCodePush","NativeHttp","AcquisitionManager","device","Device","AcquisitionStatus","Http","CodePush","Dialog"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"plugin.js","sources":["esm/codePushUtil.js","esm/installMode.js","esm/fileUtil.js","esm/nativeCodePushPlugin.js","esm/nativeAppInfo.js","esm/package.js","esm/httpRequester.js","esm/sdk.js","esm/localPackage.js","esm/remotePackage.js","esm/syncStatus.js","esm/codePush.js"],"sourcesContent":["/**\n * Callback / error / logging utilities.\n */\nexport class CodePushUtil {\n /**\n * Performs a copy of all members of fromParameter to toParameter, with the condition that they are unassigned or null in toParameter.\n */\n static copyUnassignedMembers(fromParameter, toParameter) {\n for (let key in fromParameter) {\n if (toParameter[key] === undefined || toParameter[key] === null) {\n toParameter[key] = fromParameter[key];\n }\n }\n }\n /**\n * Given two Cordova style callbacks for success and error, this function returns a node.js\n * style callback where the error is the first parameter and the result the second.\n */\n static getNodeStyleCallbackFor(successCallback, errorCallback) {\n return (error, result) => {\n if (error) {\n errorCallback && errorCallback(error);\n }\n else {\n successCallback && successCallback(result);\n }\n };\n }\n /**\n * Gets the message of an error, if any. Otherwise it returns the empty string.\n */\n static getErrorMessage(e) {\n return e && e.message || e && e.toString() || \"\";\n }\n /**\n * Logs a message using the CodePush tag.\n */\n static logMessage(msg) {\n console.log(CodePushUtil.TAG + \" \" + msg);\n }\n /**\n * Logs an error message using the CodePush tag.\n */\n static logError(message, error) {\n const errorMessage = `${message || \"\"} ${CodePushUtil.getErrorMessage(error)}`;\n const stackTrace = error && error.stack ? `. StackTrace: ${error.stack}` : \"\";\n console.error(`${CodePushUtil.TAG} ${errorMessage}${stackTrace}`);\n }\n}\n/**\n * Tag used for logging to the console.\n */\nCodePushUtil.TAG = \"[CodePush]\";\n/**\n * Logs the error to the console and then forwards it to the provided ErrorCallback, if any.\n * TODO: remove me\n */\nCodePushUtil.invokeErrorCallback = (error, errorCallback) => {\n CodePushUtil.logError(null, error);\n errorCallback && errorCallback(error);\n};\n/**\n * Logs the error to the console and then throws the error.\n */\nCodePushUtil.throwError = (error) => {\n CodePushUtil.logError(null, error);\n throw error;\n};\n//# sourceMappingURL=codePushUtil.js.map","/**\n * Defines the available install modes for updates.\n */\nexport var InstallMode;\n(function (InstallMode) {\n /**\n * The update will be applied to the running application immediately. The application will be reloaded with the new content immediately.\n */\n InstallMode[InstallMode[\"IMMEDIATE\"] = 0] = \"IMMEDIATE\";\n /**\n * The update is downloaded but not installed immediately. The new content will be available the next time the application is started.\n */\n InstallMode[InstallMode[\"ON_NEXT_RESTART\"] = 1] = \"ON_NEXT_RESTART\";\n /**\n * The udpate is downloaded but not installed immediately. The new content will be available the next time the application is resumed or restarted, whichever event happends first.\n */\n InstallMode[InstallMode[\"ON_NEXT_RESUME\"] = 2] = \"ON_NEXT_RESUME\";\n})(InstallMode || (InstallMode = {}));\n//# sourceMappingURL=installMode.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { Directory, Filesystem, Encoding } from \"@capacitor/filesystem\";\n/**\n * File utilities for CodePush.\n */\nexport class FileUtil {\n static directoryExists(directory, path) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const statResult = yield Filesystem.stat({ directory, path });\n // directory for Android, NSFileTypeDirectory for iOS\n return statResult.type === \"directory\" || statResult.type === \"NSFileTypeDirectory\";\n }\n catch (error) {\n return false;\n }\n });\n }\n static writeStringToDataFile(content, path, createIfNotExists, callback) {\n FileUtil.writeStringToFile(content, Directory.Data, path, createIfNotExists, callback);\n }\n static fileExists(directory, path) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const statResult = yield Filesystem.stat({ directory, path });\n // file for Android, NSFileTypeRegular for iOS\n return statResult.type === \"file\" || statResult.type === \"NSFileTypeRegular\";\n }\n catch (error) {\n return false;\n }\n });\n }\n /**\n * Makes sure the given directory exists and is empty.\n */\n static cleanDataDirectory(path) {\n return __awaiter(this, void 0, void 0, function* () {\n if (yield FileUtil.dataDirectoryExists(path)) {\n yield FileUtil.deleteDataDirectory(path);\n }\n yield Filesystem.mkdir({ directory: Directory.Data, path, recursive: true });\n const appDir = yield Filesystem.getUri({ directory: Directory.Data, path });\n return appDir.uri;\n });\n }\n static getUri(fsDir, path) {\n return __awaiter(this, void 0, void 0, function* () {\n const result = yield Filesystem.getUri({ directory: fsDir, path });\n return result.uri;\n });\n }\n static getDataUri(path) {\n return FileUtil.getUri(Directory.Data, path);\n }\n static dataDirectoryExists(path) {\n return FileUtil.directoryExists(Directory.Data, path);\n }\n static copyDirectoryEntriesTo(sourceDir, destinationDir, ignoreList = []) {\n return __awaiter(this, void 0, void 0, function* () {\n /*\n Native-side exception occurs while trying to copy “.DS_Store” and “__MACOSX” entries generated by macOS, so just skip them\n */\n if (ignoreList.indexOf(\".DS_Store\") === -1) {\n ignoreList.push(\".DS_Store\");\n }\n if (ignoreList.indexOf(\"__MACOSX\") === -1) {\n ignoreList.push(\"__MACOSX\");\n }\n // @capacitor/filesystem plugin throw error when destination directory already exists.\n if (yield FileUtil.directoryExists(destinationDir.directory, destinationDir.path)) {\n const { files } = yield Filesystem.readdir(sourceDir);\n for (let i = 0; i < files.length; i++) {\n const file = files[i];\n if (ignoreList.includes(file))\n continue;\n const sourcePath = sourceDir.path + \"/\" + file;\n const destPath = destinationDir.path + \"/\" + file;\n const source = Object.assign(Object.assign({}, sourceDir), { path: sourcePath });\n const destination = Object.assign(Object.assign({}, destinationDir), { path: destPath });\n if (yield FileUtil.directoryExists(source.directory, source.path)) { // is directory\n yield FileUtil.copyDirectoryEntriesTo(source, destination);\n }\n else { // is file\n yield FileUtil.copy(source, destination);\n }\n }\n }\n else {\n yield FileUtil.copy(sourceDir, destinationDir);\n }\n });\n }\n static copy(source, destination) {\n return __awaiter(this, void 0, void 0, function* () {\n yield Filesystem.copy({ directory: source.directory, from: source.path, to: destination.path, toDirectory: destination.directory });\n });\n }\n /**\n * Recursively deletes the contents of a directory.\n */\n static deleteDataDirectory(path) {\n return __awaiter(this, void 0, void 0, function* () {\n yield Filesystem.rmdir({ directory: Directory.Data, path, recursive: true }).then(() => null);\n });\n }\n /**\n * Deletes a given set of files from a directory.\n */\n static deleteEntriesFromDataDirectory(dirPath, filesToDelete) {\n return __awaiter(this, void 0, void 0, function* () {\n for (const file of filesToDelete) {\n const path = dirPath + \"/\" + file;\n const fileExists = yield FileUtil.fileExists(Directory.Data, path);\n if (!fileExists)\n continue;\n try {\n yield Filesystem.deleteFile({ directory: Directory.Data, path });\n }\n catch (error) {\n /* If delete fails, silently continue */\n console.log(\"Could not delete file: \" + path);\n }\n }\n });\n }\n /**\n * Writes a string to a file.\n */\n static writeStringToFile(data, directory, path, createIfNotExists, callback) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n yield Filesystem.writeFile({ directory, path, data, encoding: Encoding.UTF8 });\n callback(null, null);\n }\n catch (error) {\n callback(new Error(\"Could write the current package information file. Error code: \" + error.code), null);\n }\n });\n }\n static readFile(directory, path) {\n return __awaiter(this, void 0, void 0, function* () {\n const result = yield Filesystem.readFile({ directory, path, encoding: Encoding.UTF8 });\n return result.data;\n });\n }\n static readDataFile(path) {\n return FileUtil.readFile(Directory.Data, path);\n }\n}\n//# sourceMappingURL=fileUtil.js.map","// Type definitions for Apache Cordova CodePush plugin.\n// Project: https://github.com/Microsoft/cordova-plugin-code-push\n//\n// Copyright (c) Microsoft Corporation\n// All rights reserved.\n// Licensed under the MIT license.\nimport { registerPlugin } from \"@capacitor/core\";\nexport const CodePush = /*#__PURE__*/ registerPlugin(\"CodePush\");\n//# sourceMappingURL=nativeCodePushPlugin.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { CodePush as NativeCodePush } from \"./nativeCodePushPlugin\";\nconst DefaultServerUrl = \"https://codepush.appcenter.ms/\";\n/**\n * Provides information about the native app.\n */\nexport class NativeAppInfo {\n /**\n * Gets the application build timestamp.\n */\n static getApplicationBuildTime() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.getNativeBuildTime();\n return result.value;\n }\n catch (e) {\n throw new Error(\"Could not get application timestamp.\");\n }\n });\n }\n /**\n * Gets the application version.\n */\n static getApplicationVersion() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.getAppVersion();\n return result.value;\n }\n catch (e) {\n throw new Error(\"Could not get application version.\");\n }\n });\n }\n /**\n * Gets a hash of the `www` folder contents compiled in the app store binary.\n */\n static getBinaryHash() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.getBinaryHash();\n return result.value;\n }\n catch (e) {\n throw new Error(\"Could not get binary hash.\");\n }\n });\n }\n /**\n * Gets the server URL from config.xml by calling into the native platform.\n */\n static getServerURL() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.getServerURL();\n return result.value;\n }\n catch (e) {\n return DefaultServerUrl;\n }\n });\n }\n /**\n * Gets the deployment key from config.xml by calling into the native platform.\n */\n static getDeploymentKey() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.getDeploymentKey();\n return result.value;\n }\n catch (e) {\n throw new Error(\"Deployment key not found.\");\n }\n });\n }\n /**\n * Checks if a package update was previously attempted but failed for a given package hash.\n * Every reverted update is stored such that the application developer has the option to ignore\n * updates that previously failed. This way, an infinite update loop can be prevented in case of a bad update package.\n */\n static isFailedUpdate(packageHash) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.isFailedUpdate({ packageHash });\n return result.value;\n }\n catch (e) {\n /* In case of an error, return false. */\n return false;\n }\n });\n }\n /**\n * Checks if this is the first application run of a package after it has been applied.\n * The didUpdateCallback callback can be used for migrating data from the old app version to the new one.\n *\n * @param packageHash The hash value of the package.\n * @returns Whether it is the first run after an update.\n */\n static isFirstRun(packageHash) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.isFirstRun({ packageHash });\n return result.value;\n }\n catch (e) {\n /* In case of an error, return false. */\n return false;\n }\n });\n }\n /**\n * Checks with the native side if there is a pending update.\n */\n static isPendingUpdate() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const result = yield NativeCodePush.isPendingUpdate();\n return result.value;\n }\n catch (e) {\n /* In case of an error, return false. */\n return false;\n }\n });\n }\n}\n//# sourceMappingURL=nativeAppInfo.js.map","/**\n * Base class for CodePush packages.\n */\nexport class Package {\n}\n//# sourceMappingURL=package.js.map","import { Http as NativeHttp } from \"@capacitor-community/http\";\n/**\n * XMLHttpRequest-based implementation of Http.Requester.\n */\nexport class HttpRequester {\n constructor(contentType) {\n this.contentType = contentType;\n }\n request(verb, url, callbackOrRequestBody, callback) {\n var requestBody;\n var requestCallback = callback;\n // request(verb, url, callback)\n if (!requestCallback && typeof callbackOrRequestBody === \"function\") {\n requestCallback = callbackOrRequestBody;\n }\n // request(verb, url, requestBody, callback)\n if (typeof callbackOrRequestBody === \"string\") {\n requestBody = callbackOrRequestBody;\n }\n if (typeof requestBody === \"string\") {\n try {\n requestBody = JSON.parse(requestBody); // if it is stringify JSON string, parse\n }\n catch (e) {\n // do nothing\n }\n }\n var methodName = this.getHttpMethodName(verb);\n if (methodName === null) {\n return requestCallback(new Error(\"Method Not Allowed\"), null);\n }\n const headers = {\n \"X-CodePush-Plugin-Name\": \"cordova-plugin-code-push\",\n \"X-CodePush-Plugin-Version\": \"1.11.13\",\n \"X-CodePush-SDK-Version\": \"3.1.5\"\n };\n if (this.contentType) {\n headers[\"Content-Type\"] = this.contentType;\n }\n const options = {\n method: methodName,\n url,\n headers\n };\n if (methodName === \"GET\") {\n options.params = requestBody;\n }\n else {\n options.data = requestBody;\n }\n NativeHttp.request(options).then((nativeRes) => {\n if (typeof nativeRes.data === \"object\")\n nativeRes.data = JSON.stringify(nativeRes.data);\n var response = { statusCode: nativeRes.status, body: nativeRes.data };\n requestCallback && requestCallback(null, response);\n });\n }\n /**\n * Gets the HTTP method name as a string.\n * The reason for which this is needed is because the Http.Verb enum corresponds to integer values from native runtime.\n */\n getHttpMethodName(verb) {\n switch (verb) {\n case 0 /* GET */:\n return \"GET\";\n case 4 /* DELETE */:\n return \"DELETE\";\n case 1 /* HEAD */:\n return \"HEAD\";\n case 8 /* PATCH */:\n return \"PATCH\";\n case 2 /* POST */:\n return \"POST\";\n case 3 /* PUT */:\n return \"PUT\";\n case 5 /* TRACE */:\n case 6 /* OPTIONS */:\n case 7 /* CONNECT */:\n default:\n return null;\n }\n }\n}\n//# sourceMappingURL=httpRequester.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { AcquisitionManager } from \"code-push/script/acquisition-sdk\";\nimport { HttpRequester } from \"./httpRequester\";\nimport { NativeAppInfo } from \"./nativeAppInfo\";\nimport { Device } from \"@capacitor/device\";\n/**\n * Interacts with the CodePush Acquisition SDK.\n */\nexport class Sdk {\n /**\n * Reads the CodePush configuration and creates an AcquisitionManager instance using it.\n */\n static getAcquisitionManager(userDeploymentKey, contentType) {\n return __awaiter(this, void 0, void 0, function* () {\n const resolveManager = () => {\n if (userDeploymentKey !== Sdk.DefaultConfiguration.deploymentKey || contentType) {\n var customConfiguration = {\n deploymentKey: userDeploymentKey || Sdk.DefaultConfiguration.deploymentKey,\n serverUrl: Sdk.DefaultConfiguration.serverUrl,\n ignoreAppVersion: Sdk.DefaultConfiguration.ignoreAppVersion,\n appVersion: Sdk.DefaultConfiguration.appVersion,\n clientUniqueId: Sdk.DefaultConfiguration.clientUniqueId\n };\n var requester = new HttpRequester(contentType);\n var customAcquisitionManager = new AcquisitionManager(requester, customConfiguration);\n return Promise.resolve(customAcquisitionManager);\n }\n else if (Sdk.DefaultConfiguration.deploymentKey) {\n return Promise.resolve(Sdk.DefaultAcquisitionManager);\n }\n else {\n return Promise.reject(new Error(\"No deployment key provided, please provide a default one in your config.xml or specify one in the call to checkForUpdate() or sync().\"));\n }\n };\n if (Sdk.DefaultAcquisitionManager) {\n return resolveManager();\n }\n else {\n let serverUrl = null;\n try {\n serverUrl = yield NativeAppInfo.getServerURL();\n }\n catch (e) {\n throw new Error(\"Could not get the CodePush configuration. Please check your config.xml file.\");\n }\n let appVersion = null;\n try {\n appVersion = yield NativeAppInfo.getApplicationVersion();\n }\n catch (e) {\n throw new Error(\"Could not get the app version. Please check your config.xml file.\");\n }\n let deploymentKey = null;\n try {\n deploymentKey = yield NativeAppInfo.getDeploymentKey();\n }\n catch (e) { }\n const device = yield Device.getId();\n Sdk.DefaultConfiguration = {\n deploymentKey,\n serverUrl,\n ignoreAppVersion: false,\n appVersion,\n clientUniqueId: device.uuid\n };\n if (deploymentKey) {\n Sdk.DefaultAcquisitionManager = new AcquisitionManager(new HttpRequester(), Sdk.DefaultConfiguration);\n }\n return resolveManager();\n }\n });\n }\n /**\n * Reports the deployment status to the CodePush server.\n */\n static reportStatusDeploy(pkg, status, currentDeploymentKey, previousLabelOrAppVersion, previousDeploymentKey, callback) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const acquisitionManager = yield Sdk.getAcquisitionManager(currentDeploymentKey, \"application/json\");\n acquisitionManager.reportStatusDeploy(pkg, status, previousLabelOrAppVersion, previousDeploymentKey, callback);\n }\n catch (e) {\n callback && callback(e);\n }\n });\n }\n /**\n * Reports the download status to the CodePush server.\n */\n static reportStatusDownload(pkg, deploymentKey, callback) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const acquisitionManager = yield Sdk.getAcquisitionManager(deploymentKey, \"application/json\");\n acquisitionManager.reportStatusDownload(pkg, callback);\n }\n catch (e) {\n callback && callback(new Error(\"An error occured while reporting the download status. \" + e));\n }\n });\n }\n}\n//# sourceMappingURL=sdk.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { Directory, Filesystem } from \"@capacitor/filesystem\";\nimport { AcquisitionStatus } from \"code-push/script/acquisition-sdk\";\nimport { CodePushUtil } from \"./codePushUtil\";\nimport { FileUtil } from \"./fileUtil\";\nimport { InstallMode } from \"./installMode\";\nimport { NativeAppInfo } from \"./nativeAppInfo\";\nimport { CodePush as NativeCodePush } from \"./nativeCodePushPlugin\";\nimport { Package } from \"./package\";\nimport { Sdk } from \"./sdk\";\n/**\n * Defines a local package.\n *\n * !! THIS TYPE IS READ FROM NATIVE CODE AS WELL. ANY CHANGES TO THIS INTERFACE NEEDS TO BE UPDATED IN NATIVE CODE !!\n */\nexport class LocalPackage extends Package {\n /**\n * Applies this package to the application. The application will be reloaded with this package and on every application launch this package will be loaded.\n * On the first run after the update, the application will wait for a codePush.notifyApplicationReady() call. Once this call is made, the install operation is considered a success.\n * Otherwise, the install operation will be marked as failed, and the application is reverted to its previous version on the next run.\n *\n * @param installOptions Optional parameter used for customizing the installation behavior.\n */\n install(installOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\n try {\n CodePushUtil.logMessage(\"Installing update\");\n if (!installOptions) {\n installOptions = LocalPackage.getDefaultInstallOptions();\n }\n else {\n CodePushUtil.copyUnassignedMembers(LocalPackage.getDefaultInstallOptions(), installOptions);\n }\n var installError = (error) => {\n CodePushUtil.invokeErrorCallback(error, reject);\n Sdk.reportStatusDeploy(this, AcquisitionStatus.DeploymentFailed, this.deploymentKey);\n };\n let unzipDir;\n try {\n unzipDir = yield FileUtil.cleanDataDirectory(LocalPackage.DownloadUnzipDir);\n }\n catch (error) {\n installError(error);\n return;\n }\n try {\n yield NativeCodePush.unzip({ zipFile: this.localPath, targetDirectory: unzipDir });\n }\n catch (unzipError) {\n installError(new Error(\"Could not unzip package\" + CodePushUtil.getErrorMessage(unzipError)));\n return;\n }\n try {\n const newPackageLocation = LocalPackage.VersionsDir + \"/\" + this.packageHash;\n const deploymentResult = yield LocalPackage.handleDeployment(newPackageLocation);\n yield this.verifyPackage(deploymentResult);\n this.localPath = deploymentResult.deployDir;\n this.finishInstall(deploymentResult.deployDir, installOptions, resolve, installError);\n }\n catch (error) {\n installError(error);\n }\n }\n catch (e) {\n installError && installError(new Error(\"An error occured while installing the package. \" + CodePushUtil.getErrorMessage(e)));\n }\n }));\n });\n }\n verifyPackage(deploymentResult) {\n return new Promise((resolve, reject) => {\n var deployDir = deploymentResult.deployDir;\n var verificationFail = (error) => {\n reject(error);\n };\n var verify = (isSignatureVerificationEnabled, isSignatureAppearedInBundle, publicKey, signature) => {\n if (isSignatureVerificationEnabled) {\n if (isSignatureAppearedInBundle) {\n this.verifyHash(deployDir, this.packageHash, verificationFail, () => {\n this.verifySignature(deployDir, this.packageHash, publicKey, signature, verificationFail, resolve);\n });\n }\n else {\n var errorMessage = \"Error! Public key was provided but there is no JWT signature within app bundle to verify. \" +\n \"Possible reasons, why that might happen: \\n\" +\n \"1. You've been released CodePush bundle update using version of CodePush CLI that is not support code signing.\\n\" +\n \"2. You've been released CodePush bundle update without providing --privateKeyPath option.\";\n reject(new Error(errorMessage));\n }\n }\n else {\n if (isSignatureAppearedInBundle) {\n CodePushUtil.logMessage(\"Warning! JWT signature exists in codepush update but code integrity check couldn't be performed because there is no public key configured. \" +\n \"Please ensure that public key is properly configured within your application.\");\n // verifyHash\n this.verifyHash(deployDir, this.packageHash, verificationFail, resolve);\n }\n else {\n if (deploymentResult.isDiffUpdate) {\n // verifyHash\n this.verifyHash(deployDir, this.packageHash, verificationFail, resolve);\n }\n else {\n resolve();\n }\n }\n }\n };\n if (deploymentResult.isDiffUpdate) {\n CodePushUtil.logMessage(\"Applying diff update\");\n }\n else {\n CodePushUtil.logMessage(\"Applying full update\");\n }\n var isSignatureVerificationEnabled, isSignatureAppearedInBundle;\n var publicKey;\n this.getPublicKey((error, publicKeyResult) => {\n if (error) {\n reject(new Error(\"Error reading public key. \" + error));\n return;\n }\n publicKey = publicKeyResult;\n isSignatureVerificationEnabled = !!publicKey;\n this.getSignatureFromUpdate(deploymentResult.deployDir, (error, signature) => {\n if (error) {\n reject(new Error(\"Error reading signature from update. \" + error));\n return;\n }\n isSignatureAppearedInBundle = !!signature;\n verify(isSignatureVerificationEnabled, isSignatureAppearedInBundle, publicKey, signature);\n });\n });\n });\n }\n getPublicKey(callback) {\n var success = (publicKey) => {\n callback(null, publicKey);\n };\n var fail = (error) => {\n callback(error, null);\n };\n NativeCodePush.getPublicKey().then(result => success(result.value || null), fail);\n }\n getSignatureFromUpdate(deployDir, callback) {\n return __awaiter(this, void 0, void 0, function* () {\n const filePath = deployDir + \"/www/.codepushrelease\";\n if (!(yield FileUtil.fileExists(Directory.Data, filePath))) {\n // signature absents in the bundle\n callback(null, null);\n return;\n }\n try {\n const signature = yield FileUtil.readFile(Directory.Data, filePath);\n callback(null, signature);\n }\n catch (error) {\n // error reading signature file from bundle\n callback(error, null);\n }\n });\n }\n verifyHash(deployDir, newUpdateHash, errorCallback, successCallback) {\n var packageHashSuccess = (computedHash) => {\n if (computedHash !== newUpdateHash) {\n errorCallback(new Error(\"The update contents failed the data integrity check.\"));\n return;\n }\n CodePushUtil.logMessage(\"The update contents succeeded the data integrity check.\");\n successCallback();\n };\n var packageHashFail = (error) => {\n errorCallback(new Error(\"Unable to compute hash for package: \" + error));\n };\n CodePushUtil.logMessage(\"Verifying hash for folder path: \" + deployDir);\n NativeCodePush.getPackageHash({ path: deployDir }).then(result => packageHashSuccess(result.value), packageHashFail);\n }\n verifySignature(deployDir, newUpdateHash, publicKey, signature, errorCallback, successCallback) {\n var decodeSignatureSuccess = (contentHash) => {\n if (contentHash !== newUpdateHash) {\n errorCallback(new Error(\"The update contents failed the code signing check.\"));\n return;\n }\n CodePushUtil.logMessage(\"The update contents succeeded the code signing check.\");\n successCallback();\n };\n var decodeSignatureFail = (error) => {\n errorCallback(new Error(\"Unable to verify signature for package: \" + error));\n };\n CodePushUtil.logMessage(\"Verifying signature for folder path: \" + deployDir);\n NativeCodePush.decodeSignature({ publicKey, signature }).then(result => decodeSignatureSuccess(result.value), decodeSignatureFail);\n }\n finishInstall(deployDir, installOptions, installSuccess, installError) {\n function backupPackageInformationFileIfNeeded(backupIfNeededDone) {\n return __awaiter(this, void 0, void 0, function* () {\n const pendingUpdate = yield NativeAppInfo.isPendingUpdate();\n if (pendingUpdate) {\n // Don't back up the currently installed update since it hasn't been \"confirmed\"\n backupIfNeededDone(null, null);\n }\n else {\n try {\n yield LocalPackage.backupPackageInformationFile();\n backupIfNeededDone(null, null);\n }\n catch (err) {\n backupIfNeededDone(err, null);\n }\n }\n });\n }\n LocalPackage.getCurrentOrDefaultPackage().then((oldPackage) => {\n backupPackageInformationFileIfNeeded((backupError) => {\n /* continue on error, current package information is missing if this is the first update */\n this.writeNewPackageMetadata().then(() => {\n var invokeSuccessAndInstall = () => {\n CodePushUtil.logMessage(\"Install succeeded.\");\n var installModeToUse = this.isMandatory ? installOptions.mandatoryInstallMode : installOptions.installMode;\n if (installModeToUse === InstallMode.IMMEDIATE) {\n /* invoke success before navigating */\n installSuccess && installSuccess(installModeToUse);\n /* no need for callbacks, the javascript context will reload */\n NativeCodePush.install({\n startLocation: deployDir,\n installMode: installModeToUse,\n minimumBackgroundDuration: installOptions.minimumBackgroundDuration\n });\n }\n else {\n NativeCodePush.install({\n startLocation: deployDir,\n installMode: installModeToUse,\n minimumBackgroundDuration: installOptions.minimumBackgroundDuration\n }).then(() => { installSuccess && installSuccess(installModeToUse); }, () => { installError && installError(); });\n }\n };\n var preInstallSuccess = () => {\n /* package will be cleaned up after success, on the native side */\n invokeSuccessAndInstall();\n };\n var preInstallFailure = (preInstallError) => {\n CodePushUtil.logError(\"Preinstall failure.\", preInstallError);\n var error = new Error(\"An error has occured while installing the package. \" + CodePushUtil.getErrorMessage(preInstallError));\n installError && installError(error);\n };\n NativeCodePush.preInstall({ startLocation: deployDir }).then(preInstallSuccess, preInstallFailure);\n }, (writeMetadataError) => {\n installError && installError(writeMetadataError);\n });\n });\n }, installError);\n }\n static handleDeployment(newPackageLocation) {\n return __awaiter(this, void 0, void 0, function* () {\n const manifestFile = {\n directory: Directory.Data,\n path: LocalPackage.DownloadUnzipDir + \"/\" + LocalPackage.DiffManifestFile\n };\n const isDiffUpdate = yield FileUtil.fileExists(manifestFile.directory, manifestFile.path);\n if (!(yield FileUtil.directoryExists(Directory.Data, LocalPackage.VersionsDir))) {\n // If directory not exists, create recursive folder\n yield Filesystem.mkdir({\n path: LocalPackage.VersionsDir,\n directory: Directory.Data,\n recursive: true\n });\n }\n if (isDiffUpdate) {\n yield LocalPackage.handleDiffDeployment(newPackageLocation, manifestFile);\n }\n else {\n yield LocalPackage.handleCleanDeployment(newPackageLocation);\n }\n return { deployDir: newPackageLocation, isDiffUpdate };\n });\n }\n writeNewPackageMetadata() {\n return __awaiter(this, void 0, void 0, function* () {\n const timestamp = yield NativeAppInfo.getApplicationBuildTime().catch(buildTimeError => {\n CodePushUtil.logError(\"Could not get application build time. \" + buildTimeError);\n });\n const appVersion = yield NativeAppInfo.getApplicationVersion().catch(appVersionError => {\n CodePushUtil.logError(\"Could not get application version.\" + appVersionError);\n });\n const currentPackageMetadata = {\n nativeBuildTime: timestamp,\n localPath: this.localPath,\n appVersion: appVersion,\n deploymentKey: this.deploymentKey,\n description: this.description,\n isMandatory: this.isMandatory,\n packageSize: this.packageSize,\n label: this.label,\n packageHash: this.packageHash,\n isFirstRun: false,\n failedInstall: false,\n install: undefined\n };\n return new Promise((resolve, reject) => {\n LocalPackage.writeCurrentPackageInformation(currentPackageMetadata, error => error ? reject(error) : resolve());\n });\n });\n }\n static handleCleanDeployment(newPackageLocation) {\n return __awaiter(this, void 0, void 0, function* () {\n // no diff manifest\n const source = { directory: Directory.Data, path: LocalPackage.DownloadUnzipDir };\n const target = { directory: Directory.Data, path: newPackageLocation };\n // TODO: create destination directory if it doesn't exist\n return FileUtil.copyDirectoryEntriesTo(source, target);\n });\n }\n static copyCurrentPackage(newPackageLocation, ignoreList) {\n return __awaiter(this, void 0, void 0, function* () {\n const currentPackagePath = yield new Promise(resolve => {\n LocalPackage.getPackage(LocalPackage.PackageInfoFile, (currentPackage) => resolve(currentPackage.localPath), () => resolve());\n });\n newPackageLocation = currentPackagePath ? newPackageLocation : newPackageLocation + \"/www\";\n // https://github.com/ionic-team/capacitor/pull/2514 Directory.Application variable was removed. (TODO - for check)\n const source = currentPackagePath ? { directory: Directory.Data, path: currentPackagePath } : { directory: Directory.Data, path: \"www\" };\n const target = { directory: Directory.Data, path: newPackageLocation };\n return FileUtil.copyDirectoryEntriesTo(source, target, ignoreList);\n });\n }\n static handleDiffDeployment(newPackageLocation, diffManifest) {\n return __awaiter(this, void 0, void 0, function* () {\n let manifest;\n try {\n yield LocalPackage.copyCurrentPackage(newPackageLocation, [\".codepushrelease\"]);\n yield LocalPackage.handleCleanDeployment(newPackageLocation);\n /* delete files mentioned in the manifest */\n const content = yield FileUtil.readFile(diffManifest.directory, diffManifest.path);\n manifest = JSON.parse(content);\n yield FileUtil.deleteEntriesFromDataDirectory(newPackageLocation, manifest.deletedFiles);\n }\n catch (error) {\n throw new Error(\"Cannot perform diff-update.\");\n }\n });\n }\n /**\n * Writes the given local package information to the current package information file.\n * @param packageInfoMetadata The object to serialize.\n * @param callback In case of an error, this function will be called with the error as the fist parameter.\n */\n static writeCurrentPackageInformation(packageInfoMetadata, callback) {\n var content = JSON.stringify(packageInfoMetadata);\n FileUtil.writeStringToDataFile(content, LocalPackage.RootDir + \"/\" + LocalPackage.PackageInfoFile, true, callback);\n }\n /**\n * Backs up the current package information to the old package information file.\n * This file is used for recovery in case of an update going wrong.\n * @param callback In case of an error, this function will be called with the error as the fist parameter.\n */\n static backupPackageInformationFile() {\n return __awaiter(this, void 0, void 0, function* () {\n const source = {\n directory: Directory.Data,\n path: LocalPackage.RootDir + \"/\" + LocalPackage.PackageInfoFile\n };\n const destination = {\n directory: Directory.Data,\n path: LocalPackage.RootDir + \"/\" + LocalPackage.OldPackageInfoFile\n };\n return FileUtil.copy(source, destination);\n });\n }\n /**\n * Get the previous package information.\n *\n * @param packageSuccess Callback invoked with the old package information.\n * @param packageError Optional callback invoked in case of an error.\n */\n static getOldPackage(packageSuccess, packageError) {\n LocalPackage.getPackage(LocalPackage.OldPackageInfoFile, packageSuccess, packageError);\n }\n /**\n * Reads package information from a given file.\n *\n * @param packageFile The package file name.\n * @param packageSuccess Callback invoked with the package information.\n * @param packageError Optional callback invoked in case of an error.\n */\n static getPackage(packageFile, packageSuccess, packageError) {\n return __awaiter(this, void 0, void 0, function* () {\n var handleError = (e) => {\n packageError && packageError(new Error(\"Cannot read package information. \" + CodePushUtil.getErrorMessage(e)));\n };\n try {\n const content = yield FileUtil.readDataFile(LocalPackage.RootDir + \"/\" + packageFile);\n const packageInfo = JSON.parse(content);\n LocalPackage.getLocalPackageFromMetadata(packageInfo).then(packageSuccess, packageError);\n }\n catch (e) {\n handleError(e);\n }\n });\n }\n static getLocalPackageFromMetadata(metadata) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!metadata) {\n throw new Error(\"Invalid package metadata.\");\n }\n const installFailed = yield NativeAppInfo.isFailedUpdate(metadata.packageHash);\n const isFirstRun = yield NativeAppInfo.isFirstRun(metadata.packageHash);\n const localPackage = new LocalPackage();\n localPackage.appVersion = metadata.appVersion;\n localPackage.deploymentKey = metadata.deploymentKey;\n localPackage.description = metadata.description;\n localPackage.isMandatory = metadata.isMandatory;\n localPackage.failedInstall = installFailed;\n localPackage.isFirstRun = isFirstRun;\n localPackage.label = metadata.label;\n localPackage.localPath = metadata.localPath;\n localPackage.packageHash = metadata.packageHash;\n localPackage.packageSize = metadata.packageSize;\n return localPackage;\n });\n }\n static getCurrentOrDefaultPackage() {\n return LocalPackage.getPackageInfoOrDefault(LocalPackage.PackageInfoFile);\n }\n static getOldOrDefaultPackage() {\n return __awaiter(this, void 0, void 0, function* () {\n return LocalPackage.getPackageInfoOrDefault(LocalPackage.OldPackageInfoFile);\n });\n }\n static getPackageInfoOrDefault(packageFile) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => {\n const packageFailure = () => __awaiter(this, void 0, void 0, function* () {\n /**\n * For the default package we need the app version,\n * and ideally the hash of the binary contents.\n */\n let appVersion;\n try {\n appVersion = yield NativeAppInfo.getApplicationVersion();\n }\n catch (appVersionError) {\n CodePushUtil.logError(\"Could not get application version.\" + appVersionError);\n reject(appVersionError);\n return;\n }\n const defaultPackage = new LocalPackage();\n defaultPackage.appVersion = appVersion;\n try {\n defaultPackage.packageHash = yield NativeAppInfo.getBinaryHash();\n }\n catch (binaryHashError) {\n CodePushUtil.logError(\"Could not get binary hash.\" + binaryHashError);\n }\n resolve(defaultPackage);\n });\n LocalPackage.getPackage(packageFile, resolve, packageFailure);\n });\n });\n }\n static getPackageInfoOrNull(packageFile, packageSuccess, packageError) {\n LocalPackage.getPackage(packageFile, packageSuccess, packageSuccess.bind(null, null));\n }\n /**\n * Returns the default options for the CodePush install operation.\n * If the options are not defined yet, the static DefaultInstallOptions member will be instantiated.\n */\n static getDefaultInstallOptions() {\n if (!LocalPackage.DefaultInstallOptions) {\n LocalPackage.DefaultInstallOptions = {\n installMode: InstallMode.ON_NEXT_RESTART,\n minimumBackgroundDuration: 0,\n mandatoryInstallMode: InstallMode.IMMEDIATE\n };\n }\n return LocalPackage.DefaultInstallOptions;\n }\n}\nLocalPackage.RootDir = \"codepush\";\nLocalPackage.DownloadDir = LocalPackage.RootDir + \"/download\";\nLocalPackage.DownloadUnzipDir = LocalPackage.DownloadDir + \"/unzipped\";\nLocalPackage.DeployDir = LocalPackage.RootDir + \"/deploy\";\nLocalPackage.VersionsDir = LocalPackage.DeployDir + \"/versions\";\nLocalPackage.PackageUpdateFileName = \"update.zip\";\nLocalPackage.PackageInfoFile = \"currentPackage.json\";\nLocalPackage.OldPackageInfoFile = \"oldPackage.json\";\nLocalPackage.DiffManifestFile = \"hotcodepush.json\";\n//# sourceMappingURL=localPackage.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { CodePushUtil } from \"./codePushUtil\";\nimport { LocalPackage } from \"./localPackage\";\nimport { NativeAppInfo } from \"./nativeAppInfo\";\nimport { Package } from \"./package\";\nimport { Sdk } from \"./sdk\";\nimport { Directory, Filesystem } from \"@capacitor/filesystem\";\nimport { FileUtil } from \"./fileUtil\";\nimport { Http } from \"@capacitor-community/http\";\n/**\n * Defines a remote package, which represents an update package available for download.\n */\nexport class RemotePackage extends Package {\n constructor() {\n super(...arguments);\n this.isDownloading = false;\n }\n /**\n * Downloads the package update from the CodePush service.\n * TODO: implement download progress\n *\n * @param downloadProgress Optional callback invoked during the download process. It is called several times with one DownloadProgress parameter.\n */\n download(downloadProgress) {\n return __awaiter(this, void 0, void 0, function* () {\n CodePushUtil.logMessage(\"Downloading update\");\n if (!this.downloadUrl) {\n CodePushUtil.throwError(new Error(\"The remote package does not contain a download URL.\"));\n }\n this.isDownloading = true;\n const file = LocalPackage.DownloadDir + \"/\" + LocalPackage.PackageUpdateFileName;\n const fullPath = yield FileUtil.getUri(Directory.Data, file);\n try {\n // create directory if not exists\n if (!(yield FileUtil.directoryExists(Directory.Data, LocalPackage.DownloadDir))) {\n yield Filesystem.mkdir({\n path: LocalPackage.DownloadDir,\n directory: Directory.Data,\n recursive: true,\n });\n }\n // delete file if it exists\n if (yield FileUtil.fileExists(Directory.Data, file)) {\n yield Filesystem.deleteFile({ directory: Directory.Data, path: file });\n }\n yield Http.downloadFile({\n url: this.downloadUrl,\n method: \"GET\",\n filePath: file,\n fileDirectory: Directory.Data,\n responseType: \"blob\"\n });\n }\n catch (e) {\n CodePushUtil.throwError(new Error(\"An error occured while downloading the package. \" + (e && e.message) ? e.message : \"\"));\n }\n finally {\n this.isDownloading = false;\n }\n const installFailed = yield NativeAppInfo.isFailedUpdate(this.packageHash);\n const localPackage = new LocalPackage();\n localPackage.deploymentKey = this.deploymentKey;\n localPackage.description = this.description;\n localPackage.label = this.label;\n localPackage.appVersion = this.appVersion;\n localPackage.isMandatory = this.isMandatory;\n localPackage.packageHash = this.packageHash;\n localPackage.isFirstRun = false;\n localPackage.failedInstall = installFailed;\n localPackage.localPath = fullPath;\n CodePushUtil.logMessage(\"Package download success: \" + JSON.stringify(localPackage));\n Sdk.reportStatusDownload(localPackage, localPackage.deploymentKey);\n return localPackage;\n });\n }\n /**\n * Aborts the current download session, previously started with download().\n */\n abortDownload() {\n return __awaiter(this, void 0, void 0, function* () {\n // TODO: implement download abort\n return new Promise((resolve) => {\n this.isDownloading = false;\n resolve();\n });\n });\n }\n}\n//# sourceMappingURL=remotePackage.js.map","/**\n * Defines the possible result and intermediate statuses of the window.codePush.sync operation.\n * The result statuses are final, mutually exclusive statuses of the sync operation. The operation will end with only one of the possible result statuses.\n * The intermediate statuses are not final, one or more of them can happen before sync ends, based on the options you use and user interaction.\n *\n * NOTE: Adding new statuses or changing old statuses requires an update to CodePush.sync(), which must know which callbacks are results and which are not!\n * Also, don't forget to change the TestMessage module in ServerUtils!\n * AND THE codePush.d.ts (typings) file!!!\n */\nexport var SyncStatus;\n(function (SyncStatus) {\n /**\n * Result status - the application is up to date.\n */\n SyncStatus[SyncStatus[\"UP_TO_DATE\"] = 0] = \"UP_TO_DATE\";\n /**\n * Result status - an update is available, it has been downloaded, unzipped and copied to the deployment folder.\n * After the completion of the callback invoked with SyncStatus.UPDATE_INSTALLED, the application will be reloaded with the updated code and resources.\n */\n SyncStatus[SyncStatus[\"UPDATE_INSTALLED\"] = 1] = \"UPDATE_INSTALLED\";\n /**\n * Result status - an optional update is available, but the user declined to install it. The update was not downloaded.\n */\n SyncStatus[SyncStatus[\"UPDATE_IGNORED\"] = 2] = \"UPDATE_IGNORED\";\n /**\n * Result status - an error happened during the sync operation. This might be an error while communicating with the server, downloading or unziping the update.\n * The console logs should contain more information about what happened. No update has been applied in this case.\n */\n SyncStatus[SyncStatus[\"ERROR\"] = 3] = \"ERROR\";\n /**\n * Result status - there is an ongoing sync in progress, so this attempt to sync has been aborted.\n */\n SyncStatus[SyncStatus[\"IN_PROGRESS\"] = 4] = \"IN_PROGRESS\";\n /**\n * Intermediate status - the plugin is about to check for updates.\n */\n SyncStatus[SyncStatus[\"CHECKING_FOR_UPDATE\"] = 5] = \"CHECKING_FOR_UPDATE\";\n /**\n * Intermediate status - a user dialog is about to be displayed. This status will be reported only if user interaction is enabled.\n */\n SyncStatus[SyncStatus[\"AWAITING_USER_ACTION\"] = 6] = \"AWAITING_USER_ACTION\";\n /**\n * Intermediate status - the update packages is about to be downloaded.\n */\n SyncStatus[SyncStatus[\"DOWNLOADING_PACKAGE\"] = 7] = \"DOWNLOADING_PACKAGE\";\n /**\n * Intermediate status - the update package is about to be installed.\n */\n SyncStatus[SyncStatus[\"INSTALLING_UPDATE\"] = 8] = \"INSTALLING_UPDATE\";\n})(SyncStatus || (SyncStatus = {}));\n//# sourceMappingURL=syncStatus.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { AcquisitionStatus } from \"code-push/script/acquisition-sdk\";\nimport { CodePushUtil } from \"./codePushUtil\";\nimport { InstallMode } from \"./installMode\";\nimport { LocalPackage } from \"./localPackage\";\nimport { NativeAppInfo } from \"./nativeAppInfo\";\nimport { CodePush as NativeCodePush } from \"./nativeCodePushPlugin\";\nimport { RemotePackage } from \"./remotePackage\";\nimport { Sdk } from \"./sdk\";\nimport { SyncStatus } from \"./syncStatus\";\nimport { Dialog } from \"@capacitor/dialog\";\n/**\n * This is the entry point to Cordova CodePush SDK.\n * It provides the following features to the app developer:\n * - polling the server for new versions of the app\n * - notifying the plugin that the application loaded successfully after an update\n * - getting information about the currently deployed package\n */\nclass CodePush {\n /**\n * Notifies the plugin that the update operation succeeded and that the application is ready.\n * Calling this function is required on the first run after an update. On every subsequent application run, calling this function is a noop.\n * If using sync API, calling this function is not required since sync calls it internally.\n */\n notifyApplicationReady() {\n return NativeCodePush.notifyApplicationReady();\n }\n /**\n * Reloads the application. If there is a pending update package installed using ON_NEXT_RESTART or ON_NEXT_RESUME modes, the update\n * will be immediately visible to the user. Otherwise, calling this function will simply reload the current version of the application.\n */\n restartApplication() {\n return NativeCodePush.restartApplication();\n }\n /**\n * Reports an application status back to the server.\n * !!! This function is called from the native side, please make changes accordingly. !!!\n */\n reportStatus(status, label, appVersion, deploymentKey, lastVersionLabelOrAppVersion, lastVersionDeploymentKey) {\n if (((!label && appVersion === lastVersionLabelOrAppVersion) || label === lastVersionLabelOrAppVersion)\n && deploymentKey === lastVersionDeploymentKey) {\n // No-op since the new appVersion and label is exactly the same as the previous\n // (the app might have been updated via a direct or HockeyApp deployment).\n return;\n }\n var createPackageForReporting = (label, appVersion) => {\n return {\n /* The SDK only reports the label and appVersion.\n The rest of the properties are added for type safety. */\n label, appVersion, deploymentKey,\n description: null, isMandatory: false,\n packageHash: null, packageSize: null,\n failedInstall: false\n };\n };\n var reportDone = (error) => {\n var reportArgs = {\n status,\n label,\n appVersion,\n deploymentKey,\n lastVersionLabelOrAppVersion,\n lastVersionDeploymentKey\n };\n if (error) {\n CodePushUtil.logError(`An error occurred while reporting status: ${JSON.stringify(reportArgs)}`, error);\n NativeCodePush.reportFailed({ statusReport: reportArgs });\n }\n else {\n CodePushUtil.logMessage(`Reported status: ${JSON.stringify(reportArgs)}`);\n NativeCodePush.reportSucceeded({ statusReport: reportArgs });\n }\n };\n switch (status) {\n case ReportStatus.STORE_VERSION:\n Sdk.reportStatusDeploy(null, AcquisitionStatus.DeploymentSucceeded, deploymentKey, lastVersionLabelOrAppVersion, lastVersionDeploymentKey, reportDone);\n break;\n case ReportStatus.UPDATE_CONFIRMED:\n Sdk.reportStatusDeploy(createPackageForReporting(label, appVersion), AcquisitionStatus.DeploymentSucceeded, deploymentKey, lastVersionLabelOrAppVersion, lastVersionDeploymentKey, reportDone);\n break;\n case ReportStatus.UPDATE_ROLLED_BACK:\n Sdk.reportStatusDeploy(createPackageForReporting(label, appVersion), AcquisitionStatus.DeploymentFailed, deploymentKey, lastVersionLabelOrAppVersion, lastVersionDeploymentKey, reportDone);\n break;\n }\n }\n /**\n * Get the current package information.\n *\n * @returns The currently deployed package information.\n */\n getCurrentPackage() {\n return __awaiter(this, void 0, void 0, function* () {\n const pendingUpdate = yield NativeAppInfo.isPendingUpdate();\n var packageInfoFile = pendingUpdate ? LocalPackage.OldPackageInfoFile : LocalPackage.PackageInfoFile;\n return new Promise((resolve, reject) => {\n LocalPackage.getPackageInfoOrNull(packageInfoFile, resolve, reject);\n });\n });\n }\n /**\n * Gets the pending package information, if any. A pending package is one that has been installed but the application still runs the old code.\n * This happends only after a package has been installed using ON_NEXT_RESTART or ON_NEXT_RESUME mode, but the application was not restarted/resumed yet.\n */\n getPendingPackage() {\n return __awaiter(this, void 0, void 0, function* () {\n const pendingUpdate = yield NativeAppInfo.isPendingUpdate();\n if (!pendingUpdate)\n return null;\n return new Promise((resolve, reject) => {\n LocalPackage.getPackageInfoOrNull(LocalPackage.PackageInfoFile, resolve, reject);\n });\n });\n }\n /**\n * Checks with the CodePush server if an update package is available for download.\n *\n * @param querySuccess Callback invoked in case of a successful response from the server.\n * The callback takes one RemotePackage parameter. A non-null package is a valid update.\n * A null package means the application is up to date for the current native application version.\n * @param queryError Optional callback invoked in case of an error.\n * @param deploymentKey Optional deployment key that overrides the config.xml setting.\n */\n checkForUpdate(querySuccess, queryError, deploymentKey) {\n try {\n var callback = (error, remotePackageOrUpdateNotification) => __awaiter(this, void 0, void 0, function* () {\n if (error) {\n CodePushUtil.invokeErrorCallback(error, queryError);\n }\n else {\n var appUpToDate = () => {\n CodePushUtil.logMessage(\"App is up to date.\");\n querySuccess && querySuccess(null);\n };\n if (remotePackageOrUpdateNotification) {\n if (remotePackageOrUpdateNotification.updateAppVersion) {\n /* There is an update available for a different version. In the current version of the plugin, we treat that as no update. */\n CodePushUtil.logMessage(\"An update is available, but it is targeting a newer binary version than you are currently running.\");\n appUpToDate();\n }\n else {\n /* There is an update available for the current version. */\n var remotePackage = remotePackageOrUpdateNotification;\n const installFailed = yield NativeAppInfo.isFailedUpdate(remotePackage.packageHash);\n var result = new RemotePackage();\n result.appVersion = remotePackage.appVersion;\n result.deploymentKey = deploymentKey; // server does not send back the deployment key\n result.description = remotePackage.description;\n result.downloadUrl = remotePackage.downloadUrl;\n result.isMandatory = remotePackage.isMandatory;\n result.label = remotePackage.label;\n result.packageHash = remotePackage.packageHash;\n result.packageSize = remotePackage.packageSize;\n result.failedInstall = installFailed;\n CodePushUtil.logMessage(\"An update is available. \" + JSON.stringify(result));\n querySuccess && querySuccess(result);\n }\n }\n else {\n appUpToDate();\n }\n }\n });\n var queryUpdate = () => __awaiter(this, void 0, void 0, function* () {\n try {\n const acquisitionManager = yield Sdk.getAcquisitionManager(deploymentKey);\n LocalPackage.getCurrentOrDefaultPackage().then((localPackage) => __awaiter(this, void 0, void 0, function* () {\n try {\n const currentBinaryVersion = yield NativeAppInfo.getApplicationVersion();\n localPackage.appVersion = currentBinaryVersion;\n }\n catch (e) {\n }\n CodePushUtil.logMessage(\"Checking for update.\");\n acquisitionManager.queryUpdateWithCurrentPackage(localPackage, callback);\n }), (error) => {\n CodePushUtil.invokeErrorCallback(error, queryError);\n });\n }\n catch (e) {\n CodePushUtil.invokeErrorCallback(e, queryError);\n }\n });\n if (deploymentKey) {\n queryUpdate();\n }\n else {\n NativeAppInfo.getDeploymentKey().then(defaultDeploymentKey => {\n deploymentKey = defaultDeploymentKey;\n queryUpdate();\n }, deploymentKeyError => {\n CodePushUtil.invokeErrorCallback(deploymentKeyError, queryError);\n });\n }\n }\n catch (e) {\n CodePushUtil.invokeErrorCallback(new Error(\"An error occurred while querying for updates.\" + CodePushUtil.getErrorMessage(e)), queryError);\n }\n }\n /**\n * Convenience method for installing updates in one method call.\n * This method is provided for simplicity, and its behavior can be replicated by using window.codePush.checkForUpdate(), RemotePackage's download() and LocalPackage's install() methods.\n * If another sync is already running, it yields SyncStatus.IN_PROGRESS.\n *\n * The algorithm of this method is the following:\n * - Checks for an update on the CodePush server.\n * - If an update is available\n * - If the update is mandatory and the alertMessage is set in options, the user will be informed that the application will be updated to the latest version.\n * The update package will then be downloaded and applied.\n * - If the update is not mandatory and the confirmMessage is set in options, the user will be asked if they want to update to the latest version.\n * If they decline, the syncCallback will be invoked with SyncStatus.UPDATE_IGNORED.\n * - Otherwise, the update package will be downloaded and applied with no user interaction.\n * - If no update is available on the server, the syncCallback will be invoked with the SyncStatus.UP_TO_DATE.\n * - If an error occurs during checking for update, downloading or installing it, the syncCallback will be invoked with the SyncStatus.ERROR.\n *\n * @param syncCallback Optional callback to be called with the status of the sync operation.\n * The callback will be called only once, and the possible statuses are defined by the SyncStatus enum.\n * @param syncOptions Optional SyncOptions parameter configuring the behavior of the sync operation.\n * @param downloadProgress Optional callback invoked during the download process. It is called several times with one DownloadProgress parameter.\n * @param syncErrback Optional errback invoked if an error occurs. The callback will be called only once\n *\n */\n sync(syncOptions, downloadProgress) {\n return __awaiter(this, void 0, void 0, function* () {\n /* Check if a sync is already in progress */\n if (CodePush.SyncInProgress) {\n /* A sync is already in progress */\n CodePushUtil.logMessage(\"Sync already in progress.\");\n return SyncStatus.IN_PROGRESS;\n }\n return new Promise((resolve, reject) => {\n /* Create a callback that resets the SyncInProgress flag when the sync is complete\n * If the sync status is a result status, then the sync must be complete and the flag must be updated\n * Otherwise, do not change the flag and trigger the syncCallback as usual\n */\n var syncCallbackAndUpdateSyncInProgress = (err, result) => {\n switch (result) {\n case SyncStatus.ERROR:\n case SyncStatus.IN_PROGRESS:\n case SyncStatus.UP_TO_DATE:\n case SyncStatus.UPDATE_IGNORED:\n case SyncStatus.UPDATE_INSTALLED:\n /* The sync has completed */\n CodePush.SyncInProgress = false;\n break;\n default:\n /* The sync is not yet complete, so do nothing */\n break;\n }\n if (err) {\n reject(err);\n }\n resolve(result);\n };\n /* Begin the sync */\n CodePush.SyncInProgress = true;\n this.syncInternal(syncCallbackAndUpdateSyncInProgress, syncOptions, downloadProgress);\n });\n });\n }\n /**\n * Convenience method for installing updates in one method call.\n * This method is provided for simplicity, and its behavior can be replicated by using window.codePush.checkForUpdate(), RemotePackage's download() and LocalPackage's install() methods.\n *\n * A helper function for the sync function. It does not check if another sync is ongoing.\n *\n * @param syncCallback Optional callback to be called with the status of the sync operation.\n * The callback will be called only once, and the possible statuses are defined by the SyncStatus enum.\n * @param syncOptions Optional SyncOptions parameter configuring the behavior of the sync operation.\n * @param downloadProgress Optional callback invoked during the download process. It is called several times with one DownloadProgress parameter.\n *\n */\n syncInternal(syncCallback, syncOptions, downloadProgress) {\n /* No options were specified, use default */\n if (!syncOptions) {\n syncOptions = this.getDefaultSyncOptions();\n }\n else {\n /* Some options were specified */\n /* Handle dialog options */\n var defaultDialogOptions = this.getDefaultUpdateDialogOptions();\n if (syncOptions.updateDialog) {\n if (typeof syncOptions.updateDialog !== typeof ({})) {\n /* updateDialog set to truey condition, use default options */\n syncOptions.updateDialog = defaultDialogOptions;\n }\n else {\n /* some options were specified, merge with default */\n CodePushUtil.copyUnassignedMembers(defaultDialogOptions, syncOptions.updateDialog);\n }\n }\n /* Handle other options. Dialog options will not be overwritten. */\n var defaultOptions = this.getDefaultSyncOptions();\n CodePushUtil.copyUnassignedMembers(defaultOptions, syncOptions);\n }\n this.notifyApplicationReady();\n var onError = (error) => {\n CodePushUtil.logError(\"An error occurred during sync.\", error);\n syncCallback && syncCallback(error, SyncStatus.ERROR);\n };\n var onInstallSuccess = (appliedWhen) => {\n switch (appliedWhen) {\n case InstallMode.ON_NEXT_RESTART:\n CodePushUtil.logMessage(\"Update is installed and will be run on the next app restart.\");\n break;\n case InstallMode.ON_NEXT_RESUME:\n if (syncOptions.minimumBackgroundDuration > 0) {\n CodePushUtil.logMessage(`Update is installed and will be run after the app has been in the background for at least ${syncOptions.minimumBackgroundDuration} seconds.`);\n }\n else {\n CodePushUtil.logMessage(\"Update is installed and will be run when the app next resumes.\");\n }\n break;\n }\n syncCallback && syncCallback(null, SyncStatus.UPDATE_INSTALLED);\n };\n var onDownloadSuccess = (localPackage) => {\n syncCallback && syncCallback(null, SyncStatus.INSTALLING_UPDATE);\n localPackage.install(syncOptions).then(onInstallSuccess, onError);\n };\n var downloadAndInstallUpdate = (remotePackage) => {\n syncCallback && syncCallback(null, SyncStatus.DOWNLOADING_PACKAGE);\n remotePackage.download(downloadProgress).then(onDownloadSuccess, onError);\n };\n var onUpdate = (remotePackage) => __awaiter(this, void 0, void 0, function* () {\n var updateShouldBeIgnored = remotePackage && (remotePackage.failedInstall && syncOptions.ignoreFailedUpdates);\n if (!remotePackage || updateShouldBeIgnored) {\n if (updateShouldBeIgnored) {\n CodePushUtil.logMessage(\"An update is available, but it is being ignored due to have been previously rolled back.\");\n }\n syncCallback && syncCallback(null, SyncStatus.UP_TO_DATE);\n }\n else {\n var dlgOpts = syncOptions.updateDialog;\n if (dlgOpts) {\n CodePushUtil.logMessage(\"Awaiting user action.\");\n syncCallback && syncCallback(null, SyncStatus.AWAITING_USER_ACTION);\n }\n if (remotePackage.isMandatory && syncOptions.updateDialog) {\n /* Alert user */\n var message = dlgOpts.appendReleaseDescription ?\n dlgOpts.mandatoryUpdateMessage + dlgOpts.descriptionPrefix + remotePackage.description\n : dlgOpts.mandatoryUpdateMessage;\n yield Dialog.alert({\n message,\n title: dlgOpts.updateTitle,\n buttonTitle: dlgOpts.mandatoryContinueButtonLabel\n });\n downloadAndInstallUpdate(remotePackage);\n }\n else if (!remotePackage.isMandatory && syncOptions.updateDialog) {\n /* Confirm update with user */\n var message = dlgOpts.appendReleaseDescription ?\n dlgOpts.optionalUpdateMessage + dlgOpts.descriptionPrefix + remotePackage.description\n : dlgOpts.optionalUpdateMessage;\n const confirmResult = yield Dialog.confirm({\n message,\n title: dlgOpts.updateTitle,\n okButtonTitle: dlgOpts.optionalInstallButtonLabel,\n cancelButtonTitle: dlgOpts.optionalIgnoreButtonLabel\n });\n if (confirmResult.value) {\n /* Install */\n downloadAndInstallUpdate(remotePackage);\n }\n else {\n /* Cancel */\n CodePushUtil.logMessage(\"User cancelled the update.\");\n syncCallback && syncCallback(null, SyncStatus.UPDATE_IGNORED);\n }\n }\n else {\n /* No user interaction */\n downloadAndInstallUpdate(remotePackage);\n }\n }\n });\n syncCallback && syncCallback(null, SyncStatus.CHECKING_FOR_UPDATE);\n this.checkForUpdate(onUpdate, onError, syncOptions.deploymentKey);\n }\n /**\n * Returns the default options for the CodePush sync operation.\n * If the options are not defined yet, the static DefaultSyncOptions member will be instantiated.\n */\n getDefaultSyncOptions() {\n if (!CodePush.DefaultSyncOptions) {\n CodePush.DefaultSyncOptions = {\n ignoreFailedUpdates: true,\n installMode: InstallMode.ON_NEXT_RESTART,\n minimumBackgroundDuration: 0,\n mandatoryInstallMode: InstallMode.IMMEDIATE,\n updateDialog: false,\n deploymentKey: undefined\n };\n }\n return CodePush.DefaultSyncOptions;\n }\n /**\n * Returns the default options for the update dialog.\n * Please note that the dialog is disabled by default.\n */\n getDefaultUpdateDialogOptions() {\n if (!CodePush.DefaultUpdateDialogOptions) {\n CodePush.DefaultUpdateDialogOptions = {\n updateTitle: \"Update available\",\n mandatoryUpdateMessage: \"An update is available that must be installed.\",\n mandatoryContinueButtonLabel: \"Continue\",\n optionalUpdateMessage: \"An update is available. Would you like to install it?\",\n optionalInstallButtonLabel: \"Install\",\n optionalIgnoreButtonLabel: \"Ignore\",\n appendReleaseDescription: false,\n descriptionPrefix: \" Description: \"\n };\n }\n return CodePush.DefaultUpdateDialogOptions;\n }\n}\n/**\n * Defines the application statuses reported from the native layer.\n * !!! This enum is defined in native code as well, please make changes accordingly. !!!\n */\nvar ReportStatus;\n(function (ReportStatus) {\n ReportStatus[ReportStatus[\"STORE_VERSION\"] = 0] = \"STORE_VERSION\";\n ReportStatus[ReportStatus[\"UPDATE_CONFIRMED\"] = 1] = \"UPDATE_CONFIRMED\";\n ReportStatus[ReportStatus[\"UPDATE_ROLLED_BACK\"] = 2] = \"UPDATE_ROLLED_BACK\";\n})(ReportStatus || (ReportStatus = {}));\nexport const codePush = new CodePush();\nwindow.codePush = codePush;\n//# sourceMappingURL=codePush.js.map"],"names":["InstallMode","this","Filesystem","Directory","Encoding","registerPlugin","__awaiter","NativeCodePush","NativeHttp","AcquisitionManager","device","Device","AcquisitionStatus","Http","CodePush","Dialog"],"mappings":"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"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index f3f3ce92..3e85f49b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "capacitor-codepush", - "version": "0.1.0", + "version": "1.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -98,35 +98,27 @@ } }, "@capacitor-community/http": { - "version": "1.0.0-alpha.2", - "resolved": "https://registry.npmjs.org/@capacitor-community/http/-/http-1.0.0-alpha.2.tgz", - "integrity": "sha512-9HshKrNbvVBQDcC1pAWBqnOlbTCEpzsYcwrJcCX0pXGhcnofo45/iTD96mhxM4DtKEvFpymZmru+zUKZnYJ1EA==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@capacitor-community/http/-/http-1.0.0.tgz", + "integrity": "sha512-0uG8UEG2nnuE5ltazv/Yi3uR+jpGsyj6VkORSg0F9xdoFaeFBAG+kFDQwnkOV1cKQDGO5KRHOucafdAXH0zOOA==", "dev": true, "requires": { - "@capacitor/android": "^3.0.0-rc.0", - "@capacitor/core": "^3.0.0-rc.0", - "@capacitor/filesystem": "^0.3.2", - "@capacitor/ios": "^3.0.0-rc.0" - }, - "dependencies": { - "@capacitor/filesystem": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@capacitor/filesystem/-/filesystem-0.3.2.tgz", - "integrity": "sha512-diJTqpvNLNk7KBfFzYLfgFKzgObLCmFi8gi3kPFRRfhP/inJFHJwLO9k8LBt+xESANHGapRRm/dwxPBYXvn2YQ==", - "dev": true - } + "@capacitor/android": "^3.0.0", + "@capacitor/core": "^3.0.0", + "@capacitor/filesystem": "^1.0.0", + "@capacitor/ios": "^3.0.0" } }, "@capacitor/android": { - "version": "3.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@capacitor/android/-/android-3.0.0-rc.0.tgz", - "integrity": "sha512-61CDzUQ6H3uqM/jmvq40wX4c0HuUAQvdBsvF94mGlFU3IKtjAjFV/UyrLfYgdL6v1RD+hv6UGUUj9k1Kto7sPA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@capacitor/android/-/android-3.0.0.tgz", + "integrity": "sha512-qyvI3LzfGvVnSK7Dw3dXXLSJjfj816EfWHiyGzV4Rg5r2XkvPa8IqjHT3lmyxwNJjGdHl3TTn9Q6YvM6XD70cQ==", "dev": true }, "@capacitor/cli": { - "version": "3.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@capacitor/cli/-/cli-3.0.0-rc.0.tgz", - "integrity": "sha512-9ZDUZ9PdByF8zVO9bQeuxMMcipiR+JA1foCaFDWBU4mLbhRgGq1UbKmzzY3E6O0sy5gJOCYjk+JPKT2qgy7eeg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@capacitor/cli/-/cli-3.0.0.tgz", + "integrity": "sha512-WTU1PqinYSl8jibmWgQBnlHsXZmkYx2BTXtczlKUrZuiCm+He90qFEA2Fmf2uolqurpLWNnj/kfrACIZ/Sfr2Q==", "dev": true, "requires": { "@ionic/cli-framework-output": "^2.2.1", @@ -139,7 +131,7 @@ "kleur": "^4.1.1", "native-run": "^1.2.1", "open": "^7.1.0", - "plist": "^3.0.1", + "plist": "^3.0.2", "prompts": "^2.3.2", "semver": "^7.3.2", "tar": "^6.0.5", @@ -148,36 +140,36 @@ } }, "@capacitor/core": { - "version": "3.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-3.0.0-rc.0.tgz", - "integrity": "sha512-mg9k9iP+/yZ/uEqnOO+Pqc6Dqlyz98y19gNTP3q5dcUBVizGLaze615jt7xwjRppXlmCm+DMD1lN68ye8gU/dw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-3.0.0.tgz", + "integrity": "sha512-JmKE6QEayo8MqWcApwMP5YFimpVb2mcIEHBwgP/P9nSAOxOcbdpJyd9HhBt5pzZAE1MBngPADWWwZLrdNSjCnA==", "dev": true, "requires": { "tslib": "^2.1.0" } }, "@capacitor/device": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@capacitor/device/-/device-0.5.6.tgz", - "integrity": "sha512-Egf01VtrXEyxxB1NNMMLaMc+Jds09/pYUZpJYJFA9LQmJcWrKCP5Wah+ipNmIQUFkVgw4kcBSPC70ZoE8b9NJQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@capacitor/device/-/device-1.0.0.tgz", + "integrity": "sha512-FdDjBXk2Bwiju3xDzElx2eT50SmucNm77CDgBqNHjj+QPHpifcVpfrmK8xmuidwOcTb3TSEbmwxLRTn/RVAtNg==", "dev": true }, "@capacitor/dialog": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/@capacitor/dialog/-/dialog-0.4.6.tgz", - "integrity": "sha512-2pJonhOpIawRGR4CM/+PKPCq87iGqJVVFiPw/wnypAZcz8/UtkRlZFFyceK1U9LSei9sCKbiJsiCgBxlinPDZw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@capacitor/dialog/-/dialog-1.0.0.tgz", + "integrity": "sha512-MsSS4mUx2BIfsQMe6XM4jVVeRpl2OuTsktdSm9dfKXM1PysTqXt+mfDvt8kmS1ahHvWb0+5cO9MuLkAcFWGOCA==", "dev": true }, "@capacitor/filesystem": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@capacitor/filesystem/-/filesystem-0.5.2.tgz", - "integrity": "sha512-VkGuX4TvUjV7urY2hLLZxCOQO1zkoAGr6RVLBK84ThtELAp5UN/FLYyR2OY8ZWNy4BYtxojrqbJ9AA7tfv5vMQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@capacitor/filesystem/-/filesystem-1.0.0.tgz", + "integrity": "sha512-dneksUnpCSwTKZbUPeBR7th6XMR9iHGXMAKhtSCfeiNHm+QWaxPHCov3bxCHE3hyIstbkeC2Uipa0Lu8SW883Q==", "dev": true }, "@capacitor/ios": { - "version": "3.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@capacitor/ios/-/ios-3.0.0-rc.0.tgz", - "integrity": "sha512-c92qeHIKoC/HPBB9Ji+kdn9LJ2HPeRoWpamV/7OOlS2SAB+GjHWHWjuP8aWLnUFqFZxI7Mfrfo65Gd6N4haoGw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@capacitor/ios/-/ios-3.0.0.tgz", + "integrity": "sha512-EvWW86hQqmoY0qFV1LJyZujlgfEgl4iEUJVhCv84mshMyS2bXZu5Ip4yuKtJBDsKmTWyA7rfcAnPMEnUfQ6bkw==", "dev": true }, "@commitlint/cli": { @@ -4540,9 +4532,9 @@ } }, "is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", - "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true }, "is-extendable": { @@ -9928,14 +9920,14 @@ } }, "plist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", - "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.2.tgz", + "integrity": "sha512-MSrkwZBdQ6YapHy87/8hDU8MnIcyxBKjeF+McXnr5A9MtffPewTs7G3hlpodT5TacyfIyFTaJEhh3GGcmasTgQ==", "dev": true, "requires": { - "base64-js": "^1.2.3", + "base64-js": "^1.5.1", "xmlbuilder": "^9.0.7", - "xmldom": "0.1.x" + "xmldom": "^0.5.0" } }, "plugin-error": { @@ -10001,9 +9993,9 @@ "dev": true }, "prompts": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", - "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", + "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", "dev": true, "requires": { "kleur": "^3.0.3", @@ -12292,9 +12284,9 @@ "dev": true }, "typescript": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.2.tgz", - "integrity": "sha512-tbb+NVrLfnsJy3M59lsDgrzWIflR4d4TIUjz+heUnHZwdF7YsrMTKoRERiIvI2lvBG95dfpLxB21WZhys1bgaQ==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", + "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==", "dev": true }, "uglify-js": { @@ -12740,9 +12732,9 @@ "dev": true }, "xmldom": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz", - "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.5.0.tgz", + "integrity": "sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==", "dev": true }, "xregexp": { diff --git a/package.json b/package.json index 28a720b3..c4317711 100644 --- a/package.json +++ b/package.json @@ -29,11 +29,11 @@ "author": "MAPIACOMPANY", "license": "MIT", "devDependencies": { - "@capacitor-community/http": "^1.0.0-alpha.2", - "@capacitor/cli": "^3.0.0-rc.0", - "@capacitor/device": "^0.5.6", - "@capacitor/dialog": "^0.4.6", - "@capacitor/filesystem": "^0.5.2", + "@capacitor-community/http": "^1.0.0", + "@capacitor/cli": "^3.0.0", + "@capacitor/device": "^1.0.0", + "@capacitor/dialog": "^1.0.0", + "@capacitor/filesystem": "^1.0.0", "@commitlint/cli": "^11.0.0", "@commitlint/config-conventional": "^11.0.0", "@rollup/plugin-node-resolve": "^11.1.0", @@ -63,17 +63,17 @@ "run-sequence": "^2.2.1", "semantic-release": "^17.3.7", "tslint": "^6.1.3", - "typescript": "^4.1.3" + "typescript": "~4.2.4" }, "dependencies": { "code-push": "^4.0.2" }, "peerDependencies": { - "@capacitor-community/http": "^1.0.0-alpha.2", - "@capacitor/core": "^3.0.0-beta.6", - "@capacitor/device": "^0.5.5", - "@capacitor/dialog": "^0.4.5", - "@capacitor/filesystem": "^0.5.1" + "@capacitor-community/http": "^1.0.0", + "@capacitor/core": "^3.0.0", + "@capacitor/device": "^1.0.0", + "@capacitor/dialog": "^1.0.0", + "@capacitor/filesystem": "^1.0.0" }, "capacitor": { "android": { diff --git a/src/definitions.ts b/src/definitions.ts deleted file mode 100644 index 58c4c68e..00000000 --- a/src/definitions.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { NativeCodePushPlugin } from "./nativeCodePushPlugin"; - -declare module "@capacitor/core" { - interface PluginRegistry { - CodePush: NativeCodePushPlugin; - } -} diff --git a/src/httpRequester.ts b/src/httpRequester.ts index 2c5c514b..cba2a44e 100644 --- a/src/httpRequester.ts +++ b/src/httpRequester.ts @@ -1,8 +1,7 @@ import { Http } from "code-push/script/acquisition-sdk"; import type { Callback } from "./callbackUtil"; -import type { HttpResponse } from "@capacitor-community/http"; +import type { HttpResponse, HttpOptions } from "@capacitor-community/http"; import { Http as NativeHttp } from "@capacitor-community/http"; -import { HttpOptions } from "@capacitor-community/http/dist/esm/definitions"; /** diff --git a/src/index.ts b/src/index.ts index 61a68405..2ca16666 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,4 +1,3 @@ -export * from "./definitions"; export * from "./codePush"; export * from "./installMode"; export * from "./installOptions"; diff --git a/src/sdk.ts b/src/sdk.ts index 0b85e592..0d320d65 100644 --- a/src/sdk.ts +++ b/src/sdk.ts @@ -58,7 +58,7 @@ export class Sdk { deploymentKey = await NativeAppInfo.getDeploymentKey(); } catch (e) {} - const device = await Device.getInfo(); + const device = await Device.getId(); Sdk.DefaultConfiguration = { deploymentKey, serverUrl,