@simplysm/capacitor-plugin-auto-update 13.0.0-beta.45 → 13.0.0-beta.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/ApkInstaller.ts"],
4
- "sourcesContent": ["import { registerPlugin } from \"@capacitor/core\";\nimport type { IApkInstallerPlugin, IVersionInfo } from \"./IApkInstallerPlugin\";\n\nconst ApkInstallerPlugin = registerPlugin<IApkInstallerPlugin>(\"ApkInstaller\", {\n web: async () => {\n const { ApkInstallerWeb } = await import(\"./web/ApkInstallerWeb\");\n return new ApkInstallerWeb();\n },\n});\n\n/**\n * APK \uC124\uCE58 \uD50C\uB7EC\uADF8\uC778\n * - Android: APK \uC124\uCE58 \uC778\uD150\uD2B8 \uC2E4\uD589, REQUEST_INSTALL_PACKAGES \uAD8C\uD55C \uAD00\uB9AC\n * - Browser: alert\uC73C\uB85C \uC548\uB0B4 \uD6C4 \uC815\uC0C1 \uBC18\uD658\n */\nexport abstract class ApkInstaller {\n /**\n * Manifest\uC5D0 REQUEST_INSTALL_PACKAGES \uAD8C\uD55C\uC774 \uC120\uC5B8\uB418\uC5B4 \uC788\uB294\uC9C0 \uD655\uC778\n */\n static async hasPermissionManifest(): Promise<boolean> {\n const result = await ApkInstallerPlugin.hasPermissionManifest();\n return result.declared;\n }\n\n /**\n * REQUEST_INSTALL_PACKAGES \uAD8C\uD55C\uC774 \uD5C8\uC6A9\uB418\uC5B4 \uC788\uB294\uC9C0 \uD655\uC778\n */\n static async hasPermission(): Promise<boolean> {\n const result = await ApkInstallerPlugin.hasPermission();\n return result.granted;\n }\n\n /**\n * REQUEST_INSTALL_PACKAGES \uAD8C\uD55C \uC694\uCCAD (\uC124\uC815 \uD654\uBA74\uC73C\uB85C \uC774\uB3D9)\n */\n static async requestPermission(): Promise<void> {\n await ApkInstallerPlugin.requestPermission();\n }\n\n /**\n * APK \uC124\uCE58\n * @param apkUri content:// URI (FileProvider URI)\n */\n static async install(apkUri: string): Promise<void> {\n await ApkInstallerPlugin.install({ uri: apkUri });\n }\n\n /**\n * \uC571 \uBC84\uC804 \uC815\uBCF4 \uAC00\uC838\uC624\uAE30\n */\n static async getVersionInfo(): Promise<IVersionInfo> {\n return ApkInstallerPlugin.getVersionInfo();\n }\n}\n"],
5
4
  "mappings": "AAAA,SAAS,sBAAsB;AAG/B,MAAM,qBAAqB,eAAoC,gBAAgB;AAAA,EAC7E,KAAK,YAAY;AACf,UAAM,EAAE,gBAAgB,IAAI,MAAM,OAAO,uBAAuB;AAChE,WAAO,IAAI,gBAAgB;AAAA,EAC7B;AACF,CAAC;AAOM,MAAe,aAAa;AAAA;AAAA;AAAA;AAAA,EAIjC,aAAa,wBAA0C;AACrD,UAAM,SAAS,MAAM,mBAAmB,sBAAsB;AAC9D,WAAO,OAAO;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,gBAAkC;AAC7C,UAAM,SAAS,MAAM,mBAAmB,cAAc;AACtD,WAAO,OAAO;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,oBAAmC;AAC9C,UAAM,mBAAmB,kBAAkB;AAAA,EAC7C;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAa,QAAQ,QAA+B;AAClD,UAAM,mBAAmB,QAAQ,EAAE,KAAK,OAAO,CAAC;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,iBAAwC;AACnD,WAAO,mBAAmB,eAAe;AAAA,EAC3C;AACF;",
6
5
  "names": []
