obsidian-integration-testing 8.2.1 → 8.4.0
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/dist/lib/cjs/asar-fallback-detection.cjs +48 -0
- package/dist/lib/cjs/asar-fallback-detection.d.cts +75 -0
- package/dist/lib/cjs/compatibility-options.cjs +68 -0
- package/dist/lib/cjs/compatibility-options.d.cts +112 -0
- package/dist/lib/cjs/connect-to-cdp.cjs +19 -11
- package/dist/lib/cjs/connect-to-cdp.d.cts +64 -2
- package/dist/lib/cjs/ecmascript-version.cjs +63 -0
- package/dist/lib/cjs/ecmascript-version.d.cts +28 -0
- package/dist/lib/cjs/electron-compatibility.cjs +46 -0
- package/dist/lib/cjs/electron-compatibility.d.cts +74 -0
- package/dist/lib/cjs/index.cjs +10 -1
- package/dist/lib/cjs/index.d.cts +7 -1
- package/dist/lib/cjs/installer-asset.cjs +18 -3
- package/dist/lib/cjs/installer-asset.d.cts +26 -0
- package/dist/lib/cjs/installer-compatibility.cjs +1 -1
- package/dist/lib/cjs/installer-compatibility.d.cts +4 -1
- package/dist/lib/cjs/library.cjs +1 -1
- package/dist/lib/cjs/namespace-bootstrap.cjs +44 -7
- package/dist/lib/cjs/normalize-optional-properties.cjs +31 -0
- package/dist/lib/cjs/normalize-optional-properties.d.cts +26 -0
- package/dist/lib/cjs/obsidian-installer.cjs +6 -1
- package/dist/lib/cjs/obsidian-metadata.cjs +3775 -302
- package/dist/lib/cjs/obsidian-metadata.d.cts +71 -0
- package/dist/lib/cjs/obsidian-version-switch.cjs +5 -2
- package/dist/lib/cjs/owned-vault-seed.cjs +38 -0
- package/dist/lib/cjs/owned-vault-seed.d.cts +67 -0
- package/dist/lib/cjs/silent-asar-fallback-error.cjs +48 -0
- package/dist/lib/cjs/silent-asar-fallback-error.d.cts +40 -0
- package/dist/lib/cjs/transport-desktop-cdp.cjs +223 -45
- package/dist/lib/cjs/transport-desktop-cdp.d.cts +105 -1
- package/dist/lib/cjs/transport-factory.cjs +36 -16
- package/dist/lib/cjs/transport-options.cjs +1 -1
- package/dist/lib/cjs/transport-options.d.cts +48 -0
- package/dist/lib/esm/asar-fallback-detection.d.mts +75 -0
- package/dist/lib/esm/asar-fallback-detection.mjs +24 -0
- package/dist/lib/esm/compatibility-options.d.mts +112 -0
- package/dist/lib/esm/compatibility-options.mjs +40 -0
- package/dist/lib/esm/connect-to-cdp.d.mts +64 -2
- package/dist/lib/esm/connect-to-cdp.mjs +19 -11
- package/dist/lib/esm/ecmascript-version.d.mts +28 -0
- package/dist/lib/esm/ecmascript-version.mjs +39 -0
- package/dist/lib/esm/electron-compatibility.d.mts +74 -0
- package/dist/lib/esm/electron-compatibility.mjs +22 -0
- package/dist/lib/esm/index.d.mts +7 -1
- package/dist/lib/esm/index.mjs +7 -1
- package/dist/lib/esm/installer-asset.d.mts +26 -0
- package/dist/lib/esm/installer-asset.mjs +16 -2
- package/dist/lib/esm/installer-compatibility.d.mts +4 -1
- package/dist/lib/esm/installer-compatibility.mjs +1 -1
- package/dist/lib/esm/library.mjs +1 -1
- package/dist/lib/esm/namespace-bootstrap.mjs +44 -7
- package/dist/lib/esm/normalize-optional-properties.d.mts +26 -0
- package/dist/lib/esm/normalize-optional-properties.mjs +7 -0
- package/dist/lib/esm/obsidian-installer.mjs +8 -2
- package/dist/lib/esm/obsidian-metadata.d.mts +71 -0
- package/dist/lib/esm/obsidian-metadata.mjs +3775 -302
- package/dist/lib/esm/obsidian-version-switch.mjs +5 -2
- package/dist/lib/esm/owned-vault-seed.d.mts +67 -0
- package/dist/lib/esm/owned-vault-seed.mjs +14 -0
- package/dist/lib/esm/silent-asar-fallback-error.d.mts +40 -0
- package/dist/lib/esm/silent-asar-fallback-error.mjs +24 -0
- package/dist/lib/esm/transport-desktop-cdp.d.mts +105 -1
- package/dist/lib/esm/transport-desktop-cdp.mjs +223 -45
- package/dist/lib/esm/transport-factory.mjs +41 -16
- package/dist/lib/esm/transport-options.d.mts +48 -0
- package/dist/obsidian-integration-testing-8.4.0.tgz +0 -0
- package/package.json +3 -1
- package/dist/obsidian-integration-testing-8.2.1.tgz +0 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var ecmascript_version_exports = {};
|
|
20
|
+
__export(ecmascript_version_exports, {
|
|
21
|
+
deriveEcmaScriptVersion: () => deriveEcmaScriptVersion
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(ecmascript_version_exports);
|
|
24
|
+
const CHROME_MAJOR_FOR_ES2015 = 51;
|
|
25
|
+
const CHROME_MAJOR_FOR_ES2016 = 52;
|
|
26
|
+
const CHROME_MAJOR_FOR_ES2017 = 58;
|
|
27
|
+
const CHROME_MAJOR_FOR_ES2018 = 64;
|
|
28
|
+
const CHROME_MAJOR_FOR_ES2019 = 73;
|
|
29
|
+
const CHROME_MAJOR_FOR_ES2020 = 80;
|
|
30
|
+
const CHROME_MAJOR_FOR_ES2021 = 85;
|
|
31
|
+
const CHROME_MAJOR_FOR_ES2022 = 94;
|
|
32
|
+
const CHROME_MAJOR_FOR_ES2023 = 110;
|
|
33
|
+
const CHROME_MAJOR_FOR_ES2024 = 122;
|
|
34
|
+
const ECMA_SCRIPT_BREAKPOINTS = [
|
|
35
|
+
{ ecmaScriptVersion: "ES2024", minChromeMajor: CHROME_MAJOR_FOR_ES2024 },
|
|
36
|
+
{ ecmaScriptVersion: "ES2023", minChromeMajor: CHROME_MAJOR_FOR_ES2023 },
|
|
37
|
+
{ ecmaScriptVersion: "ES2022", minChromeMajor: CHROME_MAJOR_FOR_ES2022 },
|
|
38
|
+
{ ecmaScriptVersion: "ES2021", minChromeMajor: CHROME_MAJOR_FOR_ES2021 },
|
|
39
|
+
{ ecmaScriptVersion: "ES2020", minChromeMajor: CHROME_MAJOR_FOR_ES2020 },
|
|
40
|
+
{ ecmaScriptVersion: "ES2019", minChromeMajor: CHROME_MAJOR_FOR_ES2019 },
|
|
41
|
+
{ ecmaScriptVersion: "ES2018", minChromeMajor: CHROME_MAJOR_FOR_ES2018 },
|
|
42
|
+
{ ecmaScriptVersion: "ES2017", minChromeMajor: CHROME_MAJOR_FOR_ES2017 },
|
|
43
|
+
{ ecmaScriptVersion: "ES2016", minChromeMajor: CHROME_MAJOR_FOR_ES2016 },
|
|
44
|
+
{ ecmaScriptVersion: "ES2015", minChromeMajor: CHROME_MAJOR_FOR_ES2015 }
|
|
45
|
+
];
|
|
46
|
+
const DECIMAL_RADIX = 10;
|
|
47
|
+
function deriveEcmaScriptVersion(chromeVersion) {
|
|
48
|
+
const chromeMajor = Number.parseInt(chromeVersion, DECIMAL_RADIX);
|
|
49
|
+
if (Number.isNaN(chromeMajor)) {
|
|
50
|
+
return void 0;
|
|
51
|
+
}
|
|
52
|
+
for (const breakpoint of ECMA_SCRIPT_BREAKPOINTS) {
|
|
53
|
+
if (chromeMajor >= breakpoint.minChromeMajor) {
|
|
54
|
+
return breakpoint.ecmaScriptVersion;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return void 0;
|
|
58
|
+
}
|
|
59
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
60
|
+
0 && (module.exports = {
|
|
61
|
+
deriveEcmaScriptVersion
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2VjbWFzY3JpcHQtdmVyc2lvbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFB1cmUgZGVyaXZhdGlvbiBvZiB0aGUgRUNNQVNjcmlwdCBsYW5ndWFnZSBsZXZlbCBzdXBwb3J0ZWQgYnkgYSBnaXZlblxuICogQ2hyb21pdW0gKFY4KSB2ZXJzaW9uLCBleHByZXNzZWQgYXMgYW4gRUNNQVNjcmlwdC1lZGl0aW9uIHN0cmluZyAoZS5nLiBgJ0VTMjAyMidgKS5cbiAqXG4gKiBBIHNlcmlhbGl6ZWQgYGV2YWxJbk9ic2lkaWFuYCBjbG9zdXJlIHJ1bnMgaW4gT2JzaWRpYW4ncyBDaHJvbWl1bSByZW5kZXJlciwgc29cbiAqIHRoZSBFUyBmZWF0dXJlcyBpdCBtYXkgc2FmZWx5IHVzZSBhcmUgYm91bmRlZCBieSB0aGF0IHNoZWxsJ3MgQ2hyb21pdW0gdmVyc2lvbi5cbiAqIFRoZSBlbXBpcmljYWxseS1jb2xsZWN0ZWQgYHJ1bnRpbWVWZXJzaW9ucy5jaHJvbWVgIChzZWVcbiAqIHtAbGluayBPYnNpZGlhblJ1bnRpbWVWZXJzaW9uc30gYW5kIGBzY3JpcHRzL2NvbGxlY3QtcnVudGltZS12ZXJzaW9ucy50c2ApIGlzXG4gKiBmZWQgdGhyb3VnaCB7QGxpbmsgZGVyaXZlRWNtYVNjcmlwdFZlcnNpb259IHRvIGJha2UgYSBwZXItdmVyc2lvblxuICogYGVjbWFTY3JpcHRWZXJzaW9uYCBpbnRvIGBtZXRhZGF0YS5qc29uYCwgc28gYSBjb25zdW1lciBwaW5uaW5nIGFuIGluc3RhbGxlciBjYW5cbiAqIHRlbGwgb2ZmbGluZSB3aGljaCBFUyBsZXZlbCBpcyBzYWZlLlxuICpcbiAqIFRoZSBDaHJvbWl1bS1tYWpvciBcdTIxOTIgRVMteWVhciBicmVha3BvaW50cyBiZWxvdyBhcmUgdGhlIENocm9taXVtIHJlbGVhc2VzIGF0XG4gKiB3aGljaCBlYWNoIHllYXJseSBFQ01BU2NyaXB0IGVkaXRpb24gYmVjYW1lIGZ1bGx5IHN1cHBvcnRlZCwgcGVyIE1ETiAvXG4gKiBjYW5pdXNlIC8gdGhlIEVDTUFTY3JpcHQgY29tcGF0aWJpbGl0eSB0YWJsZXMuIFRoZXkgYXJlIGEgY3VyYXRlZCB0YWJsZSwgbm90XG4gKiBkZXJpdmVkIGZyb20gYW55dGhpbmcgZWxzZSwgc28gdGhpcyBtb2R1bGUgaXMgcHVyZSBhbmQgdW5pdC10ZXN0ZWQgdG8gdGhlIDEwMCUgZ2F0ZS5cbiAqL1xuXG4vKipcbiAqIE9uZSBDaHJvbWl1bS1tYWpvciBcdTIxOTIgRUNNQVNjcmlwdC1lZGl0aW9uIGJyZWFrcG9pbnQuXG4gKi9cbmludGVyZmFjZSBFY21hU2NyaXB0QnJlYWtwb2ludCB7XG4gIC8qKiBUaGUgRUNNQVNjcmlwdC1lZGl0aW9uIGxhYmVsIChlLmcuIGAnRVMyMDIyJ2ApIHN1cHBvcnRlZCBmcm9tIHtAbGluayBtaW5DaHJvbWVNYWpvcn0gb253YXJkLiAqL1xuICByZWFkb25seSBlY21hU2NyaXB0VmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKiBUaGUgbG93ZXN0IENocm9taXVtIG1ham9yIHRoYXQgZnVsbHkgc3VwcG9ydHMge0BsaW5rIGVjbWFTY3JpcHRWZXJzaW9ufS4gKi9cbiAgcmVhZG9ubHkgbWluQ2hyb21lTWFqb3I6IG51bWJlcjtcbn1cblxuY29uc3QgQ0hST01FX01BSk9SX0ZPUl9FUzIwMTUgPSA1MTtcbmNvbnN0IENIUk9NRV9NQUpPUl9GT1JfRVMyMDE2ID0gNTI7XG5jb25zdCBDSFJPTUVfTUFKT1JfRk9SX0VTMjAxNyA9IDU4O1xuY29uc3QgQ0hST01FX01BSk9SX0ZPUl9FUzIwMTggPSA2NDtcbmNvbnN0IENIUk9NRV9NQUpPUl9GT1JfRVMyMDE5ID0gNzM7XG5jb25zdCBDSFJPTUVfTUFKT1JfRk9SX0VTMjAyMCA9IDgwO1xuY29uc3QgQ0hST01FX01BSk9SX0ZPUl9FUzIwMjEgPSA4NTtcbmNvbnN0IENIUk9NRV9NQUpPUl9GT1JfRVMyMDIyID0gOTQ7XG5jb25zdCBDSFJPTUVfTUFKT1JfRk9SX0VTMjAyMyA9IDExMDtcbmNvbnN0IENIUk9NRV9NQUpPUl9GT1JfRVMyMDI0ID0gMTIyO1xuXG4vKipcbiAqIENocm9taXVtLW1ham9yIFx1MjE5MiBFQ01BU2NyaXB0LWVkaXRpb24gYnJlYWtwb2ludHMsIHNvcnRlZCBieVxuICoge0BsaW5rIEVjbWFTY3JpcHRCcmVha3BvaW50Lm1pbkNocm9tZU1ham9yfSBkZXNjZW5kaW5nIHNvIHRoZSBmaXJzdCBlbnRyeSB3aG9zZVxuICogdGhyZXNob2xkIGlzIG1ldCBpcyB0aGUgaGlnaGVzdCBzdXBwb3J0ZWQgZWRpdGlvbiAoZmlyc3QtbWF0Y2gtd2lucykuXG4gKi9cbmNvbnN0IEVDTUFfU0NSSVBUX0JSRUFLUE9JTlRTOiByZWFkb25seSBFY21hU2NyaXB0QnJlYWtwb2ludFtdID0gW1xuICB7IGVjbWFTY3JpcHRWZXJzaW9uOiAnRVMyMDI0JywgbWluQ2hyb21lTWFqb3I6IENIUk9NRV9NQUpPUl9GT1JfRVMyMDI0IH0sXG4gIHsgZWNtYVNjcmlwdFZlcnNpb246ICdFUzIwMjMnLCBtaW5DaHJvbWVNYWpvcjogQ0hST01FX01BSk9SX0ZPUl9FUzIwMjMgfSxcbiAgeyBlY21hU2NyaXB0VmVyc2lvbjogJ0VTMjAyMicsIG1pbkNocm9tZU1ham9yOiBDSFJPTUVfTUFKT1JfRk9SX0VTMjAyMiB9LFxuICB7IGVjbWFTY3JpcHRWZXJzaW9uOiAnRVMyMDIxJywgbWluQ2hyb21lTWFqb3I6IENIUk9NRV9NQUpPUl9GT1JfRVMyMDIxIH0sXG4gIHsgZWNtYVNjcmlwdFZlcnNpb246ICdFUzIwMjAnLCBtaW5DaHJvbWVNYWpvcjogQ0hST01FX01BSk9SX0ZPUl9FUzIwMjAgfSxcbiAgeyBlY21hU2NyaXB0VmVyc2lvbjogJ0VTMjAxOScsIG1pbkNocm9tZU1ham9yOiBDSFJPTUVfTUFKT1JfRk9SX0VTMjAxOSB9LFxuICB7IGVjbWFTY3JpcHRWZXJzaW9uOiAnRVMyMDE4JywgbWluQ2hyb21lTWFqb3I6IENIUk9NRV9NQUpPUl9GT1JfRVMyMDE4IH0sXG4gIHsgZWNtYVNjcmlwdFZlcnNpb246ICdFUzIwMTcnLCBtaW5DaHJvbWVNYWpvcjogQ0hST01FX01BSk9SX0ZPUl9FUzIwMTcgfSxcbiAgeyBlY21hU2NyaXB0VmVyc2lvbjogJ0VTMjAxNicsIG1pbkNocm9tZU1ham9yOiBDSFJPTUVfTUFKT1JfRk9SX0VTMjAxNiB9LFxuICB7IGVjbWFTY3JpcHRWZXJzaW9uOiAnRVMyMDE1JywgbWluQ2hyb21lTWFqb3I6IENIUk9NRV9NQUpPUl9GT1JfRVMyMDE1IH1cbl07XG5cbmNvbnN0IERFQ0lNQUxfUkFESVggPSAxMDtcblxuLyoqXG4gKiBEZXJpdmVzIHRoZSBoaWdoZXN0IGZ1bGx5LXN1cHBvcnRlZCBFQ01BU2NyaXB0IGVkaXRpb24gZm9yIGEgQ2hyb21pdW0gdmVyc2lvbi5cbiAqXG4gKiBAcGFyYW0gY2hyb21lVmVyc2lvbiAtIEEgQ2hyb21pdW0gdmVyc2lvbiBzdHJpbmcgKGUuZy4gYCcxMTQuMC41NzM1LjI4OSdgKTtcbiAqICAgb25seSB0aGUgbGVhZGluZyBtYWpvciBzZWdtZW50IGlzIHNpZ25pZmljYW50LlxuICogQHJldHVybnMgVGhlIEVDTUFTY3JpcHQtZWRpdGlvbiBsYWJlbCAoZS5nLiBgJ0VTMjAyMidgKSwgb3IgYHVuZGVmaW5lZGAgd2hlbiB0aGVcbiAqICAgdmVyc2lvbiBjYW5ub3QgYmUgcGFyc2VkIG9yIGl0cyBDaHJvbWl1bSBtYWpvciBwcmVkYXRlcyB0aGUgZWFybGllc3QgdHJhY2tlZCBlZGl0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVyaXZlRWNtYVNjcmlwdFZlcnNpb24oY2hyb21lVmVyc2lvbjogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgLy8gYHBhcnNlSW50YCByZWFkcyB0aGUgbGVhZGluZyBpbnRlZ2VyLCBzbyBgJzExNC4wLjU3MzUuMjg5J2AgeWllbGRzIDExNC5cbiAgLy8gQSBub24tbnVtZXJpYyBzdHJpbmcgeWllbGRzIGBOYU5gIFx1MjAxNCBubyBzcGxpdCwgc28gbm8gZGVhZCBpbmRleC1hY2Nlc3MgYnJhbmNoLlxuICBjb25zdCBjaHJvbWVNYWpvciA9IE51bWJlci5wYXJzZUludChjaHJvbWVWZXJzaW9uLCBERUNJTUFMX1JBRElYKTtcbiAgaWYgKE51bWJlci5pc05hTihjaHJvbWVNYWpvcikpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgZm9yIChjb25zdCBicmVha3BvaW50IG9mIEVDTUFfU0NSSVBUX0JSRUFLUE9JTlRTKSB7XG4gICAgaWYgKGNocm9tZU1ham9yID49IGJyZWFrcG9pbnQubWluQ2hyb21lTWFqb3IpIHtcbiAgICAgIHJldHVybiBicmVha3BvaW50LmVjbWFTY3JpcHRWZXJzaW9uO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBK0JBLE1BQU0sMEJBQTBCO0FBQ2hDLE1BQU0sMEJBQTBCO0FBQ2hDLE1BQU0sMEJBQTBCO0FBQ2hDLE1BQU0sMEJBQTBCO0FBQ2hDLE1BQU0sMEJBQTBCO0FBQ2hDLE1BQU0sMEJBQTBCO0FBQ2hDLE1BQU0sMEJBQTBCO0FBQ2hDLE1BQU0sMEJBQTBCO0FBQ2hDLE1BQU0sMEJBQTBCO0FBQ2hDLE1BQU0sMEJBQTBCO0FBT2hDLE1BQU0sMEJBQTJEO0FBQUEsRUFDL0QsRUFBRSxtQkFBbUIsVUFBVSxnQkFBZ0Isd0JBQXdCO0FBQUEsRUFDdkUsRUFBRSxtQkFBbUIsVUFBVSxnQkFBZ0Isd0JBQXdCO0FBQUEsRUFDdkUsRUFBRSxtQkFBbUIsVUFBVSxnQkFBZ0Isd0JBQXdCO0FBQUEsRUFDdkUsRUFBRSxtQkFBbUIsVUFBVSxnQkFBZ0Isd0JBQXdCO0FBQUEsRUFDdkUsRUFBRSxtQkFBbUIsVUFBVSxnQkFBZ0Isd0JBQXdCO0FBQUEsRUFDdkUsRUFBRSxtQkFBbUIsVUFBVSxnQkFBZ0Isd0JBQXdCO0FBQUEsRUFDdkUsRUFBRSxtQkFBbUIsVUFBVSxnQkFBZ0Isd0JBQXdCO0FBQUEsRUFDdkUsRUFBRSxtQkFBbUIsVUFBVSxnQkFBZ0Isd0JBQXdCO0FBQUEsRUFDdkUsRUFBRSxtQkFBbUIsVUFBVSxnQkFBZ0Isd0JBQXdCO0FBQUEsRUFDdkUsRUFBRSxtQkFBbUIsVUFBVSxnQkFBZ0Isd0JBQXdCO0FBQ3pFO0FBRUEsTUFBTSxnQkFBZ0I7QUFVZixTQUFTLHdCQUF3QixlQUEyQztBQUdqRixRQUFNLGNBQWMsT0FBTyxTQUFTLGVBQWUsYUFBYTtBQUNoRSxNQUFJLE9BQU8sTUFBTSxXQUFXLEdBQUc7QUFDN0IsV0FBTztBQUFBLEVBQ1Q7QUFFQSxhQUFXLGNBQWMseUJBQXlCO0FBQ2hELFFBQUksZUFBZSxXQUFXLGdCQUFnQjtBQUM1QyxhQUFPLFdBQVc7QUFBQSxJQUNwQjtBQUFBLEVBQ0Y7QUFFQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file
|
|
3
|
+
*
|
|
4
|
+
* Pure derivation of the ECMAScript language level supported by a given
|
|
5
|
+
* Chromium (V8) version, expressed as an ECMAScript-edition string (e.g. `'ES2022'`).
|
|
6
|
+
*
|
|
7
|
+
* A serialized `evalInObsidian` closure runs in Obsidian's Chromium renderer, so
|
|
8
|
+
* the ES features it may safely use are bounded by that shell's Chromium version.
|
|
9
|
+
* The empirically-collected `runtimeVersions.chrome` (see
|
|
10
|
+
* {@link ObsidianRuntimeVersions} and `scripts/collect-runtime-versions.ts`) is
|
|
11
|
+
* fed through {@link deriveEcmaScriptVersion} to bake a per-version
|
|
12
|
+
* `ecmaScriptVersion` into `metadata.json`, so a consumer pinning an installer can
|
|
13
|
+
* tell offline which ES level is safe.
|
|
14
|
+
*
|
|
15
|
+
* The Chromium-major → ES-year breakpoints below are the Chromium releases at
|
|
16
|
+
* which each yearly ECMAScript edition became fully supported, per MDN /
|
|
17
|
+
* caniuse / the ECMAScript compatibility tables. They are a curated table, not
|
|
18
|
+
* derived from anything else, so this module is pure and unit-tested to the 100% gate.
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Derives the highest fully-supported ECMAScript edition for a Chromium version.
|
|
22
|
+
*
|
|
23
|
+
* @param chromeVersion - A Chromium version string (e.g. `'114.0.5735.289'`);
|
|
24
|
+
* only the leading major segment is significant.
|
|
25
|
+
* @returns The ECMAScript-edition label (e.g. `'ES2022'`), or `undefined` when the
|
|
26
|
+
* version cannot be parsed or its Chromium major predates the earliest tracked edition.
|
|
27
|
+
*/
|
|
28
|
+
export declare function deriveEcmaScriptVersion(chromeVersion: string): string | undefined;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var electron_compatibility_exports = {};
|
|
20
|
+
__export(electron_compatibility_exports, {
|
|
21
|
+
checkElectronCompatibility: () => checkElectronCompatibility
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(electron_compatibility_exports);
|
|
24
|
+
var import_obsidian_version = require("./obsidian-version.cjs");
|
|
25
|
+
function checkElectronCompatibility(params) {
|
|
26
|
+
const { actualElectronVersion, appVersion, metadata } = params;
|
|
27
|
+
const minRecommendedElectronVersion = metadata?.minRecommendedElectronVersion;
|
|
28
|
+
if (actualElectronVersion === void 0 || minRecommendedElectronVersion === void 0) {
|
|
29
|
+
return { actualElectronVersion: actualElectronVersion ?? null, appVersion, tier: "unknown" };
|
|
30
|
+
}
|
|
31
|
+
if ((0, import_obsidian_version.compareVersions)(actualElectronVersion, minRecommendedElectronVersion) < 0) {
|
|
32
|
+
return {
|
|
33
|
+
actualElectronVersion,
|
|
34
|
+
appVersion,
|
|
35
|
+
message: `Obsidian ${appVersion} runs on Electron ${actualElectronVersion} but recommends Electron ${minRecommendedElectronVersion} or newer; pin a newer obsidianInstallerVersion for full compatibility.`,
|
|
36
|
+
minRecommendedElectronVersion,
|
|
37
|
+
tier: "nagged"
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
return { actualElectronVersion, appVersion, minRecommendedElectronVersion, tier: "ok" };
|
|
41
|
+
}
|
|
42
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
43
|
+
0 && (module.exports = {
|
|
44
|
+
checkElectronCompatibility
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2VsZWN0cm9uLWNvbXBhdGliaWxpdHkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBQdXJlIHZlcmRpY3Qgb24gd2hldGhlciB0aGUgRWxlY3Ryb24gdmVyc2lvbiBhbiBvd25lZCBPYnNpZGlhbiBpbnN0YW5jZSBpc1xuICogYWN0dWFsbHkgcnVubmluZyBpcyBuZXcgZW5vdWdoIGZvciB0aGUgcmVzb2x2ZWQgYXBwIHZlcnNpb24uIEtlcHQgc2VwYXJhdGUgZnJvbVxuICogdGhlIGludGVncmF0aW9uLW9ubHkgYHRyYW5zcG9ydC1kZXNrdG9wLWNkcGAgKHdoaWNoIHJlYWRzIHRoZSBsaXZlIHZlcnNpb24gb3ZlclxuICogQ0RQIGFuZCBpcyBleGNsdWRlZCBmcm9tIHVuaXQgdGVzdHMpIHNvIHRoZSB0aWVyIGxvZ2ljIHN0YXlzIHVuaXQtdGVzdGFibGUgXHUyMDE0XG4gKiBtaXJyb3JpbmcgdGhlIGBpbnN0YWxsZXItY29tcGF0aWJpbGl0eWAgLyBgcmVuZGVyZXItYm9vdC1kZXRlY3Rpb25gIHNwbGl0LlxuICpcbiAqIFRoaXMgaXMgdGhlIHRpZXItMiBjb21wYW5pb24gdG8gYGluc3RhbGxlci1jb21wYXRpYmlsaXR5YC4gVGhhdCBvbmUgaXMgZnVsbHlcbiAqIG9mZmxpbmUgXHUyMDE0IGl0IGNvbXBhcmVzIHRoZSByZXNvbHZlZCBpbnN0YWxsZXIgdmVyc2lvbiBhZ2FpbnN0IGluc3RhbGxlci12ZXJzaW9uXG4gKiB0aHJlc2hvbGRzLiBCdXQgdGhlIGFwcCdzIHJlYWwgcmVxdWlyZW1lbnQgaXMgYSAqKm1pbmltdW0gRWxlY3Ryb24gdmVyc2lvbioqXG4gKiBoYXJkY29kZWQgaW5zaWRlIGBhcHAuanNgIChlLmcuIGAxLjEzLjFgIG5lZWRzIEVsZWN0cm9uIGAyOC4yLjNgKSwgYW5kIHRoZVxuICogaW5zdGFsbGVyJ3MgYnVuZGxlZCBFbGVjdHJvbiBpcyBub3QgZGVyaXZhYmxlIG9mZmxpbmUgKHNlZVxuICoge0BsaW5rIE9ic2lkaWFuVmVyc2lvbk1ldGFkYXRhLm1pblJlY29tbWVuZGVkRWxlY3Ryb25WZXJzaW9ufSkuIFNvIHRoaXMgdmVyZGljdFxuICogdGFrZXMgdGhlICoqbGl2ZSoqIGBwcm9jZXNzLnZlcnNpb25zLmVsZWN0cm9uYCByZWFkIGZyb20gdGhlIGJvb3RlZCByZW5kZXJlciBhbmRcbiAqIGNvbXBhcmVzIGl0IHRvIGBtaW5SZWNvbW1lbmRlZEVsZWN0cm9uVmVyc2lvbmAgZnJvbSBgbWV0YWRhdGEuanNvbmAuXG4gKlxuICogQW4gRWxlY3Ryb24gYmVsb3cgdGhlIHJlY29tbWVuZGF0aW9uIHJ1bnMgYnV0IGlzIG5hZ2dlZCAoYCduYWdnZWQnYCkgXHUyMDE0IE9ic2lkaWFuXG4gKiB3b3VsZCBzaG93IGl0cyBcImluc3RhbGxlciB0b28gb2xkXCIgcmVjb21tZW5kYXRpb247IGl0IG5ldmVyIGJsb2Nrcywgc28gdGhlcmUgaXNcbiAqIG5vIGAndW5ydW5uYWJsZSdgIHRpZXIgaGVyZS4gV2hlbiB0aGUgbGl2ZSB2ZXJzaW9uIGlzIHVucmVhZGFibGUgb3IgdGhlIGFwcFxuICogdmVyc2lvbiBjYXJyaWVzIG5vIHJlY29tbWVuZGVkIEVsZWN0cm9uLCB0aGUgdmVyZGljdCBpcyBgJ3Vua25vd24nYCBhbmQgbm90aGluZ1xuICogaXMgd2FybmVkLlxuICovXG5cbmltcG9ydCB0eXBlIHsgT2JzaWRpYW5WZXJzaW9uTWV0YWRhdGEgfSBmcm9tICcuL29ic2lkaWFuLW1ldGFkYXRhLmNqcyc7XG5cbmltcG9ydCB7IGNvbXBhcmVWZXJzaW9ucyB9IGZyb20gJy4vb2JzaWRpYW4tdmVyc2lvbi5janMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBjaGVja0VsZWN0cm9uQ29tcGF0aWJpbGl0eX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tFbGVjdHJvbkNvbXBhdGliaWxpdHlQYXJhbXMge1xuICAvKiogVGhlIEVsZWN0cm9uIHZlcnNpb24gdGhlIGluc3RhbmNlIGlzIGFjdHVhbGx5IHJ1bm5pbmcsIG9yIGB1bmRlZmluZWRgIHdoZW4gdW5yZWFkYWJsZS4gKi9cbiAgcmVhZG9ubHkgYWN0dWFsRWxlY3Ryb25WZXJzaW9uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqIFRoZSByZXNvbHZlZCBPYnNpZGlhbiBhcHAgKGFzYXIpIHZlcnNpb24gdGhhdCBpcyBydW5uaW5nLiAqL1xuICByZWFkb25seSBhcHBWZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBgbWV0YWRhdGEuanNvbmAgZW50cnkgZm9yIHtAbGluayBhcHBWZXJzaW9ufSwgb3IgYHVuZGVmaW5lZGAgd2hlbiBhYnNlbnQuICovXG4gIHJlYWRvbmx5IG1ldGFkYXRhOiBPYnNpZGlhblZlcnNpb25NZXRhZGF0YSB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBUaGUgcnVudGltZSBFbGVjdHJvbiBjb21wYXRpYmlsaXR5IHZlcmRpY3QgZm9yIGEgYm9vdGVkIG93bmVkIGluc3RhbmNlLCBjYXJyaWVkXG4gKiBhcyBkYXRhIG9uIHRoZSB0cmFuc3BvcnQgLyBjb25uZWN0aW9uIHJlc3VsdCBzbyBjb25zdW1lcnMgY2FuIGFzc2VydCBvbiBpdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGVjdHJvbkNvbXBhdGliaWxpdHkge1xuICAvKiogVGhlIEVsZWN0cm9uIHZlcnNpb24gdGhlIGluc3RhbmNlIGlzIGFjdHVhbGx5IHJ1bm5pbmcsIG9yIGBudWxsYCB3aGVuIHVucmVhZGFibGUuICovXG4gIHJlYWRvbmx5IGFjdHVhbEVsZWN0cm9uVmVyc2lvbjogbnVsbCB8IHN0cmluZztcblxuICAvKiogVGhlIHJlc29sdmVkIE9ic2lkaWFuIGFwcCAoYXNhcikgdmVyc2lvbiB0aGF0IGlzIHJ1bm5pbmcuICovXG4gIHJlYWRvbmx5IGFwcFZlcnNpb246IHN0cmluZztcblxuICAvKiogQSBodW1hbi1yZWFkYWJsZSBleHBsYW5hdGlvbiwgcHJlc2VudCBmb3IgdGhlIGAnbmFnZ2VkJ2AgdGllci4gKi9cbiAgcmVhZG9ubHkgbWVzc2FnZT86IHN0cmluZztcblxuICAvKiogVGhlIGFwcCdzIHJlY29tbWVuZGVkLW1pbmltdW0gRWxlY3Ryb24gdmVyc2lvbiwgd2hlbiB0aGUgdGFibGUgY2FycmllcyBvbmUuICovXG4gIHJlYWRvbmx5IG1pblJlY29tbWVuZGVkRWxlY3Ryb25WZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKiBUaGUgcmVzb2x2ZWQgY29tcGF0aWJpbGl0eSB0aWVyLiAqL1xuICByZWFkb25seSB0aWVyOiBFbGVjdHJvbkNvbXBhdGliaWxpdHlUaWVyO1xufVxuXG4vKipcbiAqIFRoZSBydW50aW1lIEVsZWN0cm9uIGNvbXBhdGliaWxpdHkgdGllciBmb3IgYSBib290ZWQgb3duZWQgaW5zdGFuY2UuXG4gKlxuICogLSBgJ29rJ2AgXHUyMDE0IHRoZSBydW5uaW5nIEVsZWN0cm9uIGlzIGF0IG9yIGFib3ZlIHRoZSBhcHAncyByZWNvbW1lbmRlZCBtaW5pbXVtLlxuICogLSBgJ25hZ2dlZCdgIFx1MjAxNCB0aGUgcnVubmluZyBFbGVjdHJvbiBpcyBiZWxvdyB0aGUgcmVjb21tZW5kZWQgbWluaW11bTsgT2JzaWRpYW5cbiAqICAgcnVucyBidXQgd291bGQgc2hvdyBpdHMgXCJpbnN0YWxsZXIgdG9vIG9sZFwiIHJlY29tbWVuZGF0aW9uLlxuICogLSBgJ3Vua25vd24nYCBcdTIwMTQgY2Fubm90IGJlIGRldGVybWluZWQgKHRoZSBsaXZlIHZlcnNpb24gd2FzIHVucmVhZGFibGUsIG9yIHRoZVxuICogICBhcHAgdmVyc2lvbiBjYXJyaWVzIG5vIHJlY29tbWVuZGVkIEVsZWN0cm9uIHZlcnNpb24gaW4gdGhlIHRhYmxlKS5cbiAqL1xuZXhwb3J0IHR5cGUgRWxlY3Ryb25Db21wYXRpYmlsaXR5VGllciA9ICduYWdnZWQnIHwgJ29rJyB8ICd1bmtub3duJztcblxuLyoqXG4gKiBDb21wdXRlcyB0aGUgcnVudGltZSBFbGVjdHJvbiBjb21wYXRpYmlsaXR5IHZlcmRpY3QgZm9yIGEgYm9vdGVkIG93bmVkIGluc3RhbmNlLlxuICpcbiAqIE9ubHkgYCduYWdnZWQnYCB3YXJyYW50cyBhIHdhcm5pbmc7IGAnb2snYCBhbmQgYCd1bmtub3duJ2AgYXJlIHNpbGVudC4gQW5cbiAqIEVsZWN0cm9uIG1pc21hdGNoIG5ldmVyIGJsb2Nrcywgc28gdGhlcmUgaXMgbm8gZXJyb3IgdGllci4gQ29tcGFyaXNvbnMgYXJlIHB1cmVcbiAqIGB4LnkuemAgdmVyc2lvbiBjb21wYXJlcyBcdTIwMTQgbm8gSS9PLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcnVubmluZyBhcHAgdmVyc2lvbiwgdGhlIGxpdmUgRWxlY3Ryb24gdmVyc2lvbiwgYW5kIHRoZSBhcHBcbiAqICAgdmVyc2lvbidzIG1ldGFkYXRhIGVudHJ5LlxuICogQHJldHVybnMgVGhlIGNvbXBhdGliaWxpdHkgdmVyZGljdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrRWxlY3Ryb25Db21wYXRpYmlsaXR5KHBhcmFtczogQ2hlY2tFbGVjdHJvbkNvbXBhdGliaWxpdHlQYXJhbXMpOiBFbGVjdHJvbkNvbXBhdGliaWxpdHkge1xuICBjb25zdCB7IGFjdHVhbEVsZWN0cm9uVmVyc2lvbiwgYXBwVmVyc2lvbiwgbWV0YWRhdGEgfSA9IHBhcmFtcztcbiAgY29uc3QgbWluUmVjb21tZW5kZWRFbGVjdHJvblZlcnNpb24gPSBtZXRhZGF0YT8ubWluUmVjb21tZW5kZWRFbGVjdHJvblZlcnNpb247XG5cbiAgaWYgKGFjdHVhbEVsZWN0cm9uVmVyc2lvbiA9PT0gdW5kZWZpbmVkIHx8IG1pblJlY29tbWVuZGVkRWxlY3Ryb25WZXJzaW9uID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4geyBhY3R1YWxFbGVjdHJvblZlcnNpb246IGFjdHVhbEVsZWN0cm9uVmVyc2lvbiA/PyBudWxsLCBhcHBWZXJzaW9uLCB0aWVyOiAndW5rbm93bicgfTtcbiAgfVxuXG4gIGlmIChjb21wYXJlVmVyc2lvbnMoYWN0dWFsRWxlY3Ryb25WZXJzaW9uLCBtaW5SZWNvbW1lbmRlZEVsZWN0cm9uVmVyc2lvbikgPCAwKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFjdHVhbEVsZWN0cm9uVmVyc2lvbixcbiAgICAgIGFwcFZlcnNpb24sXG4gICAgICBtZXNzYWdlOiBgT2JzaWRpYW4gJHthcHBWZXJzaW9ufSBydW5zIG9uIEVsZWN0cm9uICR7YWN0dWFsRWxlY3Ryb25WZXJzaW9ufSBidXQgcmVjb21tZW5kcyBFbGVjdHJvbiBgXG4gICAgICAgICsgYCR7bWluUmVjb21tZW5kZWRFbGVjdHJvblZlcnNpb259IG9yIG5ld2VyOyBwaW4gYSBuZXdlciBvYnNpZGlhbkluc3RhbGxlclZlcnNpb24gZm9yIGZ1bGwgY29tcGF0aWJpbGl0eS5gLFxuICAgICAgbWluUmVjb21tZW5kZWRFbGVjdHJvblZlcnNpb24sXG4gICAgICB0aWVyOiAnbmFnZ2VkJ1xuICAgIH07XG4gIH1cblxuICByZXR1cm4geyBhY3R1YWxFbGVjdHJvblZlcnNpb24sIGFwcFZlcnNpb24sIG1pblJlY29tbWVuZGVkRWxlY3Ryb25WZXJzaW9uLCB0aWVyOiAnb2snIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBMkJBLDhCQUFnQztBQTJEekIsU0FBUywyQkFBMkIsUUFBaUU7QUFDMUcsUUFBTSxFQUFFLHVCQUF1QixZQUFZLFNBQVMsSUFBSTtBQUN4RCxRQUFNLGdDQUFnQyxVQUFVO0FBRWhELE1BQUksMEJBQTBCLFVBQWEsa0NBQWtDLFFBQVc7QUFDdEYsV0FBTyxFQUFFLHVCQUF1Qix5QkFBeUIsTUFBTSxZQUFZLE1BQU0sVUFBVTtBQUFBLEVBQzdGO0FBRUEsVUFBSSx5Q0FBZ0IsdUJBQXVCLDZCQUE2QixJQUFJLEdBQUc7QUFDN0UsV0FBTztBQUFBLE1BQ0w7QUFBQSxNQUNBO0FBQUEsTUFDQSxTQUFTLFlBQVksVUFBVSxxQkFBcUIscUJBQXFCLDRCQUNsRSw2QkFBNkI7QUFBQSxNQUNwQztBQUFBLE1BQ0EsTUFBTTtBQUFBLElBQ1I7QUFBQSxFQUNGO0FBRUEsU0FBTyxFQUFFLHVCQUF1QixZQUFZLCtCQUErQixNQUFNLEtBQUs7QUFDeEY7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file
|
|
3
|
+
*
|
|
4
|
+
* Pure verdict on whether the Electron version an owned Obsidian instance is
|
|
5
|
+
* actually running is new enough for the resolved app version. Kept separate from
|
|
6
|
+
* the integration-only `transport-desktop-cdp` (which reads the live version over
|
|
7
|
+
* CDP and is excluded from unit tests) so the tier logic stays unit-testable —
|
|
8
|
+
* mirroring the `installer-compatibility` / `renderer-boot-detection` split.
|
|
9
|
+
*
|
|
10
|
+
* This is the tier-2 companion to `installer-compatibility`. That one is fully
|
|
11
|
+
* offline — it compares the resolved installer version against installer-version
|
|
12
|
+
* thresholds. But the app's real requirement is a **minimum Electron version**
|
|
13
|
+
* hardcoded inside `app.js` (e.g. `1.13.1` needs Electron `28.2.3`), and the
|
|
14
|
+
* installer's bundled Electron is not derivable offline (see
|
|
15
|
+
* {@link ObsidianVersionMetadata.minRecommendedElectronVersion}). So this verdict
|
|
16
|
+
* takes the **live** `process.versions.electron` read from the booted renderer and
|
|
17
|
+
* compares it to `minRecommendedElectronVersion` from `metadata.json`.
|
|
18
|
+
*
|
|
19
|
+
* An Electron below the recommendation runs but is nagged (`'nagged'`) — Obsidian
|
|
20
|
+
* would show its "installer too old" recommendation; it never blocks, so there is
|
|
21
|
+
* no `'unrunnable'` tier here. When the live version is unreadable or the app
|
|
22
|
+
* version carries no recommended Electron, the verdict is `'unknown'` and nothing
|
|
23
|
+
* is warned.
|
|
24
|
+
*/
|
|
25
|
+
import type { ObsidianVersionMetadata } from './obsidian-metadata.cjs';
|
|
26
|
+
/**
|
|
27
|
+
* Parameters for {@link checkElectronCompatibility}.
|
|
28
|
+
*/
|
|
29
|
+
export interface CheckElectronCompatibilityParams {
|
|
30
|
+
/** The Electron version the instance is actually running, or `undefined` when unreadable. */
|
|
31
|
+
readonly actualElectronVersion: string | undefined;
|
|
32
|
+
/** The resolved Obsidian app (asar) version that is running. */
|
|
33
|
+
readonly appVersion: string;
|
|
34
|
+
/** The `metadata.json` entry for {@link appVersion}, or `undefined` when absent. */
|
|
35
|
+
readonly metadata: ObsidianVersionMetadata | undefined;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* The runtime Electron compatibility verdict for a booted owned instance, carried
|
|
39
|
+
* as data on the transport / connection result so consumers can assert on it.
|
|
40
|
+
*/
|
|
41
|
+
export interface ElectronCompatibility {
|
|
42
|
+
/** The Electron version the instance is actually running, or `null` when unreadable. */
|
|
43
|
+
readonly actualElectronVersion: null | string;
|
|
44
|
+
/** The resolved Obsidian app (asar) version that is running. */
|
|
45
|
+
readonly appVersion: string;
|
|
46
|
+
/** A human-readable explanation, present for the `'nagged'` tier. */
|
|
47
|
+
readonly message?: string;
|
|
48
|
+
/** The app's recommended-minimum Electron version, when the table carries one. */
|
|
49
|
+
readonly minRecommendedElectronVersion?: string;
|
|
50
|
+
/** The resolved compatibility tier. */
|
|
51
|
+
readonly tier: ElectronCompatibilityTier;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* The runtime Electron compatibility tier for a booted owned instance.
|
|
55
|
+
*
|
|
56
|
+
* - `'ok'` — the running Electron is at or above the app's recommended minimum.
|
|
57
|
+
* - `'nagged'` — the running Electron is below the recommended minimum; Obsidian
|
|
58
|
+
* runs but would show its "installer too old" recommendation.
|
|
59
|
+
* - `'unknown'` — cannot be determined (the live version was unreadable, or the
|
|
60
|
+
* app version carries no recommended Electron version in the table).
|
|
61
|
+
*/
|
|
62
|
+
export type ElectronCompatibilityTier = 'nagged' | 'ok' | 'unknown';
|
|
63
|
+
/**
|
|
64
|
+
* Computes the runtime Electron compatibility verdict for a booted owned instance.
|
|
65
|
+
*
|
|
66
|
+
* Only `'nagged'` warrants a warning; `'ok'` and `'unknown'` are silent. An
|
|
67
|
+
* Electron mismatch never blocks, so there is no error tier. Comparisons are pure
|
|
68
|
+
* `x.y.z` version compares — no I/O.
|
|
69
|
+
*
|
|
70
|
+
* @param params - The running app version, the live Electron version, and the app
|
|
71
|
+
* version's metadata entry.
|
|
72
|
+
* @returns The compatibility verdict.
|
|
73
|
+
*/
|
|
74
|
+
export declare function checkElectronCompatibility(params: CheckElectronCompatibilityParams): ElectronCompatibility;
|
package/dist/lib/cjs/index.cjs
CHANGED
|
@@ -23,7 +23,10 @@ __export(index_exports, {
|
|
|
23
23
|
DesktopCdpTransport: () => import_transport_desktop_cdp.DesktopCdpTransport,
|
|
24
24
|
IncompatibleInstallerVersionError: () => import_incompatible_installer_version_error.IncompatibleInstallerVersionError,
|
|
25
25
|
RendererFailedToInitializeError: () => import_renderer_failed_to_initialize_error.RendererFailedToInitializeError,
|
|
26
|
+
SilentAsarFallbackError: () => import_silent_asar_fallback_error.SilentAsarFallbackError,
|
|
26
27
|
TempVault: () => import_temp_vault.TempVault,
|
|
28
|
+
checkAsarFallback: () => import_asar_fallback_detection.checkAsarFallback,
|
|
29
|
+
checkElectronCompatibility: () => import_electron_compatibility.checkElectronCompatibility,
|
|
27
30
|
checkInstallerCompatibility: () => import_installer_compatibility.checkInstallerCompatibility,
|
|
28
31
|
connectToCdp: () => import_connect_to_cdp.connectToCdp,
|
|
29
32
|
createTransportFromOptions: () => import_transport_factory.createTransportFromOptions,
|
|
@@ -36,15 +39,18 @@ __export(index_exports, {
|
|
|
36
39
|
unregisterVault: () => import_vault_registry.unregisterVault
|
|
37
40
|
});
|
|
38
41
|
module.exports = __toCommonJS(index_exports);
|
|
42
|
+
var import_asar_fallback_detection = require("./asar-fallback-detection.cjs");
|
|
39
43
|
var import_connect_to_cdp = require("./connect-to-cdp.cjs");
|
|
40
44
|
var import_context_id = require("./context-id.cjs");
|
|
41
45
|
var import_context_provider = require("./context-provider.cjs");
|
|
46
|
+
var import_electron_compatibility = require("./electron-compatibility.cjs");
|
|
42
47
|
var import_eval_in_obsidian = require("./eval-in-obsidian.cjs");
|
|
43
48
|
var import_incompatible_installer_version_error = require("./incompatible-installer-version-error.cjs");
|
|
44
49
|
var import_installer_compatibility = require("./installer-compatibility.cjs");
|
|
45
50
|
var import_lib_registry = require("./lib-registry.cjs");
|
|
46
51
|
var import_obsidian_metadata = require("./obsidian-metadata.cjs");
|
|
47
52
|
var import_renderer_failed_to_initialize_error = require("./renderer-failed-to-initialize-error.cjs");
|
|
53
|
+
var import_silent_asar_fallback_error = require("./silent-asar-fallback-error.cjs");
|
|
48
54
|
var import_temp_vault = require("./temp-vault.cjs");
|
|
49
55
|
var import_transport_appium = require("./transport-appium.cjs");
|
|
50
56
|
var import_transport_desktop_cdp = require("./transport-desktop-cdp.cjs");
|
|
@@ -57,7 +63,10 @@ var import_vault_registry = require("./vault-registry.cjs");
|
|
|
57
63
|
DesktopCdpTransport,
|
|
58
64
|
IncompatibleInstallerVersionError,
|
|
59
65
|
RendererFailedToInitializeError,
|
|
66
|
+
SilentAsarFallbackError,
|
|
60
67
|
TempVault,
|
|
68
|
+
checkAsarFallback,
|
|
69
|
+
checkElectronCompatibility,
|
|
61
70
|
checkInstallerCompatibility,
|
|
62
71
|
connectToCdp,
|
|
63
72
|
createTransportFromOptions,
|
|
@@ -69,4 +78,4 @@ var import_vault_registry = require("./vault-registry.cjs");
|
|
|
69
78
|
setVaultPathResolver,
|
|
70
79
|
unregisterVault
|
|
71
80
|
});
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdGhlIGVudHJ5IHBvaW50IGZvciB0aGUgaW50ZWdyYXRpb24gdGVzdGluZyBtb2R1bGUuXG4gKi9cblxuZXhwb3J0IHR5cGUge1xuICBBc2FyRmFsbGJhY2ssXG4gIEFzYXJGYWxsYmFja1RpZXIsXG4gIENoZWNrQXNhckZhbGxiYWNrUGFyYW1zXG59IGZyb20gJy4vYXNhci1mYWxsYmFjay1kZXRlY3Rpb24uY2pzJztcbmV4cG9ydCB7IGNoZWNrQXNhckZhbGxiYWNrIH0gZnJvbSAnLi9hc2FyLWZhbGxiYWNrLWRldGVjdGlvbi5janMnO1xuZXhwb3J0IHR5cGUge1xuICBDZHBDb25uZWN0aW9uLFxuICBDb25uZWN0VG9DZHBPcHRpb25zXG59IGZyb20gJy4vY29ubmVjdC10by1jZHAuY2pzJztcbmV4cG9ydCB7IGNvbm5lY3RUb0NkcCB9IGZyb20gJy4vY29ubmVjdC10by1jZHAuY2pzJztcbmV4cG9ydCB7IENvbnRleHRJZCB9IGZyb20gJy4vY29udGV4dC1pZC5janMnO1xuZXhwb3J0IHR5cGUge1xuICBUcmFuc3BvcnRPcHRpb25zUmVzb2x2ZXIsXG4gIFZhdWx0UGF0aFJlc29sdmVyXG59IGZyb20gJy4vY29udGV4dC1wcm92aWRlci5janMnO1xuZXhwb3J0IHtcbiAgc2V0VHJhbnNwb3J0T3B0aW9uc1Jlc29sdmVyLFxuICBzZXRWYXVsdFBhdGhSZXNvbHZlclxufSBmcm9tICcuL2NvbnRleHQtcHJvdmlkZXIuY2pzJztcbmV4cG9ydCB0eXBlIHtcbiAgQ2hlY2tFbGVjdHJvbkNvbXBhdGliaWxpdHlQYXJhbXMsXG4gIEVsZWN0cm9uQ29tcGF0aWJpbGl0eSxcbiAgRWxlY3Ryb25Db21wYXRpYmlsaXR5VGllclxufSBmcm9tICcuL2VsZWN0cm9uLWNvbXBhdGliaWxpdHkuY2pzJztcbmV4cG9ydCB7IGNoZWNrRWxlY3Ryb25Db21wYXRpYmlsaXR5IH0gZnJvbSAnLi9lbGVjdHJvbi1jb21wYXRpYmlsaXR5LmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIEV2YWxJbk9ic2lkaWFuUGFyYW1zLFxuICBIb3ZlckVsZW1lbnRQYXJhbXMsXG4gIExpYixcbiAgTW92ZU1vdXNlUGFyYW1zLFxuICBQcmVzc0tleVBhcmFtcyxcbiAgVHlwZUludG9FZGl0b3JQYXJhbXMsXG4gIFVuaG92ZXJFbGVtZW50UGFyYW1zLFxuICBXYWl0VW50aWxQYXJhbXNcbn0gZnJvbSAnLi9ldmFsLWluLW9ic2lkaWFuLmNqcyc7XG5leHBvcnQgeyBldmFsSW5PYnNpZGlhbiB9IGZyb20gJy4vZXZhbC1pbi1vYnNpZGlhbi5janMnO1xuZXhwb3J0IHR5cGUgeyBJbmNvbXBhdGlibGVJbnN0YWxsZXJWZXJzaW9uRXJyb3JDb25zdHJ1Y3RvclBhcmFtcyB9IGZyb20gJy4vaW5jb21wYXRpYmxlLWluc3RhbGxlci12ZXJzaW9uLWVycm9yLmNqcyc7XG5leHBvcnQgeyBJbmNvbXBhdGlibGVJbnN0YWxsZXJWZXJzaW9uRXJyb3IgfSBmcm9tICcuL2luY29tcGF0aWJsZS1pbnN0YWxsZXItdmVyc2lvbi1lcnJvci5janMnO1xuZXhwb3J0IHR5cGUge1xuICBDaGVja0luc3RhbGxlckNvbXBhdGliaWxpdHlQYXJhbXMsXG4gIEluc3RhbGxlckNvbXBhdGliaWxpdHksXG4gIEluc3RhbGxlckNvbXBhdGliaWxpdHlUaWVyXG59IGZyb20gJy4vaW5zdGFsbGVyLWNvbXBhdGliaWxpdHkuY2pzJztcbmV4cG9ydCB7IGNoZWNrSW5zdGFsbGVyQ29tcGF0aWJpbGl0eSB9IGZyb20gJy4vaW5zdGFsbGVyLWNvbXBhdGliaWxpdHkuY2pzJztcbmV4cG9ydCB0eXBlIHsgTGliUmVzb2x2ZXIgfSBmcm9tICcuL2xpYi1yZWdpc3RyeS5janMnO1xuZXhwb3J0IHsgcmVnaXN0ZXJMaWJSZXNvbHZlciB9IGZyb20gJy4vbGliLXJlZ2lzdHJ5LmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIE9ic2lkaWFuUnVudGltZVZlcnNpb25zLFxuICBPYnNpZGlhblZlcnNpb25Eb3dubG9hZHMsXG4gIE9ic2lkaWFuVmVyc2lvbk1ldGFkYXRhXG59IGZyb20gJy4vb2JzaWRpYW4tbWV0YWRhdGEuY2pzJztcbmV4cG9ydCB7IGdldFZlcnNpb25NZXRhZGF0YSB9IGZyb20gJy4vb2JzaWRpYW4tbWV0YWRhdGEuY2pzJztcbmV4cG9ydCB7IFJlbmRlcmVyRmFpbGVkVG9Jbml0aWFsaXplRXJyb3IgfSBmcm9tICcuL3JlbmRlcmVyLWZhaWxlZC10by1pbml0aWFsaXplLWVycm9yLmNqcyc7XG5leHBvcnQgdHlwZSB7IFNpbGVudEFzYXJGYWxsYmFja0Vycm9yQ29uc3RydWN0b3JQYXJhbXMgfSBmcm9tICcuL3NpbGVudC1hc2FyLWZhbGxiYWNrLWVycm9yLmNqcyc7XG5leHBvcnQgeyBTaWxlbnRBc2FyRmFsbGJhY2tFcnJvciB9IGZyb20gJy4vc2lsZW50LWFzYXItZmFsbGJhY2stZXJyb3IuY2pzJztcbmV4cG9ydCB0eXBlIHtcbiAgUG9wdWxhdGVGaWxlQ29udGVudCxcbiAgUG9wdWxhdGVGaWxlc1BhcmFtc1xufSBmcm9tICcuL3RlbXAtdmF1bHQuY2pzJztcbmV4cG9ydCB7IFRlbXBWYXVsdCB9IGZyb20gJy4vdGVtcC12YXVsdC5janMnO1xuZXhwb3J0IHR5cGUge1xuICBBcHBpdW1TZXNzaW9uSW5mbyxcbiAgQXBwaXVtVHJhbnNwb3J0Q29uZmlnXG59IGZyb20gJy4vdHJhbnNwb3J0LWFwcGl1bS5janMnO1xuZXhwb3J0IHsgQXBwaXVtVHJhbnNwb3J0IH0gZnJvbSAnLi90cmFuc3BvcnQtYXBwaXVtLmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIERlc2t0b3BDZHBUcmFuc3BvcnRDb25maWcsXG4gIE93bmVkSW5zdGFuY2VBc2FyLFxuICBPd25lZEluc3RhbmNlQ29uZmlnXG59IGZyb20gJy4vdHJhbnNwb3J0LWRlc2t0b3AtY2RwLmNqcyc7XG5leHBvcnQgeyBEZXNrdG9wQ2RwVHJhbnNwb3J0IH0gZnJvbSAnLi90cmFuc3BvcnQtZGVza3RvcC1jZHAuY2pzJztcbmV4cG9ydCB7IGNyZWF0ZVRyYW5zcG9ydEZyb21PcHRpb25zIH0gZnJvbSAnLi90cmFuc3BvcnQtZmFjdG9yeS5janMnO1xuZXhwb3J0IHR5cGUge1xuICBPYnNpZGlhbkFuZHJvaWRBcHBpdW1UcmFuc3BvcnRPcHRpb25zLFxuICBPYnNpZGlhbkNkcFRyYW5zcG9ydE9wdGlvbnMsXG4gIE9ic2lkaWFuVHJhbnNwb3J0T3B0aW9uc1xufSBmcm9tICcuL3RyYW5zcG9ydC1vcHRpb25zLmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIE9ic2lkaWFuVHJhbnNwb3J0LFxuICBUcmFuc3BvcnRFdmFsT3B0aW9uc1xufSBmcm9tICcuL3RyYW5zcG9ydC5janMnO1xuZXhwb3J0IHtcbiAgcmVnaXN0ZXJWYXVsdCxcbiAgdW5yZWdpc3RlclZhdWx0XG59IGZyb20gJy4vdmF1bHQtcmVnaXN0cnkuY2pzJztcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQSxxQ0FBa0M7QUFLbEMsNEJBQTZCO0FBQzdCLHdCQUEwQjtBQUsxQiw4QkFHTztBQU1QLG9DQUEyQztBQVczQyw4QkFBK0I7QUFFL0Isa0RBQWtEO0FBTWxELHFDQUE0QztBQUU1QywwQkFBb0M7QUFNcEMsK0JBQW1DO0FBQ25DLGlEQUFnRDtBQUVoRCx3Q0FBd0M7QUFLeEMsd0JBQTBCO0FBSzFCLDhCQUFnQztBQU1oQyxtQ0FBb0M7QUFDcEMsK0JBQTJDO0FBVTNDLDRCQUdPOyIsCiAgIm5hbWVzIjogW10KfQo=
|
package/dist/lib/cjs/index.d.cts
CHANGED
|
@@ -3,11 +3,15 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Contains the entry point for the integration testing module.
|
|
5
5
|
*/
|
|
6
|
+
export type { AsarFallback, AsarFallbackTier, CheckAsarFallbackParams } from './asar-fallback-detection.cjs';
|
|
7
|
+
export { checkAsarFallback } from './asar-fallback-detection.cjs';
|
|
6
8
|
export type { CdpConnection, ConnectToCdpOptions } from './connect-to-cdp.cjs';
|
|
7
9
|
export { connectToCdp } from './connect-to-cdp.cjs';
|
|
8
10
|
export { ContextId } from './context-id.cjs';
|
|
9
11
|
export type { TransportOptionsResolver, VaultPathResolver } from './context-provider.cjs';
|
|
10
12
|
export { setTransportOptionsResolver, setVaultPathResolver } from './context-provider.cjs';
|
|
13
|
+
export type { CheckElectronCompatibilityParams, ElectronCompatibility, ElectronCompatibilityTier } from './electron-compatibility.cjs';
|
|
14
|
+
export { checkElectronCompatibility } from './electron-compatibility.cjs';
|
|
11
15
|
export type { EvalInObsidianParams, HoverElementParams, Lib, MoveMouseParams, PressKeyParams, TypeIntoEditorParams, UnhoverElementParams, WaitUntilParams } from './eval-in-obsidian.cjs';
|
|
12
16
|
export { evalInObsidian } from './eval-in-obsidian.cjs';
|
|
13
17
|
export type { IncompatibleInstallerVersionErrorConstructorParams } from './incompatible-installer-version-error.cjs';
|
|
@@ -16,9 +20,11 @@ export type { CheckInstallerCompatibilityParams, InstallerCompatibility, Install
|
|
|
16
20
|
export { checkInstallerCompatibility } from './installer-compatibility.cjs';
|
|
17
21
|
export type { LibResolver } from './lib-registry.cjs';
|
|
18
22
|
export { registerLibResolver } from './lib-registry.cjs';
|
|
19
|
-
export type { ObsidianVersionMetadata } from './obsidian-metadata.cjs';
|
|
23
|
+
export type { ObsidianRuntimeVersions, ObsidianVersionDownloads, ObsidianVersionMetadata } from './obsidian-metadata.cjs';
|
|
20
24
|
export { getVersionMetadata } from './obsidian-metadata.cjs';
|
|
21
25
|
export { RendererFailedToInitializeError } from './renderer-failed-to-initialize-error.cjs';
|
|
26
|
+
export type { SilentAsarFallbackErrorConstructorParams } from './silent-asar-fallback-error.cjs';
|
|
27
|
+
export { SilentAsarFallbackError } from './silent-asar-fallback-error.cjs';
|
|
22
28
|
export type { PopulateFileContent, PopulateFilesParams } from './temp-vault.cjs';
|
|
23
29
|
export { TempVault } from './temp-vault.cjs';
|
|
24
30
|
export type { AppiumSessionInfo, AppiumTransportConfig } from './transport-appium.cjs';
|
|
@@ -19,7 +19,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
var installer_asset_exports = {};
|
|
20
20
|
__export(installer_asset_exports, {
|
|
21
21
|
buildInstallerAssetNameCandidates: () => buildInstallerAssetNameCandidates,
|
|
22
|
-
selectInstallerAssetName: () => selectInstallerAssetName
|
|
22
|
+
selectInstallerAssetName: () => selectInstallerAssetName,
|
|
23
|
+
selectInstallerDownloadUrl: () => selectInstallerDownloadUrl
|
|
23
24
|
});
|
|
24
25
|
module.exports = __toCommonJS(installer_asset_exports);
|
|
25
26
|
const WINDOWS_ASSET_SHAPE = {
|
|
@@ -53,6 +54,19 @@ function selectInstallerAssetName(params) {
|
|
|
53
54
|
const pattern = buildAssetNamePattern(getPlatformAssetShape(params.platform), params.version);
|
|
54
55
|
return params.assetNames.find((name) => pattern.test(name));
|
|
55
56
|
}
|
|
57
|
+
function selectInstallerDownloadUrl(params) {
|
|
58
|
+
const { downloads } = params;
|
|
59
|
+
if (!downloads) {
|
|
60
|
+
return void 0;
|
|
61
|
+
}
|
|
62
|
+
if (params.platform === "win32") {
|
|
63
|
+
return downloads.exe;
|
|
64
|
+
}
|
|
65
|
+
if (params.platform === "darwin") {
|
|
66
|
+
return downloads.dmg;
|
|
67
|
+
}
|
|
68
|
+
return downloads.tar;
|
|
69
|
+
}
|
|
56
70
|
function buildAssetNamePattern(shape, version) {
|
|
57
71
|
const infixGroup = shape.optionalInfixes.length > 0 ? `(?:${shape.optionalInfixes.map(escapeRegExp).join("|")})?` : "";
|
|
58
72
|
return new RegExp(
|
|
@@ -74,6 +88,7 @@ function getPlatformAssetShape(platform) {
|
|
|
74
88
|
// Annotate the CommonJS export names for ESM import in node:
|
|
75
89
|
0 && (module.exports = {
|
|
76
90
|
buildInstallerAssetNameCandidates,
|
|
77
|
-
selectInstallerAssetName
|
|
91
|
+
selectInstallerAssetName,
|
|
92
|
+
selectInstallerDownloadUrl
|
|
78
93
|
});
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luc3RhbGxlci1hc3NldC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFB1cmUgaGVscGVycyBmb3IgcmVzb2x2aW5nIHdoaWNoIEdpdEh1YiByZWxlYXNlIGFzc2V0IGlzIHRoZSBkZXNrdG9wXG4gKiAqKmluc3RhbGxlcioqIGZvciBhIGdpdmVuIE9ic2lkaWFuIHZlcnNpb24gYW5kIHBsYXRmb3JtLlxuICpcbiAqIE9ic2lkaWFuIGNoYW5nZWQgaXRzIGluc3RhbGxlciBhc3NldCBuYW1pbmcgY29udmVudGlvbiBwYXJ0d2F5IHRocm91Z2ggaXRzXG4gKiBoaXN0b3J5LCBzbyBhIHZlcnNpb24gY2Fubm90IGJlIHR1cm5lZCBpbnRvIGFuIGFzc2V0IG5hbWUgYnkgc3RyaW5nXG4gKiB0ZW1wbGF0aW5nIGFsb25lOlxuICpcbiAqIC0gKipEb3QqKiBzZXBhcmF0b3Igb24gb2xkZXIgcmVsZWFzZXM6IGBPYnNpZGlhbi48dmVyPi5leGVgICh2ZXJpZmllZCAwLjE0LjVcbiAqICAgdGhyb3VnaCAxLjUuMTIpLCB3aXRoIGEgYC11bml2ZXJzYWxgIGluZml4IG9uIHRoZSBtYWNPUyBkbWdcbiAqICAgKGBPYnNpZGlhbi08dmVyPi11bml2ZXJzYWwuZG1nYCkuXG4gKiAtICoqSHlwaGVuKiogc2VwYXJhdG9yIG9uIG5ld2VyIHJlbGVhc2VzOiBgT2JzaWRpYW4tPHZlcj4uZXhlYCxcbiAqICAgYE9ic2lkaWFuLTx2ZXI+LmRtZ2AgKHZlcmlmaWVkIDEuNi43IG9ud2FyZDsgdGhlIHRyYW5zaXRpb24gaXMgYXJvdW5kIDEuNi4wKS5cbiAqXG4gKiBUaGUgaW50ZWdyYXRpb24tdGltZSBkb3dubG9hZGVyIChgb2JzaWRpYW4taW5zdGFsbGVyLnRzYCkgcXVlcmllcyB0aGVcbiAqIHJlbGVhc2UncyByZWFsIGFzc2V0IGxpc3QgYW5kIHBpY2tzIHRoZSBwbGF0Zm9ybS1jb3JyZWN0IG9uZSB3aXRoXG4gKiB7QGxpbmsgc2VsZWN0SW5zdGFsbGVyQXNzZXROYW1lfTsgaWYgdGhhdCBuZXR3b3JrIGNhbGwgaXMgdW5hdmFpbGFibGUgaXRcbiAqIGZhbGxzIGJhY2sgdG8gdHJ5aW5nIGV2ZXJ5IHtAbGluayBidWlsZEluc3RhbGxlckFzc2V0TmFtZUNhbmRpZGF0ZXN9IGZvcm0uXG4gKiBCb3RoIGhlbHBlcnMgYXJlIHB1cmUgc28gdGhlIHNlcGFyYXRvci9hcmNoIG1hdHJpeCBzdGF5cyB1bml0LXRlc3RlZCAodGhlXG4gKiBkb3dubG9hZGVyIGl0c2VsZiBuZWVkcyB0aGUgbmV0d29yayBhbmQgaXMgZXhjbHVkZWQgZnJvbSB1bml0IHRlc3RzKS5cbiAqXG4gKiBPbmx5IHRoZSB4NjQgaW5zdGFsbGVyIGlzIHJlc29sdmVkIFx1MjAxNCB0aGUgZXh0cmFjdGlvbiBwYXRoIGlzIHg2NC1vbmx5IFx1MjAxNCBzbyB0aGVcbiAqIDMyLWJpdCAvIGFybTY0IC8gYWxsLXVzZXJzIHNpYmxpbmcgYXNzZXRzIGFyZSBkZWxpYmVyYXRlbHkgcmVqZWN0ZWQuXG4gKi9cblxuLyoqXG4gKiBUaGUgcGxhdGZvcm0tc3BlY2lmaWMgc2hhcGUgb2YgYW4gT2JzaWRpYW4gaW5zdGFsbGVyIGFzc2V0IG5hbWUuXG4gKi9cbmludGVyZmFjZSBQbGF0Zm9ybUluc3RhbGxlckFzc2V0U2hhcGUge1xuICAvKiogTGVhZGluZyB0b2tlbiBvZiB0aGUgYXNzZXQgbmFtZTogYE9ic2lkaWFuYCAoV2luZG93cy9tYWNPUykgb3IgYG9ic2lkaWFuYCAoTGludXgpLiAqL1xuICByZWFkb25seSBiYXNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKiBGaWxlIGV4dGVuc2lvbiB3aXRob3V0IHRoZSBsZWFkaW5nIGRvdCwgZS5nLiBgZXhlYCwgYGRtZ2AsIGB0YXIuZ3pgLiAqL1xuICByZWFkb25seSBleHRlbnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogSW5maXhlcyBwZXJtaXR0ZWQgYmV0d2VlbiB0aGUgdmVyc2lvbiBhbmQgdGhlIGV4dGVuc2lvbiBmb3IgdGhlIHByaW1hcnlcbiAgICogKG5vbi1hcmNoKSBhc3NldCwgZS5nLiBgLXVuaXZlcnNhbGAgb24gdGhlIG9sZGVyIG1hY09TIGRtZy4gQW4gZW1wdHkgYXJyYXlcbiAgICogbWVhbnMgdGhlIHZlcnNpb24gaXMgaW1tZWRpYXRlbHkgZm9sbG93ZWQgYnkgdGhlIGV4dGVuc2lvbi5cbiAgICovXG4gIHJlYWRvbmx5IG9wdGlvbmFsSW5maXhlczogcmVhZG9ubHkgc3RyaW5nW107XG59XG5cbmNvbnN0IFdJTkRPV1NfQVNTRVRfU0hBUEU6IFBsYXRmb3JtSW5zdGFsbGVyQXNzZXRTaGFwZSA9IHtcbiAgYmFzZU5hbWU6ICdPYnNpZGlhbicsXG4gIGV4dGVuc2lvbjogJ2V4ZScsXG4gIG9wdGlvbmFsSW5maXhlczogW11cbn07XG5cbmNvbnN0IE1BQ19BU1NFVF9TSEFQRTogUGxhdGZvcm1JbnN0YWxsZXJBc3NldFNoYXBlID0ge1xuICBiYXNlTmFtZTogJ09ic2lkaWFuJyxcbiAgZXh0ZW5zaW9uOiAnZG1nJyxcbiAgb3B0aW9uYWxJbmZpeGVzOiBbJy11bml2ZXJzYWwnXVxufTtcblxuY29uc3QgTElOVVhfQVNTRVRfU0hBUEU6IFBsYXRmb3JtSW5zdGFsbGVyQXNzZXRTaGFwZSA9IHtcbiAgYmFzZU5hbWU6ICdvYnNpZGlhbicsXG4gIGV4dGVuc2lvbjogJ3Rhci5neicsXG4gIG9wdGlvbmFsSW5maXhlczogW11cbn07XG5cbi8qKiBTZXBhcmF0b3IgZm9ybXMgdHJpZWQsIGh5cGhlbiAobmV3ZXIpIGZpcnN0LCB3aGVuIGZhbGxpbmcgYmFjayB0byB0ZW1wbGF0ZWQgbmFtZXMuICovXG5jb25zdCBBU1NFVF9OQU1FX1NFUEFSQVRPUlMgPSBbJy0nLCAnLiddIGFzIGNvbnN0O1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBidWlsZEluc3RhbGxlckFzc2V0TmFtZUNhbmRpZGF0ZXN9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkSW5zdGFsbGVyQXNzZXROYW1lQ2FuZGlkYXRlc1BhcmFtcyB7XG4gIC8qKiBUaGUgcGxhdGZvcm0gdG8gYnVpbGQgY2FuZGlkYXRlIG5hbWVzIGZvci4gKi9cbiAgcmVhZG9ubHkgcGxhdGZvcm06IE5vZGVKUy5QbGF0Zm9ybTtcblxuICAvKiogVGhlIGNvbmNyZXRlIGB4LnkuemAgdmVyc2lvbi4gKi9cbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBzZWxlY3RJbnN0YWxsZXJBc3NldE5hbWV9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdEluc3RhbGxlckFzc2V0TmFtZVBhcmFtcyB7XG4gIC8qKiBUaGUgcmVsZWFzZSdzIGFzc2V0IG5hbWVzIChlLmcuIGZyb20gdGhlIEdpdEh1YiByZWxlYXNlIEFQSSkuICovXG4gIHJlYWRvbmx5IGFzc2V0TmFtZXM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKiBUaGUgcGxhdGZvcm0gd2hvc2UgaW5zdGFsbGVyIGFzc2V0IHRvIHNlbGVjdC4gKi9cbiAgcmVhZG9ubHkgcGxhdGZvcm06IE5vZGVKUy5QbGF0Zm9ybTtcblxuICAvKiogVGhlIGNvbmNyZXRlIGB4LnkuemAgdmVyc2lvbi4gKi9cbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgZmFsbGJhY2sgbGlzdCBvZiBpbnN0YWxsZXIgYXNzZXQgbmFtZXMgdG8gdHJ5IHdoZW4gdGhlIHJlbGVhc2Unc1xuICogcmVhbCBhc3NldCBsaXN0IGNhbm5vdCBiZSBmZXRjaGVkLCBjb3ZlcmluZyBib3RoIHNlcGFyYXRvciBmb3JtcyAoYW5kLCBvblxuICogbWFjT1MsIHRoZSBgLXVuaXZlcnNhbGAgaW5maXgpLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGxhdGZvcm0gYW5kIHZlcnNpb24uXG4gKiBAcmV0dXJucyBDYW5kaWRhdGUgYXNzZXQgbmFtZXMsIGh5cGhlbi1zZXBhcmF0ZWQgZm9ybXMgZmlyc3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEluc3RhbGxlckFzc2V0TmFtZUNhbmRpZGF0ZXMocGFyYW1zOiBCdWlsZEluc3RhbGxlckFzc2V0TmFtZUNhbmRpZGF0ZXNQYXJhbXMpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHNoYXBlID0gZ2V0UGxhdGZvcm1Bc3NldFNoYXBlKHBhcmFtcy5wbGF0Zm9ybSk7XG4gIGNvbnN0IGluZml4ZXMgPSBzaGFwZS5vcHRpb25hbEluZml4ZXMubGVuZ3RoID4gMCA/IFsnJywgLi4uc2hhcGUub3B0aW9uYWxJbmZpeGVzXSA6IFsnJ107XG4gIGNvbnN0IGNhbmRpZGF0ZXM6IHN0cmluZ1tdID0gW107XG4gIGZvciAoY29uc3Qgc2VwYXJhdG9yIG9mIEFTU0VUX05BTUVfU0VQQVJBVE9SUykge1xuICAgIGZvciAoY29uc3QgaW5maXggb2YgaW5maXhlcykge1xuICAgICAgY2FuZGlkYXRlcy5wdXNoKGAke3NoYXBlLmJhc2VOYW1lfSR7c2VwYXJhdG9yfSR7cGFyYW1zLnZlcnNpb259JHtpbmZpeH0uJHtzaGFwZS5leHRlbnNpb259YCk7XG4gICAgfVxuICB9XG4gIHJldHVybiBjYW5kaWRhdGVzO1xufVxuXG4vKipcbiAqIFNlbGVjdHMgdGhlIHBsYXRmb3JtLWNvcnJlY3QgeDY0IGluc3RhbGxlciBhc3NldCBuYW1lIGZyb20gYSByZWxlYXNlJ3MgYXNzZXRcbiAqIGxpc3QsIHRvbGVyYXRpbmcgYm90aCB0aGUgZG90LSBhbmQgaHlwaGVuLXNlcGFyYXRlZCBuYW1pbmcgY29udmVudGlvbnMgYW5kXG4gKiByZWplY3RpbmcgdGhlIDMyLWJpdCAvIGFybTY0IC8gYWxsLXVzZXJzIHNpYmxpbmcgYXNzZXRzLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgYXNzZXQgbGlzdCwgcGxhdGZvcm0sIGFuZCB2ZXJzaW9uLlxuICogQHJldHVybnMgVGhlIG1hdGNoaW5nIGFzc2V0IG5hbWUsIG9yIGB1bmRlZmluZWRgIGlmIG5vbmUgbWF0Y2hlcyAoZS5nLiBhXG4gKiAgIGNhdGFseXN0IHJlbGVhc2UgdGhhdCBzaGlwcyBubyBpbnN0YWxsZXIpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0SW5zdGFsbGVyQXNzZXROYW1lKHBhcmFtczogU2VsZWN0SW5zdGFsbGVyQXNzZXROYW1lUGFyYW1zKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgcGF0dGVybiA9IGJ1aWxkQXNzZXROYW1lUGF0dGVybihnZXRQbGF0Zm9ybUFzc2V0U2hhcGUocGFyYW1zLnBsYXRmb3JtKSwgcGFyYW1zLnZlcnNpb24pO1xuICByZXR1cm4gcGFyYW1zLmFzc2V0TmFtZXMuZmluZCgobmFtZSkgPT4gcGF0dGVybi50ZXN0KG5hbWUpKTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgYW4gYW5jaG9yZWQgcmVndWxhciBleHByZXNzaW9uIG1hdGNoaW5nIHRoZSBwcmltYXJ5IGluc3RhbGxlciBhc3NldFxuICogZm9yIGEgcGxhdGZvcm0gc2hhcGUgYW5kIHZlcnNpb24sIGFjcm9zcyBib3RoIHNlcGFyYXRvciBjb252ZW50aW9ucy5cbiAqXG4gKiBAcGFyYW0gc2hhcGUgLSBUaGUgcGxhdGZvcm0gYXNzZXQgc2hhcGUuXG4gKiBAcGFyYW0gdmVyc2lvbiAtIFRoZSBjb25jcmV0ZSBgeC55LnpgIHZlcnNpb24uXG4gKiBAcmV0dXJucyBUaGUgbWF0Y2hpbmcgcGF0dGVybi5cbiAqL1xuZnVuY3Rpb24gYnVpbGRBc3NldE5hbWVQYXR0ZXJuKHNoYXBlOiBQbGF0Zm9ybUluc3RhbGxlckFzc2V0U2hhcGUsIHZlcnNpb246IHN0cmluZyk6IFJlZ0V4cCB7XG4gIGNvbnN0IGluZml4R3JvdXAgPSBzaGFwZS5vcHRpb25hbEluZml4ZXMubGVuZ3RoID4gMFxuICAgID8gYCg/OiR7c2hhcGUub3B0aW9uYWxJbmZpeGVzLm1hcChlc2NhcGVSZWdFeHApLmpvaW4oJ3wnKX0pP2BcbiAgICA6ICcnO1xuICByZXR1cm4gbmV3IFJlZ0V4cChcbiAgICBgXiR7ZXNjYXBlUmVnRXhwKHNoYXBlLmJhc2VOYW1lKX1bLi1dJHtlc2NhcGVSZWdFeHAodmVyc2lvbil9JHtpbmZpeEdyb3VwfVxcXFwuJHtlc2NhcGVSZWdFeHAoc2hhcGUuZXh0ZW5zaW9uKX0kYFxuICApO1xufVxuXG4vKipcbiAqIEVzY2FwZXMgYSBzdHJpbmcgZm9yIGxpdGVyYWwgdXNlIGluc2lkZSBhIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgcmF3IHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBlc2NhcGVkIHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gZXNjYXBlUmVnRXhwKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gdmFsdWUucmVwbGFjZSgvWy4qKz9eJHt9KCl8W1xcXVxcXFxdL2csICdcXFxcJCYnKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgaW5zdGFsbGVyIGFzc2V0IHNoYXBlIGZvciBhIHBsYXRmb3JtLlxuICpcbiAqIEBwYXJhbSBwbGF0Zm9ybSAtIFRoZSBOb2RlLmpzIHBsYXRmb3JtIGlkZW50aWZpZXIuXG4gKiBAcmV0dXJucyBUaGUgYXNzZXQgc2hhcGUgKExpbnV4IGAudGFyLmd6YCBmb3IgYW55IG5vbi1XaW5kb3dzL21hY09TIHBsYXRmb3JtKS5cbiAqL1xuZnVuY3Rpb24gZ2V0UGxhdGZvcm1Bc3NldFNoYXBlKHBsYXRmb3JtOiBOb2RlSlMuUGxhdGZvcm0pOiBQbGF0Zm9ybUluc3RhbGxlckFzc2V0U2hhcGUge1xuICBpZiAocGxhdGZvcm0gPT09ICd3aW4zMicpIHtcbiAgICByZXR1cm4gV0lORE9XU19BU1NFVF9TSEFQRTtcbiAgfVxuXG4gIGlmIChwbGF0Zm9ybSA9PT0gJ2RhcndpbicpIHtcbiAgICByZXR1cm4gTUFDX0FTU0VUX1NIQVBFO1xuICB9XG5cbiAgcmV0dXJuIExJTlVYX0FTU0VUX1NIQVBFO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBNkNBLE1BQU0sc0JBQW1EO0FBQUEsRUFDdkQsVUFBVTtBQUFBLEVBQ1YsV0FBVztBQUFBLEVBQ1gsaUJBQWlCLENBQUM7QUFDcEI7QUFFQSxNQUFNLGtCQUErQztBQUFBLEVBQ25ELFVBQVU7QUFBQSxFQUNWLFdBQVc7QUFBQSxFQUNYLGlCQUFpQixDQUFDLFlBQVk7QUFDaEM7QUFFQSxNQUFNLG9CQUFpRDtBQUFBLEVBQ3JELFVBQVU7QUFBQSxFQUNWLFdBQVc7QUFBQSxFQUNYLGlCQUFpQixDQUFDO0FBQ3BCO0FBR0EsTUFBTSx3QkFBd0IsQ0FBQyxLQUFLLEdBQUc7QUFtQ2hDLFNBQVMsa0NBQWtDLFFBQTJEO0FBQzNHLFFBQU0sUUFBUSxzQkFBc0IsT0FBTyxRQUFRO0FBQ25ELFFBQU0sVUFBVSxNQUFNLGdCQUFnQixTQUFTLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxlQUFlLElBQUksQ0FBQyxFQUFFO0FBQ3ZGLFFBQU0sYUFBdUIsQ0FBQztBQUM5QixhQUFXLGFBQWEsdUJBQXVCO0FBQzdDLGVBQVcsU0FBUyxTQUFTO0FBQzNCLGlCQUFXLEtBQUssR0FBRyxNQUFNLFFBQVEsR0FBRyxTQUFTLEdBQUcsT0FBTyxPQUFPLEdBQUcsS0FBSyxJQUFJLE1BQU0sU0FBUyxFQUFFO0FBQUEsSUFDN0Y7QUFBQSxFQUNGO0FBQ0EsU0FBTztBQUNUO0FBV08sU0FBUyx5QkFBeUIsUUFBNEQ7QUFDbkcsUUFBTSxVQUFVLHNCQUFzQixzQkFBc0IsT0FBTyxRQUFRLEdBQUcsT0FBTyxPQUFPO0FBQzVGLFNBQU8sT0FBTyxXQUFXLEtBQUssQ0FBQyxTQUFTLFFBQVEsS0FBSyxJQUFJLENBQUM7QUFDNUQ7QUFVQSxTQUFTLHNCQUFzQixPQUFvQyxTQUF5QjtBQUMxRixRQUFNLGFBQWEsTUFBTSxnQkFBZ0IsU0FBUyxJQUM5QyxNQUFNLE1BQU0sZ0JBQWdCLElBQUksWUFBWSxFQUFFLEtBQUssR0FBRyxDQUFDLE9BQ3ZEO0FBQ0osU0FBTyxJQUFJO0FBQUEsSUFDVCxJQUFJLGFBQWEsTUFBTSxRQUFRLENBQUMsT0FBTyxhQUFhLE9BQU8sQ0FBQyxHQUFHLFVBQVUsTUFBTSxhQUFhLE1BQU0sU0FBUyxDQUFDO0FBQUEsRUFDOUc7QUFDRjtBQVFBLFNBQVMsYUFBYSxPQUF1QjtBQUMzQyxTQUFPLE1BQU0sUUFBUSx1QkFBdUIsTUFBTTtBQUNwRDtBQVFBLFNBQVMsc0JBQXNCLFVBQXdEO0FBQ3JGLE1BQUksYUFBYSxTQUFTO0FBQ3hCLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxhQUFhLFVBQVU7QUFDekIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luc3RhbGxlci1hc3NldC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFB1cmUgaGVscGVycyBmb3IgcmVzb2x2aW5nIHdoaWNoIEdpdEh1YiByZWxlYXNlIGFzc2V0IGlzIHRoZSBkZXNrdG9wXG4gKiAqKmluc3RhbGxlcioqIGZvciBhIGdpdmVuIE9ic2lkaWFuIHZlcnNpb24gYW5kIHBsYXRmb3JtLlxuICpcbiAqIE9ic2lkaWFuIGNoYW5nZWQgaXRzIGluc3RhbGxlciBhc3NldCBuYW1pbmcgY29udmVudGlvbiBwYXJ0d2F5IHRocm91Z2ggaXRzXG4gKiBoaXN0b3J5LCBzbyBhIHZlcnNpb24gY2Fubm90IGJlIHR1cm5lZCBpbnRvIGFuIGFzc2V0IG5hbWUgYnkgc3RyaW5nXG4gKiB0ZW1wbGF0aW5nIGFsb25lOlxuICpcbiAqIC0gKipEb3QqKiBzZXBhcmF0b3Igb24gb2xkZXIgcmVsZWFzZXM6IGBPYnNpZGlhbi48dmVyPi5leGVgICh2ZXJpZmllZCAwLjE0LjVcbiAqICAgdGhyb3VnaCAxLjUuMTIpLCB3aXRoIGEgYC11bml2ZXJzYWxgIGluZml4IG9uIHRoZSBtYWNPUyBkbWdcbiAqICAgKGBPYnNpZGlhbi08dmVyPi11bml2ZXJzYWwuZG1nYCkuXG4gKiAtICoqSHlwaGVuKiogc2VwYXJhdG9yIG9uIG5ld2VyIHJlbGVhc2VzOiBgT2JzaWRpYW4tPHZlcj4uZXhlYCxcbiAqICAgYE9ic2lkaWFuLTx2ZXI+LmRtZ2AgKHZlcmlmaWVkIDEuNi43IG9ud2FyZDsgdGhlIHRyYW5zaXRpb24gaXMgYXJvdW5kIDEuNi4wKS5cbiAqXG4gKiBUaGUgaW50ZWdyYXRpb24tdGltZSBkb3dubG9hZGVyIChgb2JzaWRpYW4taW5zdGFsbGVyLnRzYCkgcXVlcmllcyB0aGVcbiAqIHJlbGVhc2UncyByZWFsIGFzc2V0IGxpc3QgYW5kIHBpY2tzIHRoZSBwbGF0Zm9ybS1jb3JyZWN0IG9uZSB3aXRoXG4gKiB7QGxpbmsgc2VsZWN0SW5zdGFsbGVyQXNzZXROYW1lfTsgaWYgdGhhdCBuZXR3b3JrIGNhbGwgaXMgdW5hdmFpbGFibGUgaXRcbiAqIGZhbGxzIGJhY2sgdG8gdHJ5aW5nIGV2ZXJ5IHtAbGluayBidWlsZEluc3RhbGxlckFzc2V0TmFtZUNhbmRpZGF0ZXN9IGZvcm0uXG4gKiBCb3RoIGhlbHBlcnMgYXJlIHB1cmUgc28gdGhlIHNlcGFyYXRvci9hcmNoIG1hdHJpeCBzdGF5cyB1bml0LXRlc3RlZCAodGhlXG4gKiBkb3dubG9hZGVyIGl0c2VsZiBuZWVkcyB0aGUgbmV0d29yayBhbmQgaXMgZXhjbHVkZWQgZnJvbSB1bml0IHRlc3RzKS5cbiAqXG4gKiBPbmx5IHRoZSB4NjQgaW5zdGFsbGVyIGlzIHJlc29sdmVkIFx1MjAxNCB0aGUgZXh0cmFjdGlvbiBwYXRoIGlzIHg2NC1vbmx5IFx1MjAxNCBzbyB0aGVcbiAqIDMyLWJpdCAvIGFybTY0IC8gYWxsLXVzZXJzIHNpYmxpbmcgYXNzZXRzIGFyZSBkZWxpYmVyYXRlbHkgcmVqZWN0ZWQuXG4gKlxuICogV2hlbiB0aGUgdmVyc2lvbiBpcyBwcmVzZW50IGluIHRoZSBiYWtlZCBgbWV0YWRhdGEuanNvbmAgY2F0YWxvZyAoZnJvbVxuICogdXBzdHJlYW0gYG9ic2lkaWFuLXZlcnNpb25zLmpzb25gKSwgaXRzIGV4YWN0IGluc3RhbGxlciBVUkwgaXMgYWxyZWFkeSBrbm93bjtcbiAqIHtAbGluayBzZWxlY3RJbnN0YWxsZXJEb3dubG9hZFVybH0gcGlja3MgdGhlIHBsYXRmb3JtLWNvcnJlY3Qgb25lIGFuZCB0aGVcbiAqIGRvd25sb2FkZXIgdXNlcyBpdCBkaXJlY3RseSwgc2tpcHBpbmcgdGhlIHJlbGVhc2UtQVBJIGxvb2t1cCBhbmQgdGhlXG4gKiBuYW1lLXRlbXBsYXRpbmcgZmFsbGJhY2sgZW50aXJlbHkuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBPYnNpZGlhblZlcnNpb25Eb3dubG9hZHMgfSBmcm9tICcuL29ic2lkaWFuLW1ldGFkYXRhLmNqcyc7XG5cbi8qKlxuICogVGhlIHBsYXRmb3JtLXNwZWNpZmljIHNoYXBlIG9mIGFuIE9ic2lkaWFuIGluc3RhbGxlciBhc3NldCBuYW1lLlxuICovXG5pbnRlcmZhY2UgUGxhdGZvcm1JbnN0YWxsZXJBc3NldFNoYXBlIHtcbiAgLyoqIExlYWRpbmcgdG9rZW4gb2YgdGhlIGFzc2V0IG5hbWU6IGBPYnNpZGlhbmAgKFdpbmRvd3MvbWFjT1MpIG9yIGBvYnNpZGlhbmAgKExpbnV4KS4gKi9cbiAgcmVhZG9ubHkgYmFzZU5hbWU6IHN0cmluZztcblxuICAvKiogRmlsZSBleHRlbnNpb24gd2l0aG91dCB0aGUgbGVhZGluZyBkb3QsIGUuZy4gYGV4ZWAsIGBkbWdgLCBgdGFyLmd6YC4gKi9cbiAgcmVhZG9ubHkgZXh0ZW5zaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZml4ZXMgcGVybWl0dGVkIGJldHdlZW4gdGhlIHZlcnNpb24gYW5kIHRoZSBleHRlbnNpb24gZm9yIHRoZSBwcmltYXJ5XG4gICAqIChub24tYXJjaCkgYXNzZXQsIGUuZy4gYC11bml2ZXJzYWxgIG9uIHRoZSBvbGRlciBtYWNPUyBkbWcuIEFuIGVtcHR5IGFycmF5XG4gICAqIG1lYW5zIHRoZSB2ZXJzaW9uIGlzIGltbWVkaWF0ZWx5IGZvbGxvd2VkIGJ5IHRoZSBleHRlbnNpb24uXG4gICAqL1xuICByZWFkb25seSBvcHRpb25hbEluZml4ZXM6IHJlYWRvbmx5IHN0cmluZ1tdO1xufVxuXG5jb25zdCBXSU5ET1dTX0FTU0VUX1NIQVBFOiBQbGF0Zm9ybUluc3RhbGxlckFzc2V0U2hhcGUgPSB7XG4gIGJhc2VOYW1lOiAnT2JzaWRpYW4nLFxuICBleHRlbnNpb246ICdleGUnLFxuICBvcHRpb25hbEluZml4ZXM6IFtdXG59O1xuXG5jb25zdCBNQUNfQVNTRVRfU0hBUEU6IFBsYXRmb3JtSW5zdGFsbGVyQXNzZXRTaGFwZSA9IHtcbiAgYmFzZU5hbWU6ICdPYnNpZGlhbicsXG4gIGV4dGVuc2lvbjogJ2RtZycsXG4gIG9wdGlvbmFsSW5maXhlczogWyctdW5pdmVyc2FsJ11cbn07XG5cbmNvbnN0IExJTlVYX0FTU0VUX1NIQVBFOiBQbGF0Zm9ybUluc3RhbGxlckFzc2V0U2hhcGUgPSB7XG4gIGJhc2VOYW1lOiAnb2JzaWRpYW4nLFxuICBleHRlbnNpb246ICd0YXIuZ3onLFxuICBvcHRpb25hbEluZml4ZXM6IFtdXG59O1xuXG4vKiogU2VwYXJhdG9yIGZvcm1zIHRyaWVkLCBoeXBoZW4gKG5ld2VyKSBmaXJzdCwgd2hlbiBmYWxsaW5nIGJhY2sgdG8gdGVtcGxhdGVkIG5hbWVzLiAqL1xuY29uc3QgQVNTRVRfTkFNRV9TRVBBUkFUT1JTID0gWyctJywgJy4nXSBhcyBjb25zdDtcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgYnVpbGRJbnN0YWxsZXJBc3NldE5hbWVDYW5kaWRhdGVzfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWlsZEluc3RhbGxlckFzc2V0TmFtZUNhbmRpZGF0ZXNQYXJhbXMge1xuICAvKiogVGhlIHBsYXRmb3JtIHRvIGJ1aWxkIGNhbmRpZGF0ZSBuYW1lcyBmb3IuICovXG4gIHJlYWRvbmx5IHBsYXRmb3JtOiBOb2RlSlMuUGxhdGZvcm07XG5cbiAgLyoqIFRoZSBjb25jcmV0ZSBgeC55LnpgIHZlcnNpb24uICovXG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgc2VsZWN0SW5zdGFsbGVyQXNzZXROYW1lfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RJbnN0YWxsZXJBc3NldE5hbWVQYXJhbXMge1xuICAvKiogVGhlIHJlbGVhc2UncyBhc3NldCBuYW1lcyAoZS5nLiBmcm9tIHRoZSBHaXRIdWIgcmVsZWFzZSBBUEkpLiAqL1xuICByZWFkb25seSBhc3NldE5hbWVzOiByZWFkb25seSBzdHJpbmdbXTtcblxuICAvKiogVGhlIHBsYXRmb3JtIHdob3NlIGluc3RhbGxlciBhc3NldCB0byBzZWxlY3QuICovXG4gIHJlYWRvbmx5IHBsYXRmb3JtOiBOb2RlSlMuUGxhdGZvcm07XG5cbiAgLyoqIFRoZSBjb25jcmV0ZSBgeC55LnpgIHZlcnNpb24uICovXG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgc2VsZWN0SW5zdGFsbGVyRG93bmxvYWRVcmx9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdEluc3RhbGxlckRvd25sb2FkVXJsUGFyYW1zIHtcbiAgLyoqIFRoZSB2ZXJzaW9uJ3MgYmFrZWQgZG93bmxvYWQgVVJMcywgb3IgYHVuZGVmaW5lZGAgd2hlbiBpdCBpcyBhYnNlbnQgZnJvbSB0aGUgY2F0YWxvZy4gKi9cbiAgcmVhZG9ubHkgZG93bmxvYWRzOiBPYnNpZGlhblZlcnNpb25Eb3dubG9hZHMgfCB1bmRlZmluZWQ7XG5cbiAgLyoqIFRoZSBwbGF0Zm9ybSB3aG9zZSBpbnN0YWxsZXIgVVJMIHRvIHNlbGVjdC4gKi9cbiAgcmVhZG9ubHkgcGxhdGZvcm06IE5vZGVKUy5QbGF0Zm9ybTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIGZhbGxiYWNrIGxpc3Qgb2YgaW5zdGFsbGVyIGFzc2V0IG5hbWVzIHRvIHRyeSB3aGVuIHRoZSByZWxlYXNlJ3NcbiAqIHJlYWwgYXNzZXQgbGlzdCBjYW5ub3QgYmUgZmV0Y2hlZCwgY292ZXJpbmcgYm90aCBzZXBhcmF0b3IgZm9ybXMgKGFuZCwgb25cbiAqIG1hY09TLCB0aGUgYC11bml2ZXJzYWxgIGluZml4KS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBsYXRmb3JtIGFuZCB2ZXJzaW9uLlxuICogQHJldHVybnMgQ2FuZGlkYXRlIGFzc2V0IG5hbWVzLCBoeXBoZW4tc2VwYXJhdGVkIGZvcm1zIGZpcnN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRJbnN0YWxsZXJBc3NldE5hbWVDYW5kaWRhdGVzKHBhcmFtczogQnVpbGRJbnN0YWxsZXJBc3NldE5hbWVDYW5kaWRhdGVzUGFyYW1zKTogc3RyaW5nW10ge1xuICBjb25zdCBzaGFwZSA9IGdldFBsYXRmb3JtQXNzZXRTaGFwZShwYXJhbXMucGxhdGZvcm0pO1xuICBjb25zdCBpbmZpeGVzID0gc2hhcGUub3B0aW9uYWxJbmZpeGVzLmxlbmd0aCA+IDAgPyBbJycsIC4uLnNoYXBlLm9wdGlvbmFsSW5maXhlc10gOiBbJyddO1xuICBjb25zdCBjYW5kaWRhdGVzOiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGNvbnN0IHNlcGFyYXRvciBvZiBBU1NFVF9OQU1FX1NFUEFSQVRPUlMpIHtcbiAgICBmb3IgKGNvbnN0IGluZml4IG9mIGluZml4ZXMpIHtcbiAgICAgIGNhbmRpZGF0ZXMucHVzaChgJHtzaGFwZS5iYXNlTmFtZX0ke3NlcGFyYXRvcn0ke3BhcmFtcy52ZXJzaW9ufSR7aW5maXh9LiR7c2hhcGUuZXh0ZW5zaW9ufWApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gY2FuZGlkYXRlcztcbn1cblxuLyoqXG4gKiBTZWxlY3RzIHRoZSBwbGF0Zm9ybS1jb3JyZWN0IHg2NCBpbnN0YWxsZXIgYXNzZXQgbmFtZSBmcm9tIGEgcmVsZWFzZSdzIGFzc2V0XG4gKiBsaXN0LCB0b2xlcmF0aW5nIGJvdGggdGhlIGRvdC0gYW5kIGh5cGhlbi1zZXBhcmF0ZWQgbmFtaW5nIGNvbnZlbnRpb25zIGFuZFxuICogcmVqZWN0aW5nIHRoZSAzMi1iaXQgLyBhcm02NCAvIGFsbC11c2VycyBzaWJsaW5nIGFzc2V0cy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIGFzc2V0IGxpc3QsIHBsYXRmb3JtLCBhbmQgdmVyc2lvbi5cbiAqIEByZXR1cm5zIFRoZSBtYXRjaGluZyBhc3NldCBuYW1lLCBvciBgdW5kZWZpbmVkYCBpZiBub25lIG1hdGNoZXMgKGUuZy4gYVxuICogICBjYXRhbHlzdCByZWxlYXNlIHRoYXQgc2hpcHMgbm8gaW5zdGFsbGVyKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdEluc3RhbGxlckFzc2V0TmFtZShwYXJhbXM6IFNlbGVjdEluc3RhbGxlckFzc2V0TmFtZVBhcmFtcyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHBhdHRlcm4gPSBidWlsZEFzc2V0TmFtZVBhdHRlcm4oZ2V0UGxhdGZvcm1Bc3NldFNoYXBlKHBhcmFtcy5wbGF0Zm9ybSksIHBhcmFtcy52ZXJzaW9uKTtcbiAgcmV0dXJuIHBhcmFtcy5hc3NldE5hbWVzLmZpbmQoKG5hbWUpID0+IHBhdHRlcm4udGVzdChuYW1lKSk7XG59XG5cbi8qKlxuICogU2VsZWN0cyB0aGUgcGxhdGZvcm0tY29ycmVjdCB4NjQgaW5zdGFsbGVyIGRvd25sb2FkIFVSTCBmcm9tIGEgdmVyc2lvbidzXG4gKiBiYWtlZCBjYXRhbG9nIGVudHJ5LlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgYmFrZWQgZG93bmxvYWQgVVJMcyBhbmQgdGhlIHBsYXRmb3JtLlxuICogQHJldHVybnMgVGhlIGluc3RhbGxlciBVUkwgZm9yIHRoZSBwbGF0Zm9ybSwgb3IgYHVuZGVmaW5lZGAgd2hlbiB0aGUgdmVyc2lvblxuICogICBoYXMgbm8gY2F0YWxvZyBlbnRyeSBvciBzaGlwcyBubyBkZXNrdG9wIGluc3RhbGxlciBmb3IgaXQgKGUuZy4gYSBjYXRhbHlzdFxuICogICBidWlsZCwgb3IgYSBMaW51eCBgLnRhci5nemAgdGhhdCB3YXMgbmV2ZXIgcHVibGlzaGVkKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdEluc3RhbGxlckRvd25sb2FkVXJsKHBhcmFtczogU2VsZWN0SW5zdGFsbGVyRG93bmxvYWRVcmxQYXJhbXMpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCB7IGRvd25sb2FkcyB9ID0gcGFyYW1zO1xuICBpZiAoIWRvd25sb2Fkcykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBpZiAocGFyYW1zLnBsYXRmb3JtID09PSAnd2luMzInKSB7XG4gICAgcmV0dXJuIGRvd25sb2Fkcy5leGU7XG4gIH1cblxuICBpZiAocGFyYW1zLnBsYXRmb3JtID09PSAnZGFyd2luJykge1xuICAgIHJldHVybiBkb3dubG9hZHMuZG1nO1xuICB9XG5cbiAgcmV0dXJuIGRvd25sb2Fkcy50YXI7XG59XG5cbi8qKlxuICogQnVpbGRzIGFuIGFuY2hvcmVkIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaGluZyB0aGUgcHJpbWFyeSBpbnN0YWxsZXIgYXNzZXRcbiAqIGZvciBhIHBsYXRmb3JtIHNoYXBlIGFuZCB2ZXJzaW9uLCBhY3Jvc3MgYm90aCBzZXBhcmF0b3IgY29udmVudGlvbnMuXG4gKlxuICogQHBhcmFtIHNoYXBlIC0gVGhlIHBsYXRmb3JtIGFzc2V0IHNoYXBlLlxuICogQHBhcmFtIHZlcnNpb24gLSBUaGUgY29uY3JldGUgYHgueS56YCB2ZXJzaW9uLlxuICogQHJldHVybnMgVGhlIG1hdGNoaW5nIHBhdHRlcm4uXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkQXNzZXROYW1lUGF0dGVybihzaGFwZTogUGxhdGZvcm1JbnN0YWxsZXJBc3NldFNoYXBlLCB2ZXJzaW9uOiBzdHJpbmcpOiBSZWdFeHAge1xuICBjb25zdCBpbmZpeEdyb3VwID0gc2hhcGUub3B0aW9uYWxJbmZpeGVzLmxlbmd0aCA+IDBcbiAgICA/IGAoPzoke3NoYXBlLm9wdGlvbmFsSW5maXhlcy5tYXAoZXNjYXBlUmVnRXhwKS5qb2luKCd8Jyl9KT9gXG4gICAgOiAnJztcbiAgcmV0dXJuIG5ldyBSZWdFeHAoXG4gICAgYF4ke2VzY2FwZVJlZ0V4cChzaGFwZS5iYXNlTmFtZSl9Wy4tXSR7ZXNjYXBlUmVnRXhwKHZlcnNpb24pfSR7aW5maXhHcm91cH1cXFxcLiR7ZXNjYXBlUmVnRXhwKHNoYXBlLmV4dGVuc2lvbil9JGBcbiAgKTtcbn1cblxuLyoqXG4gKiBFc2NhcGVzIGEgc3RyaW5nIGZvciBsaXRlcmFsIHVzZSBpbnNpZGUgYSByZWd1bGFyIGV4cHJlc3Npb24uXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHJhdyBzdHJpbmcuXG4gKiBAcmV0dXJucyBUaGUgZXNjYXBlZCBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIGVzY2FwZVJlZ0V4cCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCAnXFxcXCQmJyk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIGluc3RhbGxlciBhc3NldCBzaGFwZSBmb3IgYSBwbGF0Zm9ybS5cbiAqXG4gKiBAcGFyYW0gcGxhdGZvcm0gLSBUaGUgTm9kZS5qcyBwbGF0Zm9ybSBpZGVudGlmaWVyLlxuICogQHJldHVybnMgVGhlIGFzc2V0IHNoYXBlIChMaW51eCBgLnRhci5nemAgZm9yIGFueSBub24tV2luZG93cy9tYWNPUyBwbGF0Zm9ybSkuXG4gKi9cbmZ1bmN0aW9uIGdldFBsYXRmb3JtQXNzZXRTaGFwZShwbGF0Zm9ybTogTm9kZUpTLlBsYXRmb3JtKTogUGxhdGZvcm1JbnN0YWxsZXJBc3NldFNoYXBlIHtcbiAgaWYgKHBsYXRmb3JtID09PSAnd2luMzInKSB7XG4gICAgcmV0dXJuIFdJTkRPV1NfQVNTRVRfU0hBUEU7XG4gIH1cblxuICBpZiAocGxhdGZvcm0gPT09ICdkYXJ3aW4nKSB7XG4gICAgcmV0dXJuIE1BQ19BU1NFVF9TSEFQRTtcbiAgfVxuXG4gIHJldHVybiBMSU5VWF9BU1NFVF9TSEFQRTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBcURBLE1BQU0sc0JBQW1EO0FBQUEsRUFDdkQsVUFBVTtBQUFBLEVBQ1YsV0FBVztBQUFBLEVBQ1gsaUJBQWlCLENBQUM7QUFDcEI7QUFFQSxNQUFNLGtCQUErQztBQUFBLEVBQ25ELFVBQVU7QUFBQSxFQUNWLFdBQVc7QUFBQSxFQUNYLGlCQUFpQixDQUFDLFlBQVk7QUFDaEM7QUFFQSxNQUFNLG9CQUFpRDtBQUFBLEVBQ3JELFVBQVU7QUFBQSxFQUNWLFdBQVc7QUFBQSxFQUNYLGlCQUFpQixDQUFDO0FBQ3BCO0FBR0EsTUFBTSx3QkFBd0IsQ0FBQyxLQUFLLEdBQUc7QUE4Q2hDLFNBQVMsa0NBQWtDLFFBQTJEO0FBQzNHLFFBQU0sUUFBUSxzQkFBc0IsT0FBTyxRQUFRO0FBQ25ELFFBQU0sVUFBVSxNQUFNLGdCQUFnQixTQUFTLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxlQUFlLElBQUksQ0FBQyxFQUFFO0FBQ3ZGLFFBQU0sYUFBdUIsQ0FBQztBQUM5QixhQUFXLGFBQWEsdUJBQXVCO0FBQzdDLGVBQVcsU0FBUyxTQUFTO0FBQzNCLGlCQUFXLEtBQUssR0FBRyxNQUFNLFFBQVEsR0FBRyxTQUFTLEdBQUcsT0FBTyxPQUFPLEdBQUcsS0FBSyxJQUFJLE1BQU0sU0FBUyxFQUFFO0FBQUEsSUFDN0Y7QUFBQSxFQUNGO0FBQ0EsU0FBTztBQUNUO0FBV08sU0FBUyx5QkFBeUIsUUFBNEQ7QUFDbkcsUUFBTSxVQUFVLHNCQUFzQixzQkFBc0IsT0FBTyxRQUFRLEdBQUcsT0FBTyxPQUFPO0FBQzVGLFNBQU8sT0FBTyxXQUFXLEtBQUssQ0FBQyxTQUFTLFFBQVEsS0FBSyxJQUFJLENBQUM7QUFDNUQ7QUFXTyxTQUFTLDJCQUEyQixRQUE4RDtBQUN2RyxRQUFNLEVBQUUsVUFBVSxJQUFJO0FBQ3RCLE1BQUksQ0FBQyxXQUFXO0FBQ2QsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJLE9BQU8sYUFBYSxTQUFTO0FBQy9CLFdBQU8sVUFBVTtBQUFBLEVBQ25CO0FBRUEsTUFBSSxPQUFPLGFBQWEsVUFBVTtBQUNoQyxXQUFPLFVBQVU7QUFBQSxFQUNuQjtBQUVBLFNBQU8sVUFBVTtBQUNuQjtBQVVBLFNBQVMsc0JBQXNCLE9BQW9DLFNBQXlCO0FBQzFGLFFBQU0sYUFBYSxNQUFNLGdCQUFnQixTQUFTLElBQzlDLE1BQU0sTUFBTSxnQkFBZ0IsSUFBSSxZQUFZLEVBQUUsS0FBSyxHQUFHLENBQUMsT0FDdkQ7QUFDSixTQUFPLElBQUk7QUFBQSxJQUNULElBQUksYUFBYSxNQUFNLFFBQVEsQ0FBQyxPQUFPLGFBQWEsT0FBTyxDQUFDLEdBQUcsVUFBVSxNQUFNLGFBQWEsTUFBTSxTQUFTLENBQUM7QUFBQSxFQUM5RztBQUNGO0FBUUEsU0FBUyxhQUFhLE9BQXVCO0FBQzNDLFNBQU8sTUFBTSxRQUFRLHVCQUF1QixNQUFNO0FBQ3BEO0FBUUEsU0FBUyxzQkFBc0IsVUFBd0Q7QUFDckYsTUFBSSxhQUFhLFNBQVM7QUFDeEIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJLGFBQWEsVUFBVTtBQUN6QixXQUFPO0FBQUEsRUFDVDtBQUVBLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -23,7 +23,14 @@
|
|
|
23
23
|
*
|
|
24
24
|
* Only the x64 installer is resolved — the extraction path is x64-only — so the
|
|
25
25
|
* 32-bit / arm64 / all-users sibling assets are deliberately rejected.
|
|
26
|
+
*
|
|
27
|
+
* When the version is present in the baked `metadata.json` catalog (from
|
|
28
|
+
* upstream `obsidian-versions.json`), its exact installer URL is already known;
|
|
29
|
+
* {@link selectInstallerDownloadUrl} picks the platform-correct one and the
|
|
30
|
+
* downloader uses it directly, skipping the release-API lookup and the
|
|
31
|
+
* name-templating fallback entirely.
|
|
26
32
|
*/
|
|
33
|
+
import type { ObsidianVersionDownloads } from './obsidian-metadata.cjs';
|
|
27
34
|
/**
|
|
28
35
|
* Parameters for {@link buildInstallerAssetNameCandidates}.
|
|
29
36
|
*/
|
|
@@ -44,6 +51,15 @@ export interface SelectInstallerAssetNameParams {
|
|
|
44
51
|
/** The concrete `x.y.z` version. */
|
|
45
52
|
readonly version: string;
|
|
46
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Parameters for {@link selectInstallerDownloadUrl}.
|
|
56
|
+
*/
|
|
57
|
+
export interface SelectInstallerDownloadUrlParams {
|
|
58
|
+
/** The version's baked download URLs, or `undefined` when it is absent from the catalog. */
|
|
59
|
+
readonly downloads: ObsidianVersionDownloads | undefined;
|
|
60
|
+
/** The platform whose installer URL to select. */
|
|
61
|
+
readonly platform: NodeJS.Platform;
|
|
62
|
+
}
|
|
47
63
|
/**
|
|
48
64
|
* Builds the fallback list of installer asset names to try when the release's
|
|
49
65
|
* real asset list cannot be fetched, covering both separator forms (and, on
|
|
@@ -63,3 +79,13 @@ export declare function buildInstallerAssetNameCandidates(params: BuildInstaller
|
|
|
63
79
|
* catalyst release that ships no installer).
|
|
64
80
|
*/
|
|
65
81
|
export declare function selectInstallerAssetName(params: SelectInstallerAssetNameParams): string | undefined;
|
|
82
|
+
/**
|
|
83
|
+
* Selects the platform-correct x64 installer download URL from a version's
|
|
84
|
+
* baked catalog entry.
|
|
85
|
+
*
|
|
86
|
+
* @param params - The baked download URLs and the platform.
|
|
87
|
+
* @returns The installer URL for the platform, or `undefined` when the version
|
|
88
|
+
* has no catalog entry or ships no desktop installer for it (e.g. a catalyst
|
|
89
|
+
* build, or a Linux `.tar.gz` that was never published).
|
|
90
|
+
*/
|
|
91
|
+
export declare function selectInstallerDownloadUrl(params: SelectInstallerDownloadUrlParams): string | undefined;
|
|
@@ -61,4 +61,4 @@ function checkInstallerCompatibility(params) {
|
|
|
61
61
|
0 && (module.exports = {
|
|
62
62
|
checkInstallerCompatibility
|
|
63
63
|
});
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luc3RhbGxlci1jb21wYXRpYmlsaXR5LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHVyZSB2ZXJkaWN0IG9uIHdoZXRoZXIgYSByZXNvbHZlZCAoT2JzaWRpYW4gYXBwLCBpbnN0YWxsZXIpIHZlcnNpb24gcGFpciBpc1xuICogY29tcGF0aWJsZSwgY29tcHV0ZWQgb2ZmbGluZSBmcm9tIHRoZSBgbWV0YWRhdGEuanNvbmAgdGhyZXNob2xkcy4gS2VwdCBzZXBhcmF0ZVxuICogZnJvbSB0aGUgaW50ZWdyYXRpb24tb25seSBgdHJhbnNwb3J0LWZhY3RvcnlgICh3aGljaCBkcml2ZXMgcmVhbFxuICogZG93bmxvYWRzL2xhdW5jaGVzIGFuZCBpcyBleGNsdWRlZCBmcm9tIHVuaXQgdGVzdHMpIHNvIHRoZSB0aWVyIGxvZ2ljIHN0YXlzXG4gKiB1bml0LXRlc3RhYmxlIFx1MjAxNCBtaXJyb3JpbmcgdGhlIGByZW5kZXJlci1ib290LWRldGVjdGlvbmAgc3BsaXQuXG4gKlxuICogVHdvIHRocmVzaG9sZHMgZHJpdmUgdGhlIHZlcmRpY3QsIGJvdGggaW5zdGFsbGVyIHZlcnNpb25zIGRpcmVjdGx5IGNvbXBhcmFibGVcbiAqIHRvIHRoZSByZXNvbHZlZCBpbnN0YWxsZXIvc2hlbGwgdmVyc2lvbjpcbiAqXG4gKiAtIGBtaW5SdW5uYWJsZUluc3RhbGxlclZlcnNpb25gIFx1MjAxNCB0aGUgcnVuIGZsb29yLiBCZWxvdyBpdCB0aGUgYXBwIGNhbm5vdCBib290XG4gKiAgIChgJ3VucnVubmFibGUnYCk7IHRoZSBjYWxsZXIgdHVybnMgdGhpcyBpbnRvIGEgcHJvYWN0aXZlXG4gKiAgIGBJbmNvbXBhdGlibGVJbnN0YWxsZXJWZXJzaW9uRXJyb3JgIGJlZm9yZSBhbnkgZG93bmxvYWQvbGF1bmNoIFx1MjAxNCB1bmxlc3MgdGhlXG4gKiAgIGNhbGxlciBoYXMgZGlzYWJsZWQgdGhlIHByb2FjdGl2ZSB0aHJvdyAoYHNob3VsZFRocm93T25JbmNvbXBhdGlibGVJbnN0YWxsZXJgXG4gKiAgIGBmYWxzZWApLCBpbiB3aGljaCBjYXNlIHRoZSBib290IHByb2NlZWRzIGFuZCB0aGUgcmVhY3RpdmUgZGVhZC1ib290IGZhc3QtZmFpbFxuICogICBjYXRjaGVzIGl0LlxuICogLSBgbWluUmVjb21tZW5kZWRJbnN0YWxsZXJWZXJzaW9uYCBcdTIwMTQgdGhlIHJlY29tbWVuZGVkIGZsb29yIChvbGRlciB2ZXJzaW9uc1xuICogICBvbmx5KS4gQXQvYWJvdmUgdGhlIHJ1biBmbG9vciBidXQgYmVsb3cgdGhpcywgdGhlIGFwcCBydW5zIGJ1dCBpcyBiZWxvd1xuICogICBPYnNpZGlhbidzIHJlY29tbWVuZGF0aW9uIChgJ25hZ2dlZCdgKSwgc3VyZmFjZWQgYXMgYSB3YXJuaW5nLlxuICpcbiAqIFdoZW4gdGhlIGluc3RhbGxlciB2ZXJzaW9uIGlzIHVua25vd24gKGUuZy4gYW4gdW5kZXRlY3RhYmxlIExpbnV4IHNoZWxsKSBvciB0aGVcbiAqIGFwcCB2ZXJzaW9uIGlzIGFic2VudCBmcm9tIHRoZSB0YWJsZSwgdGhlIHZlcmRpY3QgaXMgYCd1bmtub3duJ2AgYW5kIG5vdGhpbmcgaXNcbiAqIHRocm93biBvciB3YXJuZWQgXHUyMDE0IHRoZSByZWFjdGl2ZSBkZWFkLWJvb3QgZmFzdC1mYWlsIHJlbWFpbnMgdGhlIHNhZmV0eSBuZXQuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBPYnNpZGlhblZlcnNpb25NZXRhZGF0YSB9IGZyb20gJy4vb2JzaWRpYW4tbWV0YWRhdGEuY2pzJztcblxuaW1wb3J0IHsgY29tcGFyZVZlcnNpb25zIH0gZnJvbSAnLi9vYnNpZGlhbi12ZXJzaW9uLmNqcyc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGNoZWNrSW5zdGFsbGVyQ29tcGF0aWJpbGl0eX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tJbnN0YWxsZXJDb21wYXRpYmlsaXR5UGFyYW1zIHtcbiAgLyoqIFRoZSByZXNvbHZlZCBPYnNpZGlhbiBhcHAgKGFzYXIpIHZlcnNpb24uICovXG4gIHJlYWRvbmx5IGFwcFZlcnNpb246IHN0cmluZztcblxuICAvKiogVGhlIHJlc29sdmVkIGluc3RhbGxlci9FbGVjdHJvbiBzaGVsbCB2ZXJzaW9uLCBvciBgdW5kZWZpbmVkYCB3aGVuIHVua25vd24uICovXG4gIHJlYWRvbmx5IGluc3RhbGxlclZlcnNpb246IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKiogVGhlIGBtZXRhZGF0YS5qc29uYCBlbnRyeSBmb3Ige0BsaW5rIGFwcFZlcnNpb259LCBvciBgdW5kZWZpbmVkYCB3aGVuIGFic2VudC4gKi9cbiAgcmVhZG9ubHkgbWV0YWRhdGE6IE9ic2lkaWFuVmVyc2lvbk1ldGFkYXRhIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFRoZSBjb21wYXRpYmlsaXR5IHZlcmRpY3QgZm9yIGEgcmVzb2x2ZWQgKGFwcCwgaW5zdGFsbGVyKSB2ZXJzaW9uIHBhaXIsIGNhcnJpZWRcbiAqIGFzIGRhdGEgb24gdGhlIHRyYW5zcG9ydCAvIGNvbm5lY3Rpb24gcmVzdWx0IHNvIGNvbnN1bWVycyBjYW4gYXNzZXJ0IG9uIGl0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEluc3RhbGxlckNvbXBhdGliaWxpdHkge1xuICAvKiogVGhlIHJlc29sdmVkIE9ic2lkaWFuIGFwcCAoYXNhcikgdmVyc2lvbi4gKi9cbiAgcmVhZG9ubHkgYXBwVmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKiBUaGUgcmVzb2x2ZWQgaW5zdGFsbGVyL0VsZWN0cm9uIHNoZWxsIHZlcnNpb24sIG9yIGBudWxsYCB3aGVuIHVua25vd24uICovXG4gIHJlYWRvbmx5IGluc3RhbGxlclZlcnNpb246IG51bGwgfCBzdHJpbmc7XG5cbiAgLyoqIEEgaHVtYW4tcmVhZGFibGUgZXhwbGFuYXRpb24sIHByZXNlbnQgZm9yIHRoZSBgJ25hZ2dlZCdgIHRpZXIuICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgLyoqIFRoZSByZWNvbW1lbmRlZCBpbnN0YWxsZXIgZmxvb3IsIHdoZW4gdGhlIHRhYmxlIGNhcnJpZXMgb25lLiAqL1xuICByZWFkb25seSBtaW5SZWNvbW1lbmRlZEluc3RhbGxlclZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBydW4gZmxvb3IsIHdoZW4gdGhlIHRhYmxlIGNhcnJpZXMgb25lLiAqL1xuICByZWFkb25seSBtaW5SdW5uYWJsZUluc3RhbGxlclZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqIFRoZSByZXNvbHZlZCBjb21wYXRpYmlsaXR5IHRpZXIuICovXG4gIHJlYWRvbmx5IHRpZXI6IEluc3RhbGxlckNvbXBhdGliaWxpdHlUaWVyO1xufVxuXG4vKipcbiAqIFRoZSBjb21wYXRpYmlsaXR5IHRpZXIgb2YgYSByZXNvbHZlZCAoYXBwLCBpbnN0YWxsZXIpIHZlcnNpb24gcGFpci5cbiAqXG4gKiAtIGAnb2snYCBcdTIwMTQgdGhlIGluc3RhbGxlciBpcyBhdCBvciBhYm92ZSB0aGUgcmVjb21tZW5kZWQgZmxvb3IgKG9yIG5vXG4gKiAgIHJlY29tbWVuZGVkIGZsb29yIGlzIGtub3duKTsgcnVucyB3aXRoIGZ1bGwgY29tcGF0aWJpbGl0eS5cbiAqIC0gYCduYWdnZWQnYCBcdTIwMTQgYXQvYWJvdmUgdGhlIHJ1biBmbG9vciBidXQgYmVsb3cgdGhlIHJlY29tbWVuZGVkIGZsb29yOyBydW5zIGJ1dFxuICogICBPYnNpZGlhbiB3b3VsZCBzaG93IGl0cyBcImluc3RhbGxlciB0b28gb2xkXCIgcmVjb21tZW5kYXRpb24uXG4gKiAtIGAndW5ydW5uYWJsZSdgIFx1MjAxNCBiZWxvdyB0aGUgcnVuIGZsb29yOyB0aGUgYXBwIGNhbm5vdCBib290IG9uIHRoaXMgaW5zdGFsbGVyLlxuICogLSBgJ3Vua25vd24nYCBcdTIwMTQgY2Fubm90IGJlIGRldGVybWluZWQgKGluc3RhbGxlciB2ZXJzaW9uIHVua25vd24sIG9yIHRoZSBhcHBcbiAqICAgdmVyc2lvbiBpcyBhYnNlbnQgZnJvbSB0aGUgdGFibGUpLlxuICovXG5leHBvcnQgdHlwZSBJbnN0YWxsZXJDb21wYXRpYmlsaXR5VGllciA9ICduYWdnZWQnIHwgJ29rJyB8ICd1bmtub3duJyB8ICd1bnJ1bm5hYmxlJztcblxuLyoqXG4gKiBDb21wdXRlcyB0aGUgY29tcGF0aWJpbGl0eSB2ZXJkaWN0IGZvciBhIHJlc29sdmVkIChhcHAsIGluc3RhbGxlcikgdmVyc2lvbiBwYWlyLlxuICpcbiAqIE9ubHkgYCd1bnJ1bm5hYmxlJ2Agd2FycmFudHMgYW4gZXJyb3I7IGAnbmFnZ2VkJ2Agd2FycmFudHMgYSB3YXJuaW5nOyBgJ29rJ2AgYW5kXG4gKiBgJ3Vua25vd24nYCBhcmUgc2lsZW50LiBDb21wYXJpc29ucyBhcmUgcHVyZSBgeC55LnpgIHZlcnNpb24gY29tcGFyZXMgXHUyMDE0IG5vIEkvTy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHJlc29sdmVkIHZlcnNpb25zIGFuZCB0aGUgYXBwIHZlcnNpb24ncyBtZXRhZGF0YSBlbnRyeS5cbiAqIEByZXR1cm5zIFRoZSBjb21wYXRpYmlsaXR5IHZlcmRpY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0luc3RhbGxlckNvbXBhdGliaWxpdHkocGFyYW1zOiBDaGVja0luc3RhbGxlckNvbXBhdGliaWxpdHlQYXJhbXMpOiBJbnN0YWxsZXJDb21wYXRpYmlsaXR5IHtcbiAgY29uc3QgeyBhcHBWZXJzaW9uLCBpbnN0YWxsZXJWZXJzaW9uLCBtZXRhZGF0YSB9ID0gcGFyYW1zO1xuICBjb25zdCBtaW5SdW5uYWJsZUluc3RhbGxlclZlcnNpb24gPSBtZXRhZGF0YT8ubWluUnVubmFibGVJbnN0YWxsZXJWZXJzaW9uO1xuICBjb25zdCBtaW5SZWNvbW1lbmRlZEluc3RhbGxlclZlcnNpb24gPSBtZXRhZGF0YT8ubWluUmVjb21tZW5kZWRJbnN0YWxsZXJWZXJzaW9uO1xuXG4gIGlmIChpbnN0YWxsZXJWZXJzaW9uID09PSB1bmRlZmluZWQgfHwgbWluUnVubmFibGVJbnN0YWxsZXJWZXJzaW9uID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4geyBhcHBWZXJzaW9uLCBpbnN0YWxsZXJWZXJzaW9uOiBpbnN0YWxsZXJWZXJzaW9uID8/IG51bGwsIHRpZXI6ICd1bmtub3duJyB9O1xuICB9XG5cbiAgY29uc3QgcmVjb21tZW5kZWRGbG9vciA9IG1pblJlY29tbWVuZGVkSW5zdGFsbGVyVmVyc2lvbiAhPT0gdW5kZWZpbmVkICYmIHsgbWluUmVjb21tZW5kZWRJbnN0YWxsZXJWZXJzaW9uIH07XG5cbiAgaWYgKGNvbXBhcmVWZXJzaW9ucyhpbnN0YWxsZXJWZXJzaW9uLCBtaW5SdW5uYWJsZUluc3RhbGxlclZlcnNpb24pIDwgMCkge1xuICAgIHJldHVybiB7XG4gICAgICBhcHBWZXJzaW9uLFxuICAgICAgaW5zdGFsbGVyVmVyc2lvbixcbiAgICAgIG1pblJ1bm5hYmxlSW5zdGFsbGVyVmVyc2lvbixcbiAgICAgIHRpZXI6ICd1bnJ1bm5hYmxlJyxcbiAgICAgIC4uLnJlY29tbWVuZGVkRmxvb3JcbiAgICB9O1xuICB9XG5cbiAgaWYgKG1pblJlY29tbWVuZGVkSW5zdGFsbGVyVmVyc2lvbiAhPT0gdW5kZWZpbmVkICYmIGNvbXBhcmVWZXJzaW9ucyhpbnN0YWxsZXJWZXJzaW9uLCBtaW5SZWNvbW1lbmRlZEluc3RhbGxlclZlcnNpb24pIDwgMCkge1xuICAgIHJldHVybiB7XG4gICAgICBhcHBWZXJzaW9uLFxuICAgICAgaW5zdGFsbGVyVmVyc2lvbixcbiAgICAgIG1lc3NhZ2U6IGBPYnNpZGlhbiBpbnN0YWxsZXIgJHtpbnN0YWxsZXJWZXJzaW9ufSBydW5zIE9ic2lkaWFuICR7YXBwVmVyc2lvbn0gYnV0IGlzIG9sZGVyIHRoYW4gdGhlIGBcbiAgICAgICAgKyBgcmVjb21tZW5kZWQgaW5zdGFsbGVyICR7bWluUmVjb21tZW5kZWRJbnN0YWxsZXJWZXJzaW9ufTsgdXBkYXRlIHRoZSBpbnN0YWxsZXIgZm9yIGZ1bGwgY29tcGF0aWJpbGl0eS5gLFxuICAgICAgbWluUmVjb21tZW5kZWRJbnN0YWxsZXJWZXJzaW9uLFxuICAgICAgbWluUnVubmFibGVJbnN0YWxsZXJWZXJzaW9uLFxuICAgICAgdGllcjogJ25hZ2dlZCdcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBhcHBWZXJzaW9uLFxuICAgIGluc3RhbGxlclZlcnNpb24sXG4gICAgbWluUnVubmFibGVJbnN0YWxsZXJWZXJzaW9uLFxuICAgIHRpZXI6ICdvaycsXG4gICAgLi4ucmVjb21tZW5kZWRGbG9vclxuICB9O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTZCQSw4QkFBZ0M7QUE4RHpCLFNBQVMsNEJBQTRCLFFBQW1FO0FBQzdHLFFBQU0sRUFBRSxZQUFZLGtCQUFrQixTQUFTLElBQUk7QUFDbkQsUUFBTSw4QkFBOEIsVUFBVTtBQUM5QyxRQUFNLGlDQUFpQyxVQUFVO0FBRWpELE1BQUkscUJBQXFCLFVBQWEsZ0NBQWdDLFFBQVc7QUFDL0UsV0FBTyxFQUFFLFlBQVksa0JBQWtCLG9CQUFvQixNQUFNLE1BQU0sVUFBVTtBQUFBLEVBQ25GO0FBRUEsUUFBTSxtQkFBbUIsbUNBQW1DLFVBQWEsRUFBRSwrQkFBK0I7QUFFMUcsVUFBSSx5Q0FBZ0Isa0JBQWtCLDJCQUEyQixJQUFJLEdBQUc7QUFDdEUsV0FBTztBQUFBLE1BQ0w7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLE1BQ0EsTUFBTTtBQUFBLE1BQ04sR0FBRztBQUFBLElBQ0w7QUFBQSxFQUNGO0FBRUEsTUFBSSxtQ0FBbUMsY0FBYSx5Q0FBZ0Isa0JBQWtCLDhCQUE4QixJQUFJLEdBQUc7QUFDekgsV0FBTztBQUFBLE1BQ0w7QUFBQSxNQUNBO0FBQUEsTUFDQSxTQUFTLHNCQUFzQixnQkFBZ0Isa0JBQWtCLFVBQVUsZ0RBQzlDLDhCQUE4QjtBQUFBLE1BQzNEO0FBQUEsTUFDQTtBQUFBLE1BQ0EsTUFBTTtBQUFBLElBQ1I7QUFBQSxFQUNGO0FBRUEsU0FBTztBQUFBLElBQ0w7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0EsTUFBTTtBQUFBLElBQ04sR0FBRztBQUFBLEVBQ0w7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -12,7 +12,10 @@
|
|
|
12
12
|
*
|
|
13
13
|
* - `minRunnableInstallerVersion` — the run floor. Below it the app cannot boot
|
|
14
14
|
* (`'unrunnable'`); the caller turns this into a proactive
|
|
15
|
-
* `IncompatibleInstallerVersionError` before any download/launch
|
|
15
|
+
* `IncompatibleInstallerVersionError` before any download/launch — unless the
|
|
16
|
+
* caller has disabled the proactive throw (`shouldThrowOnIncompatibleInstaller`
|
|
17
|
+
* `false`), in which case the boot proceeds and the reactive dead-boot fast-fail
|
|
18
|
+
* catches it.
|
|
16
19
|
* - `minRecommendedInstallerVersion` — the recommended floor (older versions
|
|
17
20
|
* only). At/above the run floor but below this, the app runs but is below
|
|
18
21
|
* Obsidian's recommendation (`'nagged'`), surfaced as a warning.
|
package/dist/lib/cjs/library.cjs
CHANGED
|
@@ -21,7 +21,7 @@ __export(library_exports, {
|
|
|
21
21
|
LIBRARY_VERSION: () => LIBRARY_VERSION
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(library_exports);
|
|
24
|
-
const LIBRARY_VERSION = false ? "dev" : "8.
|
|
24
|
+
const LIBRARY_VERSION = false ? "dev" : "8.3.0";
|
|
25
25
|
// Annotate the CommonJS export names for ESM import in node:
|
|
26
26
|
0 && (module.exports = {
|
|
27
27
|
LIBRARY_VERSION
|