@capgo/capacitor-webview-version-checker 8.2.8 → 8.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/src/main/java/app/capgo/webviewversionchecker/GeneratedVersionShareData.java +2 -2
- package/android/src/main/java/app/capgo/webviewversionchecker/WebviewVersionChecker.java +84 -0
- package/android/src/main/java/app/capgo/webviewversionchecker/WebviewVersionCheckerPlugin.java +34 -41
- package/dist/esm/definitions.d.ts +11 -2
- package/dist/esm/definitions.js.map +1 -1
- package/dist/esm/generated-version-share.d.ts +2 -2
- package/dist/esm/generated-version-share.js +86 -87
- package/dist/esm/generated-version-share.js.map +1 -1
- package/dist/esm/web.js +6 -0
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +91 -86
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +91 -86
- package/dist/plugin.js.map +1 -1
- package/package.json +3 -2
- package/src/generated-version-share.ts +86 -87
package/dist/esm/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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","sourcesContent":["import { WebPlugin } from '@capacitor/core';\n\nimport type {\n CheckWebViewOptions,\n LastStatusResult,\n MonitoringStateResult,\n OpenUpdatePageOptions,\n OpenUpdatePageResult,\n ShowUpdatePromptOptions,\n ShowUpdatePromptResult,\n StartMonitoringOptions,\n WebViewVersionState,\n WebViewVersionStatus,\n WebviewVersionCheckerPlugin,\n} from './definitions';\nimport { DEFAULT_VERSION_SHARE_BY_MAJOR, DEFAULT_VERSION_SHARE_DATA_SOURCE } from './generated-version-share';\n\nconst UNKNOWN_REASON =\n 'Web implementation is a compatibility shim. Native Android/iOS implementations provide full WebView checks.';\n\nexport class WebviewVersionCheckerWeb extends WebPlugin implements WebviewVersionCheckerPlugin {\n private monitoring = false;\n private checkOnResume = true;\n private autoPromptOnOutdated = false;\n private lastStatus: WebViewVersionStatus | null = null;\n\n async check(options: CheckWebViewOptions = {}): Promise<WebViewVersionStatus> {\n const currentVersion = this.detectCurrentVersion();\n const currentMajorVersion = this.parseMajorVersion(currentVersion);\n const latestVersion = options.latestVersion;\n const latestMajorVersion = this.parseMajorVersion(latestVersion);\n const minimumDeviceSharePercent = this.normalizePercent(options.minimumDeviceSharePercent ?? 3);\n const normalizedInlineVersionShareByMajor = this.normalizeVersionShareByMajor(options.versionShareByMajor);\n const normalizedGeneratedVersionShareByMajor = this.normalizeVersionShareByMajor(DEFAULT_VERSION_SHARE_BY_MAJOR);\n const normalizedVersionShareByMajor = normalizedInlineVersionShareByMajor ?? normalizedGeneratedVersionShareByMajor;\n const versionShareSource = normalizedInlineVersionShareByMajor\n ? 'versionShareByMajor'\n : DEFAULT_VERSION_SHARE_DATA_SOURCE;\n const currentVersionSharePercent = this.resolveCurrentVersionSharePercent(\n currentMajorVersion,\n normalizedVersionShareByMajor,\n );\n let deviceShareError: string | undefined;\n\n let state: WebViewVersionState = 'unknown';\n let reason = UNKNOWN_REASON;\n\n if (typeof minimumDeviceSharePercent === 'number') {\n if (typeof currentVersionSharePercent === 'number') {\n state = currentVersionSharePercent >= minimumDeviceSharePercent ? 'latest' : 'outdated';\n reason =\n state === 'latest'\n ? 'Current browser engine major version meets the configured device-share threshold.'\n : 'Current browser engine major version is below the configured device-share threshold.';\n } else if (!normalizedVersionShareByMajor && options.versionShareApiUrl) {\n deviceShareError =\n 'Web shim does not fetch version-share API data. Provide versionShareByMajor to evaluate minimumDeviceSharePercent.';\n } else if (!normalizedVersionShareByMajor) {\n deviceShareError = 'minimumDeviceSharePercent is set, but no versionShareByMajor dataset was provided.';\n } else {\n deviceShareError = 'No device-share entry was found for the current browser engine major version.';\n }\n }\n\n if (state === 'unknown' && latestVersion && currentVersion) {\n const cmp = this.compareVersions(currentVersion, latestVersion);\n state = cmp >= 0 ? 'latest' : 'outdated';\n reason =\n cmp >= 0\n ? 'Current browser engine is at or above the requested latest version.'\n : 'Current browser engine is below the requested latest version.';\n } else if (\n state === 'unknown' &&\n typeof options.minimumMajorVersion === 'number' &&\n typeof currentMajorVersion === 'number'\n ) {\n state = currentMajorVersion >= options.minimumMajorVersion ? 'latest' : 'outdated';\n reason =\n state === 'latest'\n ? 'Current browser engine major version meets the minimum requirement.'\n : 'Current browser engine major version is below the minimum requirement.';\n } else if (state === 'unknown' && deviceShareError) {\n reason = deviceShareError;\n }\n\n const status: WebViewVersionStatus = {\n platform: 'web',\n state,\n isLatest: state === 'latest',\n checkedAt: new Date().toISOString(),\n reason,\n currentVersion,\n currentMajorVersion,\n latestVersion,\n latestMajorVersion,\n currentVersionSharePercent,\n minimumDeviceSharePercent,\n versionShareSource: normalizedVersionShareByMajor ? versionShareSource : undefined,\n deviceShareError,\n updateUrl: options.updateUrl,\n source: options.source ?? 'web-shim',\n };\n\n this.lastStatus = status;\n this.notifyListeners('statusChanged', status);\n if (state === 'latest') {\n this.notifyListeners('webViewLatest', status);\n } else if (state === 'outdated') {\n this.notifyListeners('webViewOutdated', status);\n if (options.showPromptOnOutdated || this.autoPromptOnOutdated) {\n await this.showUpdatePrompt({ updateUrl: status.updateUrl });\n }\n }\n\n return status;\n }\n\n async startMonitoring(options: StartMonitoringOptions = {}): Promise<MonitoringStateResult> {\n this.monitoring = true;\n this.checkOnResume = options.checkOnResume ?? true;\n this.autoPromptOnOutdated = options.autoPromptOnOutdated ?? false;\n\n if (options.checkOnStart ?? true) {\n await this.check({ ...options, source: options.source ?? 'startMonitoring' });\n }\n\n return {\n monitoring: this.monitoring,\n checkOnResume: this.checkOnResume,\n autoPromptOnOutdated: this.autoPromptOnOutdated,\n };\n }\n\n async stopMonitoring(): Promise<MonitoringStateResult> {\n this.monitoring = false;\n return {\n monitoring: this.monitoring,\n checkOnResume: this.checkOnResume,\n autoPromptOnOutdated: this.autoPromptOnOutdated,\n };\n }\n\n async getLastStatus(): Promise<LastStatusResult> {\n return {\n status: this.lastStatus,\n };\n }\n\n async showUpdatePrompt(options: ShowUpdatePromptOptions = {}): Promise<ShowUpdatePromptResult> {\n const url = options.updateUrl ?? this.lastStatus?.updateUrl;\n\n if (!url) {\n return {\n shown: false,\n openedUpdatePage: false,\n };\n }\n\n const opened = this.openUrl(url);\n\n return {\n shown: true,\n openedUpdatePage: opened,\n };\n }\n\n async openUpdatePage(options: OpenUpdatePageOptions = {}): Promise<OpenUpdatePageResult> {\n const url = options.updateUrl ?? this.lastStatus?.updateUrl ?? '';\n if (!url) {\n return {\n opened: false,\n url,\n };\n }\n\n return {\n opened: this.openUrl(url),\n url,\n };\n }\n\n private detectCurrentVersion(): string {\n const chromiumMatch = navigator.userAgent.match(/Chrome\\/([\\d.]+)/i);\n if (chromiumMatch?.[1]) {\n return chromiumMatch[1];\n }\n\n const appleWebKitMatch = navigator.userAgent.match(/AppleWebKit\\/([\\d.]+)/i);\n if (appleWebKitMatch?.[1]) {\n return appleWebKitMatch[1];\n }\n\n return navigator.userAgent;\n }\n\n private openUrl(url: string): boolean {\n try {\n window.open(url, '_blank', 'noopener,noreferrer');\n return true;\n } catch {\n return false;\n }\n }\n\n private parseMajorVersion(version?: string): number | undefined {\n if (!version) {\n return undefined;\n }\n\n const match = version.match(/(\\d+)/);\n if (!match) {\n return undefined;\n }\n\n const major = Number.parseInt(match[1], 10);\n return Number.isFinite(major) ? major : undefined;\n }\n\n private compareVersions(left: string, right: string): number {\n const leftParts = left\n .split(/[^0-9]+/)\n .filter(Boolean)\n .map((part) => Number.parseInt(part, 10));\n const rightParts = right\n .split(/[^0-9]+/)\n .filter(Boolean)\n .map((part) => Number.parseInt(part, 10));\n const maxLength = Math.max(leftParts.length, rightParts.length);\n\n for (let i = 0; i < maxLength; i += 1) {\n const a = leftParts[i] ?? 0;\n const b = rightParts[i] ?? 0;\n if (a > b) {\n return 1;\n }\n if (a < b) {\n return -1;\n }\n }\n\n return 0;\n }\n\n private normalizePercent(value?: number): number | undefined {\n if (typeof value !== 'number' || Number.isNaN(value) || !Number.isFinite(value)) {\n return undefined;\n }\n return Math.min(100, Math.max(0, value));\n }\n\n private normalizeVersionShareByMajor(shareByMajor?: Record<string, number>): Record<number, number> | undefined {\n if (!shareByMajor) {\n return undefined;\n }\n\n const normalized: Record<number, number> = {};\n for (const [rawKey, rawShare] of Object.entries(shareByMajor)) {\n const major = this.parseMajorVersion(rawKey);\n const share = this.normalizePercent(rawShare);\n if (typeof major === 'number' && typeof share === 'number') {\n normalized[major] = share;\n }\n }\n\n return Object.keys(normalized).length > 0 ? normalized : undefined;\n }\n\n private resolveCurrentVersionSharePercent(\n currentMajorVersion: number | undefined,\n normalizedShareByMajor: Record<number, number> | undefined,\n ): number | undefined {\n if (typeof currentMajorVersion !== 'number' || !normalizedShareByMajor) {\n return undefined;\n }\n\n return normalizedShareByMajor[currentMajorVersion];\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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","sourcesContent":["import { WebPlugin } from '@capacitor/core';\n\nimport type {\n CheckWebViewOptions,\n LastStatusResult,\n MonitoringStateResult,\n OpenUpdatePageOptions,\n OpenUpdatePageResult,\n ShowUpdatePromptOptions,\n ShowUpdatePromptResult,\n StartMonitoringOptions,\n WebViewVersionState,\n WebViewVersionStatus,\n WebviewVersionCheckerPlugin,\n} from './definitions';\nimport { DEFAULT_VERSION_SHARE_BY_MAJOR, DEFAULT_VERSION_SHARE_DATA_SOURCE } from './generated-version-share';\n\nconst UNKNOWN_REASON =\n 'Web implementation is a compatibility shim. Native Android/iOS implementations provide full WebView checks.';\n\nexport class WebviewVersionCheckerWeb extends WebPlugin implements WebviewVersionCheckerPlugin {\n private monitoring = false;\n private checkOnResume = true;\n private autoPromptOnOutdated = false;\n private lastStatus: WebViewVersionStatus | null = null;\n\n async check(options: CheckWebViewOptions = {}): Promise<WebViewVersionStatus> {\n const currentVersion = this.detectCurrentVersion();\n const currentMajorVersion = this.parseMajorVersion(currentVersion);\n const latestVersion = options.latestVersion;\n const latestMajorVersion = this.parseMajorVersion(latestVersion);\n const minimumDeviceSharePercent = this.normalizePercent(options.minimumDeviceSharePercent ?? 3);\n const normalizedInlineVersionShareByMajor = this.normalizeVersionShareByMajor(options.versionShareByMajor);\n const normalizedGeneratedVersionShareByMajor = this.normalizeVersionShareByMajor(DEFAULT_VERSION_SHARE_BY_MAJOR);\n const normalizedVersionShareByMajor = normalizedInlineVersionShareByMajor ?? normalizedGeneratedVersionShareByMajor;\n const versionShareSource = normalizedInlineVersionShareByMajor\n ? 'versionShareByMajor'\n : DEFAULT_VERSION_SHARE_DATA_SOURCE;\n const currentVersionSharePercent = this.resolveCurrentVersionSharePercent(\n currentMajorVersion,\n normalizedVersionShareByMajor,\n );\n let deviceShareError: string | undefined;\n\n let state: WebViewVersionState = 'unknown';\n let reason = UNKNOWN_REASON;\n\n if (typeof minimumDeviceSharePercent === 'number') {\n if (typeof currentVersionSharePercent === 'number') {\n state = currentVersionSharePercent >= minimumDeviceSharePercent ? 'latest' : 'outdated';\n reason =\n state === 'latest'\n ? 'Current browser engine major version meets the configured device-share threshold.'\n : 'Current browser engine major version is below the configured device-share threshold.';\n } else if (!normalizedVersionShareByMajor && options.versionShareApiUrl) {\n deviceShareError =\n 'Web shim does not fetch version-share API data. Provide versionShareByMajor to evaluate minimumDeviceSharePercent.';\n } else if (!normalizedVersionShareByMajor) {\n deviceShareError = 'minimumDeviceSharePercent is set, but no versionShareByMajor dataset was provided.';\n } else {\n deviceShareError = 'No device-share entry was found for the current browser engine major version.';\n }\n }\n\n if (state === 'unknown' && latestVersion && currentVersion) {\n const cmp = this.compareVersions(currentVersion, latestVersion);\n state = cmp >= 0 ? 'latest' : 'outdated';\n reason =\n cmp >= 0\n ? 'Current browser engine is at or above the requested latest version.'\n : 'Current browser engine is below the requested latest version.';\n } else if (\n state === 'unknown' &&\n typeof options.minimumMajorVersion === 'number' &&\n typeof currentMajorVersion === 'number'\n ) {\n state = currentMajorVersion >= options.minimumMajorVersion ? 'latest' : 'outdated';\n reason =\n state === 'latest'\n ? 'Current browser engine major version meets the minimum requirement.'\n : 'Current browser engine major version is below the minimum requirement.';\n } else if (state === 'unknown' && deviceShareError) {\n reason = deviceShareError;\n }\n\n if (\n typeof options.minimumMajorVersion === 'number' &&\n typeof currentMajorVersion === 'number' &&\n currentMajorVersion < options.minimumMajorVersion\n ) {\n state = 'outdated';\n reason = 'Current browser engine major version is below the minimum requirement.';\n }\n\n const status: WebViewVersionStatus = {\n platform: 'web',\n state,\n isLatest: state === 'latest',\n checkedAt: new Date().toISOString(),\n reason,\n currentVersion,\n currentMajorVersion,\n latestVersion,\n latestMajorVersion,\n currentVersionSharePercent,\n minimumDeviceSharePercent,\n versionShareSource: normalizedVersionShareByMajor ? versionShareSource : undefined,\n deviceShareError,\n updateUrl: options.updateUrl,\n source: options.source ?? 'web-shim',\n };\n\n this.lastStatus = status;\n this.notifyListeners('statusChanged', status);\n if (state === 'latest') {\n this.notifyListeners('webViewLatest', status);\n } else if (state === 'outdated') {\n this.notifyListeners('webViewOutdated', status);\n if (options.showPromptOnOutdated || this.autoPromptOnOutdated) {\n await this.showUpdatePrompt({ updateUrl: status.updateUrl });\n }\n }\n\n return status;\n }\n\n async startMonitoring(options: StartMonitoringOptions = {}): Promise<MonitoringStateResult> {\n this.monitoring = true;\n this.checkOnResume = options.checkOnResume ?? true;\n this.autoPromptOnOutdated = options.autoPromptOnOutdated ?? false;\n\n if (options.checkOnStart ?? true) {\n await this.check({ ...options, source: options.source ?? 'startMonitoring' });\n }\n\n return {\n monitoring: this.monitoring,\n checkOnResume: this.checkOnResume,\n autoPromptOnOutdated: this.autoPromptOnOutdated,\n };\n }\n\n async stopMonitoring(): Promise<MonitoringStateResult> {\n this.monitoring = false;\n return {\n monitoring: this.monitoring,\n checkOnResume: this.checkOnResume,\n autoPromptOnOutdated: this.autoPromptOnOutdated,\n };\n }\n\n async getLastStatus(): Promise<LastStatusResult> {\n return {\n status: this.lastStatus,\n };\n }\n\n async showUpdatePrompt(options: ShowUpdatePromptOptions = {}): Promise<ShowUpdatePromptResult> {\n const url = options.updateUrl ?? this.lastStatus?.updateUrl;\n\n if (!url) {\n return {\n shown: false,\n openedUpdatePage: false,\n };\n }\n\n const opened = this.openUrl(url);\n\n return {\n shown: true,\n openedUpdatePage: opened,\n };\n }\n\n async openUpdatePage(options: OpenUpdatePageOptions = {}): Promise<OpenUpdatePageResult> {\n const url = options.updateUrl ?? this.lastStatus?.updateUrl ?? '';\n if (!url) {\n return {\n opened: false,\n url,\n };\n }\n\n return {\n opened: this.openUrl(url),\n url,\n };\n }\n\n private detectCurrentVersion(): string {\n const chromiumMatch = navigator.userAgent.match(/Chrome\\/([\\d.]+)/i);\n if (chromiumMatch?.[1]) {\n return chromiumMatch[1];\n }\n\n const appleWebKitMatch = navigator.userAgent.match(/AppleWebKit\\/([\\d.]+)/i);\n if (appleWebKitMatch?.[1]) {\n return appleWebKitMatch[1];\n }\n\n return navigator.userAgent;\n }\n\n private openUrl(url: string): boolean {\n try {\n window.open(url, '_blank', 'noopener,noreferrer');\n return true;\n } catch {\n return false;\n }\n }\n\n private parseMajorVersion(version?: string): number | undefined {\n if (!version) {\n return undefined;\n }\n\n const match = version.match(/(\\d+)/);\n if (!match) {\n return undefined;\n }\n\n const major = Number.parseInt(match[1], 10);\n return Number.isFinite(major) ? major : undefined;\n }\n\n private compareVersions(left: string, right: string): number {\n const leftParts = left\n .split(/[^0-9]+/)\n .filter(Boolean)\n .map((part) => Number.parseInt(part, 10));\n const rightParts = right\n .split(/[^0-9]+/)\n .filter(Boolean)\n .map((part) => Number.parseInt(part, 10));\n const maxLength = Math.max(leftParts.length, rightParts.length);\n\n for (let i = 0; i < maxLength; i += 1) {\n const a = leftParts[i] ?? 0;\n const b = rightParts[i] ?? 0;\n if (a > b) {\n return 1;\n }\n if (a < b) {\n return -1;\n }\n }\n\n return 0;\n }\n\n private normalizePercent(value?: number): number | undefined {\n if (typeof value !== 'number' || Number.isNaN(value) || !Number.isFinite(value)) {\n return undefined;\n }\n return Math.min(100, Math.max(0, value));\n }\n\n private normalizeVersionShareByMajor(shareByMajor?: Record<string, number>): Record<number, number> | undefined {\n if (!shareByMajor) {\n return undefined;\n }\n\n const normalized: Record<number, number> = {};\n for (const [rawKey, rawShare] of Object.entries(shareByMajor)) {\n const major = this.parseMajorVersion(rawKey);\n const share = this.normalizePercent(rawShare);\n if (typeof major === 'number' && typeof share === 'number') {\n normalized[major] = share;\n }\n }\n\n return Object.keys(normalized).length > 0 ? normalized : undefined;\n }\n\n private resolveCurrentVersionSharePercent(\n currentMajorVersion: number | undefined,\n normalizedShareByMajor: Record<number, number> | undefined,\n ): number | undefined {\n if (typeof currentMajorVersion !== 'number' || !normalizedShareByMajor) {\n return undefined;\n }\n\n return normalizedShareByMajor[currentMajorVersion];\n }\n}\n"]}
|
package/dist/plugin.cjs.js
CHANGED
|
@@ -11,95 +11,94 @@ const WebviewVersionChecker = core.registerPlugin('WebviewVersionChecker', {
|
|
|
11
11
|
* AUTO-GENERATED FILE. DO NOT EDIT.
|
|
12
12
|
* Generated by: scripts/generate-version-share-data.mjs
|
|
13
13
|
* Source: https://raw.githubusercontent.com/Fyrd/caniuse/main/data.json
|
|
14
|
-
* Generated at: 2026-
|
|
14
|
+
* Generated at: 2026-08-16T12:08:18.255Z
|
|
15
15
|
*/
|
|
16
16
|
const DEFAULT_VERSION_SHARE_DATA_SOURCE = 'generatedVersionShareByMajor';
|
|
17
17
|
const DEFAULT_VERSION_SHARE_BY_MAJOR = {
|
|
18
|
-
"4": 0.
|
|
19
|
-
"39": 0.
|
|
20
|
-
"40": 0.
|
|
21
|
-
"41": 0.
|
|
22
|
-
"42": 0.
|
|
23
|
-
"43": 0.
|
|
24
|
-
"44": 0.
|
|
25
|
-
"45": 0.
|
|
26
|
-
"46": 0.
|
|
27
|
-
"47": 0.
|
|
28
|
-
"48": 0.
|
|
29
|
-
"49": 0.
|
|
30
|
-
"50": 0.
|
|
31
|
-
"51": 0.
|
|
32
|
-
"52": 0.
|
|
33
|
-
"53": 0.
|
|
34
|
-
"54": 0.
|
|
35
|
-
"55": 0.
|
|
36
|
-
"56": 0.
|
|
37
|
-
"57": 0.
|
|
38
|
-
"58": 0.
|
|
39
|
-
"59": 0.
|
|
40
|
-
"60": 0.
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
"
|
|
101
|
-
"
|
|
102
|
-
"150": 0.00965
|
|
18
|
+
"4": 0.000003,
|
|
19
|
+
"39": 0.02296,
|
|
20
|
+
"40": 0.02296,
|
|
21
|
+
"41": 0.02296,
|
|
22
|
+
"42": 0.02296,
|
|
23
|
+
"43": 0.02296,
|
|
24
|
+
"44": 0.02296,
|
|
25
|
+
"45": 0.02296,
|
|
26
|
+
"46": 0.02296,
|
|
27
|
+
"47": 0.02296,
|
|
28
|
+
"48": 0.027552,
|
|
29
|
+
"49": 0.027552,
|
|
30
|
+
"50": 0.02296,
|
|
31
|
+
"51": 0.02296,
|
|
32
|
+
"52": 0.027552,
|
|
33
|
+
"53": 0.02296,
|
|
34
|
+
"54": 0.02296,
|
|
35
|
+
"55": 0.02296,
|
|
36
|
+
"56": 0.02296,
|
|
37
|
+
"57": 0.02296,
|
|
38
|
+
"58": 0.02296,
|
|
39
|
+
"59": 0.02296,
|
|
40
|
+
"60": 0.02296,
|
|
41
|
+
"69": 0.009184,
|
|
42
|
+
"70": 0.06888,
|
|
43
|
+
"79": 0.018368,
|
|
44
|
+
"86": 0.004592,
|
|
45
|
+
"87": 0.02296,
|
|
46
|
+
"91": 0.009184,
|
|
47
|
+
"93": 0.009184,
|
|
48
|
+
"97": 0.004592,
|
|
49
|
+
"98": 0.02296,
|
|
50
|
+
"99": 0.004592,
|
|
51
|
+
"101": 0.009184,
|
|
52
|
+
"102": 0.009184,
|
|
53
|
+
"103": 0.146944,
|
|
54
|
+
"104": 0.087248,
|
|
55
|
+
"105": 0.087248,
|
|
56
|
+
"106": 0.09184,
|
|
57
|
+
"107": 0.09184,
|
|
58
|
+
"108": 0.096432,
|
|
59
|
+
"109": 0.583184,
|
|
60
|
+
"110": 0.09184,
|
|
61
|
+
"111": 0.101024,
|
|
62
|
+
"112": 0.09184,
|
|
63
|
+
"114": 0.018368,
|
|
64
|
+
"115": 0.009184,
|
|
65
|
+
"116": 0.20664,
|
|
66
|
+
"117": 0.09184,
|
|
67
|
+
"118": 0.211232,
|
|
68
|
+
"119": 0.36736,
|
|
69
|
+
"120": 0.509712,
|
|
70
|
+
"121": 0.013776,
|
|
71
|
+
"122": 0.036736,
|
|
72
|
+
"123": 0.018368,
|
|
73
|
+
"124": 0.174496,
|
|
74
|
+
"125": 0.087248,
|
|
75
|
+
"126": 0.036736,
|
|
76
|
+
"127": 0.013776,
|
|
77
|
+
"128": 0.064288,
|
|
78
|
+
"129": 0.013776,
|
|
79
|
+
"130": 0.027552,
|
|
80
|
+
"131": 0.270928,
|
|
81
|
+
"132": 0.073472,
|
|
82
|
+
"133": 0.211232,
|
|
83
|
+
"134": 0.04592,
|
|
84
|
+
"135": 0.036736,
|
|
85
|
+
"136": 0.247968,
|
|
86
|
+
"137": 0.073472,
|
|
87
|
+
"138": 0.123984,
|
|
88
|
+
"139": 0.188272,
|
|
89
|
+
"140": 0.036736,
|
|
90
|
+
"141": 0.04592,
|
|
91
|
+
"142": 0.257152,
|
|
92
|
+
"143": 0.073472,
|
|
93
|
+
"144": 0.101024,
|
|
94
|
+
"145": 0.904624,
|
|
95
|
+
"146": 0.110208,
|
|
96
|
+
"147": 0.220416,
|
|
97
|
+
"148": 0.716352,
|
|
98
|
+
"149": 5.04202,
|
|
99
|
+
"150": 9.15645,
|
|
100
|
+
"151": 46.3251,
|
|
101
|
+
"152": 0.009184
|
|
103
102
|
};
|
|
104
103
|
|
|
105
104
|
const UNKNOWN_REASON = 'Web implementation is a compatibility shim. Native Android/iOS implementations provide full WebView checks.';
|
|
@@ -167,6 +166,12 @@ class WebviewVersionCheckerWeb extends core.WebPlugin {
|
|
|
167
166
|
else if (state === 'unknown' && deviceShareError) {
|
|
168
167
|
reason = deviceShareError;
|
|
169
168
|
}
|
|
169
|
+
if (typeof options.minimumMajorVersion === 'number' &&
|
|
170
|
+
typeof currentMajorVersion === 'number' &&
|
|
171
|
+
currentMajorVersion < options.minimumMajorVersion) {
|
|
172
|
+
state = 'outdated';
|
|
173
|
+
reason = 'Current browser engine major version is below the minimum requirement.';
|
|
174
|
+
}
|
|
170
175
|
const status = {
|
|
171
176
|
platform: 'web',
|
|
172
177
|
state,
|
package/dist/plugin.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.cjs.js","sources":["esm/index.js","esm/generated-version-share.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst WebviewVersionChecker = registerPlugin('WebviewVersionChecker', {\n web: () => import('./web').then((m) => new m.WebviewVersionCheckerWeb()),\n});\nexport * from './definitions';\nexport { WebviewVersionChecker };\n//# sourceMappingURL=index.js.map","/* eslint-disable */\n/**\n * AUTO-GENERATED FILE. DO NOT EDIT.\n * Generated by: scripts/generate-version-share-data.mjs\n * Source: https://raw.githubusercontent.com/Fyrd/caniuse/main/data.json\n * Generated at: 2026-07-02T13:02:16.965Z\n */\nexport const DEFAULT_VERSION_SHARE_DATA_SOURCE = 'generatedVersionShareByMajor';\nexport const DEFAULT_VERSION_SHARE_GENERATED_AT = '2026-07-02T13:02:16.965Z';\nexport const DEFAULT_VERSION_SHARE_BY_MAJOR = {\n \"4\": 0.000031,\n \"39\": 0.08685,\n \"40\": 0.08685,\n \"41\": 0.08685,\n \"42\": 0.08685,\n \"43\": 0.08685,\n \"44\": 0.08685,\n \"45\": 0.091675,\n \"46\": 0.08685,\n \"47\": 0.08685,\n \"48\": 0.091675,\n \"49\": 0.091675,\n \"50\": 0.08685,\n \"51\": 0.08685,\n \"52\": 0.091675,\n \"53\": 0.08685,\n \"54\": 0.08685,\n \"55\": 0.08685,\n \"56\": 0.08685,\n \"57\": 0.08685,\n \"58\": 0.08685,\n \"59\": 0.08685,\n \"60\": 0.08685,\n \"66\": 0.004825,\n \"69\": 0.004825,\n \"70\": 0.024125,\n \"79\": 0.02895,\n \"86\": 0.004825,\n \"87\": 0.014475,\n \"91\": 0.00965,\n \"93\": 0.014475,\n \"96\": 0.004825,\n \"97\": 0.004825,\n \"98\": 0.02895,\n \"99\": 0.014475,\n \"100\": 0.00965,\n \"101\": 0.00965,\n \"102\": 0.004825,\n \"103\": 0.303975,\n \"104\": 0.2509,\n \"105\": 0.236425,\n \"106\": 0.236425,\n \"107\": 0.236425,\n \"108\": 0.246075,\n \"109\": 0.7334,\n \"110\": 0.24125,\n \"111\": 0.2895,\n \"112\": 0.902275,\n \"114\": 0.024125,\n \"115\": 0.00965,\n \"116\": 0.516275,\n \"117\": 0.284675,\n \"118\": 1.1773,\n \"119\": 0.02895,\n \"120\": 0.294325,\n \"121\": 0.024125,\n \"122\": 0.033775,\n \"123\": 0.033775,\n \"124\": 0.27985,\n \"125\": 0.5211,\n \"126\": 0.0386,\n \"127\": 0.0193,\n \"128\": 0.053075,\n \"129\": 0.0193,\n \"130\": 0.062725,\n \"131\": 0.564525,\n \"132\": 0.04825,\n \"133\": 0.516275,\n \"134\": 0.04825,\n \"135\": 0.0386,\n \"136\": 0.043425,\n \"137\": 0.082025,\n \"138\": 0.159225,\n \"139\": 0.101325,\n \"140\": 0.0772,\n \"141\": 0.0579,\n \"142\": 0.902275,\n \"143\": 0.110975,\n \"144\": 0.29915,\n \"145\": 0.863675,\n \"146\": 0.583825,\n \"147\": 6.10362,\n \"148\": 8.41963,\n \"149\": 42.196,\n \"150\": 0.00965\n};\n//# sourceMappingURL=generated-version-share.js.map","import { WebPlugin } from '@capacitor/core';\nimport { DEFAULT_VERSION_SHARE_BY_MAJOR, DEFAULT_VERSION_SHARE_DATA_SOURCE } from './generated-version-share';\nconst UNKNOWN_REASON = 'Web implementation is a compatibility shim. Native Android/iOS implementations provide full WebView checks.';\nexport class WebviewVersionCheckerWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.monitoring = false;\n this.checkOnResume = true;\n this.autoPromptOnOutdated = false;\n this.lastStatus = null;\n }\n async check(options = {}) {\n var _a, _b;\n const currentVersion = this.detectCurrentVersion();\n const currentMajorVersion = this.parseMajorVersion(currentVersion);\n const latestVersion = options.latestVersion;\n const latestMajorVersion = this.parseMajorVersion(latestVersion);\n const minimumDeviceSharePercent = this.normalizePercent((_a = options.minimumDeviceSharePercent) !== null && _a !== void 0 ? _a : 3);\n const normalizedInlineVersionShareByMajor = this.normalizeVersionShareByMajor(options.versionShareByMajor);\n const normalizedGeneratedVersionShareByMajor = this.normalizeVersionShareByMajor(DEFAULT_VERSION_SHARE_BY_MAJOR);\n const normalizedVersionShareByMajor = normalizedInlineVersionShareByMajor !== null && normalizedInlineVersionShareByMajor !== void 0 ? normalizedInlineVersionShareByMajor : normalizedGeneratedVersionShareByMajor;\n const versionShareSource = normalizedInlineVersionShareByMajor\n ? 'versionShareByMajor'\n : DEFAULT_VERSION_SHARE_DATA_SOURCE;\n const currentVersionSharePercent = this.resolveCurrentVersionSharePercent(currentMajorVersion, normalizedVersionShareByMajor);\n let deviceShareError;\n let state = 'unknown';\n let reason = UNKNOWN_REASON;\n if (typeof minimumDeviceSharePercent === 'number') {\n if (typeof currentVersionSharePercent === 'number') {\n state = currentVersionSharePercent >= minimumDeviceSharePercent ? 'latest' : 'outdated';\n reason =\n state === 'latest'\n ? 'Current browser engine major version meets the configured device-share threshold.'\n : 'Current browser engine major version is below the configured device-share threshold.';\n }\n else if (!normalizedVersionShareByMajor && options.versionShareApiUrl) {\n deviceShareError =\n 'Web shim does not fetch version-share API data. Provide versionShareByMajor to evaluate minimumDeviceSharePercent.';\n }\n else if (!normalizedVersionShareByMajor) {\n deviceShareError = 'minimumDeviceSharePercent is set, but no versionShareByMajor dataset was provided.';\n }\n else {\n deviceShareError = 'No device-share entry was found for the current browser engine major version.';\n }\n }\n if (state === 'unknown' && latestVersion && currentVersion) {\n const cmp = this.compareVersions(currentVersion, latestVersion);\n state = cmp >= 0 ? 'latest' : 'outdated';\n reason =\n cmp >= 0\n ? 'Current browser engine is at or above the requested latest version.'\n : 'Current browser engine is below the requested latest version.';\n }\n else if (state === 'unknown' &&\n typeof options.minimumMajorVersion === 'number' &&\n typeof currentMajorVersion === 'number') {\n state = currentMajorVersion >= options.minimumMajorVersion ? 'latest' : 'outdated';\n reason =\n state === 'latest'\n ? 'Current browser engine major version meets the minimum requirement.'\n : 'Current browser engine major version is below the minimum requirement.';\n }\n else if (state === 'unknown' && deviceShareError) {\n reason = deviceShareError;\n }\n const status = {\n platform: 'web',\n state,\n isLatest: state === 'latest',\n checkedAt: new Date().toISOString(),\n reason,\n currentVersion,\n currentMajorVersion,\n latestVersion,\n latestMajorVersion,\n currentVersionSharePercent,\n minimumDeviceSharePercent,\n versionShareSource: normalizedVersionShareByMajor ? versionShareSource : undefined,\n deviceShareError,\n updateUrl: options.updateUrl,\n source: (_b = options.source) !== null && _b !== void 0 ? _b : 'web-shim',\n };\n this.lastStatus = status;\n this.notifyListeners('statusChanged', status);\n if (state === 'latest') {\n this.notifyListeners('webViewLatest', status);\n }\n else if (state === 'outdated') {\n this.notifyListeners('webViewOutdated', status);\n if (options.showPromptOnOutdated || this.autoPromptOnOutdated) {\n await this.showUpdatePrompt({ updateUrl: status.updateUrl });\n }\n }\n return status;\n }\n async startMonitoring(options = {}) {\n var _a, _b, _c, _d;\n this.monitoring = true;\n this.checkOnResume = (_a = options.checkOnResume) !== null && _a !== void 0 ? _a : true;\n this.autoPromptOnOutdated = (_b = options.autoPromptOnOutdated) !== null && _b !== void 0 ? _b : false;\n if ((_c = options.checkOnStart) !== null && _c !== void 0 ? _c : true) {\n await this.check(Object.assign(Object.assign({}, options), { source: (_d = options.source) !== null && _d !== void 0 ? _d : 'startMonitoring' }));\n }\n return {\n monitoring: this.monitoring,\n checkOnResume: this.checkOnResume,\n autoPromptOnOutdated: this.autoPromptOnOutdated,\n };\n }\n async stopMonitoring() {\n this.monitoring = false;\n return {\n monitoring: this.monitoring,\n checkOnResume: this.checkOnResume,\n autoPromptOnOutdated: this.autoPromptOnOutdated,\n };\n }\n async getLastStatus() {\n return {\n status: this.lastStatus,\n };\n }\n async showUpdatePrompt(options = {}) {\n var _a, _b;\n const url = (_a = options.updateUrl) !== null && _a !== void 0 ? _a : (_b = this.lastStatus) === null || _b === void 0 ? void 0 : _b.updateUrl;\n if (!url) {\n return {\n shown: false,\n openedUpdatePage: false,\n };\n }\n const opened = this.openUrl(url);\n return {\n shown: true,\n openedUpdatePage: opened,\n };\n }\n async openUpdatePage(options = {}) {\n var _a, _b, _c;\n const url = (_c = (_a = options.updateUrl) !== null && _a !== void 0 ? _a : (_b = this.lastStatus) === null || _b === void 0 ? void 0 : _b.updateUrl) !== null && _c !== void 0 ? _c : '';\n if (!url) {\n return {\n opened: false,\n url,\n };\n }\n return {\n opened: this.openUrl(url),\n url,\n };\n }\n detectCurrentVersion() {\n const chromiumMatch = navigator.userAgent.match(/Chrome\\/([\\d.]+)/i);\n if (chromiumMatch === null || chromiumMatch === void 0 ? void 0 : chromiumMatch[1]) {\n return chromiumMatch[1];\n }\n const appleWebKitMatch = navigator.userAgent.match(/AppleWebKit\\/([\\d.]+)/i);\n if (appleWebKitMatch === null || appleWebKitMatch === void 0 ? void 0 : appleWebKitMatch[1]) {\n return appleWebKitMatch[1];\n }\n return navigator.userAgent;\n }\n openUrl(url) {\n try {\n window.open(url, '_blank', 'noopener,noreferrer');\n return true;\n }\n catch (_a) {\n return false;\n }\n }\n parseMajorVersion(version) {\n if (!version) {\n return undefined;\n }\n const match = version.match(/(\\d+)/);\n if (!match) {\n return undefined;\n }\n const major = Number.parseInt(match[1], 10);\n return Number.isFinite(major) ? major : undefined;\n }\n compareVersions(left, right) {\n var _a, _b;\n const leftParts = left\n .split(/[^0-9]+/)\n .filter(Boolean)\n .map((part) => Number.parseInt(part, 10));\n const rightParts = right\n .split(/[^0-9]+/)\n .filter(Boolean)\n .map((part) => Number.parseInt(part, 10));\n const maxLength = Math.max(leftParts.length, rightParts.length);\n for (let i = 0; i < maxLength; i += 1) {\n const a = (_a = leftParts[i]) !== null && _a !== void 0 ? _a : 0;\n const b = (_b = rightParts[i]) !== null && _b !== void 0 ? _b : 0;\n if (a > b) {\n return 1;\n }\n if (a < b) {\n return -1;\n }\n }\n return 0;\n }\n normalizePercent(value) {\n if (typeof value !== 'number' || Number.isNaN(value) || !Number.isFinite(value)) {\n return undefined;\n }\n return Math.min(100, Math.max(0, value));\n }\n normalizeVersionShareByMajor(shareByMajor) {\n if (!shareByMajor) {\n return undefined;\n }\n const normalized = {};\n for (const [rawKey, rawShare] of Object.entries(shareByMajor)) {\n const major = this.parseMajorVersion(rawKey);\n const share = this.normalizePercent(rawShare);\n if (typeof major === 'number' && typeof share === 'number') {\n normalized[major] = share;\n }\n }\n return Object.keys(normalized).length > 0 ? normalized : undefined;\n }\n resolveCurrentVersionSharePercent(currentMajorVersion, normalizedShareByMajor) {\n if (typeof currentMajorVersion !== 'number' || !normalizedShareByMajor) {\n return undefined;\n }\n return normalizedShareByMajor[currentMajorVersion];\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":";;;;AACK,MAAC,qBAAqB,GAAGA,mBAAc,CAAC,uBAAuB,EAAE;AACtE,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,wBAAwB,EAAE,CAAC;AAC5E,CAAC;;ACHD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,iCAAiC,GAAG,8BAA8B;AAExE,MAAM,8BAA8B,GAAG;AAC9C,IAAI,GAAG,EAAE,QAAQ;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,OAAO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"}
|
|
1
|
+
{"version":3,"file":"plugin.cjs.js","sources":["esm/index.js","esm/generated-version-share.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst WebviewVersionChecker = registerPlugin('WebviewVersionChecker', {\n web: () => import('./web').then((m) => new m.WebviewVersionCheckerWeb()),\n});\nexport * from './definitions';\nexport { WebviewVersionChecker };\n//# sourceMappingURL=index.js.map","/* eslint-disable */\n/**\n * AUTO-GENERATED FILE. DO NOT EDIT.\n * Generated by: scripts/generate-version-share-data.mjs\n * Source: https://raw.githubusercontent.com/Fyrd/caniuse/main/data.json\n * Generated at: 2026-08-16T12:08:18.255Z\n */\nexport const DEFAULT_VERSION_SHARE_DATA_SOURCE = 'generatedVersionShareByMajor';\nexport const DEFAULT_VERSION_SHARE_GENERATED_AT = '2026-08-16T12:08:18.255Z';\nexport const DEFAULT_VERSION_SHARE_BY_MAJOR = {\n \"4\": 0.000003,\n \"39\": 0.02296,\n \"40\": 0.02296,\n \"41\": 0.02296,\n \"42\": 0.02296,\n \"43\": 0.02296,\n \"44\": 0.02296,\n \"45\": 0.02296,\n \"46\": 0.02296,\n \"47\": 0.02296,\n \"48\": 0.027552,\n \"49\": 0.027552,\n \"50\": 0.02296,\n \"51\": 0.02296,\n \"52\": 0.027552,\n \"53\": 0.02296,\n \"54\": 0.02296,\n \"55\": 0.02296,\n \"56\": 0.02296,\n \"57\": 0.02296,\n \"58\": 0.02296,\n \"59\": 0.02296,\n \"60\": 0.02296,\n \"69\": 0.009184,\n \"70\": 0.06888,\n \"79\": 0.018368,\n \"86\": 0.004592,\n \"87\": 0.02296,\n \"91\": 0.009184,\n \"93\": 0.009184,\n \"97\": 0.004592,\n \"98\": 0.02296,\n \"99\": 0.004592,\n \"101\": 0.009184,\n \"102\": 0.009184,\n \"103\": 0.146944,\n \"104\": 0.087248,\n \"105\": 0.087248,\n \"106\": 0.09184,\n \"107\": 0.09184,\n \"108\": 0.096432,\n \"109\": 0.583184,\n \"110\": 0.09184,\n \"111\": 0.101024,\n \"112\": 0.09184,\n \"114\": 0.018368,\n \"115\": 0.009184,\n \"116\": 0.20664,\n \"117\": 0.09184,\n \"118\": 0.211232,\n \"119\": 0.36736,\n \"120\": 0.509712,\n \"121\": 0.013776,\n \"122\": 0.036736,\n \"123\": 0.018368,\n \"124\": 0.174496,\n \"125\": 0.087248,\n \"126\": 0.036736,\n \"127\": 0.013776,\n \"128\": 0.064288,\n \"129\": 0.013776,\n \"130\": 0.027552,\n \"131\": 0.270928,\n \"132\": 0.073472,\n \"133\": 0.211232,\n \"134\": 0.04592,\n \"135\": 0.036736,\n \"136\": 0.247968,\n \"137\": 0.073472,\n \"138\": 0.123984,\n \"139\": 0.188272,\n \"140\": 0.036736,\n \"141\": 0.04592,\n \"142\": 0.257152,\n \"143\": 0.073472,\n \"144\": 0.101024,\n \"145\": 0.904624,\n \"146\": 0.110208,\n \"147\": 0.220416,\n \"148\": 0.716352,\n \"149\": 5.04202,\n \"150\": 9.15645,\n \"151\": 46.3251,\n \"152\": 0.009184\n};\n//# sourceMappingURL=generated-version-share.js.map","import { WebPlugin } from '@capacitor/core';\nimport { DEFAULT_VERSION_SHARE_BY_MAJOR, DEFAULT_VERSION_SHARE_DATA_SOURCE } from './generated-version-share';\nconst UNKNOWN_REASON = 'Web implementation is a compatibility shim. Native Android/iOS implementations provide full WebView checks.';\nexport class WebviewVersionCheckerWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.monitoring = false;\n this.checkOnResume = true;\n this.autoPromptOnOutdated = false;\n this.lastStatus = null;\n }\n async check(options = {}) {\n var _a, _b;\n const currentVersion = this.detectCurrentVersion();\n const currentMajorVersion = this.parseMajorVersion(currentVersion);\n const latestVersion = options.latestVersion;\n const latestMajorVersion = this.parseMajorVersion(latestVersion);\n const minimumDeviceSharePercent = this.normalizePercent((_a = options.minimumDeviceSharePercent) !== null && _a !== void 0 ? _a : 3);\n const normalizedInlineVersionShareByMajor = this.normalizeVersionShareByMajor(options.versionShareByMajor);\n const normalizedGeneratedVersionShareByMajor = this.normalizeVersionShareByMajor(DEFAULT_VERSION_SHARE_BY_MAJOR);\n const normalizedVersionShareByMajor = normalizedInlineVersionShareByMajor !== null && normalizedInlineVersionShareByMajor !== void 0 ? normalizedInlineVersionShareByMajor : normalizedGeneratedVersionShareByMajor;\n const versionShareSource = normalizedInlineVersionShareByMajor\n ? 'versionShareByMajor'\n : DEFAULT_VERSION_SHARE_DATA_SOURCE;\n const currentVersionSharePercent = this.resolveCurrentVersionSharePercent(currentMajorVersion, normalizedVersionShareByMajor);\n let deviceShareError;\n let state = 'unknown';\n let reason = UNKNOWN_REASON;\n if (typeof minimumDeviceSharePercent === 'number') {\n if (typeof currentVersionSharePercent === 'number') {\n state = currentVersionSharePercent >= minimumDeviceSharePercent ? 'latest' : 'outdated';\n reason =\n state === 'latest'\n ? 'Current browser engine major version meets the configured device-share threshold.'\n : 'Current browser engine major version is below the configured device-share threshold.';\n }\n else if (!normalizedVersionShareByMajor && options.versionShareApiUrl) {\n deviceShareError =\n 'Web shim does not fetch version-share API data. Provide versionShareByMajor to evaluate minimumDeviceSharePercent.';\n }\n else if (!normalizedVersionShareByMajor) {\n deviceShareError = 'minimumDeviceSharePercent is set, but no versionShareByMajor dataset was provided.';\n }\n else {\n deviceShareError = 'No device-share entry was found for the current browser engine major version.';\n }\n }\n if (state === 'unknown' && latestVersion && currentVersion) {\n const cmp = this.compareVersions(currentVersion, latestVersion);\n state = cmp >= 0 ? 'latest' : 'outdated';\n reason =\n cmp >= 0\n ? 'Current browser engine is at or above the requested latest version.'\n : 'Current browser engine is below the requested latest version.';\n }\n else if (state === 'unknown' &&\n typeof options.minimumMajorVersion === 'number' &&\n typeof currentMajorVersion === 'number') {\n state = currentMajorVersion >= options.minimumMajorVersion ? 'latest' : 'outdated';\n reason =\n state === 'latest'\n ? 'Current browser engine major version meets the minimum requirement.'\n : 'Current browser engine major version is below the minimum requirement.';\n }\n else if (state === 'unknown' && deviceShareError) {\n reason = deviceShareError;\n }\n if (typeof options.minimumMajorVersion === 'number' &&\n typeof currentMajorVersion === 'number' &&\n currentMajorVersion < options.minimumMajorVersion) {\n state = 'outdated';\n reason = 'Current browser engine major version is below the minimum requirement.';\n }\n const status = {\n platform: 'web',\n state,\n isLatest: state === 'latest',\n checkedAt: new Date().toISOString(),\n reason,\n currentVersion,\n currentMajorVersion,\n latestVersion,\n latestMajorVersion,\n currentVersionSharePercent,\n minimumDeviceSharePercent,\n versionShareSource: normalizedVersionShareByMajor ? versionShareSource : undefined,\n deviceShareError,\n updateUrl: options.updateUrl,\n source: (_b = options.source) !== null && _b !== void 0 ? _b : 'web-shim',\n };\n this.lastStatus = status;\n this.notifyListeners('statusChanged', status);\n if (state === 'latest') {\n this.notifyListeners('webViewLatest', status);\n }\n else if (state === 'outdated') {\n this.notifyListeners('webViewOutdated', status);\n if (options.showPromptOnOutdated || this.autoPromptOnOutdated) {\n await this.showUpdatePrompt({ updateUrl: status.updateUrl });\n }\n }\n return status;\n }\n async startMonitoring(options = {}) {\n var _a, _b, _c, _d;\n this.monitoring = true;\n this.checkOnResume = (_a = options.checkOnResume) !== null && _a !== void 0 ? _a : true;\n this.autoPromptOnOutdated = (_b = options.autoPromptOnOutdated) !== null && _b !== void 0 ? _b : false;\n if ((_c = options.checkOnStart) !== null && _c !== void 0 ? _c : true) {\n await this.check(Object.assign(Object.assign({}, options), { source: (_d = options.source) !== null && _d !== void 0 ? _d : 'startMonitoring' }));\n }\n return {\n monitoring: this.monitoring,\n checkOnResume: this.checkOnResume,\n autoPromptOnOutdated: this.autoPromptOnOutdated,\n };\n }\n async stopMonitoring() {\n this.monitoring = false;\n return {\n monitoring: this.monitoring,\n checkOnResume: this.checkOnResume,\n autoPromptOnOutdated: this.autoPromptOnOutdated,\n };\n }\n async getLastStatus() {\n return {\n status: this.lastStatus,\n };\n }\n async showUpdatePrompt(options = {}) {\n var _a, _b;\n const url = (_a = options.updateUrl) !== null && _a !== void 0 ? _a : (_b = this.lastStatus) === null || _b === void 0 ? void 0 : _b.updateUrl;\n if (!url) {\n return {\n shown: false,\n openedUpdatePage: false,\n };\n }\n const opened = this.openUrl(url);\n return {\n shown: true,\n openedUpdatePage: opened,\n };\n }\n async openUpdatePage(options = {}) {\n var _a, _b, _c;\n const url = (_c = (_a = options.updateUrl) !== null && _a !== void 0 ? _a : (_b = this.lastStatus) === null || _b === void 0 ? void 0 : _b.updateUrl) !== null && _c !== void 0 ? _c : '';\n if (!url) {\n return {\n opened: false,\n url,\n };\n }\n return {\n opened: this.openUrl(url),\n url,\n };\n }\n detectCurrentVersion() {\n const chromiumMatch = navigator.userAgent.match(/Chrome\\/([\\d.]+)/i);\n if (chromiumMatch === null || chromiumMatch === void 0 ? void 0 : chromiumMatch[1]) {\n return chromiumMatch[1];\n }\n const appleWebKitMatch = navigator.userAgent.match(/AppleWebKit\\/([\\d.]+)/i);\n if (appleWebKitMatch === null || appleWebKitMatch === void 0 ? void 0 : appleWebKitMatch[1]) {\n return appleWebKitMatch[1];\n }\n return navigator.userAgent;\n }\n openUrl(url) {\n try {\n window.open(url, '_blank', 'noopener,noreferrer');\n return true;\n }\n catch (_a) {\n return false;\n }\n }\n parseMajorVersion(version) {\n if (!version) {\n return undefined;\n }\n const match = version.match(/(\\d+)/);\n if (!match) {\n return undefined;\n }\n const major = Number.parseInt(match[1], 10);\n return Number.isFinite(major) ? major : undefined;\n }\n compareVersions(left, right) {\n var _a, _b;\n const leftParts = left\n .split(/[^0-9]+/)\n .filter(Boolean)\n .map((part) => Number.parseInt(part, 10));\n const rightParts = right\n .split(/[^0-9]+/)\n .filter(Boolean)\n .map((part) => Number.parseInt(part, 10));\n const maxLength = Math.max(leftParts.length, rightParts.length);\n for (let i = 0; i < maxLength; i += 1) {\n const a = (_a = leftParts[i]) !== null && _a !== void 0 ? _a : 0;\n const b = (_b = rightParts[i]) !== null && _b !== void 0 ? _b : 0;\n if (a > b) {\n return 1;\n }\n if (a < b) {\n return -1;\n }\n }\n return 0;\n }\n normalizePercent(value) {\n if (typeof value !== 'number' || Number.isNaN(value) || !Number.isFinite(value)) {\n return undefined;\n }\n return Math.min(100, Math.max(0, value));\n }\n normalizeVersionShareByMajor(shareByMajor) {\n if (!shareByMajor) {\n return undefined;\n }\n const normalized = {};\n for (const [rawKey, rawShare] of Object.entries(shareByMajor)) {\n const major = this.parseMajorVersion(rawKey);\n const share = this.normalizePercent(rawShare);\n if (typeof major === 'number' && typeof share === 'number') {\n normalized[major] = share;\n }\n }\n return Object.keys(normalized).length > 0 ? normalized : undefined;\n }\n resolveCurrentVersionSharePercent(currentMajorVersion, normalizedShareByMajor) {\n if (typeof currentMajorVersion !== 'number' || !normalizedShareByMajor) {\n return undefined;\n }\n return normalizedShareByMajor[currentMajorVersion];\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":";;;;AACK,MAAC,qBAAqB,GAAGA,mBAAc,CAAC,uBAAuB,EAAE;AACtE,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,wBAAwB,EAAE,CAAC;AAC5E,CAAC;;ACHD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,iCAAiC,GAAG,8BAA8B;AAExE,MAAM,8BAA8B,GAAG;AAC9C,IAAI,GAAG,EAAE,QAAQ;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,KAAK,EAAE,OAAO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"}
|
package/dist/plugin.js
CHANGED
|
@@ -10,95 +10,94 @@ var capacitorWebviewVersionChecker = (function (exports, core) {
|
|
|
10
10
|
* AUTO-GENERATED FILE. DO NOT EDIT.
|
|
11
11
|
* Generated by: scripts/generate-version-share-data.mjs
|
|
12
12
|
* Source: https://raw.githubusercontent.com/Fyrd/caniuse/main/data.json
|
|
13
|
-
* Generated at: 2026-
|
|
13
|
+
* Generated at: 2026-08-16T12:08:18.255Z
|
|
14
14
|
*/
|
|
15
15
|
const DEFAULT_VERSION_SHARE_DATA_SOURCE = 'generatedVersionShareByMajor';
|
|
16
16
|
const DEFAULT_VERSION_SHARE_BY_MAJOR = {
|
|
17
|
-
"4": 0.
|
|
18
|
-
"39": 0.
|
|
19
|
-
"40": 0.
|
|
20
|
-
"41": 0.
|
|
21
|
-
"42": 0.
|
|
22
|
-
"43": 0.
|
|
23
|
-
"44": 0.
|
|
24
|
-
"45": 0.
|
|
25
|
-
"46": 0.
|
|
26
|
-
"47": 0.
|
|
27
|
-
"48": 0.
|
|
28
|
-
"49": 0.
|
|
29
|
-
"50": 0.
|
|
30
|
-
"51": 0.
|
|
31
|
-
"52": 0.
|
|
32
|
-
"53": 0.
|
|
33
|
-
"54": 0.
|
|
34
|
-
"55": 0.
|
|
35
|
-
"56": 0.
|
|
36
|
-
"57": 0.
|
|
37
|
-
"58": 0.
|
|
38
|
-
"59": 0.
|
|
39
|
-
"60": 0.
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
"
|
|
101
|
-
"150": 0.00965
|
|
17
|
+
"4": 0.000003,
|
|
18
|
+
"39": 0.02296,
|
|
19
|
+
"40": 0.02296,
|
|
20
|
+
"41": 0.02296,
|
|
21
|
+
"42": 0.02296,
|
|
22
|
+
"43": 0.02296,
|
|
23
|
+
"44": 0.02296,
|
|
24
|
+
"45": 0.02296,
|
|
25
|
+
"46": 0.02296,
|
|
26
|
+
"47": 0.02296,
|
|
27
|
+
"48": 0.027552,
|
|
28
|
+
"49": 0.027552,
|
|
29
|
+
"50": 0.02296,
|
|
30
|
+
"51": 0.02296,
|
|
31
|
+
"52": 0.027552,
|
|
32
|
+
"53": 0.02296,
|
|
33
|
+
"54": 0.02296,
|
|
34
|
+
"55": 0.02296,
|
|
35
|
+
"56": 0.02296,
|
|
36
|
+
"57": 0.02296,
|
|
37
|
+
"58": 0.02296,
|
|
38
|
+
"59": 0.02296,
|
|
39
|
+
"60": 0.02296,
|
|
40
|
+
"69": 0.009184,
|
|
41
|
+
"70": 0.06888,
|
|
42
|
+
"79": 0.018368,
|
|
43
|
+
"86": 0.004592,
|
|
44
|
+
"87": 0.02296,
|
|
45
|
+
"91": 0.009184,
|
|
46
|
+
"93": 0.009184,
|
|
47
|
+
"97": 0.004592,
|
|
48
|
+
"98": 0.02296,
|
|
49
|
+
"99": 0.004592,
|
|
50
|
+
"101": 0.009184,
|
|
51
|
+
"102": 0.009184,
|
|
52
|
+
"103": 0.146944,
|
|
53
|
+
"104": 0.087248,
|
|
54
|
+
"105": 0.087248,
|
|
55
|
+
"106": 0.09184,
|
|
56
|
+
"107": 0.09184,
|
|
57
|
+
"108": 0.096432,
|
|
58
|
+
"109": 0.583184,
|
|
59
|
+
"110": 0.09184,
|
|
60
|
+
"111": 0.101024,
|
|
61
|
+
"112": 0.09184,
|
|
62
|
+
"114": 0.018368,
|
|
63
|
+
"115": 0.009184,
|
|
64
|
+
"116": 0.20664,
|
|
65
|
+
"117": 0.09184,
|
|
66
|
+
"118": 0.211232,
|
|
67
|
+
"119": 0.36736,
|
|
68
|
+
"120": 0.509712,
|
|
69
|
+
"121": 0.013776,
|
|
70
|
+
"122": 0.036736,
|
|
71
|
+
"123": 0.018368,
|
|
72
|
+
"124": 0.174496,
|
|
73
|
+
"125": 0.087248,
|
|
74
|
+
"126": 0.036736,
|
|
75
|
+
"127": 0.013776,
|
|
76
|
+
"128": 0.064288,
|
|
77
|
+
"129": 0.013776,
|
|
78
|
+
"130": 0.027552,
|
|
79
|
+
"131": 0.270928,
|
|
80
|
+
"132": 0.073472,
|
|
81
|
+
"133": 0.211232,
|
|
82
|
+
"134": 0.04592,
|
|
83
|
+
"135": 0.036736,
|
|
84
|
+
"136": 0.247968,
|
|
85
|
+
"137": 0.073472,
|
|
86
|
+
"138": 0.123984,
|
|
87
|
+
"139": 0.188272,
|
|
88
|
+
"140": 0.036736,
|
|
89
|
+
"141": 0.04592,
|
|
90
|
+
"142": 0.257152,
|
|
91
|
+
"143": 0.073472,
|
|
92
|
+
"144": 0.101024,
|
|
93
|
+
"145": 0.904624,
|
|
94
|
+
"146": 0.110208,
|
|
95
|
+
"147": 0.220416,
|
|
96
|
+
"148": 0.716352,
|
|
97
|
+
"149": 5.04202,
|
|
98
|
+
"150": 9.15645,
|
|
99
|
+
"151": 46.3251,
|
|
100
|
+
"152": 0.009184
|
|
102
101
|
};
|
|
103
102
|
|
|
104
103
|
const UNKNOWN_REASON = 'Web implementation is a compatibility shim. Native Android/iOS implementations provide full WebView checks.';
|
|
@@ -166,6 +165,12 @@ var capacitorWebviewVersionChecker = (function (exports, core) {
|
|
|
166
165
|
else if (state === 'unknown' && deviceShareError) {
|
|
167
166
|
reason = deviceShareError;
|
|
168
167
|
}
|
|
168
|
+
if (typeof options.minimumMajorVersion === 'number' &&
|
|
169
|
+
typeof currentMajorVersion === 'number' &&
|
|
170
|
+
currentMajorVersion < options.minimumMajorVersion) {
|
|
171
|
+
state = 'outdated';
|
|
172
|
+
reason = 'Current browser engine major version is below the minimum requirement.';
|
|
173
|
+
}
|
|
169
174
|
const status = {
|
|
170
175
|
platform: 'web',
|
|
171
176
|
state,
|