7
6
  }
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/AutoUpdate.ts"],
4
- "sourcesContent": ["import { FileSystem } from \"@simplysm/capacitor-plugin-file-system\";\nimport { html, waitUntil, pathJoin, pathBasename, pathExtname } from \"@simplysm/core-common\";\nimport { fetchUrlBytes } from \"@simplysm/core-browser\";\nimport type { ServiceClient } from \"@simplysm/service-client\";\nimport type { AutoUpdateService } from \"@simplysm/service-common\";\nimport semver from \"semver\";\nimport { ApkInstaller } from \"./ApkInstaller\";\n\nexport abstract class AutoUpdate {\n private static readonly _BUTTON_CSS = `\n all: unset;\n color: blue;\n width: 100%;\n padding: 10px;\n line-height: 1.5em;\n font-size: 20px;\n position: fixed;\n bottom: 0;\n left: 0;\n border-top: 1px solid lightgrey;\n `;\n\n private static readonly _BUTTON_ACTIVE_CSS = `\n background: lightgrey;\n `;\n\n private static _throwAboutReinstall(code: number, targetHref?: string) {\n const downloadHtml =\n targetHref != null\n ? html`\n <style>\n ._button { ${this._BUTTON_CSS} }\n ._button:active { ${this._BUTTON_ACTIVE_CSS} }\n </style>\n <a class=\"_button\" href=\"intent://${targetHref.replace(/^https?:\\/\\//, \"\")}#Intent;scheme=http;end\">\n \uB2E4\uC6B4\uB85C\uB4DC\n </a>\n `\n : \"\";\n\n throw new Error(html`\n APK\uD30C\uC77C\uC744 \uB2E4\uC2DC \uB2E4\uC6B4\uB85C\uB4DC \uBC1B\uC544, \uC124\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4(${code}). ${downloadHtml}\n `);\n }\n\n private static async _checkPermission(log: (messageHtml: string) => void, targetHref?: string) {\n if (!navigator.userAgent.toLowerCase().includes(\"android\")) {\n throw new Error(\"\uC548\uB4DC\uB85C\uC774\uB4DC\uB9CC \uC9C0\uC6D0\uD569\uB2C8\uB2E4.\");\n }\n\n try {\n if (!(await ApkInstaller.hasPermissionManifest())) {\n this._throwAboutReinstall(1, targetHref);\n }\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error(\"[AutoUpdate] hasPermissionManifest \uCCB4\uD06C \uC2E4\uD328:\", err);\n this._throwAboutReinstall(2, targetHref);\n }\n\n const hasPerm = await ApkInstaller.hasPermission();\n if (!hasPerm) {\n log(html`\n \uC124\uCE58\uAD8C\uD55C\uC774 \uC124\uC815\uB418\uC5B4\uC57C\uD569\uB2C8\uB2E4.\n <style>\n button { ${this._BUTTON_CSS} }\n button:active { ${this._BUTTON_ACTIVE_CSS} }\n </style>\n <button onclick=\"location.reload()\">\uC7AC\uC2DC\uB3C4</button>\n `);\n await ApkInstaller.requestPermission();\n // \uCD5C\uB300 5\uBD84(300\uCD08) \uB300\uAE30 - \uC0AC\uC6A9\uC790\uAC00 \uC124\uC815 \uD654\uBA74\uC5D0\uC11C \uAD8C\uD55C\uC744 \uC2B9\uC778\uD560 \uC2DC\uAC04\n await waitUntil(\n async () => {\n return ApkInstaller.hasPermission();\n },\n 1000,\n 300,\n );\n }\n }\n\n private static async _installApk(log: (messageHtml: string) => void, apkFilePath: string): Promise<void> {\n log(html`\n \uCD5C\uC2E0\uBC84\uC804\uC744 \uC124\uCE58\uD55C \uD6C4 \uC7AC\uC2DC\uC791\uD558\uC138\uC694.\n <style>\n button { ${this._BUTTON_CSS} }\n button:active { ${this._BUTTON_ACTIVE_CSS} }\n </style>\n <button onclick=\"location.reload()\">\uC7AC\uC2DC\uB3C4</button>\n `);\n const apkFileUri = await FileSystem.getFileUri(apkFilePath);\n await ApkInstaller.install(apkFileUri);\n }\n\n private static _getErrorMessage(err: unknown) {\n return html`\n \uC5C5\uB370\uC774\uD2B8 \uC911 \uC624\uB958 \uBC1C\uC0DD:\n <br />\n ${err instanceof Error ? err.message : String(err)}\n `;\n }\n\n private static async _freezeApp() {\n await new Promise(() => {}); // \uBB34\uD55C\uB300\uAE30\n }\n\n static async run(opt: { log: (messageHtml: string) => void; serviceClient: ServiceClient }) {\n try {\n opt.log(`\uCD5C\uC2E0\uBC84\uC804 \uD655\uC778 \uC911...`);\n\n // \uC11C\uBC84\uC758 \uBC84\uC804 \uBC0F \uB2E4\uC6B4\uB85C\uB4DC\uB9C1\uD06C \uAC00\uC838\uC624\uAE30\n const autoUpdateServiceClient = opt.serviceClient.getService<AutoUpdateService>(\"AutoUpdateService\");\n\n const serverVersionInfo = await autoUpdateServiceClient.getLastVersion(\"android\");\n if (!serverVersionInfo) {\n // eslint-disable-next-line no-console\n console.log(\"\uC11C\uBC84\uC5D0\uC11C \uCD5C\uC2E0\uBC84\uC804 \uC815\uBCF4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.\");\n return;\n }\n\n opt.log(`\uAD8C\uD55C \uD655\uC778 \uC911...`);\n await this._checkPermission(opt.log, opt.serviceClient.hostUrl + serverVersionInfo.downloadPath);\n\n // \uD604\uC7AC \uC571 \uBC84\uC804 \uAC00\uC838\uC624\uAE30\n const currentVersionInfo = await ApkInstaller.getVersionInfo();\n\n // \uCD5C\uC2E0\uBC84\uC804\uC774\uAC70\uB098 \uC11C\uBC84 \uBC84\uC804\uC774 \uB0AE\uC73C\uBA74 \uBC18\uD658\n if (semver.valid(currentVersionInfo.versionName) === null || semver.valid(serverVersionInfo.version) === null) {\n // eslint-disable-next-line no-console\n console.log(\"Invalid semver version, skipping update check\");\n return;\n }\n if (!semver.gt(serverVersionInfo.version, currentVersionInfo.versionName)) {\n return;\n }\n\n opt.log(`\uCD5C\uC2E0\uBC84\uC804 \uD30C\uC77C \uB2E4\uC6B4\uB85C\uB4DC\uC911...`);\n const buffer = await fetchUrlBytes(opt.serviceClient.hostUrl + serverVersionInfo.downloadPath, {\n onProgress: (progress) => {\n const progressText = ((progress.receivedLength * 100) / progress.contentLength).toFixed(2);\n opt.log(`\uCD5C\uC2E0\uBC84\uC804 \uD30C\uC77C \uB2E4\uC6B4\uB85C\uB4DC\uC911...(${progressText}%)`);\n },\n });\n const storagePath = await FileSystem.getStoragePath(\"appCache\");\n const apkFilePath = pathJoin(storagePath, `latest.apk`);\n await FileSystem.writeFile(apkFilePath, buffer);\n\n await this._installApk(opt.log, apkFilePath);\n await this._freezeApp();\n } catch (err) {\n opt.log(this._getErrorMessage(err));\n await this._freezeApp();\n }\n }\n\n static async runByExternalStorage(opt: { log: (messageHtml: string) => void; dirPath: string }) {\n try {\n opt.log(`\uAD8C\uD55C \uD655\uC778 \uC911...`);\n await this._checkPermission(opt.log);\n\n opt.log(`\uCD5C\uC2E0\uBC84\uC804 \uD655\uC778 \uC911...`);\n\n // \uBC84\uC804 \uAC00\uC838\uC624\uAE30\n const externalPath = await FileSystem.getStoragePath(\"external\");\n const fileInfos = await FileSystem.readdir(pathJoin(externalPath, opt.dirPath));\n\n const versions = fileInfos\n .filter((fileInfo) => !fileInfo.isDirectory)\n .map((fileInfo) => ({\n fileName: fileInfo.name,\n version: pathBasename(fileInfo.name, pathExtname(fileInfo.name)),\n extName: pathExtname(fileInfo.name),\n }))\n .filter((item) => {\n return item.extName === \".apk\" && /^[0-9.]*$/.test(item.version);\n });\n\n // \uBC84\uC804\uD30C\uC77C \uC800\uC7A5\uB41C\uAC83 \uC5C6\uC73C\uBA74 \uBC18\uD658\n if (versions.length === 0) return;\n\n const latestVersion = semver.maxSatisfying(\n versions.map((item) => item.version),\n \"*\",\n );\n\n // \uC720\uD6A8\uD55C semver \uBC84\uC804\uC774 \uC5C6\uC73C\uBA74 \uBC18\uD658\n if (latestVersion == null) {\n // eslint-disable-next-line no-console\n console.log(\"\uC720\uD6A8\uD55C semver \uBC84\uC804 \uD30C\uC77C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.\");\n return;\n }\n\n // \uD604\uC7AC \uC571 \uBC84\uC804 \uAC00\uC838\uC624\uAE30\n const currentVersionInfo = await ApkInstaller.getVersionInfo();\n\n // \uCD5C\uC2E0\uBC84\uC804\uC774\uAC70\uB098 \uC678\uBD80 \uC800\uC7A5\uC18C \uBC84\uC804\uC774 \uB0AE\uC73C\uBA74 \uBC18\uD658\n if (semver.valid(currentVersionInfo.versionName) === null || semver.valid(latestVersion) === null) {\n // eslint-disable-next-line no-console\n console.log(\"Invalid semver version, skipping update check\");\n return;\n }\n if (!semver.gt(latestVersion, currentVersionInfo.versionName)) {\n return;\n }\n\n const apkFilePath = pathJoin(externalPath, opt.dirPath, latestVersion + \".apk\");\n await this._installApk(opt.log, apkFilePath);\n await this._freezeApp();\n } catch (err) {\n opt.log(this._getErrorMessage(err));\n await this._freezeApp();\n }\n }\n}\n"],
5
4
  "mappings": "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",
