obsidian-integration-testing 9.2.2 → 10.0.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/README.md +45 -45
- package/dist/lib/cjs/appium-dependencies.cjs +5 -5
- package/dist/lib/cjs/appium-dependencies.d.cts +4 -2
- package/dist/lib/cjs/appium-session-config.cjs +1 -1
- package/dist/lib/cjs/asar-fallback-detection.cjs +4 -4
- package/dist/lib/cjs/asar-fallback-detection.d.cts +15 -7
- package/dist/lib/cjs/avd-list.cjs +1 -1
- package/dist/lib/cjs/avd-list.d.cts +6 -2
- package/dist/lib/cjs/cli.cjs +4 -4
- package/dist/lib/cjs/compatibility-options.cjs +13 -13
- package/dist/lib/cjs/compatibility-options.d.cts +24 -12
- package/dist/lib/cjs/connect-to-cdp.cjs +4 -4
- package/dist/lib/cjs/connect-to-cdp.d.cts +6 -6
- package/dist/lib/cjs/context-id.cjs +5 -5
- package/dist/lib/cjs/context-id.d.cts +1 -1
- package/dist/lib/cjs/context-provider.cjs +5 -5
- package/dist/lib/cjs/context-provider.d.cts +4 -4
- package/dist/lib/cjs/demo-vault-populate.cjs +5 -5
- package/dist/lib/cjs/demo-vault-populate.d.cts +4 -4
- package/dist/lib/cjs/demo-vault-tree.cjs +4 -4
- package/dist/lib/cjs/demo-vault-tree.d.cts +3 -3
- package/dist/lib/cjs/device-readiness.cjs +3 -3
- package/dist/lib/cjs/device-readiness.d.cts +7 -3
- package/dist/lib/cjs/ecmascript-version.cjs +1 -1
- package/dist/lib/cjs/electron-compatibility.cjs +4 -4
- package/dist/lib/cjs/electron-compatibility.d.cts +33 -17
- package/dist/lib/cjs/emulator-arguments.cjs +36 -0
- package/dist/lib/{esm/emulator-args.d.mts → cjs/emulator-arguments.d.cts} +6 -4
- package/dist/lib/cjs/enable-plugin.cjs +29 -29
- package/dist/lib/cjs/enable-plugin.d.cts +6 -6
- package/dist/lib/cjs/eval-in-obsidian.cjs +9 -9
- package/dist/lib/cjs/eval-in-obsidian.d.cts +23 -23
- package/dist/lib/cjs/exec.cjs +49 -53
- package/dist/lib/cjs/exec.d.cts +9 -9
- package/dist/lib/cjs/function-expression.cjs +8 -8
- package/dist/lib/cjs/function-expression.d.cts +4 -4
- package/dist/lib/cjs/generate-function-call.cjs +6 -6
- package/dist/lib/cjs/generate-function-call.d.cts +15 -9
- package/dist/lib/cjs/global-setup-core.cjs +43 -43
- package/dist/lib/cjs/global-setup-core.d.cts +19 -9
- package/dist/lib/cjs/incompatible-installer-version-error.cjs +10 -4
- package/dist/lib/cjs/incompatible-installer-version-error.d.cts +18 -6
- package/dist/lib/cjs/index.cjs +10 -10
- package/dist/lib/cjs/index.d.cts +8 -8
- package/dist/lib/cjs/installer-asset.cjs +4 -4
- package/dist/lib/cjs/installer-asset.d.cts +21 -7
- package/dist/lib/cjs/installer-compatibility.cjs +4 -4
- package/dist/lib/cjs/installer-compatibility.d.cts +36 -18
- package/dist/lib/cjs/jest/global-setup-no-plugin.cjs +3 -3
- package/dist/lib/cjs/jest/global-setup-no-plugin.d.cts +1 -1
- package/dist/lib/cjs/jest/global-setup.cjs +11 -11
- package/dist/lib/cjs/jest/global-setup.d.cts +12 -8
- package/dist/lib/cjs/jest/global-teardown-no-plugin.cjs +2 -3
- package/dist/lib/cjs/jest/global-teardown-no-plugin.d.cts +1 -2
- package/dist/lib/cjs/jest/global-teardown.cjs +2 -3
- package/dist/lib/cjs/jest/global-teardown.d.cts +1 -2
- package/dist/lib/cjs/jest/setup.cjs +2 -2
- package/dist/lib/cjs/jest/setup.d.cts +1 -1
- package/dist/lib/cjs/json-with-functions.cjs +7 -7
- package/dist/lib/cjs/leftover-cleanup.cjs +14 -14
- package/dist/lib/cjs/leftover-cleanup.d.cts +42 -20
- package/dist/lib/cjs/library.cjs +2 -2
- package/dist/lib/cjs/namespace-bootstrap.cjs +46 -40
- package/dist/lib/cjs/native-dialog-monitor.cjs +15 -13
- package/dist/lib/cjs/normalize-optional-properties.cjs +3 -3
- package/dist/lib/cjs/normalize-optional-properties.d.cts +2 -2
- package/dist/lib/cjs/obsidian-config.cjs +30 -31
- package/dist/lib/cjs/obsidian-config.d.cts +8 -8
- package/dist/lib/cjs/obsidian-executable.cjs +2 -2
- package/dist/lib/cjs/obsidian-installer.cjs +37 -37
- package/dist/lib/cjs/obsidian-installer.d.cts +7 -3
- package/dist/lib/cjs/obsidian-instance.cjs +3 -3
- package/dist/lib/cjs/obsidian-instance.d.cts +18 -8
- package/dist/lib/cjs/obsidian-metadata.cjs +1 -1
- package/dist/lib/cjs/obsidian-metadata.d.cts +36 -12
- package/dist/lib/cjs/obsidian-namespace.cjs +1 -1
- package/dist/lib/cjs/obsidian-namespace.d.cts +25 -11
- package/dist/lib/cjs/obsidian-version-switch.cjs +9 -9
- package/dist/lib/cjs/obsidian-version-switch.d.cts +14 -10
- package/dist/lib/cjs/obsidian-version.cjs +3 -3
- package/dist/lib/cjs/obsidian-version.d.cts +15 -5
- package/dist/lib/cjs/owned-vault-seed.cjs +1 -1
- package/dist/lib/cjs/owned-vault-seed.d.cts +24 -8
- package/dist/lib/cjs/parent-liveness.cjs +4 -4
- package/dist/lib/cjs/parent-liveness.d.cts +7 -3
- package/dist/lib/cjs/poll-in-obsidian.cjs +5 -5
- package/dist/lib/cjs/poll-in-obsidian.d.cts +12 -12
- package/dist/lib/cjs/poll-until.cjs +1 -1
- package/dist/lib/cjs/poll-until.d.cts +21 -7
- package/dist/lib/cjs/process-exit-message.cjs +1 -1
- package/dist/lib/cjs/process-exit-message.d.cts +21 -7
- package/dist/lib/cjs/renderer-boot-detection.cjs +9 -9
- package/dist/lib/cjs/renderer-boot-detection.d.cts +31 -27
- package/dist/lib/cjs/renderer-failed-to-initialize-error.cjs +1 -1
- package/dist/lib/cjs/renderer-failed-to-initialize-error.d.cts +1 -1
- package/dist/lib/cjs/setup-lock.cjs +26 -26
- package/dist/lib/cjs/setup-lock.d.cts +6 -2
- package/dist/lib/cjs/silent-asar-fallback-error.cjs +7 -3
- package/dist/lib/cjs/silent-asar-fallback-error.d.cts +12 -4
- package/dist/lib/cjs/spawn-options.cjs +1 -1
- package/dist/lib/cjs/spawn-options.d.cts +3 -1
- package/dist/lib/cjs/strict-proxy.cjs +25 -25
- package/dist/lib/cjs/strict-proxy.d.cts +3 -3
- package/dist/lib/cjs/temporary-vault.cjs +166 -0
- package/dist/lib/cjs/{temp-vault.d.cts → temporary-vault.d.cts} +3 -3
- package/dist/lib/cjs/transport-appium.cjs +7 -7
- package/dist/lib/cjs/transport-appium.d.cts +7 -3
- package/dist/lib/cjs/transport-desktop-cdp.cjs +57 -57
- package/dist/lib/cjs/transport-desktop-cdp.d.cts +29 -17
- package/dist/lib/cjs/transport-factory.cjs +62 -63
- package/dist/lib/cjs/type-guards.cjs +3 -3
- package/dist/lib/cjs/type-guards.d.cts +2 -2
- package/dist/lib/cjs/vault-path-match.cjs +9 -9
- package/dist/lib/cjs/vault-path-match.d.cts +11 -11
- package/dist/lib/cjs/version-matrix.cjs +1 -1
- package/dist/lib/cjs/version-matrix.d.cts +51 -17
- package/dist/lib/cjs/visibility.cjs +7 -7
- package/dist/lib/cjs/visibility.d.cts +5 -5
- package/dist/lib/cjs/vitest/global-setup-no-plugin.cjs +3 -3
- package/dist/lib/cjs/vitest/global-setup-no-plugin.d.cts +2 -2
- package/dist/lib/cjs/vitest/global-setup.cjs +9 -9
- package/dist/lib/cjs/vitest/global-setup.d.cts +4 -4
- package/dist/lib/cjs/vitest/setup.cjs +2 -2
- package/dist/lib/cjs/vitest/typings.d.cts +2 -2
- package/dist/lib/esm/appium-dependencies.d.mts +4 -2
- package/dist/lib/esm/appium-dependencies.mjs +4 -4
- package/dist/lib/esm/appium-session-config.mjs +1 -1
- package/dist/lib/esm/asar-fallback-detection.d.mts +15 -7
- package/dist/lib/esm/asar-fallback-detection.mjs +3 -3
- package/dist/lib/esm/avd-list.d.mts +6 -2
- package/dist/lib/esm/avd-list.mjs +1 -1
- package/dist/lib/esm/cli.mjs +4 -4
- package/dist/lib/esm/compatibility-options.d.mts +24 -12
- package/dist/lib/esm/compatibility-options.mjs +10 -10
- package/dist/lib/esm/connect-to-cdp.d.mts +6 -6
- package/dist/lib/esm/connect-to-cdp.mjs +6 -6
- package/dist/lib/esm/context-id.d.mts +1 -1
- package/dist/lib/esm/context-id.mjs +5 -5
- package/dist/lib/esm/context-provider.d.mts +4 -4
- package/dist/lib/esm/context-provider.mjs +5 -5
- package/dist/lib/esm/demo-vault-populate.d.mts +4 -4
- package/dist/lib/esm/demo-vault-populate.mjs +5 -5
- package/dist/lib/esm/demo-vault-tree.d.mts +3 -3
- package/dist/lib/esm/demo-vault-tree.mjs +4 -4
- package/dist/lib/esm/device-readiness.d.mts +7 -3
- package/dist/lib/esm/device-readiness.mjs +3 -3
- package/dist/lib/esm/ecmascript-version.mjs +1 -1
- package/dist/lib/esm/electron-compatibility.d.mts +33 -17
- package/dist/lib/esm/electron-compatibility.mjs +3 -3
- package/dist/lib/{cjs/emulator-args.d.cts → esm/emulator-arguments.d.mts} +6 -4
- package/dist/lib/esm/emulator-arguments.mjs +12 -0
- package/dist/lib/esm/enable-plugin.d.mts +6 -6
- package/dist/lib/esm/enable-plugin.mjs +29 -29
- package/dist/lib/esm/eval-in-obsidian.d.mts +23 -23
- package/dist/lib/esm/eval-in-obsidian.mjs +9 -9
- package/dist/lib/esm/exec.d.mts +9 -9
- package/dist/lib/esm/exec.mjs +49 -53
- package/dist/lib/esm/function-expression.d.mts +4 -4
- package/dist/lib/esm/function-expression.mjs +8 -8
- package/dist/lib/esm/generate-function-call.d.mts +15 -9
- package/dist/lib/esm/generate-function-call.mjs +6 -6
- package/dist/lib/esm/global-setup-core.d.mts +19 -9
- package/dist/lib/esm/global-setup-core.mjs +45 -45
- package/dist/lib/esm/incompatible-installer-version-error.d.mts +18 -6
- package/dist/lib/esm/incompatible-installer-version-error.mjs +10 -4
- package/dist/lib/esm/index.d.mts +8 -8
- package/dist/lib/esm/index.mjs +9 -9
- package/dist/lib/esm/installer-asset.d.mts +21 -7
- package/dist/lib/esm/installer-asset.mjs +4 -4
- package/dist/lib/esm/installer-compatibility.d.mts +36 -18
- package/dist/lib/esm/installer-compatibility.mjs +3 -3
- package/dist/lib/esm/jest/global-setup-no-plugin.d.mts +1 -1
- package/dist/lib/esm/jest/global-setup-no-plugin.mjs +3 -3
- package/dist/lib/esm/jest/global-setup.d.mts +12 -8
- package/dist/lib/esm/jest/global-setup.mjs +10 -10
- package/dist/lib/esm/jest/global-teardown-no-plugin.d.mts +1 -2
- package/dist/lib/esm/jest/global-teardown-no-plugin.mjs +2 -3
- package/dist/lib/esm/jest/global-teardown.d.mts +1 -2
- package/dist/lib/esm/jest/global-teardown.mjs +2 -3
- package/dist/lib/esm/jest/setup.d.mts +1 -1
- package/dist/lib/esm/jest/setup.mjs +2 -2
- package/dist/lib/esm/json-with-functions.mjs +7 -7
- package/dist/lib/esm/leftover-cleanup.d.mts +42 -20
- package/dist/lib/esm/leftover-cleanup.mjs +12 -12
- package/dist/lib/esm/library.mjs +2 -2
- package/dist/lib/esm/namespace-bootstrap.mjs +46 -40
- package/dist/lib/esm/native-dialog-monitor.mjs +15 -13
- package/dist/lib/esm/normalize-optional-properties.d.mts +2 -2
- package/dist/lib/esm/normalize-optional-properties.mjs +3 -3
- package/dist/lib/esm/obsidian-config.d.mts +8 -8
- package/dist/lib/esm/obsidian-config.mjs +27 -28
- package/dist/lib/esm/obsidian-executable.mjs +2 -2
- package/dist/lib/esm/obsidian-installer.d.mts +7 -3
- package/dist/lib/esm/obsidian-installer.mjs +36 -36
- package/dist/lib/esm/obsidian-instance.d.mts +18 -8
- package/dist/lib/esm/obsidian-instance.mjs +3 -3
- package/dist/lib/esm/obsidian-metadata.d.mts +36 -12
- package/dist/lib/esm/obsidian-metadata.mjs +1 -1
- package/dist/lib/esm/obsidian-namespace.d.mts +25 -11
- package/dist/lib/esm/obsidian-version-switch.d.mts +14 -10
- package/dist/lib/esm/obsidian-version-switch.mjs +9 -9
- package/dist/lib/esm/obsidian-version.d.mts +15 -5
- package/dist/lib/esm/obsidian-version.mjs +3 -3
- package/dist/lib/esm/owned-vault-seed.d.mts +24 -8
- package/dist/lib/esm/owned-vault-seed.mjs +1 -1
- package/dist/lib/esm/parent-liveness.d.mts +7 -3
- package/dist/lib/esm/parent-liveness.mjs +3 -3
- package/dist/lib/esm/poll-in-obsidian.d.mts +12 -12
- package/dist/lib/esm/poll-in-obsidian.mjs +5 -5
- package/dist/lib/esm/poll-until.d.mts +21 -7
- package/dist/lib/esm/poll-until.mjs +1 -1
- package/dist/lib/esm/process-exit-message.d.mts +21 -7
- package/dist/lib/esm/process-exit-message.mjs +1 -1
- package/dist/lib/esm/renderer-boot-detection.d.mts +31 -27
- package/dist/lib/esm/renderer-boot-detection.mjs +7 -7
- package/dist/lib/esm/renderer-failed-to-initialize-error.d.mts +1 -1
- package/dist/lib/esm/renderer-failed-to-initialize-error.mjs +1 -1
- package/dist/lib/esm/setup-lock.d.mts +6 -2
- package/dist/lib/esm/setup-lock.mjs +26 -26
- package/dist/lib/esm/silent-asar-fallback-error.d.mts +12 -4
- package/dist/lib/esm/silent-asar-fallback-error.mjs +7 -3
- package/dist/lib/esm/spawn-options.d.mts +3 -1
- package/dist/lib/esm/spawn-options.mjs +1 -1
- package/dist/lib/esm/strict-proxy.d.mts +3 -3
- package/dist/lib/esm/strict-proxy.mjs +25 -25
- package/dist/lib/esm/{temp-vault.d.mts → temporary-vault.d.mts} +3 -3
- package/dist/lib/esm/temporary-vault.mjs +157 -0
- package/dist/lib/esm/transport-appium.d.mts +7 -3
- package/dist/lib/esm/transport-appium.mjs +7 -7
- package/dist/lib/esm/transport-desktop-cdp.d.mts +29 -17
- package/dist/lib/esm/transport-desktop-cdp.mjs +67 -67
- package/dist/lib/esm/transport-factory.mjs +71 -72
- package/dist/lib/esm/type-guards.d.mts +2 -2
- package/dist/lib/esm/type-guards.mjs +3 -3
- package/dist/lib/esm/vault-path-match.d.mts +11 -11
- package/dist/lib/esm/vault-path-match.mjs +7 -7
- package/dist/lib/esm/version-matrix.d.mts +51 -17
- package/dist/lib/esm/version-matrix.mjs +1 -1
- package/dist/lib/esm/visibility.d.mts +5 -5
- package/dist/lib/esm/visibility.mjs +5 -5
- package/dist/lib/esm/vitest/global-setup-no-plugin.d.mts +2 -2
- package/dist/lib/esm/vitest/global-setup-no-plugin.mjs +3 -3
- package/dist/lib/esm/vitest/global-setup.d.mts +4 -4
- package/dist/lib/esm/vitest/global-setup.mjs +8 -8
- package/dist/lib/esm/vitest/setup.mjs +2 -2
- package/dist/lib/esm/vitest/typings.d.mts +2 -2
- package/dist/obsidian-integration-testing-10.0.0.tgz +0 -0
- package/package.json +15 -13
- package/dist/lib/cjs/emulator-args.cjs +0 -36
- package/dist/lib/cjs/temp-vault.cjs +0 -166
- package/dist/lib/esm/emulator-args.mjs +0 -12
- package/dist/lib/esm/temp-vault.mjs +0 -157
- package/dist/obsidian-integration-testing-9.2.2.tgz +0 -0
|
@@ -32,15 +32,25 @@
|
|
|
32
32
|
* captured wholesale rather than as a fixed field list.
|
|
33
33
|
*/
|
|
34
34
|
export interface ObsidianRuntimeVersions {
|
|
35
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
The bundled Chromium version, e.g. `'114.0.5735.289'`.
|
|
37
|
+
*/
|
|
36
38
|
readonly chrome: string;
|
|
37
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
The bundled Electron version, e.g. `'25.8.1'`.
|
|
41
|
+
*/
|
|
38
42
|
readonly electron: string;
|
|
39
|
-
/**
|
|
43
|
+
/**
|
|
44
|
+
The bundled Node.js version, e.g. `'18.15.0'`.
|
|
45
|
+
*/
|
|
40
46
|
readonly node: string;
|
|
41
|
-
/**
|
|
47
|
+
/**
|
|
48
|
+
Every `process.versions` key the Electron build exposes.
|
|
49
|
+
*/
|
|
42
50
|
readonly [key: string]: string;
|
|
43
|
-
/**
|
|
51
|
+
/**
|
|
52
|
+
The bundled V8 version, e.g. `'11.4.183.23'`.
|
|
53
|
+
*/
|
|
44
54
|
readonly v8: string;
|
|
45
55
|
}
|
|
46
56
|
/**
|
|
@@ -57,13 +67,21 @@ export interface ObsidianRuntimeVersions {
|
|
|
57
67
|
* hand-rolled resolution.
|
|
58
68
|
*/
|
|
59
69
|
export interface ObsidianVersionDownloads {
|
|
60
|
-
/**
|
|
70
|
+
/**
|
|
71
|
+
The `obsidian-<version>.asar.gz` package URL.
|
|
72
|
+
*/
|
|
61
73
|
readonly asar?: string;
|
|
62
|
-
/**
|
|
74
|
+
/**
|
|
75
|
+
The macOS (universal) `.dmg` installer URL.
|
|
76
|
+
*/
|
|
63
77
|
readonly dmg?: string;
|
|
64
|
-
/**
|
|
78
|
+
/**
|
|
79
|
+
The Windows x64 `.exe` installer URL.
|
|
80
|
+
*/
|
|
65
81
|
readonly exe?: string;
|
|
66
|
-
/**
|
|
82
|
+
/**
|
|
83
|
+
The Linux x64 `.tar.gz` portable-build URL.
|
|
84
|
+
*/
|
|
67
85
|
readonly tar?: string;
|
|
68
86
|
}
|
|
69
87
|
/**
|
|
@@ -73,11 +91,17 @@ export interface ObsidianVersionDownloads {
|
|
|
73
91
|
* that version (e.g. only old versions carry {@link minRecommendedInstallerVersion}).
|
|
74
92
|
*/
|
|
75
93
|
export interface ObsidianVersionMetadata {
|
|
76
|
-
/**
|
|
94
|
+
/**
|
|
95
|
+
Whether the version's assets are available (present only when `false`).
|
|
96
|
+
*/
|
|
77
97
|
readonly available?: boolean;
|
|
78
|
-
/**
|
|
98
|
+
/**
|
|
99
|
+
URL of the version's changelog.
|
|
100
|
+
*/
|
|
79
101
|
readonly changelogUrl?: string;
|
|
80
|
-
/**
|
|
102
|
+
/**
|
|
103
|
+
The release channel: `'public'`, `'catalyst'`, or `'public+catalyst'`.
|
|
104
|
+
*/
|
|
81
105
|
readonly channel?: string;
|
|
82
106
|
/**
|
|
83
107
|
* The pre-resolved asset download URLs for the version, baked from the
|
|
@@ -14,4 +14,4 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
14
14
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
15
|
var obsidian_namespace_exports = {};
|
|
16
16
|
module.exports = __toCommonJS(obsidian_namespace_exports);
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuLW5hbWVzcGFjZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBgd2luZG93Ll9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmdgIG5hbWVzcGFjZVxuICogdXNlZCBpbnNpZGUgdGhlIE9ic2lkaWFuIHByb2Nlc3MuIEFsbCBsaWJyYXJ5IHN0YXRlIGFuZCByZWdpc3RlcmVkIGhlbHBlclxuICogZnVuY3Rpb25zIGxpdmUgdW5kZXIgdGhpcyBzaW5nbGUgbmFtZXNwYWNlIHRvIGF2b2lkIHBvbGx1dGluZyBgd2luZG93YC5cbiAqL1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHRoZSByZWdpc3RlcmVkIGBldmFsV3JhcHBlcmAgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZhbFdyYXBwZXJOYW1lc3BhY2VQYXJhbXMge1xuICAvKipcbiAgVGhlIHVzZXIgZnVuY3Rpb24gdG8gZXZhbHVhdGUuXG4gICAqL1xuICBjYWxsYmFjayhpbnB1dDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiB1bmtub3duO1xuICAvKipcbiAgT3B0aW9uYWwgY29udGV4dCBJRCBmb3IgcGVyc2lzdGVudCBzdG9yYWdlLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGV4dElkPzogc3RyaW5nO1xuICAvKipcbiAgVXNlci1zdXBwbGllZCBhcmd1bWVudHMgdG8gcGFzcyB0byBgY2FsbGJhY2tgLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5wdXQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBPYnNpZGlhbkludGVncmF0aW9uVGVzdGluZ05hbWVzcGFjZS5pcGNTZW5kU3luY30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXBjU2VuZFN5bmNOYW1lc3BhY2VQYXJhbXMge1xuICAvKipcbiAgVGhlIElQQyBjaGFubmVsIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBjaGFubmVsOiBzdHJpbmc7XG4gIC8qKlxuICBUaGUgSVBDIGFyZ3VtZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IGNoYW5uZWxBcmd1bWVudHM6IHVua25vd25bXTtcbn1cblxuLyoqXG4gKiBIb2xkZXIgaW50ZXJmYWNlIGZvciB0eXBlLXNhZmUgYWNjZXNzIHRvIGB3aW5kb3cuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZ2AuXG4gKiBVc2Ugd2l0aCBgUGFydGlhbDxPYnNpZGlhbkludGVncmF0aW9uVGVzdGluZ0hvbGRlcj5gIHRvIHNhZmVseSBjaGVjayBleGlzdGVuY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmdIb2xkZXIge1xuICBfX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nOiBPYnNpZGlhbkludGVncmF0aW9uVGVzdGluZ05hbWVzcGFjZTtcbn1cblxuLyoqXG4gKiBUaGUgbmFtZXNwYWNlIG9iamVjdCBzdG9yZWQgb24gYHdpbmRvdy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nYFxuICogaW5zaWRlIHRoZSBPYnNpZGlhbiBwcm9jZXNzLiBSZWdpc3RlcmVkIG9uY2UgdmlhIHtAbGluayBib290c3RyYXBOYW1lc3BhY2V9XG4gKiBhbmQgcmV1c2VkIGFjcm9zcyBhbGwgc3Vic2VxdWVudCBgZXZhbEluT2JzaWRpYW5gIGNhbGxzLlxuICpcbiAqIEFsbCBmdW5jdGlvbnMgYWNjZXNzIGB3aW5kb3cuYXBwYCBkaXJlY3RseSBcdTIwMTQgY2FsbGVycyBkbyBub3QgbmVlZCB0byBwYXNzIGl0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nTmFtZXNwYWNlIHtcbiAgLyoqXG4gICAqIFBlcnNpc3RlbnQgY29udGV4dCBvYmplY3RzIGtleWVkIGJ5IHtAbGluayBDb250ZXh0SWR9IHN0cmluZy5cbiAgICogUHJlc2VydmVkIGFjcm9zcyB2ZXJzaW9uIHVwZ3JhZGVzIHNvIGxpdmUgY29udGV4dCByZWZlcmVuY2VzIHN1cnZpdmUuXG4gICAqL1xuICBjb250ZXh0czogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuXG4gIC8qKlxuICAgKiBEZXN0cm95cyB0aGUgY3VycmVudCBFbGVjdHJvbiB3aW5kb3cuXG4gICAqL1xuICBkZXN0cm95Q3VycmVudFdpbmRvdygpOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBXYWl0cyBmb3IgdGhlIE9ic2lkaWFuIHdvcmtzcGFjZSBsYXlvdXQgdG8gYmUgcmVhZHkuXG4gICAqL1xuICBlbnN1cmVMYXlvdXRSZWFkeSgpOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhbiBlcnJvciBpbnRvIGEgaHVtYW4tcmVhZGFibGUgc3RyaW5nIHdpdGggaXRzIGZ1bGwgc3RhY2sgdHJhY2UsXG4gICAqIHJlY3Vyc2l2ZSBgY2F1c2VgIGNoYWluLCBhbmQgdGhlIGFnZ3JlZ2F0ZWQgZXJyb3JzIG9mIGFuIGBBZ2dyZWdhdGVFcnJvcmAuXG4gICAqXG4gICAqIEBwYXJhbSBlcnJvciAtIFRoZSBlcnJvciB0byBjb252ZXJ0IHRvIGEgc3RyaW5nLlxuICAgKiBAcmV0dXJucyBBIGZvcm1hdHRlZCBlcnJvciBzdHJpbmcuXG4gICAqL1xuICBlcnJvclRvU3RyaW5nKGVycm9yOiB1bmtub3duKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdG9wLWxldmVsIHdyYXBwZXIgdGhhdCBzZXRzIHVwIGNvbnRleHQsIHJlc29sdmVzIHRoZSBvYnNpZGlhbiBtb2R1bGUsXG4gICAqIGNhbGxzIHRoZSB1c2VyJ3MgZnVuY3Rpb24sIGFuZCByZXR1cm5zIGEgSlNPTiBlbnZlbG9wZS5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFBhcmFtZXRlcnMgaW5jbHVkaW5nIHRoZSB1c2VyJ3MgZnVuY3Rpb24sIGlucHV0LCBhbmQgY29udGV4dCBJRC5cbiAgICogQHJldHVybnMgQSBKU09OLXN0cmluZ2lmaWVkIHJlc3VsdCBlbnZlbG9wZS5cbiAgICovXG4gIGV2YWxXcmFwcGVyKHBhcmFtczogRXZhbFdyYXBwZXJOYW1lc3BhY2VQYXJhbXMpOiBQcm9taXNlPHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFJlc29sdmVzIHRoZSBgb2JzaWRpYW5gIG1vZHVsZSBhdCBydW50aW1lIGluc2lkZSB0aGUgT2JzaWRpYW4gcHJvY2Vzcy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGBvYnNpZGlhbmAgbW9kdWxlLlxuICAgKi9cbiAgZ2V0T2JzaWRpYW5Nb2R1bGUoKTogUHJvbWlzZTx1bmtub3duPjtcblxuICAvKipcbiAgICogU2VuZHMgYW4gSVBDIG1lc3NhZ2Ugc3luY2hyb25vdXNseSB2aWEgRWxlY3Ryb24ncyBgaXBjUmVuZGVyZXJgLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIElQQyBjaGFubmVsIGFuZCBhcmd1bWVudHMuXG4gICAqL1xuICBpcGNTZW5kU3luYyhwYXJhbXM6IElwY1NlbmRTeW5jTmFtZXNwYWNlUGFyYW1zKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogQ2FjaGVkIGBvYnNpZGlhbmAgbW9kdWxlLCBzZXQgYnkge0BsaW5rIGdldE9ic2lkaWFuTW9kdWxlfSBvbiBmaXJzdCByZXNvbHV0aW9uLlxuICAgKi9cbiAgb2JzaWRpYW5Nb2R1bGU/OiB1bmtub3duO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2YXVsdCdzIGJhc2UgcGF0aCBhcyBhIEpTT04tZW5jb2RlZCBzdHJpbmcuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBKU09OLWVuY29kZWQgYmFzZSBwYXRoLlxuICAgKi9cbiAgcG9sbFZhdWx0QmFzZVBhdGgoKTogUHJvbWlzZTxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBTZXRzIGEgYGxvY2FsU3RvcmFnZWAgaXRlbS5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBrZXkgYW5kIHZhbHVlIHRvIHNldC5cbiAgICovXG4gIHNldExvY2FsU3RvcmFnZUl0ZW0ocGFyYW1zOiBTZXRMb2NhbFN0b3JhZ2VJdGVtTmFtZXNwYWNlUGFyYW1zKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogVGhlIGxpYnJhcnkgdmVyc2lvbiB0aGF0IHdhcyB1c2VkIHRvIGJvb3RzdHJhcCB0aGlzIG5hbWVzcGFjZS5cbiAgICogVXNlZCB0byBkZXRlY3QgdmVyc2lvbiBtaXNtYXRjaGVzIGFuZCByZS1pbml0aWFsaXplLlxuICAgKi9cbiAgdmVyc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBPYnNpZGlhbkludGVncmF0aW9uVGVzdGluZ05hbWVzcGFjZS5zZXRMb2NhbFN0b3JhZ2VJdGVtfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXRMb2NhbFN0b3JhZ2VJdGVtTmFtZXNwYWNlUGFyYW1zIHtcbiAgLyoqXG4gIFRoZSBsb2NhbFN0b3JhZ2Uga2V5LlxuICAgKi9cbiAgcmVhZG9ubHkga2V5OiBzdHJpbmc7XG4gIC8qKlxuICBUaGUgbG9jYWxTdG9yYWdlIHZhbHVlLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWU6IHN0cmluZztcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -9,21 +9,31 @@
|
|
|
9
9
|
* Parameters for the registered `evalWrapper` function.
|
|
10
10
|
*/
|
|
11
11
|
export interface EvalWrapperNamespaceParams {
|
|
12
|
-
/**
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
/**
|
|
13
|
+
The user function to evaluate.
|
|
14
|
+
*/
|
|
15
|
+
callback(input: Record<string, unknown>): unknown;
|
|
16
|
+
/**
|
|
17
|
+
Optional context ID for persistent storage.
|
|
18
|
+
*/
|
|
15
19
|
readonly contextId?: string;
|
|
16
|
-
/**
|
|
17
|
-
|
|
20
|
+
/**
|
|
21
|
+
User-supplied arguments to pass to `callback`.
|
|
22
|
+
*/
|
|
23
|
+
readonly input: Record<string, unknown>;
|
|
18
24
|
}
|
|
19
25
|
/**
|
|
20
26
|
* Parameters for {@link ObsidianIntegrationTestingNamespace.ipcSendSync}.
|
|
21
27
|
*/
|
|
22
28
|
export interface IpcSendSyncNamespaceParams {
|
|
23
|
-
/**
|
|
24
|
-
|
|
25
|
-
|
|
29
|
+
/**
|
|
30
|
+
The IPC channel name.
|
|
31
|
+
*/
|
|
26
32
|
readonly channel: string;
|
|
33
|
+
/**
|
|
34
|
+
The IPC arguments.
|
|
35
|
+
*/
|
|
36
|
+
readonly channelArguments: unknown[];
|
|
27
37
|
}
|
|
28
38
|
/**
|
|
29
39
|
* Holder interface for type-safe access to `window.__obsidianIntegrationTesting`.
|
|
@@ -65,7 +75,7 @@ export interface ObsidianIntegrationTestingNamespace {
|
|
|
65
75
|
* The top-level wrapper that sets up context, resolves the obsidian module,
|
|
66
76
|
* calls the user's function, and returns a JSON envelope.
|
|
67
77
|
*
|
|
68
|
-
* @param params - Parameters including the user's function,
|
|
78
|
+
* @param params - Parameters including the user's function, input, and context ID.
|
|
69
79
|
* @returns A JSON-stringified result envelope.
|
|
70
80
|
*/
|
|
71
81
|
evalWrapper(params: EvalWrapperNamespaceParams): Promise<string>;
|
|
@@ -107,8 +117,12 @@ export interface ObsidianIntegrationTestingNamespace {
|
|
|
107
117
|
* Parameters for {@link ObsidianIntegrationTestingNamespace.setLocalStorageItem}.
|
|
108
118
|
*/
|
|
109
119
|
export interface SetLocalStorageItemNamespaceParams {
|
|
110
|
-
/**
|
|
120
|
+
/**
|
|
121
|
+
The localStorage key.
|
|
122
|
+
*/
|
|
111
123
|
readonly key: string;
|
|
112
|
-
/**
|
|
124
|
+
/**
|
|
125
|
+
The localStorage value.
|
|
126
|
+
*/
|
|
113
127
|
readonly value: string;
|
|
114
128
|
}
|
|
@@ -39,11 +39,11 @@ const CATALYST_ASAR_RELEASE_BASE_URL = "https://releases.obsidian.md/release";
|
|
|
39
39
|
const CACHE_ROOT = (0, import_node_path.join)((0, import_node_os.tmpdir)(), "obsidian-integration-testing");
|
|
40
40
|
const ASAR_CACHE_DIR = (0, import_node_path.join)(CACHE_ROOT, "asar-cache");
|
|
41
41
|
const ASAR_FILE_PATTERN = /^obsidian-(?<version>\d+\.\d+\.\d+)\.asar$/;
|
|
42
|
-
function copyAsarIntoUserData(asarPath, version,
|
|
43
|
-
(0, import_node_fs.mkdirSync)(
|
|
44
|
-
const
|
|
45
|
-
(0, import_node_fs.copyFileSync)(asarPath,
|
|
46
|
-
(0, import_log.log)(`[version-switch] Provisioned ${(0, import_obsidian_version.getVersionAsarFileName)(version)} into ${
|
|
42
|
+
function copyAsarIntoUserData(asarPath, version, userDataDirectory) {
|
|
43
|
+
(0, import_node_fs.mkdirSync)(userDataDirectory, { recursive: true });
|
|
44
|
+
const destination = (0, import_node_path.join)(userDataDirectory, (0, import_obsidian_version.getVersionAsarFileName)(version));
|
|
45
|
+
(0, import_node_fs.copyFileSync)(asarPath, destination);
|
|
46
|
+
(0, import_log.log)(`[version-switch] Provisioned ${(0, import_obsidian_version.getVersionAsarFileName)(version)} into ${userDataDirectory}.`);
|
|
47
47
|
}
|
|
48
48
|
async function ensureAsarCached(version) {
|
|
49
49
|
(0, import_node_fs.mkdirSync)(ASAR_CACHE_DIR, { recursive: true });
|
|
@@ -72,10 +72,10 @@ async function fetchDesktopReleasesManifest() {
|
|
|
72
72
|
}
|
|
73
73
|
return await response.json();
|
|
74
74
|
}
|
|
75
|
-
function findNewestAsar(
|
|
75
|
+
function findNewestAsar(directory) {
|
|
76
76
|
let entries;
|
|
77
77
|
try {
|
|
78
|
-
entries = (0, import_node_fs.readdirSync)(
|
|
78
|
+
entries = (0, import_node_fs.readdirSync)(directory);
|
|
79
79
|
} catch {
|
|
80
80
|
return void 0;
|
|
81
81
|
}
|
|
@@ -87,7 +87,7 @@ function findNewestAsar(dir) {
|
|
|
87
87
|
}
|
|
88
88
|
const version = match.groups?.["version"] ?? "";
|
|
89
89
|
if (!newest || (0, import_obsidian_version.compareVersions)(version, newest.version) > 0) {
|
|
90
|
-
newest = { path: (0, import_node_path.join)(
|
|
90
|
+
newest = { path: (0, import_node_path.join)(directory, entry), version };
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
return newest;
|
|
@@ -133,4 +133,4 @@ function getAsarDownloadUrls(version) {
|
|
|
133
133
|
getCachedAsarPath,
|
|
134
134
|
resolveConcreteVersion
|
|
135
135
|
});
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuLXZlcnNpb24tc3dpdGNoLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogSW50ZWdyYXRpb24tdGltZSBoZWxwZXJzIGZvciBwcm92aXNpb25pbmcgYSBzcGVjaWZpYyBPYnNpZGlhbiAqKmFzYXIqKiAodGhlXG4gKiBhcHAgY29kZSkgaW50byBhbiBpc29sYXRlZCB1c2VyLWRhdGEgZGlyLlxuICpcbiAqIE9ic2lkaWFuJ3MgYm9vdHN0cmFwIGxvYWRzIHRoZSBoaWdoZXN0IG9mIChpdHMgc2hlbGwncyBidW5kbGVkXG4gKiBgcmVzb3VyY2VzL29ic2lkaWFuLmFzYXJgLCB0aGUgYG9ic2lkaWFuLTx2ZXJzaW9uPi5hc2FyYCBmaWxlcyBpbiB0aGVcbiAqIHVzZXItZGF0YSBkaXIpLiBTbyBwbGFjaW5nIGFuIGFzYXIgaGVyZSBvbmx5IHRha2VzIGVmZmVjdCB3aGVuIGl0cyB2ZXJzaW9uIGlzXG4gKiAqKj49IHRoZSBzaGVsbCdzIGJ1bmRsZWQgdmVyc2lvbioqICh1cGdyYWRlLW9ubHkgXHUyMDE0IGNvbmZpcm1lZCBieSB0aGUgUGhhc2UgMFxuICogc3Bpa2UpLiBSdW5uaW5nIGFuIG9sZGVyIHZlcnNpb24gcmVxdWlyZXMgcGlubmluZyB0aGUgaW5zdGFsbGVyL3NoZWxsIGluc3RlYWRcbiAqIChzZWUgYG9ic2lkaWFuLWluc3RhbGxlci50c2ApLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBJbnRlZ3JhdGlvbi10aW1lIGRvd25sb2FkL2ZpbGVzeXN0ZW0gZ2x1ZSBjb3ZlcmVkIGJ5IGludGVncmF0aW9uIHRlc3RzLCBub3QgdW5pdCB0ZXN0cy4gKi9cblxuaW1wb3J0IHtcbiAgY29weUZpbGVTeW5jLFxuICBleGlzdHNTeW5jLFxuICBta2RpclN5bmMsXG4gIHJlYWRkaXJTeW5jLFxuICB3cml0ZUZpbGVTeW5jXG59IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgdG1wZGlyIH0gZnJvbSAnbm9kZTpvcyc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB7IGd1bnppcFN5bmMgfSBmcm9tICdub2RlOnpsaWInO1xuXG5pbXBvcnQgdHlwZSB7IERlc2t0b3BSZWxlYXNlc01hbmlmZXN0IH0gZnJvbSAnLi9vYnNpZGlhbi12ZXJzaW9uLmNqcyc7XG5cbmltcG9ydCB7IGxvZyB9IGZyb20gJy4vbG9nLmNqcyc7XG5pbXBvcnQgeyBnZXRWZXJzaW9uTWV0YWRhdGEgfSBmcm9tICcuL29ic2lkaWFuLW1ldGFkYXRhLmNqcyc7XG5pbXBvcnQge1xuICBjb21wYXJlVmVyc2lvbnMsXG4gIERFU0tUT1BfUkVMRUFTRVNfTUFOSUZFU1RfVVJMLFxuICBnZXRWZXJzaW9uQXNhckZpbGVOYW1lLFxuICBwYXJzZVZlcnNpb25TcGVjLFxuICByZXNvbHZlVmVyc2lvbkZyb21NYW5pZmVzdFxufSBmcm9tICcuL29ic2lkaWFuLXZlcnNpb24uY2pzJztcblxuLyoqXG4gKiBCcm93c2VyIFVzZXItQWdlbnQgcmVxdWlyZWQgdG8gZmV0Y2ggYXNhciBwYWNrYWdlcyBmcm9tXG4gKiBgcmVsZWFzZXMub2JzaWRpYW4ubWRgICh0aGUgZW5kcG9pbnQgaXMgQ2xvdWRmbGFyZS1nYXRlZCBhZ2FpbnN0IG5vbi1icm93c2VyXG4gKiBjbGllbnRzKS4gTWF0Y2hlcyB0aGUgVUEgZG9jdW1lbnRlZCBpbiB0aGUgb2JzaWRpYW4tdmVyc2lvbnMgcmVwby5cbiAqL1xuY29uc3QgRE9XTkxPQURfVVNFUl9BR0VOVCA9ICdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvODYuMC40MjQwLjE4MyBTYWZhcmkvNTM3LjM2JztcblxuLyoqXG4gKiBCYXNlIFVSTCBmb3IgKipwdWJsaWMqKiAoc3RhYmxlKSByZWxlYXNlIGFzYXJzLCBwdWJsaXNoZWQgYXMgR2l0SHViIHJlbGVhc2VcbiAqIGFzc2V0cyB1bmRlciBgLi4uL2Rvd25sb2FkL3Y8dmVyc2lvbj4vb2JzaWRpYW4tPHZlcnNpb24+LmFzYXIuZ3pgLlxuICovXG5jb25zdCBQVUJMSUNfQVNBUl9SRUxFQVNFX0JBU0VfVVJMID0gJ2h0dHBzOi8vZ2l0aHViLmNvbS9vYnNpZGlhbm1kL29ic2lkaWFuLXJlbGVhc2VzL3JlbGVhc2VzL2Rvd25sb2FkJztcblxuLyoqXG4gKiBCYXNlIFVSTCBmb3IgKipjYXRhbHlzdCoqIChlYXJseSBhY2Nlc3MgLyBpbnNpZGVyKSByZWxlYXNlIGFzYXJzLCBzZXJ2ZWQgZnJvbVxuICogdGhlIE9ic2lkaWFuIENETiBhcyBgLi4uL3JlbGVhc2Uvb2JzaWRpYW4tPHZlcnNpb24+LmFzYXIuZ3pgLiBQdWJsaWMgdmVyc2lvbnNcbiAqIGFyZSBOT1QgaG9zdGVkIGhlcmUgKHRoZSBDRE4gcmV0dXJucyBhbiBlbXB0eSBib2R5IGZvciB0aGVtKS5cbiAqL1xuY29uc3QgQ0FUQUxZU1RfQVNBUl9SRUxFQVNFX0JBU0VfVVJMID0gJ2h0dHBzOi8vcmVsZWFzZXMub2JzaWRpYW4ubWQvcmVsZWFzZSc7XG5cbmNvbnN0IENBQ0hFX1JPT1QgPSBqb2luKHRtcGRpcigpLCAnb2JzaWRpYW4taW50ZWdyYXRpb24tdGVzdGluZycpO1xuY29uc3QgQVNBUl9DQUNIRV9ESVIgPSBqb2luKENBQ0hFX1JPT1QsICdhc2FyLWNhY2hlJyk7XG5jb25zdCBBU0FSX0ZJTEVfUEFUVEVSTiA9IC9eb2JzaWRpYW4tKD88dmVyc2lvbj5cXGQrXFwuXFxkK1xcLlxcZCspXFwuYXNhciQvO1xuXG4vKipcbiAqIEEgZGlzY292ZXJlZCBgb2JzaWRpYW4tPHZlcnNpb24+LmFzYXJgIGZpbGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY292ZXJlZEFzYXIge1xuICAvKiogQWJzb2x1dGUgcGF0aCB0byB0aGUgYXNhciBmaWxlLiAqL1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBgeC55LnpgIHZlcnNpb24gcGFyc2VkIGZyb20gdGhlIGZpbGUgbmFtZS4gKi9cbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvcGllcyBhbiBhc2FyIGZpbGUgaW50byBhIHVzZXItZGF0YSBkaXIgdW5kZXIgaXRzIGNhbm9uaWNhbFxuICogYG9ic2lkaWFuLTx2ZXJzaW9uPi5hc2FyYCBuYW1lLlxuICpcbiAqIEBwYXJhbSBhc2FyUGF0aCAtIFNvdXJjZSBhc2FyIHBhdGguXG4gKiBAcGFyYW0gdmVyc2lvbiAtIFRoZSBhc2FyJ3MgdmVyc2lvbiAodXNlZCBmb3IgdGhlIGRlc3RpbmF0aW9uIGZpbGUgbmFtZSkuXG4gKiBAcGFyYW0gdXNlckRhdGFEaXIgLSBEZXN0aW5hdGlvbiB1c2VyLWRhdGEgZGlyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29weUFzYXJJbnRvVXNlckRhdGEoYXNhclBhdGg6IHN0cmluZywgdmVyc2lvbjogc3RyaW5nLCB1c2VyRGF0YURpcjogc3RyaW5nKTogdm9pZCB7XG4gIG1rZGlyU3luYyh1c2VyRGF0YURpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIGNvbnN0IGRlc3QgPSBqb2luKHVzZXJEYXRhRGlyLCBnZXRWZXJzaW9uQXNhckZpbGVOYW1lKHZlcnNpb24pKTtcbiAgY29weUZpbGVTeW5jKGFzYXJQYXRoLCBkZXN0KTtcbiAgbG9nKGBbdmVyc2lvbi1zd2l0Y2hdIFByb3Zpc2lvbmVkICR7Z2V0VmVyc2lvbkFzYXJGaWxlTmFtZSh2ZXJzaW9uKX0gaW50byAke3VzZXJEYXRhRGlyfS5gKTtcbn1cblxuLyoqXG4gKiBFbnN1cmVzIHRoZSBhc2FyIGZvciBhIGNvbmNyZXRlIHZlcnNpb24gaXMgcHJlc2VudCBpbiB0aGUgbG9jYWwgY2FjaGUsXG4gKiBkb3dubG9hZGluZyBhbmQgZGVjb21wcmVzc2luZyBpdCBpZiBuZWNlc3NhcnkuXG4gKlxuICogQHBhcmFtIHZlcnNpb24gLSBBIGNvbmNyZXRlIGB4LnkuemAgdmVyc2lvbi5cbiAqIEByZXR1cm5zIFRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSBjYWNoZWQgYXNhci5cbiAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIGRvd25sb2FkIGZhaWxzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5zdXJlQXNhckNhY2hlZCh2ZXJzaW9uOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBta2RpclN5bmMoQVNBUl9DQUNIRV9ESVIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICBjb25zdCBjYWNoZWRQYXRoID0gZ2V0Q2FjaGVkQXNhclBhdGgodmVyc2lvbik7XG4gIGlmIChleGlzdHNTeW5jKGNhY2hlZFBhdGgpKSB7XG4gICAgbG9nKGBbdmVyc2lvbi1zd2l0Y2hdIFVzaW5nIGNhY2hlZCBhc2FyIGZvciAke3ZlcnNpb259LmApO1xuICAgIHJldHVybiBjYWNoZWRQYXRoO1xuICB9XG5cbiAgLy8gQSB2ZXJzaW9uJ3MgYXNhci5neiBsaXZlcyBvbiBleGFjdGx5IG9uZSBob3N0IGRlcGVuZGluZyBvbiBpdHMgY2hhbm5lbFxuICAvLyAocHVibGljIFx1MjE5MiBHaXRIdWIgcmVsZWFzZSBhc3NldHMsIGNhdGFseXN0IFx1MjE5MiB0aGUgT2JzaWRpYW4gQ0ROKS4gVGhlIGNvbmNyZXRlXG4gIC8vIFZlcnNpb24gYWxvbmUgZG9lcyBub3QgdGVsbCB1cyB3aGljaCwgc28gdHJ5IGJvdGggYW5kIHVzZSB0aGUgZmlyc3QgdGhhdFxuICAvLyBSZXR1cm5zIGEgdmFsaWQgYXJjaGl2ZS5cbiAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGNvbnN0IHVybCBvZiBnZXRBc2FyRG93bmxvYWRVcmxzKHZlcnNpb24pKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGFzYXIgPSBhd2FpdCBkb3dubG9hZEFuZERlY29tcHJlc3NBc2FyKHVybCk7XG4gICAgICB3cml0ZUZpbGVTeW5jKGNhY2hlZFBhdGgsIGFzYXIpO1xuICAgICAgbG9nKGBbdmVyc2lvbi1zd2l0Y2hdIENhY2hlZCBhc2FyICR7dmVyc2lvbn0gKCR7U3RyaW5nKGFzYXIubGVuZ3RoKX0gYnl0ZXMpIC0+ICR7Y2FjaGVkUGF0aH1gKTtcbiAgICAgIHJldHVybiBjYWNoZWRQYXRoO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBlcnJvcnMucHVzaChgJHt1cmx9OiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKX1gKTtcbiAgICB9XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBkb3dubG9hZCBPYnNpZGlhbiBhc2FyICR7dmVyc2lvbn0uIEF0dGVtcHRzOiAke2Vycm9ycy5qb2luKCc7ICcpfWApO1xufVxuXG4vKipcbiAqIEZldGNoZXMgYW5kIHBhcnNlcyBPYnNpZGlhbidzIGRlc2t0b3AgcmVsZWFzZXMgbWFuaWZlc3QuXG4gKlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBtYW5pZmVzdC5cbiAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIG1hbmlmZXN0IGNhbm5vdCBiZSBmZXRjaGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hEZXNrdG9wUmVsZWFzZXNNYW5pZmVzdCgpOiBQcm9taXNlPERlc2t0b3BSZWxlYXNlc01hbmlmZXN0PiB7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goREVTS1RPUF9SRUxFQVNFU19NQU5JRkVTVF9VUkwpO1xuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gZmV0Y2ggZGVza3RvcCByZWxlYXNlcyBtYW5pZmVzdDogSFRUUCAke1N0cmluZyhyZXNwb25zZS5zdGF0dXMpfWApO1xuICB9XG4gIHJldHVybiBhd2FpdCByZXNwb25zZS5qc29uKCkgYXMgRGVza3RvcFJlbGVhc2VzTWFuaWZlc3Q7XG59XG5cbi8qKlxuICogRmluZHMgdGhlIG5ld2VzdCBgb2JzaWRpYW4tPHZlcnNpb24+LmFzYXJgIGluIGEgZGlyZWN0b3J5LlxuICpcbiAqIEBwYXJhbSBkaXIgLSBUaGUgZGlyZWN0b3J5IHRvIHNjYW4gKGUuZy4gdGhlIHVzZXIncyBPYnNpZGlhbiBjb25maWcgZGlyKS5cbiAqIEByZXR1cm5zIFRoZSBuZXdlc3QgZGlzY292ZXJlZCBhc2FyLCBvciBgdW5kZWZpbmVkYCBpZiBub25lIC8gdGhlIGRpciBpcyB1bnJlYWRhYmxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZE5ld2VzdEFzYXIoZGlyOiBzdHJpbmcpOiBEaXNjb3ZlcmVkQXNhciB8IHVuZGVmaW5lZCB7XG4gIGxldCBlbnRyaWVzOiBzdHJpbmdbXTtcbiAgdHJ5IHtcbiAgICBlbnRyaWVzID0gcmVhZGRpclN5bmMoZGlyKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGxldCBuZXdlc3Q6IERpc2NvdmVyZWRBc2FyIHwgdW5kZWZpbmVkO1xuICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICBjb25zdCBtYXRjaCA9IEFTQVJfRklMRV9QQVRURVJOLmV4ZWMoZW50cnkpO1xuICAgIGlmICghbWF0Y2gpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBjb25zdCB2ZXJzaW9uID0gbWF0Y2guZ3JvdXBzPy5bJ3ZlcnNpb24nXSA/PyAnJztcbiAgICBpZiAoIW5ld2VzdCB8fCBjb21wYXJlVmVyc2lvbnModmVyc2lvbiwgbmV3ZXN0LnZlcnNpb24pID4gMCkge1xuICAgICAgbmV3ZXN0ID0geyBwYXRoOiBqb2luKGRpciwgZW50cnkpLCB2ZXJzaW9uIH07XG4gICAgfVxuICB9XG4gIHJldHVybiBuZXdlc3Q7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgbG9jYWwgY2FjaGUgcGF0aCBmb3IgYSBjb25jcmV0ZSB2ZXJzaW9uJ3MgYXNhciAodGhlIGZpbGUgbWF5IG5vdFxuICogeWV0IGV4aXN0KS5cbiAqXG4gKiBAcGFyYW0gdmVyc2lvbiAtIEEgY29uY3JldGUgYHgueS56YCB2ZXJzaW9uLlxuICogQHJldHVybnMgVGhlIGFic29sdXRlIHBhdGggdGhlIGFzYXIgaXMgY2FjaGVkIGF0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2FjaGVkQXNhclBhdGgodmVyc2lvbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGpvaW4oQVNBUl9DQUNIRV9ESVIsIGdldFZlcnNpb25Bc2FyRmlsZU5hbWUodmVyc2lvbikpO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIGEgdmVyc2lvbiBzcGVjaWZpZXIgKGV4cGxpY2l0IG9yIGNoYW5uZWwgYWxpYXMpIHRvIGEgY29uY3JldGVcbiAqIGB4LnkuemAgdmVyc2lvbiwgZmV0Y2hpbmcgdGhlIG1hbmlmZXN0IG9ubHkgd2hlbiBhIGNoYW5uZWwgYWxpYXMgaXMgdXNlZC5cbiAqXG4gKiBAcGFyYW0gc3BlYyAtIFRoZSB2ZXJzaW9uIHNwZWNpZmllci5cbiAqIEByZXR1cm5zIFRoZSBjb25jcmV0ZSB2ZXJzaW9uLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZUNvbmNyZXRlVmVyc2lvbihzcGVjOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBwYXJzZWQgPSBwYXJzZVZlcnNpb25TcGVjKHNwZWMpO1xuICBpZiAocGFyc2VkLmtpbmQgPT09ICdleHBsaWNpdCcpIHtcbiAgICByZXR1cm4gcGFyc2VkLnZlcnNpb247XG4gIH1cbiAgY29uc3QgbWFuaWZlc3QgPSBhd2FpdCBmZXRjaERlc2t0b3BSZWxlYXNlc01hbmlmZXN0KCk7XG4gIHJldHVybiByZXNvbHZlVmVyc2lvbkZyb21NYW5pZmVzdChtYW5pZmVzdCwgcGFyc2VkLmNoYW5uZWwpO1xufVxuXG4vKipcbiAqIERvd25sb2FkcyBhIGd6aXAtY29tcHJlc3NlZCBhc2FyIGZyb20gYSBVUkwgYW5kIGRlY29tcHJlc3NlcyBpdC5cbiAqXG4gKiBAcGFyYW0gdXJsIC0gVGhlIGAuYXNhci5nemAgVVJMLlxuICogQHJldHVybnMgVGhlIGRlY29tcHJlc3NlZCBhc2FyIGJ5dGVzLlxuICogQHRocm93cyBFcnJvciBpZiB0aGUgcmVxdWVzdCBmYWlscywgdGhlIGJvZHkgaXMgZW1wdHksIG9yIGRlY29tcHJlc3Npb24gZmFpbHMuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGRvd25sb2FkQW5kRGVjb21wcmVzc0FzYXIodXJsOiBzdHJpbmcpOiBQcm9taXNlPEJ1ZmZlcj4ge1xuICBsb2coYFt2ZXJzaW9uLXN3aXRjaF0gRG93bmxvYWRpbmcgYXNhciBmcm9tICR7dXJsfSAuLi5gKTtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwsIHsgaGVhZGVyczogeyAnVXNlci1BZ2VudCc6IERPV05MT0FEX1VTRVJfQUdFTlQgfSB9KTtcbiAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgIHRocm93IG5ldyBFcnJvcihgSFRUUCAke1N0cmluZyhyZXNwb25zZS5zdGF0dXMpfWApO1xuICB9XG5cbiAgY29uc3QgZ3ogPSBCdWZmZXIuZnJvbShhd2FpdCByZXNwb25zZS5hcnJheUJ1ZmZlcigpKTtcbiAgaWYgKGd6Lmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignZW1wdHkgcmVzcG9uc2UgYm9keScpO1xuICB9XG4gIHJldHVybiBndW56aXBTeW5jKGd6KTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBjYW5kaWRhdGUgYC5hc2FyLmd6YCBkb3dubG9hZCBVUkxzIGZvciBhIGNvbmNyZXRlIHZlcnNpb24uXG4gKlxuICogVGhlIHZlcnNpb24ncyBleGFjdCBVUkwgYmFrZWQgaW50byB0aGUgYG1ldGFkYXRhLmpzb25gIGNhdGFsb2cgKGZyb20gdXBzdHJlYW1cbiAqIGBvYnNpZGlhbi12ZXJzaW9ucy5qc29uYCkgaXMgdHJpZWQgZmlyc3Qgd2hlbiBwcmVzZW50OyB0aGUgaGFuZC1yb2xsZWQgcHVibGljXG4gKiAoR2l0SHViKSBhbmQgY2F0YWx5c3QgKENETikgZ3Vlc3NlcyBmb2xsb3cgYXMgYSBmYWxsYmFjayBmb3IgdmVyc2lvbnMgYWJzZW50XG4gKiBmcm9tIHRoZSBjYXRhbG9nIChvciBhIHN0YWxlIGNhdGFsb2cpLlxuICpcbiAqIEBwYXJhbSB2ZXJzaW9uIC0gQSBjb25jcmV0ZSBgeC55LnpgIHZlcnNpb24uXG4gKiBAcmV0dXJucyBUaGUgVVJMcyB0byB0cnksIGluIG9yZGVyLlxuICovXG5mdW5jdGlvbiBnZXRBc2FyRG93bmxvYWRVcmxzKHZlcnNpb246IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgY29uc3QgYXNhckd6RmlsZU5hbWUgPSBgJHtnZXRWZXJzaW9uQXNhckZpbGVOYW1lKHZlcnNpb24pfS5nemA7XG4gIGNvbnN0IGZhbGxiYWNrVXJscyA9IFtcbiAgICBgJHtQVUJMSUNfQVNBUl9SRUxFQVNFX0JBU0VfVVJMfS92JHt2ZXJzaW9ufS8ke2FzYXJHekZpbGVOYW1lfWAsXG4gICAgYCR7Q0FUQUxZU1RfQVNBUl9SRUxFQVNFX0JBU0VfVVJMfS8ke2FzYXJHekZpbGVOYW1lfWBcbiAgXTtcblxuICBjb25zdCBiYWtlZFVybCA9IGdldFZlcnNpb25NZXRhZGF0YSh2ZXJzaW9uKT8uZG93bmxvYWRzPy5hc2FyO1xuICByZXR1cm4gYmFrZWRVcmwgPyBbYmFrZWRVcmwsIC4uLmZhbGxiYWNrVXJsc10gOiBmYWxsYmFja1VybHM7XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQSxxQkFNTztBQUNQLHFCQUF1QjtBQUN2Qix1QkFBcUI7QUFDckIsdUJBQTJCO0FBSTNCLGlCQUFvQjtBQUNwQiwrQkFBbUM7QUFDbkMsOEJBTU87QUFPUCxNQUFNLHNCQUFzQjtBQU01QixNQUFNLCtCQUErQjtBQU9yQyxNQUFNLGlDQUFpQztBQUV2QyxNQUFNLGlCQUFhLDJCQUFLLHVCQUFPLEdBQUcsOEJBQThCO0FBQ2hFLE1BQU0scUJBQWlCLHVCQUFL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
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuLXZlcnNpb24tc3dpdGNoLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogSW50ZWdyYXRpb24tdGltZSBoZWxwZXJzIGZvciBwcm92aXNpb25pbmcgYSBzcGVjaWZpYyBPYnNpZGlhbiAqKmFzYXIqKiAodGhlXG4gKiBhcHAgY29kZSkgaW50byBhbiBpc29sYXRlZCB1c2VyLWRhdGEgZGlyZWN0b3J5LlxuICpcbiAqIE9ic2lkaWFuJ3MgYm9vdHN0cmFwIGxvYWRzIHRoZSBoaWdoZXN0IG9mIChpdHMgc2hlbGwncyBidW5kbGVkXG4gKiBgcmVzb3VyY2VzL29ic2lkaWFuLmFzYXJgLCB0aGUgYG9ic2lkaWFuLTx2ZXJzaW9uPi5hc2FyYCBmaWxlcyBpbiB0aGVcbiAqIHVzZXItZGF0YSBkaXJlY3RvcnkpLiBTbyBwbGFjaW5nIGFuIGFzYXIgaGVyZSBvbmx5IHRha2VzIGVmZmVjdCB3aGVuIGl0cyB2ZXJzaW9uIGlzXG4gKiAqKj49IHRoZSBzaGVsbCdzIGJ1bmRsZWQgdmVyc2lvbioqICh1cGdyYWRlLW9ubHkgXHUyMDE0IGNvbmZpcm1lZCBieSB0aGUgUGhhc2UgMFxuICogc3Bpa2UpLiBSdW5uaW5nIGFuIG9sZGVyIHZlcnNpb24gcmVxdWlyZXMgcGlubmluZyB0aGUgaW5zdGFsbGVyL3NoZWxsIGluc3RlYWRcbiAqIChzZWUgYG9ic2lkaWFuLWluc3RhbGxlci50c2ApLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBJbnRlZ3JhdGlvbi10aW1lIGRvd25sb2FkL2ZpbGVzeXN0ZW0gZ2x1ZSBjb3ZlcmVkIGJ5IGludGVncmF0aW9uIHRlc3RzLCBub3QgdW5pdCB0ZXN0cy4gKi9cblxuaW1wb3J0IHtcbiAgY29weUZpbGVTeW5jLFxuICBleGlzdHNTeW5jLFxuICBta2RpclN5bmMsXG4gIHJlYWRkaXJTeW5jLFxuICB3cml0ZUZpbGVTeW5jXG59IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgdG1wZGlyIH0gZnJvbSAnbm9kZTpvcyc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB7IGd1bnppcFN5bmMgfSBmcm9tICdub2RlOnpsaWInO1xuXG5pbXBvcnQgdHlwZSB7IERlc2t0b3BSZWxlYXNlc01hbmlmZXN0IH0gZnJvbSAnLi9vYnNpZGlhbi12ZXJzaW9uLmNqcyc7XG5cbmltcG9ydCB7IGxvZyB9IGZyb20gJy4vbG9nLmNqcyc7XG5pbXBvcnQgeyBnZXRWZXJzaW9uTWV0YWRhdGEgfSBmcm9tICcuL29ic2lkaWFuLW1ldGFkYXRhLmNqcyc7XG5pbXBvcnQge1xuICBjb21wYXJlVmVyc2lvbnMsXG4gIERFU0tUT1BfUkVMRUFTRVNfTUFOSUZFU1RfVVJMLFxuICBnZXRWZXJzaW9uQXNhckZpbGVOYW1lLFxuICBwYXJzZVZlcnNpb25TcGVjLFxuICByZXNvbHZlVmVyc2lvbkZyb21NYW5pZmVzdFxufSBmcm9tICcuL29ic2lkaWFuLXZlcnNpb24uY2pzJztcblxuLyoqXG4gKiBCcm93c2VyIFVzZXItQWdlbnQgcmVxdWlyZWQgdG8gZmV0Y2ggYXNhciBwYWNrYWdlcyBmcm9tXG4gKiBgcmVsZWFzZXMub2JzaWRpYW4ubWRgICh0aGUgZW5kcG9pbnQgaXMgQ2xvdWRmbGFyZS1nYXRlZCBhZ2FpbnN0IG5vbi1icm93c2VyXG4gKiBjbGllbnRzKS4gTWF0Y2hlcyB0aGUgVUEgZG9jdW1lbnRlZCBpbiB0aGUgb2JzaWRpYW4tdmVyc2lvbnMgcmVwby5cbiAqL1xuY29uc3QgRE9XTkxPQURfVVNFUl9BR0VOVCA9ICdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvODYuMC40MjQwLjE4MyBTYWZhcmkvNTM3LjM2JztcblxuLyoqXG4gKiBCYXNlIFVSTCBmb3IgKipwdWJsaWMqKiAoc3RhYmxlKSByZWxlYXNlIGFzYXJzLCBwdWJsaXNoZWQgYXMgR2l0SHViIHJlbGVhc2VcbiAqIGFzc2V0cyB1bmRlciBgLi4uL2Rvd25sb2FkL3Y8dmVyc2lvbj4vb2JzaWRpYW4tPHZlcnNpb24+LmFzYXIuZ3pgLlxuICovXG5jb25zdCBQVUJMSUNfQVNBUl9SRUxFQVNFX0JBU0VfVVJMID0gJ2h0dHBzOi8vZ2l0aHViLmNvbS9vYnNpZGlhbm1kL29ic2lkaWFuLXJlbGVhc2VzL3JlbGVhc2VzL2Rvd25sb2FkJztcblxuLyoqXG4gKiBCYXNlIFVSTCBmb3IgKipjYXRhbHlzdCoqIChlYXJseSBhY2Nlc3MgLyBpbnNpZGVyKSByZWxlYXNlIGFzYXJzLCBzZXJ2ZWQgZnJvbVxuICogdGhlIE9ic2lkaWFuIENETiBhcyBgLi4uL3JlbGVhc2Uvb2JzaWRpYW4tPHZlcnNpb24+LmFzYXIuZ3pgLiBQdWJsaWMgdmVyc2lvbnNcbiAqIGFyZSBOT1QgaG9zdGVkIGhlcmUgKHRoZSBDRE4gcmV0dXJucyBhbiBlbXB0eSBib2R5IGZvciB0aGVtKS5cbiAqL1xuY29uc3QgQ0FUQUxZU1RfQVNBUl9SRUxFQVNFX0JBU0VfVVJMID0gJ2h0dHBzOi8vcmVsZWFzZXMub2JzaWRpYW4ubWQvcmVsZWFzZSc7XG5cbmNvbnN0IENBQ0hFX1JPT1QgPSBqb2luKHRtcGRpcigpLCAnb2JzaWRpYW4taW50ZWdyYXRpb24tdGVzdGluZycpO1xuY29uc3QgQVNBUl9DQUNIRV9ESVIgPSBqb2luKENBQ0hFX1JPT1QsICdhc2FyLWNhY2hlJyk7XG5jb25zdCBBU0FSX0ZJTEVfUEFUVEVSTiA9IC9eb2JzaWRpYW4tKD88dmVyc2lvbj5cXGQrXFwuXFxkK1xcLlxcZCspXFwuYXNhciQvO1xuXG4vKipcbiAqIEEgZGlzY292ZXJlZCBgb2JzaWRpYW4tPHZlcnNpb24+LmFzYXJgIGZpbGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzY292ZXJlZEFzYXIge1xuICAvKipcbiAgQWJzb2x1dGUgcGF0aCB0byB0aGUgYXNhciBmaWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICBUaGUgYHgueS56YCB2ZXJzaW9uIHBhcnNlZCBmcm9tIHRoZSBmaWxlIG5hbWUuXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29waWVzIGFuIGFzYXIgZmlsZSBpbnRvIGEgdXNlci1kYXRhIGRpcmVjdG9yeSB1bmRlciBpdHMgY2Fub25pY2FsXG4gKiBgb2JzaWRpYW4tPHZlcnNpb24+LmFzYXJgIG5hbWUuXG4gKlxuICogQHBhcmFtIGFzYXJQYXRoIC0gU291cmNlIGFzYXIgcGF0aC5cbiAqIEBwYXJhbSB2ZXJzaW9uIC0gVGhlIGFzYXIncyB2ZXJzaW9uICh1c2VkIGZvciB0aGUgZGVzdGluYXRpb24gZmlsZSBuYW1lKS5cbiAqIEBwYXJhbSB1c2VyRGF0YURpcmVjdG9yeSAtIERlc3RpbmF0aW9uIHVzZXItZGF0YSBkaXJlY3RvcnkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb3B5QXNhckludG9Vc2VyRGF0YShhc2FyUGF0aDogc3RyaW5nLCB2ZXJzaW9uOiBzdHJpbmcsIHVzZXJEYXRhRGlyZWN0b3J5OiBzdHJpbmcpOiB2b2lkIHtcbiAgbWtkaXJTeW5jKHVzZXJEYXRhRGlyZWN0b3J5LCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgY29uc3QgZGVzdGluYXRpb24gPSBqb2luKHVzZXJEYXRhRGlyZWN0b3J5LCBnZXRWZXJzaW9uQXNhckZpbGVOYW1lKHZlcnNpb24pKTtcbiAgY29weUZpbGVTeW5jKGFzYXJQYXRoLCBkZXN0aW5hdGlvbik7XG4gIGxvZyhgW3ZlcnNpb24tc3dpdGNoXSBQcm92aXNpb25lZCAke2dldFZlcnNpb25Bc2FyRmlsZU5hbWUodmVyc2lvbil9IGludG8gJHt1c2VyRGF0YURpcmVjdG9yeX0uYCk7XG59XG5cbi8qKlxuICogRW5zdXJlcyB0aGUgYXNhciBmb3IgYSBjb25jcmV0ZSB2ZXJzaW9uIGlzIHByZXNlbnQgaW4gdGhlIGxvY2FsIGNhY2hlLFxuICogZG93bmxvYWRpbmcgYW5kIGRlY29tcHJlc3NpbmcgaXQgaWYgbmVjZXNzYXJ5LlxuICpcbiAqIEBwYXJhbSB2ZXJzaW9uIC0gQSBjb25jcmV0ZSBgeC55LnpgIHZlcnNpb24uXG4gKiBAcmV0dXJucyBUaGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgY2FjaGVkIGFzYXIuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBkb3dubG9hZCBmYWlscy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuc3VyZUFzYXJDYWNoZWQodmVyc2lvbjogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgbWtkaXJTeW5jKEFTQVJfQ0FDSEVfRElSLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgY29uc3QgY2FjaGVkUGF0aCA9IGdldENhY2hlZEFzYXJQYXRoKHZlcnNpb24pO1xuICBpZiAoZXhpc3RzU3luYyhjYWNoZWRQYXRoKSkge1xuICAgIGxvZyhgW3ZlcnNpb24tc3dpdGNoXSBVc2luZyBjYWNoZWQgYXNhciBmb3IgJHt2ZXJzaW9ufS5gKTtcbiAgICByZXR1cm4gY2FjaGVkUGF0aDtcbiAgfVxuXG4gIC8vIEEgdmVyc2lvbidzIGFzYXIuZ3ogbGl2ZXMgb24gZXhhY3RseSBvbmUgaG9zdCBkZXBlbmRpbmcgb24gaXRzIGNoYW5uZWxcbiAgLy8gKHB1YmxpYyBcdTIxOTIgR2l0SHViIHJlbGVhc2UgYXNzZXRzLCBjYXRhbHlzdCBcdTIxOTIgdGhlIE9ic2lkaWFuIENETikuIFRoZSBjb25jcmV0ZVxuICAvLyBWZXJzaW9uIGFsb25lIGRvZXMgbm90IHRlbGwgdXMgd2hpY2gsIHNvIHRyeSBib3RoIGFuZCB1c2UgdGhlIGZpcnN0IHRoYXRcbiAgLy8gUmV0dXJucyBhIHZhbGlkIGFyY2hpdmUuXG4gIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcbiAgZm9yIChjb25zdCB1cmwgb2YgZ2V0QXNhckRvd25sb2FkVXJscyh2ZXJzaW9uKSkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBhc2FyID0gYXdhaXQgZG93bmxvYWRBbmREZWNvbXByZXNzQXNhcih1cmwpO1xuICAgICAgd3JpdGVGaWxlU3luYyhjYWNoZWRQYXRoLCBhc2FyKTtcbiAgICAgIGxvZyhgW3ZlcnNpb24tc3dpdGNoXSBDYWNoZWQgYXNhciAke3ZlcnNpb259ICgke1N0cmluZyhhc2FyLmxlbmd0aCl9IGJ5dGVzKSAtPiAke2NhY2hlZFBhdGh9YCk7XG4gICAgICByZXR1cm4gY2FjaGVkUGF0aDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgZXJyb3JzLnB1c2goYCR7dXJsfTogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcil9YCk7XG4gICAgfVxuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gZG93bmxvYWQgT2JzaWRpYW4gYXNhciAke3ZlcnNpb259LiBBdHRlbXB0czogJHtlcnJvcnMuam9pbignOyAnKX1gKTtcbn1cblxuLyoqXG4gKiBGZXRjaGVzIGFuZCBwYXJzZXMgT2JzaWRpYW4ncyBkZXNrdG9wIHJlbGVhc2VzIG1hbmlmZXN0LlxuICpcbiAqIEByZXR1cm5zIFRoZSBwYXJzZWQgbWFuaWZlc3QuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBtYW5pZmVzdCBjYW5ub3QgYmUgZmV0Y2hlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoRGVza3RvcFJlbGVhc2VzTWFuaWZlc3QoKTogUHJvbWlzZTxEZXNrdG9wUmVsZWFzZXNNYW5pZmVzdD4ge1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKERFU0tUT1BfUkVMRUFTRVNfTUFOSUZFU1RfVVJMKTtcbiAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGZldGNoIGRlc2t0b3AgcmVsZWFzZXMgbWFuaWZlc3Q6IEhUVFAgJHtTdHJpbmcocmVzcG9uc2Uuc3RhdHVzKX1gKTtcbiAgfVxuICByZXR1cm4gYXdhaXQgcmVzcG9uc2UuanNvbigpIGFzIERlc2t0b3BSZWxlYXNlc01hbmlmZXN0O1xufVxuXG4vKipcbiAqIEZpbmRzIHRoZSBuZXdlc3QgYG9ic2lkaWFuLTx2ZXJzaW9uPi5hc2FyYCBpbiBhIGRpcmVjdG9yeS5cbiAqXG4gKiBAcGFyYW0gZGlyZWN0b3J5IC0gVGhlIGRpcmVjdG9yeSB0byBzY2FuIChlLmcuIHRoZSB1c2VyJ3MgT2JzaWRpYW4gY29uZmlnIGRpcmVjdG9yeSkuXG4gKiBAcmV0dXJucyBUaGUgbmV3ZXN0IGRpc2NvdmVyZWQgYXNhciwgb3IgYHVuZGVmaW5lZGAgaWYgbm9uZSAvIHRoZSBkaXJlY3RvcnkgaXMgdW5yZWFkYWJsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmROZXdlc3RBc2FyKGRpcmVjdG9yeTogc3RyaW5nKTogRGlzY292ZXJlZEFzYXIgfCB1bmRlZmluZWQge1xuICBsZXQgZW50cmllczogc3RyaW5nW107XG4gIHRyeSB7XG4gICAgZW50cmllcyA9IHJlYWRkaXJTeW5jKGRpcmVjdG9yeSk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBsZXQgbmV3ZXN0OiBEaXNjb3ZlcmVkQXNhciB8IHVuZGVmaW5lZDtcbiAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgY29uc3QgbWF0Y2ggPSBBU0FSX0ZJTEVfUEFUVEVSTi5leGVjKGVudHJ5KTtcbiAgICBpZiAoIW1hdGNoKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3QgdmVyc2lvbiA9IG1hdGNoLmdyb3Vwcz8uWyd2ZXJzaW9uJ10gPz8gJyc7XG4gICAgaWYgKCFuZXdlc3QgfHwgY29tcGFyZVZlcnNpb25zKHZlcnNpb24sIG5ld2VzdC52ZXJzaW9uKSA+IDApIHtcbiAgICAgIG5ld2VzdCA9IHsgcGF0aDogam9pbihkaXJlY3RvcnksIGVudHJ5KSwgdmVyc2lvbiB9O1xuICAgIH1cbiAgfVxuICByZXR1cm4gbmV3ZXN0O1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGxvY2FsIGNhY2hlIHBhdGggZm9yIGEgY29uY3JldGUgdmVyc2lvbidzIGFzYXIgKHRoZSBmaWxlIG1heSBub3RcbiAqIHlldCBleGlzdCkuXG4gKlxuICogQHBhcmFtIHZlcnNpb24gLSBBIGNvbmNyZXRlIGB4LnkuemAgdmVyc2lvbi5cbiAqIEByZXR1cm5zIFRoZSBhYnNvbHV0ZSBwYXRoIHRoZSBhc2FyIGlzIGNhY2hlZCBhdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENhY2hlZEFzYXJQYXRoKHZlcnNpb246IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBqb2luKEFTQVJfQ0FDSEVfRElSLCBnZXRWZXJzaW9uQXNhckZpbGVOYW1lKHZlcnNpb24pKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyBhIHZlcnNpb24gc3BlY2lmaWVyIChleHBsaWNpdCBvciBjaGFubmVsIGFsaWFzKSB0byBhIGNvbmNyZXRlXG4gKiBgeC55LnpgIHZlcnNpb24sIGZldGNoaW5nIHRoZSBtYW5pZmVzdCBvbmx5IHdoZW4gYSBjaGFubmVsIGFsaWFzIGlzIHVzZWQuXG4gKlxuICogQHBhcmFtIHNwZWMgLSBUaGUgdmVyc2lvbiBzcGVjaWZpZXIuXG4gKiBAcmV0dXJucyBUaGUgY29uY3JldGUgdmVyc2lvbi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVDb25jcmV0ZVZlcnNpb24oc3BlYzogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgcGFyc2VkID0gcGFyc2VWZXJzaW9uU3BlYyhzcGVjKTtcbiAgaWYgKHBhcnNlZC5raW5kID09PSAnZXhwbGljaXQnKSB7XG4gICAgcmV0dXJuIHBhcnNlZC52ZXJzaW9uO1xuICB9XG4gIGNvbnN0IG1hbmlmZXN0ID0gYXdhaXQgZmV0Y2hEZXNrdG9wUmVsZWFzZXNNYW5pZmVzdCgpO1xuICByZXR1cm4gcmVzb2x2ZVZlcnNpb25Gcm9tTWFuaWZlc3QobWFuaWZlc3QsIHBhcnNlZC5jaGFubmVsKTtcbn1cblxuLyoqXG4gKiBEb3dubG9hZHMgYSBnemlwLWNvbXByZXNzZWQgYXNhciBmcm9tIGEgVVJMIGFuZCBkZWNvbXByZXNzZXMgaXQuXG4gKlxuICogQHBhcmFtIHVybCAtIFRoZSBgLmFzYXIuZ3pgIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBkZWNvbXByZXNzZWQgYXNhciBieXRlcy5cbiAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIHJlcXVlc3QgZmFpbHMsIHRoZSBib2R5IGlzIGVtcHR5LCBvciBkZWNvbXByZXNzaW9uIGZhaWxzLlxuICovXG5hc3luYyBmdW5jdGlvbiBkb3dubG9hZEFuZERlY29tcHJlc3NBc2FyKHVybDogc3RyaW5nKTogUHJvbWlzZTxCdWZmZXI+IHtcbiAgbG9nKGBbdmVyc2lvbi1zd2l0Y2hdIERvd25sb2FkaW5nIGFzYXIgZnJvbSAke3VybH0gLi4uYCk7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsLCB7IGhlYWRlcnM6IHsgJ1VzZXItQWdlbnQnOiBET1dOTE9BRF9VU0VSX0FHRU5UIH0gfSk7XG4gIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEhUVFAgJHtTdHJpbmcocmVzcG9uc2Uuc3RhdHVzKX1gKTtcbiAgfVxuXG4gIGNvbnN0IGd6ID0gQnVmZmVyLmZyb20oYXdhaXQgcmVzcG9uc2UuYXJyYXlCdWZmZXIoKSk7XG4gIGlmIChnei5sZW5ndGggPT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2VtcHR5IHJlc3BvbnNlIGJvZHknKTtcbiAgfVxuICByZXR1cm4gZ3VuemlwU3luYyhneik7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgY2FuZGlkYXRlIGAuYXNhci5nemAgZG93bmxvYWQgVVJMcyBmb3IgYSBjb25jcmV0ZSB2ZXJzaW9uLlxuICpcbiAqIFRoZSB2ZXJzaW9uJ3MgZXhhY3QgVVJMIGJha2VkIGludG8gdGhlIGBtZXRhZGF0YS5qc29uYCBjYXRhbG9nIChmcm9tIHVwc3RyZWFtXG4gKiBgb2JzaWRpYW4tdmVyc2lvbnMuanNvbmApIGlzIHRyaWVkIGZpcnN0IHdoZW4gcHJlc2VudDsgdGhlIGhhbmQtcm9sbGVkIHB1YmxpY1xuICogKEdpdEh1YikgYW5kIGNhdGFseXN0IChDRE4pIGd1ZXNzZXMgZm9sbG93IGFzIGEgZmFsbGJhY2sgZm9yIHZlcnNpb25zIGFic2VudFxuICogZnJvbSB0aGUgY2F0YWxvZyAob3IgYSBzdGFsZSBjYXRhbG9nKS5cbiAqXG4gKiBAcGFyYW0gdmVyc2lvbiAtIEEgY29uY3JldGUgYHgueS56YCB2ZXJzaW9uLlxuICogQHJldHVybnMgVGhlIFVSTHMgdG8gdHJ5LCBpbiBvcmRlci5cbiAqL1xuZnVuY3Rpb24gZ2V0QXNhckRvd25sb2FkVXJscyh2ZXJzaW9uOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGFzYXJHekZpbGVOYW1lID0gYCR7Z2V0VmVyc2lvbkFzYXJGaWxlTmFtZSh2ZXJzaW9uKX0uZ3pgO1xuICBjb25zdCBmYWxsYmFja1VybHMgPSBbXG4gICAgYCR7UFVCTElDX0FTQVJfUkVMRUFTRV9CQVNFX1VSTH0vdiR7dmVyc2lvbn0vJHthc2FyR3pGaWxlTmFtZX1gLFxuICAgIGAke0NBVEFMWVNUX0FTQVJfUkVMRUFTRV9CQVNFX1VSTH0vJHthc2FyR3pGaWxlTmFtZX1gXG4gIF07XG5cbiAgY29uc3QgYmFrZWRVcmwgPSBnZXRWZXJzaW9uTWV0YWRhdGEodmVyc2lvbik/LmRvd25sb2Fkcz8uYXNhcjtcbiAgcmV0dXJuIGJha2VkVXJsID8gW2Jha2VkVXJsLCAuLi5mYWxsYmFja1VybHNdIDogZmFsbGJhY2tVcmxzO1xufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFnQkEscUJBTU87QUFDUCxxQkFBdUI7QUFDdkIsdUJBQXFCO0FBQ3JCLHVCQUEyQjtBQUkzQixpQkFBb0I7QUFDcEIsK0JBQW1DO0FBQ25DLDhCQU1P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
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* @file
|
|
3
3
|
*
|
|
4
4
|
* Integration-time helpers for provisioning a specific Obsidian **asar** (the
|
|
5
|
-
* app code) into an isolated user-data
|
|
5
|
+
* app code) into an isolated user-data directory.
|
|
6
6
|
*
|
|
7
7
|
* Obsidian's bootstrap loads the highest of (its shell's bundled
|
|
8
8
|
* `resources/obsidian.asar`, the `obsidian-<version>.asar` files in the
|
|
9
|
-
* user-data
|
|
9
|
+
* user-data directory). So placing an asar here only takes effect when its version is
|
|
10
10
|
* **>= the shell's bundled version** (upgrade-only — confirmed by the Phase 0
|
|
11
11
|
* spike). Running an older version requires pinning the installer/shell instead
|
|
12
12
|
* (see `obsidian-installer.ts`).
|
|
@@ -16,20 +16,24 @@ import type { DesktopReleasesManifest } from './obsidian-version.cjs';
|
|
|
16
16
|
* A discovered `obsidian-<version>.asar` file.
|
|
17
17
|
*/
|
|
18
18
|
export interface DiscoveredAsar {
|
|
19
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
Absolute path to the asar file.
|
|
21
|
+
*/
|
|
20
22
|
readonly path: string;
|
|
21
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
The `x.y.z` version parsed from the file name.
|
|
25
|
+
*/
|
|
22
26
|
readonly version: string;
|
|
23
27
|
}
|
|
24
28
|
/**
|
|
25
|
-
* Copies an asar file into a user-data
|
|
29
|
+
* Copies an asar file into a user-data directory under its canonical
|
|
26
30
|
* `obsidian-<version>.asar` name.
|
|
27
31
|
*
|
|
28
32
|
* @param asarPath - Source asar path.
|
|
29
33
|
* @param version - The asar's version (used for the destination file name).
|
|
30
|
-
* @param
|
|
34
|
+
* @param userDataDirectory - Destination user-data directory.
|
|
31
35
|
*/
|
|
32
|
-
export declare function copyAsarIntoUserData(asarPath: string, version: string,
|
|
36
|
+
export declare function copyAsarIntoUserData(asarPath: string, version: string, userDataDirectory: string): void;
|
|
33
37
|
/**
|
|
34
38
|
* Ensures the asar for a concrete version is present in the local cache,
|
|
35
39
|
* downloading and decompressing it if necessary.
|
|
@@ -49,10 +53,10 @@ export declare function fetchDesktopReleasesManifest(): Promise<DesktopReleasesM
|
|
|
49
53
|
/**
|
|
50
54
|
* Finds the newest `obsidian-<version>.asar` in a directory.
|
|
51
55
|
*
|
|
52
|
-
* @param
|
|
53
|
-
* @returns The newest discovered asar, or `undefined` if none / the
|
|
56
|
+
* @param directory - The directory to scan (e.g. the user's Obsidian config directory).
|
|
57
|
+
* @returns The newest discovered asar, or `undefined` if none / the directory is unreadable.
|
|
54
58
|
*/
|
|
55
|
-
export declare function findNewestAsar(
|
|
59
|
+
export declare function findNewestAsar(directory: string): DiscoveredAsar | undefined;
|
|
56
60
|
/**
|
|
57
61
|
* Returns the local cache path for a concrete version's asar (the file may not
|
|
58
62
|
* yet exist).
|
|
@@ -35,8 +35,8 @@ const VERSION_SEGMENT_COUNT = 3;
|
|
|
35
35
|
function compareVersions(a, b) {
|
|
36
36
|
const aSegments = parseVersionSegments(a);
|
|
37
37
|
const bSegments = parseVersionSegments(b);
|
|
38
|
-
for (let
|
|
39
|
-
const diff = (aSegments[
|
|
38
|
+
for (let index = 0; index < VERSION_SEGMENT_COUNT; index++) {
|
|
39
|
+
const diff = (aSegments[index] ?? 0) - (bSegments[index] ?? 0);
|
|
40
40
|
if (diff !== 0) {
|
|
41
41
|
return diff;
|
|
42
42
|
}
|
|
@@ -82,4 +82,4 @@ function parseVersionSegments(version) {
|
|
|
82
82
|
parseVersionSpec,
|
|
83
83
|
resolveVersionFromManifest
|
|
84
84
|
});
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuLXZlcnNpb24udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBQdXJlIGhlbHBlcnMgZm9yIHJlc29sdmluZyBPYnNpZGlhbiBkZXNrdG9wIHZlcnNpb24gc3BlY2lmaWVycy5cbiAqXG4gKiBBIHZlcnNpb24gc3BlY2lmaWVyIGlzIGVpdGhlciBhbiBleHBsaWNpdCBgeC55LnpgIHN0cmluZyBvciBvbmUgb2YgdGhlXG4gKiBjaGFubmVsIGFsaWFzZXMge0BsaW5rIFBVQkxJQ19MQVRFU1R9IC8ge0BsaW5rIENBVEFMWVNUX0xBVEVTVH0sIHdoaWNoIHJlc29sdmVcbiAqIGFnYWluc3QgT2JzaWRpYW4ncyBwdWJsaXNoZWQgZGVza3RvcCByZWxlYXNlcyBtYW5pZmVzdC5cbiAqXG4gKiBUaGUgbmV0d29yayBjYWxsIHRoYXQgZmV0Y2hlcyB0aGUgbWFuaWZlc3QgbGl2ZXMgaW4gdGhlIGludGVncmF0aW9uLXRpbWVcbiAqIHZlcnNpb24tc3dpdGNoIG1vZHVsZTsgZXZlcnl0aGluZyBoZXJlIGlzIHB1cmUgYW5kIHVuaXQtdGVzdGVkLlxuICovXG5cbi8qKlxuICogVmVyc2lvbiBzcGVjaWZpZXIgYWxpYXMgcmVzb2x2aW5nIHRvIHRoZSBsYXRlc3QgKipwdWJsaWMqKiBkZXNrdG9wIHJlbGVhc2VcbiAqICh0aGUgbWFuaWZlc3QncyBgbGF0ZXN0VmVyc2lvbmApLlxuICovXG5leHBvcnQgY29uc3QgUFVCTElDX0xBVEVTVCA9ICdwdWJsaWMtbGF0ZXN0JztcblxuLyoqXG4gKiBWZXJzaW9uIHNwZWNpZmllciBhbGlhcyByZXNvbHZpbmcgdG8gdGhlIGxhdGVzdCAqKmNhdGFseXN0KiogKGVhcmx5IGFjY2VzcyAvXG4gKiBpbnNpZGVyKSBkZXNrdG9wIHJlbGVhc2UgKHRoZSBtYW5pZmVzdCdzIGBiZXRhLmxhdGVzdFZlcnNpb25gKS5cbiAqL1xuZXhwb3J0IGNvbnN0IENBVEFMWVNUX0xBVEVTVCA9ICdjYXRhbHlzdC1sYXRlc3QnO1xuXG4vKipcbiAqIFVSTCBvZiBPYnNpZGlhbidzIGRlc2t0b3AgcmVsZWFzZXMgbWFuaWZlc3QgKHJhdyBKU09OKS5cbiAqL1xuZXhwb3J0IGNvbnN0IERFU0tUT1BfUkVMRUFTRVNfTUFOSUZFU1RfVVJMID0gJ2h0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9vYnNpZGlhbm1kL29ic2lkaWFuLXJlbGVhc2VzL21hc3Rlci9kZXNrdG9wLXJlbGVhc2VzLmpzb24nO1xuXG5jb25zdCBFWFBMSUNJVF9WRVJTSU9OX1BBVFRFUk4gPSAvXlxcZCtcXC5cXGQrXFwuXFxkKyQvO1xuY29uc3QgVkVSU0lPTl9TRUdNRU5UX0NPVU5UID0gMztcblxuLyoqXG4gKiBBIHZlcnNpb24gc3BlY2lmaWVyIHJlc29sdmVkIGFnYWluc3QgYSByZWxlYXNlIGNoYW5uZWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbm5lbFZlcnNpb25TcGVjIHtcbiAgLyoqXG4gIFRoZSBjaGFubmVsIHRvIHJlc29sdmUgYWdhaW5zdCB0aGUgbWFuaWZlc3QuXG4gICAqL1xuICByZWFkb25seSBjaGFubmVsOiBSZWxlYXNlQ2hhbm5lbDtcblxuICAvKipcbiAgRGlzY3JpbWluYW50LlxuICAgKi9cbiAgcmVhZG9ubHkga2luZDogJ2NoYW5uZWwnO1xufVxuXG4vKipcbiAqIFRoZSBgYmV0YWAgKGNhdGFseXN0KSBlbnRyeSBvZiB7QGxpbmsgRGVza3RvcFJlbGVhc2VzTWFuaWZlc3R9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlc2t0b3BSZWxlYXNlc0JldGEge1xuICAvKipcbiAgVGhlIGxhdGVzdCBjYXRhbHlzdCB2ZXJzaW9uLCBlLmcuIGAnMS4xMy4xJ2AuXG4gICAqL1xuICByZWFkb25seSBsYXRlc3RWZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIHN1YnNldCBvZiBPYnNpZGlhbidzIGBkZXNrdG9wLXJlbGVhc2VzLmpzb25gIHRoaXMgbGlicmFyeSByZWFkcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXNrdG9wUmVsZWFzZXNNYW5pZmVzdCB7XG4gIC8qKlxuICAgKiBUaGUgbGF0ZXN0IGNhdGFseXN0IChlYXJseSBhY2Nlc3MgLyBpbnNpZGVyKSByZWxlYXNlLCB3aGVuIHByZXNlbnQuXG4gICAqL1xuICByZWFkb25seSBiZXRhPzogRGVza3RvcFJlbGVhc2VzQmV0YTtcblxuICAvKipcbiAgICogVGhlIGxhdGVzdCBwdWJsaWMgKHN0YWJsZSkgdmVyc2lvbiwgZS5nLiBgJzEuMTIuNydgLlxuICAgKi9cbiAgcmVhZG9ubHkgbGF0ZXN0VmVyc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgdmVyc2lvbiBzcGVjaWZpZXIgbmFtaW5nIGEgY29uY3JldGUgYHgueS56YCB2ZXJzaW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4cGxpY2l0VmVyc2lvblNwZWMge1xuICAvKipcbiAgRGlzY3JpbWluYW50LlxuICAgKi9cbiAgcmVhZG9ubHkga2luZDogJ2V4cGxpY2l0JztcblxuICAvKipcbiAgVGhlIGNvbmNyZXRlIGB4LnkuemAgdmVyc2lvbi5cbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIHJlbGVhc2UgY2hhbm5lbCByZXNvbHZlZCBmcm9tIGEgY2hhbm5lbC1hbGlhcyBzcGVjaWZpZXIuXG4gKlxuICogLSBgcHVibGljYCBcdTIwMTQgdGhlIGxhdGVzdCBzdGFibGUgcmVsZWFzZS5cbiAqIC0gYGNhdGFseXN0YCBcdTIwMTQgdGhlIGxhdGVzdCBlYXJseSBhY2Nlc3MgLyBpbnNpZGVyIHJlbGVhc2UuXG4gKi9cbmV4cG9ydCB0eXBlIFJlbGVhc2VDaGFubmVsID0gJ2NhdGFseXN0JyB8ICdwdWJsaWMnO1xuXG4vKipcbiAqIFRoZSBwYXJzZWQgZm9ybSBvZiBhIHZlcnNpb24gc3BlY2lmaWVyLlxuICpcbiAqIC0gYGV4cGxpY2l0YCBcdTIwMTQgYSBjb25jcmV0ZSBgeC55LnpgIHZlcnNpb24uXG4gKiAtIGBjaGFubmVsYCBcdTIwMTQgYSBjaGFubmVsIGFsaWFzIHRvIGJlIHJlc29sdmVkIGFnYWluc3QgdGhlIG1hbmlmZXN0LlxuICovXG5leHBvcnQgdHlwZSBWZXJzaW9uU3BlYyA9IENoYW5uZWxWZXJzaW9uU3BlYyB8IEV4cGxpY2l0VmVyc2lvblNwZWM7XG5cbi8qKlxuICogQ29tcGFyZXMgdHdvIGB4LnkuemAgdmVyc2lvbiBzdHJpbmdzIG51bWVyaWNhbGx5LCBzZWdtZW50IGJ5IHNlZ21lbnQuXG4gKlxuICogQHBhcmFtIGEgLSBUaGUgZmlyc3QgdmVyc2lvbi5cbiAqIEBwYXJhbSBiIC0gVGhlIHNlY29uZCB2ZXJzaW9uLlxuICogQHJldHVybnMgQSBuZWdhdGl2ZSBudW1iZXIgaWYgYGEgPCBiYCwgYDBgIGlmIGVxdWFsLCBhIHBvc2l0aXZlIG51bWJlciBpZiBgYSA+IGJgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcGFyZVZlcnNpb25zKGE6IHN0cmluZywgYjogc3RyaW5nKTogbnVtYmVyIHtcbiAgY29uc3QgYVNlZ21lbnRzID0gcGFyc2VWZXJzaW9uU2VnbWVudHMoYSk7XG4gIGNvbnN0IGJTZWdtZW50cyA9IHBhcnNlVmVyc2lvblNlZ21lbnRzKGIpO1xuXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBWRVJTSU9OX1NFR01FTlRfQ09VTlQ7IGluZGV4KyspIHtcbiAgICBjb25zdCBkaWZmID0gKGFTZWdtZW50c1tpbmRleF0gPz8gMCkgLSAoYlNlZ21lbnRzW2luZGV4XSA/PyAwKTtcbiAgICBpZiAoZGlmZiAhPT0gMCkge1xuICAgICAgcmV0dXJuIGRpZmY7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIDA7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgdXNlci1kYXRhIGFzYXIgZmlsZSBuYW1lIGZvciBhIGdpdmVuIHZlcnNpb24sIG1hdGNoaW5nIHRoZSBuYW1lXG4gKiBPYnNpZGlhbiBpdHNlbGYgdXNlcyB3aGVuIGl0IGRvd25sb2FkcyBhbiB1cGRhdGUgKGBvYnNpZGlhbi08dmVyc2lvbj4uYXNhcmApLlxuICpcbiAqIEBwYXJhbSB2ZXJzaW9uIC0gQSBjb25jcmV0ZSBgeC55LnpgIHZlcnNpb24uXG4gKiBAcmV0dXJucyBUaGUgYXNhciBmaWxlIG5hbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZXJzaW9uQXNhckZpbGVOYW1lKHZlcnNpb246IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgb2JzaWRpYW4tJHt2ZXJzaW9ufS5hc2FyYDtcbn1cblxuLyoqXG4gKiBQYXJzZXMgYSB2ZXJzaW9uIHNwZWNpZmllciBpbnRvIGVpdGhlciBhbiBleHBsaWNpdCB2ZXJzaW9uIG9yIGEgY2hhbm5lbCBhbGlhcy5cbiAqXG4gKiBAcGFyYW0gc3BlYyAtIFRoZSBzcGVjaWZpZXI6IGFuIGB4LnkuemAgc3RyaW5nLCB7QGxpbmsgUFVCTElDX0xBVEVTVH0sIG9yIHtAbGluayBDQVRBTFlTVF9MQVRFU1R9LlxuICogQHJldHVybnMgVGhlIHBhcnNlZCB7QGxpbmsgVmVyc2lvblNwZWN9LlxuICogQHRocm93cyBFcnJvciBpZiB0aGUgc3BlY2lmaWVyIGlzIG5laXRoZXIgYSB2YWxpZCBgeC55LnpgIHZlcnNpb24gbm9yIGEga25vd24gYWxpYXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVZlcnNpb25TcGVjKHNwZWM6IHN0cmluZyk6IFZlcnNpb25TcGVjIHtcbiAgaWYgKHNwZWMgPT09IFBVQkxJQ19MQVRFU1QpIHtcbiAgICByZXR1cm4geyBjaGFubmVsOiAncHVibGljJywga2luZDogJ2NoYW5uZWwnIH07XG4gIH1cblxuICBpZiAoc3BlYyA9PT0gQ0FUQUxZU1RfTEFURVNUKSB7XG4gICAgcmV0dXJuIHsgY2hhbm5lbDogJ2NhdGFseXN0Jywga2luZDogJ2NoYW5uZWwnIH07XG4gIH1cblxuICBpZiAoRVhQTElDSVRfVkVSU0lPTl9QQVRURVJOLnRlc3Qoc3BlYykpIHtcbiAgICByZXR1cm4geyBraW5kOiAnZXhwbGljaXQnLCB2ZXJzaW9uOiBzcGVjIH07XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgYEludmFsaWQgT2JzaWRpYW4gdmVyc2lvbiBcIiR7c3BlY31cIi4gRXhwZWN0ZWQgYW4gXCJ4LnkuelwiIHZlcnNpb24sIFwiJHtQVUJMSUNfTEFURVNUfVwiLCBvciBcIiR7Q0FUQUxZU1RfTEFURVNUfVwiLmBcbiAgKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyBhIGNoYW5uZWwgdG8gYSBjb25jcmV0ZSB2ZXJzaW9uIHVzaW5nIGEgZGVza3RvcCByZWxlYXNlcyBtYW5pZmVzdC5cbiAqXG4gKiBAcGFyYW0gbWFuaWZlc3QgLSBUaGUgcGFyc2VkIG1hbmlmZXN0LlxuICogQHBhcmFtIGNoYW5uZWwgLSBUaGUgY2hhbm5lbCB0byByZXNvbHZlLlxuICogQHJldHVybnMgVGhlIGNvbmNyZXRlIGB4LnkuemAgdmVyc2lvbiBmb3IgdGhlIGNoYW5uZWwuXG4gKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBjYXRhbHlzdCBjaGFubmVsIGlzIHJlcXVlc3RlZCBidXQgdGhlIG1hbmlmZXN0IGhhcyBubyBgYmV0YWAgZW50cnkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlVmVyc2lvbkZyb21NYW5pZmVzdChtYW5pZmVzdDogRGVza3RvcFJlbGVhc2VzTWFuaWZlc3QsIGNoYW5uZWw6IFJlbGVhc2VDaGFubmVsKTogc3RyaW5nIHtcbiAgaWYgKGNoYW5uZWwgPT09ICdwdWJsaWMnKSB7XG4gICAgcmV0dXJuIG1hbmlmZXN0LmxhdGVzdFZlcnNpb247XG4gIH1cblxuICBpZiAoIW1hbmlmZXN0LmJldGEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Rlc2t0b3AgcmVsZWFzZXMgbWFuaWZlc3QgaGFzIG5vIGNhdGFseXN0IChiZXRhKSByZWxlYXNlLicpO1xuICB9XG5cbiAgcmV0dXJuIG1hbmlmZXN0LmJldGEubGF0ZXN0VmVyc2lvbjtcbn1cblxuLyoqXG4gKiBTcGxpdHMgYW4gYHgueS56YCB2ZXJzaW9uIGludG8gaXRzIG51bWVyaWMgc2VnbWVudHMuXG4gKlxuICogQHBhcmFtIHZlcnNpb24gLSBUaGUgdmVyc2lvbiBzdHJpbmcuXG4gKiBAcmV0dXJucyBUaGUgbnVtZXJpYyBzZWdtZW50cy5cbiAqL1xuZnVuY3Rpb24gcGFyc2VWZXJzaW9uU2VnbWVudHModmVyc2lvbjogc3RyaW5nKTogbnVtYmVyW10ge1xuICByZXR1cm4gdmVyc2lvbi5zcGxpdCgnLicpLm1hcCgoc2VnbWVudCkgPT4gTnVtYmVyLnBhcnNlSW50KHNlZ21lbnQsIDEwKSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBaUJPLE1BQU0sZ0JBQWdCO0FBTXRCLE1BQU0sa0JBQWtCO0FBS3hCLE1BQU0sZ0NBQWdDO0FBRTdDLE1BQU0sMkJBQTJCO0FBQ2pDLE1BQU0sd0JBQXdCO0FBZ0Z2QixTQUFTLGdCQUFnQixHQUFXLEdBQW1CO0FBQzVELFFBQU0sWUFBWSxxQkFBcUIsQ0FBQztBQUN4QyxRQUFNLFlBQVkscUJBQXFCLENBQUM7QUFFeEMsV0FBUyxRQUFRLEdBQUcsUUFBUSx1QkFBdUIsU0FBUztBQUMxRCxVQUFNLFFBQVEsVUFBVSxLQUFLLEtBQUssTUFBTSxVQUFVLEtBQUssS0FBSztBQUM1RCxRQUFJLFNBQVMsR0FBRztBQUNkLGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDtBQVNPLFNBQVMsdUJBQXVCLFNBQXlCO0FBQzlELFNBQU8sWUFBWSxPQUFPO0FBQzVCO0FBU08sU0FBUyxpQkFBaUIsTUFBMkI7QUFDMUQsTUFBSSxTQUFTLGVBQWU7QUFDMUIsV0FBTyxFQUFFLFNBQVMsVUFBVSxNQUFNLFVBQVU7QUFBQSxFQUM5QztBQUVBLE1BQUksU0FBUyxpQkFBaUI7QUFDNUIsV0FBTyxFQUFFLFNBQVMsWUFBWSxNQUFNLFVBQVU7QUFBQSxFQUNoRDtBQUVBLE1BQUkseUJBQXlCLEtBQUssSUFBSSxHQUFHO0FBQ3ZDLFdBQU8sRUFBRSxNQUFNLFlBQVksU0FBUyxLQUFLO0FBQUEsRUFDM0M7QUFFQSxRQUFNLElBQUk7QUFBQSxJQUNSLDZCQUE2QixJQUFJLG9DQUFvQyxhQUFhLFVBQVUsZUFBZTtBQUFBLEVBQzdHO0FBQ0Y7QUFVTyxTQUFTLDJCQUEyQixVQUFtQyxTQUFpQztBQUM3RyxNQUFJLFlBQVksVUFBVTtBQUN4QixXQUFPLFNBQVM7QUFBQSxFQUNsQjtBQUVBLE1BQUksQ0FBQyxTQUFTLE1BQU07QUFDbEIsVUFBTSxJQUFJLE1BQU0sMkRBQTJEO0FBQUEsRUFDN0U7QUFFQSxTQUFPLFNBQVMsS0FBSztBQUN2QjtBQVFBLFNBQVMscUJBQXFCLFNBQTJCO0FBQ3ZELFNBQU8sUUFBUSxNQUFNLEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWSxPQUFPLFNBQVMsU0FBUyxFQUFFLENBQUM7QUFDekU7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -28,16 +28,22 @@ export declare const DESKTOP_RELEASES_MANIFEST_URL = "https://raw.githubusercont
|
|
|
28
28
|
* A version specifier resolved against a release channel.
|
|
29
29
|
*/
|
|
30
30
|
export interface ChannelVersionSpec {
|
|
31
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
The channel to resolve against the manifest.
|
|
33
|
+
*/
|
|
32
34
|
readonly channel: ReleaseChannel;
|
|
33
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
Discriminant.
|
|
37
|
+
*/
|
|
34
38
|
readonly kind: 'channel';
|
|
35
39
|
}
|
|
36
40
|
/**
|
|
37
41
|
* The `beta` (catalyst) entry of {@link DesktopReleasesManifest}.
|
|
38
42
|
*/
|
|
39
43
|
export interface DesktopReleasesBeta {
|
|
40
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
The latest catalyst version, e.g. `'1.13.1'`.
|
|
46
|
+
*/
|
|
41
47
|
readonly latestVersion: string;
|
|
42
48
|
}
|
|
43
49
|
/**
|
|
@@ -57,9 +63,13 @@ export interface DesktopReleasesManifest {
|
|
|
57
63
|
* A version specifier naming a concrete `x.y.z` version.
|
|
58
64
|
*/
|
|
59
65
|
export interface ExplicitVersionSpec {
|
|
60
|
-
/**
|
|
66
|
+
/**
|
|
67
|
+
Discriminant.
|
|
68
|
+
*/
|
|
61
69
|
readonly kind: 'explicit';
|
|
62
|
-
/**
|
|
70
|
+
/**
|
|
71
|
+
The concrete `x.y.z` version.
|
|
72
|
+
*/
|
|
63
73
|
readonly version: string;
|
|
64
74
|
}
|
|
65
75
|
/**
|
|
@@ -35,4 +35,4 @@ function buildOwnedObsidianJson(params) {
|
|
|
35
35
|
0 && (module.exports = {
|
|
36
36
|
buildOwnedObsidianJson
|
|
37
37
|
});
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL293bmVkLXZhdWx0LXNlZWQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBCdWlsZHMgdGhlIGlzb2xhdGVkIGBvYnNpZGlhbi5qc29uYCB0aGUgaGFybmVzcyBwcmUtc2VlZHMgaW50byBhbiBvd25lZFxuICogaW5zdGFuY2UncyB0ZW1wIGAtLXVzZXItZGF0YS1kaXJgIHNvIE9ic2lkaWFuIG9wZW5zIHRoZSBoYXJuZXNzIHZhdWx0IGRpcmVjdGx5XG4gKiBpbnN0ZWFkIG9mIHNob3dpbmcgdGhlIGZpcnN0LXJ1biB2YXVsdC1zZWxlY3RvciAodGhlIGBzdGFydGVyLXNjcmVlbmApLlxuICpcbiAqIFRoZSBhdXRvLW9wZW4gbWFya2VyIGNoYW5nZWQgYWNyb3NzIE9ic2lkaWFuJ3MgaGlzdG9yeSwgc28gdGhlIHNlZWQgY2Fycmllc1xuICogQk9USCBmb3JtcyBhbmQgZWFjaCB2ZXJzaW9uIHJlYWRzIHRoZSBvbmUgaXQgdW5kZXJzdGFuZHMgKGlnbm9yaW5nIHRoZSBvdGhlclxuICogdW5rbm93biBrZXkpIFx1MjAxNCBubyBwZXItdmVyc2lvbiBicmFuY2hpbmc6XG4gKlxuICogLSAqKk9sZCB2ZXJzaW9ucyoqIChjb25maXJtZWQgMC42LjQpIGF1dG8tb3BlbiBmcm9tIGEgKip0b3AtbGV2ZWwgYGxhc3Rfb3BlbmAqKlxuICogICBob2xkaW5nIHRoZSB2YXVsdCBpZCAoYG1haW4uanNgOiBgaWYgKGlkICYmIHZhdWx0cy5oYXNPd25Qcm9wZXJ0eShpZCkpXG4gKiAgIGNyZWF0ZVdpbmRvdyhpZCk7IGVsc2Ugb3BlblN0YXJ0ZXIoKTtgKSwgYW5kIHN0b3JlIGVhY2ggdmF1bHQgZW50cnkgYXMganVzdFxuICogICBgeyBwYXRoLCB0cyB9YC4gV2l0aG91dCBgbGFzdF9vcGVuYCB0aGV5IGZhbGwgdGhyb3VnaCB0byB0aGUgdmF1bHQtc2VsZWN0b3IuXG4gKiAtICoqTmV3ZXIgdmVyc2lvbnMqKiAoY29uZmlybWVkIDAuMTQuNSspIGRyb3BwZWQgYGxhc3Rfb3BlbmAgYW5kIGF1dG8tb3BlbiBmcm9tXG4gKiAgIHRoZSBwZXItZW50cnkgKipgb3BlbjogdHJ1ZWAqKiBmbGFnLlxuICpcbiAqIFNlZWRpbmcgYm90aCB3YXMgdmVyaWZpZWQgdG8gb3BlbiB0aGUgdmF1bHQgZGlyZWN0bHkgKG5vIHNlbGVjdG9yKSBvbiAwLjYuNCxcbiAqIDAuOS4yMCwgMC4xMi4xOSwgMC4xMy4xOSwgMC4xNC41IGFuZCAxLjEyLjcuIGB1cGRhdGVEaXNhYmxlZGAgc3VwcHJlc3NlcyB0aGVcbiAqIHRocm93YXdheSBpbnN0YW5jZSdzIHNlbGYtdXBkYXRlLlxuICovXG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGJ1aWxkT3duZWRPYnNpZGlhbkpzb259LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkT3duZWRPYnNpZGlhbkpzb25QYXJhbXMge1xuICAvKipcbiAgTGFzdC1hY2Nlc3MgdGltZXN0YW1wIHRvIHN0YW1wIG9uIHRoZSB2YXVsdCBlbnRyeS5cbiAgICovXG4gIHJlYWRvbmx5IHRzOiBudW1iZXI7XG5cbiAgLyoqXG4gIFRoZSByYW5kb21seS1nZW5lcmF0ZWQgdmF1bHQgaWQgdXNlZCBhcyB0aGUgcmVnaXN0cnkga2V5IGFuZCBgbGFzdF9vcGVuYC5cbiAgICovXG4gIHJlYWRvbmx5IHZhdWx0SWQ6IHN0cmluZztcblxuICAvKipcbiAgQWJzb2x1dGUgcGF0aCB0byB0aGUgaGFybmVzcyB2YXVsdCBmb2xkZXIuXG4gICAqL1xuICByZWFkb25seSB2YXVsdFBhdGg6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgYG9ic2lkaWFuLmpzb25gIHN0cnVjdHVyZSB0aGUgaGFybmVzcyBzZWVkcyBmb3IgYW4gb3duZWQgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3duZWRPYnNpZGlhbkpzb24ge1xuICAvKipcbiAgICogVG9wLWxldmVsIGF1dG8tb3BlbiBtYXJrZXIgKHZhdWx0IGlkKSBob25vcmVkIGJ5IG9sZCBPYnNpZGlhbiB2ZXJzaW9ucztcbiAgICogaWdub3JlZCBhcyBhbiB1bmtub3duIGtleSBieSBuZXdlciB2ZXJzaW9ucyB0aGF0IHVzZSB0aGUgcGVyLWVudHJ5IGBvcGVuYC5cbiAgICovXG4gIHJlYWRvbmx5IGxhc3Rfb3Blbjogc3RyaW5nO1xuXG4gIC8qKlxuICBEaXNhYmxlcyB0aGUgdGhyb3dhd2F5IGluc3RhbmNlJ3Mgc2VsZi11cGRhdGUuXG4gICAqL1xuICByZWFkb25seSB1cGRhdGVEaXNhYmxlZDogdHJ1ZTtcblxuICAvKipcbiAgVmF1bHQgcmVnaXN0cnkga2V5ZWQgYnkgdmF1bHQgaWQuXG4gICAqL1xuICByZWFkb25seSB2YXVsdHM6IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIE93bmVkT2JzaWRpYW5WYXVsdEVudHJ5Pj47XG59XG5cbi8qKlxuICogQSBzaW5nbGUgdmF1bHQgZW50cnkgaW4gdGhlIHNlZWRlZCBgb2JzaWRpYW4uanNvbmAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3duZWRPYnNpZGlhblZhdWx0RW50cnkge1xuICAvKipcbiAgUGVyLWVudHJ5IGF1dG8tb3BlbiBmbGFnIGhvbm9yZWQgYnkgbmV3ZXIgT2JzaWRpYW4gdmVyc2lvbnMuXG4gICAqL1xuICByZWFkb25seSBvcGVuOiB0cnVlO1xuXG4gIC8qKlxuICBBYnNvbHV0ZSBwYXRoIHRvIHRoZSBoYXJuZXNzIHZhdWx0IGZvbGRlci5cbiAgICovXG4gIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcblxuICAvKipcbiAgTGFzdC1hY2Nlc3MgdGltZXN0YW1wLlxuICAgKi9cbiAgcmVhZG9ubHkgdHM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIGlzb2xhdGVkIGBvYnNpZGlhbi5qc29uYCB0aGF0IGZvcmNlLW9wZW5zIHRoZSBvd25lZCB2YXVsdCBhY3Jvc3MgYWxsXG4gKiBzdXBwb3J0ZWQgT2JzaWRpYW4gdmVyc2lvbnMgKHNlZSB0aGUgZmlsZSBvdmVydmlldyBmb3IgdGhlIGR1YWwtbWFya2VyXG4gKiByYXRpb25hbGUpLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgdmF1bHQgaWQsIHBhdGgsIGFuZCB0aW1lc3RhbXAgdG8gc2VlZC5cbiAqIEByZXR1cm5zIFRoZSBgb2JzaWRpYW4uanNvbmAgb2JqZWN0IHRvIHdyaXRlIGludG8gdGhlIG93bmVkIHVzZXItZGF0YSBkaXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZE93bmVkT2JzaWRpYW5Kc29uKHBhcmFtczogQnVpbGRPd25lZE9ic2lkaWFuSnNvblBhcmFtcyk6IE93bmVkT2JzaWRpYW5Kc29uIHtcbiAgcmV0dXJuIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2FtZWxjYXNlIC0tIE9ic2lkaWFuJ3Mgb3duIG9ic2lkaWFuLmpzb24gZmllbGQgbmFtZSAob2xkIHZlcnNpb25zJyBhdXRvLW9wZW4gbWFya2VyKS5cbiAgICBsYXN0X29wZW46IHBhcmFtcy52YXVsdElkLFxuICAgIHVwZGF0ZURpc2FibGVkOiB0cnVlLFxuICAgIHZhdWx0czoge1xuICAgICAgW3BhcmFtcy52YXVsdElkXTogeyBvcGVuOiB0cnVlLCBwYXRoOiBwYXJhbXMudmF1bHRQYXRoLCB0czogcGFyYW1zLnRzIH1cbiAgICB9XG4gIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBNEZPLFNBQVMsdUJBQXVCLFFBQXlEO0FBQzlGLFNBQU87QUFBQTtBQUFBLElBRUwsV0FBVyxPQUFPO0FBQUEsSUFDbEIsZ0JBQWdCO0FBQUEsSUFDaEIsUUFBUTtBQUFBLE1BQ04sQ0FBQyxPQUFPLE9BQU8sR0FBRyxFQUFFLE1BQU0sTUFBTSxNQUFNLE9BQU8sV0FBVyxJQUFJLE9BQU8sR0FBRztBQUFBLElBQ3hFO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -24,11 +24,17 @@
|
|
|
24
24
|
* Parameters for {@link buildOwnedObsidianJson}.
|
|
25
25
|
*/
|
|
26
26
|
export interface BuildOwnedObsidianJsonParams {
|
|
27
|
-
/**
|
|
27
|
+
/**
|
|
28
|
+
Last-access timestamp to stamp on the vault entry.
|
|
29
|
+
*/
|
|
28
30
|
readonly ts: number;
|
|
29
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
The randomly-generated vault id used as the registry key and `last_open`.
|
|
33
|
+
*/
|
|
30
34
|
readonly vaultId: string;
|
|
31
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
Absolute path to the harness vault folder.
|
|
37
|
+
*/
|
|
32
38
|
readonly vaultPath: string;
|
|
33
39
|
}
|
|
34
40
|
/**
|
|
@@ -40,20 +46,30 @@ export interface OwnedObsidianJson {
|
|
|
40
46
|
* ignored as an unknown key by newer versions that use the per-entry `open`.
|
|
41
47
|
*/
|
|
42
48
|
readonly last_open: string;
|
|
43
|
-
/**
|
|
49
|
+
/**
|
|
50
|
+
Disables the throwaway instance's self-update.
|
|
51
|
+
*/
|
|
44
52
|
readonly updateDisabled: true;
|
|
45
|
-
/**
|
|
53
|
+
/**
|
|
54
|
+
Vault registry keyed by vault id.
|
|
55
|
+
*/
|
|
46
56
|
readonly vaults: Readonly<Record<string, OwnedObsidianVaultEntry>>;
|
|
47
57
|
}
|
|
48
58
|
/**
|
|
49
59
|
* A single vault entry in the seeded `obsidian.json`.
|
|
50
60
|
*/
|
|
51
61
|
export interface OwnedObsidianVaultEntry {
|
|
52
|
-
/**
|
|
62
|
+
/**
|
|
63
|
+
Per-entry auto-open flag honored by newer Obsidian versions.
|
|
64
|
+
*/
|
|
53
65
|
readonly open: true;
|
|
54
|
-
/**
|
|
66
|
+
/**
|
|
67
|
+
Absolute path to the harness vault folder.
|
|
68
|
+
*/
|
|
55
69
|
readonly path: string;
|
|
56
|
-
/**
|
|
70
|
+
/**
|
|
71
|
+
Last-access timestamp.
|
|
72
|
+
*/
|
|
57
73
|
readonly ts: number;
|
|
58
74
|
}
|
|
59
75
|
/**
|
|
@@ -19,13 +19,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
var parent_liveness_exports = {};
|
|
20
20
|
__export(parent_liveness_exports, {
|
|
21
21
|
PARENT_LIVENESS_HOST: () => PARENT_LIVENESS_HOST,
|
|
22
|
-
|
|
22
|
+
buildParentLivenessWatchdogExpression: () => buildParentLivenessWatchdogExpression,
|
|
23
23
|
startParentLivenessServer: () => startParentLivenessServer
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(parent_liveness_exports);
|
|
26
26
|
var import_node_net = require("node:net");
|
|
27
27
|
const PARENT_LIVENESS_HOST = "127.0.0.1";
|
|
28
|
-
function
|
|
28
|
+
function buildParentLivenessWatchdogExpression(port) {
|
|
29
29
|
return `(function() {
|
|
30
30
|
var FLAG = '__obsidianIntegrationTestingParentLiveness';
|
|
31
31
|
if (window[FLAG]) { return 'already-armed'; }
|
|
@@ -87,7 +87,7 @@ async function listenOnFreeLoopbackPort(server) {
|
|
|
87
87
|
// Annotate the CommonJS export names for ESM import in node:
|
|
88
88
|
0 && (module.exports = {
|
|
89
89
|
PARENT_LIVENESS_HOST,
|
|
90
|
-
|
|
90
|
+
buildParentLivenessWatchdogExpression,
|
|
91
91
|
startParentLivenessServer
|
|
92
92
|
});
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BhcmVudC1saXZlbmVzcy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRpZXMgYSBoYXJuZXNzLW93bmVkIE9ic2lkaWFuIGluc3RhbmNlJ3MgbGlmZXRpbWUgdG8gdGhlIGhhcm5lc3MgcHJvY2VzcyB0aGF0XG4gKiBsYXVuY2hlZCBpdCwgaW4gdGhlIG9uZSBkaXJlY3Rpb24gdGhlIG9wZXJhdGluZyBzeXN0ZW0gd2lsbCBub3QgZG8gZm9yIHVzLlxuICpcbiAqIFRoZSBvd25lZCBpbnN0YW5jZSBpcyBhbHJlYWR5IGEgY2hpbGQgb2YgdGhlIGhhcm5lc3MgcHJvY2VzcywgYnV0IHRoYXQgbGlua1xuICogY2FycmllcyBubyBsaWZldGltZSBndWFyYW50ZWUuIFdpbmRvd3MgbmV2ZXIgcHJvcGFnYXRlcyBhIHBhcmVudCdzIGRlYXRoIHRvXG4gKiBpdHMgY2hpbGRyZW4gXHUyMDE0IGFuIG9ycGhhbiBzaW1wbHkga2VlcHMgcnVubmluZyB3aXRoIGEgc3RhbGUgcGFyZW50IGlkIFx1MjAxNCBhbmQgb25cbiAqIFBPU0lYIGEgYFNJR0tJTExgIGFpbWVkIGF0IGEgc2luZ2xlIHBpZCBuZXZlciBjYXNjYWRlcyBlaXRoZXIuIFRoZSBpbnN0YW5jZSBpc1xuICogYWRkaXRpb25hbGx5IHNwYXduZWQgYGRldGFjaGVkYCwgc28gaXQgaXMgbm90IGV2ZW4gaW4gdGhlIGhhcm5lc3MncyBwcm9jZXNzXG4gKiBncm91cC4gVGVhcmRvd24gdGhlcmVmb3JlIHJlbGllcyBlbnRpcmVseSBvbiB0aGUgaGFybmVzcyBydW5uaW5nIGl0cyBvd25cbiAqIGNsZWFudXAgKGBraWxsUHJvY2Vzc1RyZWVgIGZyb20gYW4gYGV4aXRgL3NpZ25hbCBoYW5kbGVyKSwgd2hpY2ggaXMgZXhhY3RseVxuICogd2hhdCBhIGBTSUdLSUxMYCwgYSBUYXNrIE1hbmFnZXIga2lsbCwgb3IgYW4gSURFIHN0b3AgYnV0dG9uIGRlbmllcyBpdC4gRXZlcnlcbiAqIHN1Y2gga2lsbCBsZWFrcyBhIGhpZGRlbiBPYnNpZGlhbiBob2xkaW5nIGEgdXNlci1kYXRhIGRpciBhbmQgYSBDRFAgcG9ydCwgYW5kXG4gKiB0aGV5IGFjY3VtdWxhdGU6IHRoZSBuZXh0IHJ1biBwaWNrcyBhIGZyZXNoIHRlbXAgZGlyIGFuZCBhIGZyZWUgcG9ydCwgc29cbiAqIG5vdGhpbmcgY29sbGlkZXMgYW5kIG5vdGhpbmcgY29tcGxhaW5zLlxuICpcbiAqIFRoZSBndWFyYW50ZWVkIGZpeCBpcyBhbiBPUyBwcmltaXRpdmUgXHUyMDE0IGEgV2luZG93cyBKb2IgT2JqZWN0IHdpdGhcbiAqIGBKT0JfT0JKRUNUX0xJTUlUX0tJTExfT05fSk9CX0NMT1NFYCwgb3IgYHByY3RsKFBSX1NFVF9QREVBVEhTSUcpYCBvbiBMaW51eCBcdTIwMTRcbiAqIGJ1dCBuZWl0aGVyIGlzIHJlYWNoYWJsZSBmcm9tIE5vZGUgd2l0aG91dCBhIG5hdGl2ZSBhZGRvbiwgd2hpY2ggaXMgZmFyIHRvb1xuICogaGVhdnkgYSBkZXBlbmRlbmN5IGZvciB0aGlzIGhhcm5lc3MuXG4gKlxuICogU28gd2UgdXNlIHRoZSBvbmUgY3Jvc3MtcGxhdGZvcm0gcmVzb3VyY2UgdGhlIGtlcm5lbCAqZG9lcyogcmVjbGFpbVxuICogZGV0ZXJtaW5pc3RpY2FsbHkgb24gcHJvY2VzcyBkZWF0aDogYSBzb2NrZXQuIFRoZSBoYXJuZXNzIGxpc3RlbnMgb24gYVxuICogbG9vcGJhY2sgcG9ydCBhbmQgdGhlIGluc3RhbmNlJ3MgcmVuZGVyZXIgY29ubmVjdHMgdG8gaXQuIEhvd2V2ZXIgdGhlIGhhcm5lc3NcbiAqIGRpZXMgXHUyMDE0IGNsZWFubHksIGBTSUdLSUxMYGVkLCBvciBjcmFzaGVkIFx1MjAxNCB0aGUga2VybmVsIGNsb3NlcyBpdHMgZW5kLCB0aGVcbiAqIHJlbmRlcmVyIHNlZXMgYGNsb3NlYCwgYW5kIHRoZSB3aW5kb3cgZGVzdHJveXMgaXRzZWxmLiBObyBwb2xsaW5nLCBub1xuICogaGVhcnRiZWF0IGludGVydmFsLCBubyB0aW1lb3V0IHRvIHR1bmUuXG4gKlxuICogRGVsaWJlcmF0ZWx5IGZhaWwtb3BlbjogdGhlIHJlbmRlcmVyIG9ubHkgYXJtcyB0aGUgZGVzdHJveSBoYW5kbGVyIGFmdGVyIHRoZVxuICogY29ubmVjdGlvbiBpcyBhY3R1YWxseSBlc3RhYmxpc2hlZC4gQSB3YXRjaGRvZyB0aGF0IGNhbm5vdCByZWFjaCB0aGUgaGFybmVzc1xuICogbGVhdmVzIHRoZSBpbnN0YW5jZSBydW5uaW5nIHJhdGhlciB0aGFuIGtpbGxpbmcgYSB3aW5kb3cgdGhlIGRldmVsb3BlciBpc1xuICogd29ya2luZyBpbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFNlcnZlciB9IGZyb20gJ25vZGU6bmV0JztcblxuaW1wb3J0IHsgY3JlYXRlU2VydmVyIH0gZnJvbSAnbm9kZTpuZXQnO1xuXG4vKipcbiAqIEEgbGlzdGVuaW5nIGxvb3BiYWNrIHNlcnZlciB3aG9zZSBhY2NlcHRlZCBjb25uZWN0aW9ucyBhY3QgYXMgbGl2ZW5lc3MgdG9rZW5zXG4gKiBmb3IgdGhlIGhhcm5lc3MgcHJvY2Vzcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJlbnRMaXZlbmVzc1NlcnZlciB7XG4gIC8qKlxuICBTdG9wcyBsaXN0ZW5pbmcgYW5kIGRyb3BzIGV2ZXJ5IGFjY2VwdGVkIGNvbm5lY3Rpb24uXG4gICAqL1xuICBjbG9zZSgpOiB2b2lkO1xuXG4gIC8qKlxuICBUaGUgbG9vcGJhY2sgcG9ydCB0aGUgcmVuZGVyZXIgd2F0Y2hkb2cgc2hvdWxkIGNvbm5lY3QgYmFjayB0by5cbiAgICovXG4gIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBMb29wYmFjayBob3N0IHRoZSBsaXZlbmVzcyBzZXJ2ZXIgYmluZHMgdG8uIE5ldmVyIGV4cG9zZWQgb2ZmLW1hY2hpbmUuXG4gKi9cbmV4cG9ydCBjb25zdCBQQVJFTlRfTElWRU5FU1NfSE9TVCA9ICcxMjcuMC4wLjEnO1xuXG4vKipcbiAqIEJ1aWxkcyB0aGUgZXhwcmVzc2lvbiBldmFsdWF0ZWQgaW4gdGhlIG93bmVkIGluc3RhbmNlJ3MgcmVuZGVyZXIgdG8gYXJtIHRoZVxuICogd2F0Y2hkb2cuXG4gKlxuICogV3JpdHRlbiBpbiBFUzUgc3R5bGUgKGB2YXJgLCBgZnVuY3Rpb25gKSB3aXRoIG5vIG9wdGlvbmFsIGNoYWluaW5nLCBtYXRjaGluZ1xuICoge0BsaW5rIERJU01JU1NfVFJVU1RfRElBTE9HX0VYUFJ9OiB0aGUgc2FtZSBleHByZXNzaW9uIGhhcyB0byBwYXJzZSBvbiB0aGVcbiAqIENocm9taXVtIDgwLWVyYSByZW5kZXJlcnMgb2YgdGhlIG9sZGVzdCBzdXBwb3J0ZWQgT2JzaWRpYW4gdmVyc2lvbnMgKEwyNikuXG4gKlxuICogQXJtaW5nIGlzIGlkZW1wb3RlbnQgXHUyMDE0IGEgc2Vjb25kIGV2YWx1YXRpb24gZmluZHMgdGhlIHN0b3JlZCBzb2NrZXQgYW5kXG4gKiByZXR1cm5zIHdpdGhvdXQgb3BlbmluZyBhbm90aGVyIGNvbm5lY3Rpb24sIHNvIGEgcmV0cmllZCByZWFkaW5lc3MgcGFzcyBkb2VzXG4gKiBub3QgcGlsZSB1cCBzb2NrZXRzLlxuICpcbiAqIEBwYXJhbSBwb3J0IC0gVGhlIGxvb3BiYWNrIHBvcnQgcmV0dXJuZWQgYnkge0BsaW5rIHN0YXJ0UGFyZW50TGl2ZW5lc3NTZXJ2ZXJ9LlxuICogQHJldHVybnMgVGhlIGV4cHJlc3Npb24gdG8gZXZhbHVhdGUsIHlpZWxkaW5nIGAnYXJtZWQnYCwgYCdhbHJlYWR5LWFybWVkJ2AsIG9yIGAndW5hdmFpbGFibGUnYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUGFyZW50TGl2ZW5lc3NXYXRjaGRvZ0V4cHJlc3Npb24ocG9ydDogbnVtYmVyKTogc3RyaW5nIHtcbiAgcmV0dXJuIGAoZnVuY3Rpb24oKSB7XG4gIHZhciBGTEFHID0gJ19fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmdQYXJlbnRMaXZlbmVzcyc7XG4gIGlmICh3aW5kb3dbRkxBR10pIHsgcmV0dXJuICdhbHJlYWR5LWFybWVkJzsgfVxuICB2YXIgbmV0O1xuICB0cnkge1xuICAgIG5ldCA9IHdpbmRvdy5yZXF1aXJlKCdub2RlOm5ldCcpO1xuICB9IGNhdGNoIChub2RlUHJlZml4RXJyb3IpIHtcbiAgICB0cnkge1xuICAgICAgbmV0ID0gd2luZG93LnJlcXVpcmUoJ25ldCcpO1xuICAgIH0gY2F0Y2ggKGJhcmVQcmVmaXhFcnJvcikge1xuICAgICAgcmV0dXJuICd1bmF2YWlsYWJsZSc7XG4gICAgfVxuICB9XG4gIHZhciBzb2NrZXQgPSBuZXQuY29ubmVjdCgke1N0cmluZyhwb3J0KX0sICcke1BBUkVOVF9MSVZFTkVTU19IT1NUfScpO1xuICB3aW5kb3dbRkxBR10gPSBzb2NrZXQ7XG4gIHZhciBpc0Nvbm5lY3RlZCA9IGZhbHNlO1xuICBzb2NrZXQub24oJ2Nvbm5lY3QnLCBmdW5jdGlvbigpIHsgaXNDb25uZWN0ZWQgPSB0cnVlOyB9KTtcbiAgc29ja2V0Lm9uKCdlcnJvcicsIGZ1bmN0aW9uKCkgeyAvKiBIYW5kbGVkIGJ5IHRoZSBjbG9zZSBsaXN0ZW5lciBiZWxvdy4gKi8gfSk7XG4gIHNvY2tldC5vbignY2xvc2UnLCBmdW5jdGlvbigpIHtcbiAgICBpZiAoIWlzQ29ubmVjdGVkKSB7IHJldHVybjsgfVxuICAgIHRyeSB7XG4gICAgICB3aW5kb3cuZWxlY3Ryb25XaW5kb3cuZGVzdHJveSgpO1xuICAgIH0gY2F0Y2ggKGRlc3Ryb3lFcnJvcikge1xuICAgICAgd2luZG93LmNsb3NlKCk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuICdhcm1lZCc7XG59KSgpYDtcbn1cblxuLyoqXG4gKiBTdGFydHMgdGhlIGxvb3BiYWNrIGxpdmVuZXNzIHNlcnZlciB0aGUgb3duZWQgaW5zdGFuY2UncyByZW5kZXJlciBjb25uZWN0c1xuICogYmFjayB0by5cbiAqXG4gKiBUaGUgc2VydmVyIGFuZCBldmVyeSBhY2NlcHRlZCBzb2NrZXQgYXJlIGB1bnJlZmBlZCwgc28gaG9sZGluZyBhIHdhdGNoZG9nXG4gKiBjb25uZWN0aW9uIG9wZW4gbmV2ZXIga2VlcHMgdGhlIGhhcm5lc3MgcHJvY2VzcyBhbGl2ZSBvbiBpdHMgb3duIFx1MjAxNCB0aGVcbiAqIGNvbm5lY3Rpb24gaXMgYSB0b2tlbiB0aGUga2VybmVsIHJlY2xhaW1zLCBub3Qgd29yayB0byB3YWl0IG9uLlxuICpcbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHJlc29sdmluZyB0byB0aGUgbGlzdGVuaW5nIHtAbGluayBQYXJlbnRMaXZlbmVzc1NlcnZlcn0uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzdGFydFBhcmVudExpdmVuZXNzU2VydmVyKCk6IFByb21pc2U8UGFyZW50TGl2ZW5lc3NTZXJ2ZXI+IHtcbiAgY29uc3Qgc2VydmVyID0gY3JlYXRlU2VydmVyKChzb2NrZXQpID0+IHtcbiAgICBzb2NrZXQudW5yZWYoKTtcbiAgICAvLyBUaGUgY29ubmVjdGlvbiBjYXJyaWVzIG5vIGRhdGEgXHUyMDE0IGl0IGV4aXN0cyBvbmx5IHNvIGl0cyBjbG9zZSBpcyBvYnNlcnZhYmxlLlxuICAgIHNvY2tldC5vbignZXJyb3InLCAoKSA9PiB7XG4gICAgICAvLyBBIHJlbmRlcmVyIHRvcm4gZG93biBtaWQtY29ubmVjdGlvbiByZXNldHMgcmF0aGVyIHRoYW4gY2xvc2VzOyBub3QgYW4gZXJyb3IgaGVyZS5cbiAgICB9KTtcbiAgfSk7XG4gIHNlcnZlci51bnJlZigpO1xuXG4gIGNvbnN0IHBvcnQgPSBhd2FpdCBsaXN0ZW5PbkZyZWVMb29wYmFja1BvcnQoc2VydmVyKTtcbiAgcmV0dXJuIHtcbiAgICBjbG9zZSgpOiB2b2lkIHtcbiAgICAgIHNlcnZlci5jbG9zZSgpO1xuICAgIH0sXG4gICAgcG9ydFxuICB9O1xufVxuXG4vKipcbiAqIEJpbmRzIHRoZSBzZXJ2ZXIgdG8gYW4gZXBoZW1lcmFsIGxvb3BiYWNrIHBvcnQgYW5kIHJlcG9ydHMgd2hpY2ggb25lIGl0IGdvdC5cbiAqXG4gKiBAcGFyYW0gc2VydmVyIC0gVGhlIHNlcnZlciB0byBiaW5kLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gcmVzb2x2aW5nIHRvIHRoZSBhc3NpZ25lZCBwb3J0LlxuICogQHRocm93cyBJZiB0aGUgc2VydmVyIHJlcG9ydHMgYW4gZXJyb3IgYmVmb3JlIGxpc3RlbmluZywgb3IgYmluZHMgdG8gYSBwaXBlIHJhdGhlciB0aGFuIGEgcG9ydC5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gbGlzdGVuT25GcmVlTG9vcGJhY2tQb3J0KHNlcnZlcjogU2VydmVyKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPG51bWJlcj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIHNlcnZlci5vbmNlKCdlcnJvcicsIHJlamVjdCk7XG4gICAgc2VydmVyLmxpc3RlbigwLCBQQVJFTlRfTElWRU5FU1NfSE9TVCwgKCkgPT4ge1xuICAgICAgY29uc3QgYWRkcmVzcyA9IHNlcnZlci5hZGRyZXNzKCk7XG4gICAgICBpZiAoYWRkcmVzcyA9PT0gbnVsbCB8fCB0eXBlb2YgYWRkcmVzcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgc2VydmVyLmNsb3NlKCk7XG4gICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ0ZhaWxlZCB0byBkZXRlcm1pbmUgdGhlIHBhcmVudC1saXZlbmVzcyBwb3J0LicpKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgcmVzb2x2ZShhZGRyZXNzLnBvcnQpO1xuICAgIH0pO1xuICB9KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBc0NBLHNCQUE2QjtBQXFCdEIsTUFBTSx1QkFBdUI7QUFpQjdCLFNBQVMsc0NBQXNDLE1BQXNCO0FBQzFFLFNBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSw2QkFhb0IsT0FBTyxJQUFJLENBQUMsTUFBTSxvQkFBb0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZW5FO0FBWUEsZUFBc0IsNEJBQTJEO0FBQy9FLFFBQU0sYUFBUyw4QkFBYSxDQUFDLFdBQVc7QUFDdEMsV0FBTyxNQUFNO0FBRWIsV0FBTyxHQUFHLFNBQVMsTUFBTTtBQUFBLElBRXpCLENBQUM7QUFBQSxFQUNILENBQUM7QUFDRCxTQUFPLE1BQU07QUFFYixRQUFNLE9BQU8sTUFBTSx5QkFBeUIsTUFBTTtBQUNsRCxTQUFPO0FBQUEsSUFDTCxRQUFjO0FBQ1osYUFBTyxNQUFNO0FBQUEsSUFDZjtBQUFBLElBQ0E7QUFBQSxFQUNGO0FBQ0Y7QUFTQSxlQUFlLHlCQUF5QixRQUFpQztBQUN2RSxTQUFPLElBQUksUUFBZ0IsQ0FBQyxTQUFTLFdBQVc7QUFDOUMsV0FBTyxLQUFLLFNBQVMsTUFBTTtBQUMzQixXQUFPLE9BQU8sR0FBRyxzQkFBc0IsTUFBTTtBQUMzQyxZQUFNLFVBQVUsT0FBTyxRQUFRO0FBQy9CLFVBQUksWUFBWSxRQUFRLE9BQU8sWUFBWSxVQUFVO0FBQ25ELGVBQU8sTUFBTTtBQUNiLGVBQU8sSUFBSSxNQUFNLCtDQUErQyxDQUFDO0FBQ2pFO0FBQUEsTUFDRjtBQUNBLGNBQVEsUUFBUSxJQUFJO0FBQUEsSUFDdEIsQ0FBQztBQUFBLEVBQ0gsQ0FBQztBQUNIOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -38,9 +38,13 @@
|
|
|
38
38
|
* for the harness process.
|
|
39
39
|
*/
|
|
40
40
|
export interface ParentLivenessServer {
|
|
41
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
Stops listening and drops every accepted connection.
|
|
43
|
+
*/
|
|
42
44
|
close(): void;
|
|
43
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
The loopback port the renderer watchdog should connect back to.
|
|
47
|
+
*/
|
|
44
48
|
readonly port: number;
|
|
45
49
|
}
|
|
46
50
|
/**
|
|
@@ -62,7 +66,7 @@ export declare const PARENT_LIVENESS_HOST = "127.0.0.1";
|
|
|
62
66
|
* @param port - The loopback port returned by {@link startParentLivenessServer}.
|
|
63
67
|
* @returns The expression to evaluate, yielding `'armed'`, `'already-armed'`, or `'unavailable'`.
|
|
64
68
|
*/
|
|
65
|
-
export declare function
|
|
69
|
+
export declare function buildParentLivenessWatchdogExpression(port: number): string;
|
|
66
70
|
/**
|
|
67
71
|
* Starts the loopback liveness server the owned instance's renderer connects
|
|
68
72
|
* back to.
|