6
5
  "names": []
7
6
  }
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": [],
4
- "sourcesContent": [],
5
4
  "mappings": "",
6
5
  "names": []
7
6
  }
package/dist/index.js.map CHANGED
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
- "sourcesContent": ["export * from \"./ApkInstaller\";\nexport * from \"./AutoUpdate\";\nexport * from \"./IApkInstallerPlugin\";\n"],
5
4
  "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;",
6
5
  "names": []
7
6
  }
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/web/ApkInstallerWeb.ts"],
4
- "sourcesContent": ["import { WebPlugin } from \"@capacitor/core\";\nimport type { IApkInstallerPlugin, IVersionInfo } from \"../IApkInstallerPlugin\";\n\nexport class ApkInstallerWeb extends WebPlugin implements IApkInstallerPlugin {\n install(_options: { uri: string }): Promise<void> {\n alert(\"[ApkInstaller] \uC6F9 \uD658\uACBD\uC5D0\uC11C\uB294 APK \uC124\uCE58\uB97C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.\");\n return Promise.resolve();\n }\n\n hasPermission(): Promise<{ granted: boolean }> {\n // \uC6F9\uC5D0\uC11C\uB294 \uAD8C\uD55C \uCCB4\uD06C \uC2A4\uD0B5\n return Promise.resolve({ granted: true });\n }\n\n async requestPermission(): Promise<void> {\n // \uC6F9\uC5D0\uC11C\uB294 no-op\n }\n\n hasPermissionManifest(): Promise<{ declared: boolean }> {\n // \uC6F9\uC5D0\uC11C\uB294 \uB9E4\uB2C8\uD398\uC2A4\uD2B8 \uCCB4\uD06C \uC2A4\uD0B5\n return Promise.resolve({ declared: true });\n }\n\n getVersionInfo(): Promise<IVersionInfo> {\n return Promise.resolve({\n versionName: (import.meta as unknown as { env?: Record<string, string> }).env?.[\"__VER__\"] ?? \"0.0.0\",\n versionCode: \"0\",\n });\n }\n}\n"],
5
4
  "mappings": "AAAA,SAAS,iBAAiB;AAGnB,MAAM,wBAAwB,UAAyC;AAAA,EAC5E,QAAQ,UAA0C;AAChD,UAAM,gIAA2C;AACjD,WAAO,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,gBAA+C;AAE7C,WAAO,QAAQ,QAAQ,EAAE,SAAS,KAAK,CAAC;AAAA,EAC1C;AAAA,EAEA,MAAM,oBAAmC;AAAA,EAEzC;AAAA,EAEA,wBAAwD;AAEtD,WAAO,QAAQ,QAAQ,EAAE,UAAU,KAAK,CAAC;AAAA,EAC3C;AAAA,EAEA,iBAAwC;AAvB1C;AAwBI,WAAO,QAAQ,QAAQ;AAAA,MACrB,eAAc,iBAA4D,QAA5D,mBAAkE,eAAc;AAAA,MAC9F,aAAa;AAAA,IACf,CAAC;AAAA,EACH;AACF;",
6
5
  "names": []
7
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simplysm/capacitor-plugin-auto-update",
3
- "version": "13.0.0-beta.45",
3
+ "version": "13.0.0-beta.47",
4
4
  "description": "심플리즘 패키지 - Capacitor Auto Update Plugin",
5
5
  "author": "김석래",
6
6
  "repository": {
@@ -23,11 +23,11 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "semver": "^7.7.4",
26
- "@simplysm/capacitor-plugin-file-system": "13.0.0-beta.45",
27
- "@simplysm/core-browser": "13.0.0-beta.45",
28
- "@simplysm/core-common": "13.0.0-beta.45",
29
- "@simplysm/service-client": "13.0.0-beta.45",
30
- "@simplysm/service-common": "13.0.0-beta.45"
26
+ "@simplysm/capacitor-plugin-file-system": "13.0.0-beta.47",
27
+ "@simplysm/core-browser": "13.0.0-beta.47",
28
+ "@simplysm/core-common": "13.0.0-beta.47",
29
+ "@simplysm/service-client": "13.0.0-beta.47",
30
+ "@simplysm/service-common": "13.0.0-beta.47"
31
31
  },
32
32
  "peerDependencies": {
33
33
  "@capacitor/core": "^7.4.4"