obsidian-integration-testing 5.6.0 → 6.2.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 +48 -19
- package/dist/lib/cjs/appium-session-config.cjs +42 -0
- package/dist/lib/cjs/appium-session-config.d.cts +44 -0
- package/dist/lib/cjs/connect-to-cdp.cjs +2 -1
- package/dist/lib/cjs/connect-to-cdp.d.cts +9 -0
- package/dist/lib/cjs/device-readiness.cjs +43 -0
- package/dist/lib/cjs/device-readiness.d.cts +55 -0
- package/dist/lib/cjs/emulator-args.cjs +7 -3
- package/dist/lib/cjs/emulator-args.d.cts +14 -2
- package/dist/lib/cjs/library.cjs +1 -1
- package/dist/lib/cjs/obsidian-instance.cjs +2 -2
- package/dist/lib/cjs/obsidian-instance.d.cts +6 -0
- package/dist/lib/cjs/transport-appium.cjs +32 -9
- package/dist/lib/cjs/transport-appium.d.cts +19 -0
- package/dist/lib/cjs/transport-desktop-cdp.cjs +59 -1
- package/dist/lib/cjs/transport-desktop-cdp.d.cts +24 -0
- package/dist/lib/cjs/transport-factory.cjs +107 -21
- package/dist/lib/cjs/transport-options.cjs +1 -1
- package/dist/lib/cjs/transport-options.d.cts +89 -0
- package/dist/lib/cjs/visibility.cjs +54 -0
- package/dist/lib/cjs/visibility.d.cts +61 -0
- package/dist/lib/esm/appium-session-config.d.mts +44 -0
- package/dist/lib/esm/appium-session-config.mjs +15 -0
- package/dist/lib/esm/connect-to-cdp.d.mts +9 -0
- package/dist/lib/esm/connect-to-cdp.mjs +2 -1
- package/dist/lib/esm/device-readiness.d.mts +55 -0
- package/dist/lib/esm/device-readiness.mjs +17 -0
- package/dist/lib/esm/emulator-args.d.mts +14 -2
- package/dist/lib/esm/emulator-args.mjs +7 -3
- package/dist/lib/esm/library.mjs +1 -1
- package/dist/lib/esm/obsidian-instance.d.mts +6 -0
- package/dist/lib/esm/obsidian-instance.mjs +2 -2
- package/dist/lib/esm/transport-appium.d.mts +19 -0
- package/dist/lib/esm/transport-appium.mjs +36 -10
- package/dist/lib/esm/transport-desktop-cdp.d.mts +24 -0
- package/dist/lib/esm/transport-desktop-cdp.mjs +62 -1
- package/dist/lib/esm/transport-factory.mjs +116 -21
- package/dist/lib/esm/transport-options.d.mts +89 -0
- package/dist/lib/esm/visibility.d.mts +61 -0
- package/dist/lib/esm/visibility.mjs +26 -0
- package/dist/obsidian-integration-testing-6.2.0.tgz +0 -0
- package/package.json +3 -3
- package/dist/obsidian-integration-testing-5.6.0.tgz +0 -0
|
@@ -13,6 +13,18 @@ export interface ObsidianAndroidAppiumTransportOptions {
|
|
|
13
13
|
* Defaults to `'md.obsidian'`
|
|
14
14
|
*/
|
|
15
15
|
readonly appId?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Timeout in milliseconds for the auto-started Appium server to become ready
|
|
18
|
+
* (its `/status` endpoint to respond).
|
|
19
|
+
*
|
|
20
|
+
* Only applies when the harness auto-starts the Appium server
|
|
21
|
+
* ({@link shouldAutoStartAppium}); ignored when attaching to an
|
|
22
|
+
* already-running server. On a cold machine the `npx appium` server can take
|
|
23
|
+
* a while to finish booting, so raise this if startup times out.
|
|
24
|
+
*
|
|
25
|
+
* @default `180000`
|
|
26
|
+
*/
|
|
27
|
+
readonly appiumStartTimeoutInMilliseconds?: number;
|
|
16
28
|
/**
|
|
17
29
|
* The Appium server URL (e.g. `'http://localhost:4723'`).
|
|
18
30
|
*/
|
|
@@ -35,6 +47,68 @@ export interface ObsidianAndroidAppiumTransportOptions {
|
|
|
35
47
|
* factory skips emulator startup and attaches to the existing session.
|
|
36
48
|
*/
|
|
37
49
|
readonly deviceId?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Timeout in milliseconds for waiting, after `sys.boot_completed`, for a
|
|
52
|
+
* harness-started emulator to become idle before the Appium session is
|
|
53
|
+
* established.
|
|
54
|
+
*
|
|
55
|
+
* `sys.boot_completed` fires *before* the guest is actually idle: package
|
|
56
|
+
* optimization and system services keep churning, so establishing the session
|
|
57
|
+
* immediately makes every one of UiAutomator2's serialized `adb` round-trips
|
|
58
|
+
* contend with that work and inflates session establishment ~3x. The factory
|
|
59
|
+
* instead waits until the boot animation has stopped and the package manager
|
|
60
|
+
* is serving, proceeding early once idle or after this budget (best-effort — a
|
|
61
|
+
* timeout logs a warning and proceeds). Set `0` to skip the wait. Only applies
|
|
62
|
+
* to a harness-started emulator, not a reused one.
|
|
63
|
+
*
|
|
64
|
+
* @default `60000`
|
|
65
|
+
*/
|
|
66
|
+
readonly deviceIdleTimeoutInMilliseconds?: number;
|
|
67
|
+
/**
|
|
68
|
+
* Whether the auto-started Appium server console window is shown.
|
|
69
|
+
*
|
|
70
|
+
* When `false` (the default), the `npx appium` server process is spawned with
|
|
71
|
+
* its console window hidden (`windowsHide`), so it never steals focus. Ignored
|
|
72
|
+
* when attaching to an already-running Appium server ({@link shouldAutoStartAppium}
|
|
73
|
+
* `false`, or the server already reachable). Set `true` to see the server log window.
|
|
74
|
+
*
|
|
75
|
+
* @default `false`
|
|
76
|
+
*/
|
|
77
|
+
readonly isAppiumConsoleVisible?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Whether the auto-started Android emulator window is shown on screen.
|
|
80
|
+
*
|
|
81
|
+
* When `false` (the default), the emulator is started with `-no-window`
|
|
82
|
+
* (headless), so it never steals focus. Ignored when reusing an already-running
|
|
83
|
+
* device (nothing is launched to hide). Set `true` to watch the emulator UI.
|
|
84
|
+
*
|
|
85
|
+
* @default `false`
|
|
86
|
+
*/
|
|
87
|
+
readonly isEmulatorVisible?: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Timeout in milliseconds for waiting for `app.workspace.layoutReady` after
|
|
90
|
+
* the vault is (re)opened.
|
|
91
|
+
*
|
|
92
|
+
* Registering a vault triggers a full Obsidian re-init (`location.reload()`
|
|
93
|
+
* reopens the vault and reloads every plugin — the heaviest startup step). On
|
|
94
|
+
* a cold-booted or under-provisioned emulator that init can take a while, so
|
|
95
|
+
* this budget is the largest of the transport timeouts. Raise it further if
|
|
96
|
+
* releases still flake on slow CI emulators.
|
|
97
|
+
*
|
|
98
|
+
* @default `90000`
|
|
99
|
+
*/
|
|
100
|
+
readonly layoutReadyTimeoutInMilliseconds?: number;
|
|
101
|
+
/**
|
|
102
|
+
* Timeout in milliseconds for establishing the Appium session (WebDriverIO
|
|
103
|
+
* `remote()` — UiAutomator2 server install + app launch).
|
|
104
|
+
*
|
|
105
|
+
* This is the largest and most load-sensitive step of the Android setup:
|
|
106
|
+
* on a cold or contended emulator it dominates startup and can take a few
|
|
107
|
+
* minutes. Raise it if session establishment times out under load.
|
|
108
|
+
*
|
|
109
|
+
* @default `180000`
|
|
110
|
+
*/
|
|
111
|
+
readonly sessionConnectionRetryTimeoutInMilliseconds?: number;
|
|
38
112
|
/**
|
|
39
113
|
* An existing Appium session ID to reattach to.
|
|
40
114
|
*
|
|
@@ -113,6 +187,21 @@ export interface ObsidianCdpTransportOptions {
|
|
|
113
187
|
* @default `undefined`
|
|
114
188
|
*/
|
|
115
189
|
readonly isHarnessOwnedInstance?: boolean | undefined;
|
|
190
|
+
/**
|
|
191
|
+
* Whether the owned desktop Obsidian window is shown on screen.
|
|
192
|
+
*
|
|
193
|
+
* When `false` (the default), the harness launches the owned instance with
|
|
194
|
+
* keep-alive Chromium flags and moves its window **off-screen** once Electron's
|
|
195
|
+
* remote bridge is available, so the run never steals focus or pops a window in
|
|
196
|
+
* front of you. Off-screen (not minimized) keeps the renderer live, so
|
|
197
|
+
* `setTimeout`, `requestAnimationFrame`, `:hover`, and trusted input behave
|
|
198
|
+
* identically to a visible window. Set `true` to watch the window (e.g. when
|
|
199
|
+
* debugging). Ignored in attach mode ({@link port} set) — the harness never
|
|
200
|
+
* moves the user's own running window.
|
|
201
|
+
*
|
|
202
|
+
* @default `false`
|
|
203
|
+
*/
|
|
204
|
+
readonly isObsidianAppVisible?: boolean;
|
|
116
205
|
/**
|
|
117
206
|
* Pins the **Electron shell** (installer build) the owned instance runs.
|
|
118
207
|
*
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file
|
|
3
|
+
*
|
|
4
|
+
* Pure resolution of the process-visibility options — whether the launched
|
|
5
|
+
* desktop Obsidian window, Android emulator window, and Appium server console
|
|
6
|
+
* are shown on screen. All three surfaces are **hidden by default** (`is*Visible`
|
|
7
|
+
* is `false` when omitted) so an integration run never steals focus or pops
|
|
8
|
+
* windows in front of the user.
|
|
9
|
+
*
|
|
10
|
+
* Kept separate from the integration-only launch/spawn code (`transport-factory`,
|
|
11
|
+
* `transport-desktop-cdp`, `obsidian-instance`, all excluded from unit tests) so
|
|
12
|
+
* the hidden-by-default resolution stays unit-testable — those launchers need a
|
|
13
|
+
* real Obsidian / emulator / Appium server.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Chromium switches passed to a **hidden** owned desktop instance.
|
|
17
|
+
*
|
|
18
|
+
* The harness hides the window by moving it **off-screen** (not minimizing it).
|
|
19
|
+
* An off-screen window still reports `visibilityState: 'visible'` to Chromium, so
|
|
20
|
+
* `setTimeout`, `requestAnimationFrame`, `:hover`, and trusted input all keep
|
|
21
|
+
* working exactly as when visible — but only if Chromium never decides to
|
|
22
|
+
* background it. These flags guarantee that: native occlusion tracking is
|
|
23
|
+
* disabled and the timer/renderer backgrounding heuristics are switched off, so
|
|
24
|
+
* an off-screen (or covered) renderer is never throttled or frozen.
|
|
25
|
+
*
|
|
26
|
+
* A *minimized* window, by contrast, freezes `requestAnimationFrame` regardless
|
|
27
|
+
* of any flag (there is no surface to composite), which is why the harness moves
|
|
28
|
+
* the window off-screen rather than minimizing it.
|
|
29
|
+
*/
|
|
30
|
+
export declare const OWNED_HIDDEN_LAUNCH_FLAGS: string[];
|
|
31
|
+
/**
|
|
32
|
+
* Resolves the extra Chromium launch args for an owned desktop instance: the
|
|
33
|
+
* {@link OWNED_HIDDEN_LAUNCH_FLAGS} when the window is hidden (the default), or
|
|
34
|
+
* an empty list when it is visible.
|
|
35
|
+
*
|
|
36
|
+
* @param isObsidianAppVisible - The resolved option value (omitted → hidden).
|
|
37
|
+
* @returns The extra launch args (possibly empty).
|
|
38
|
+
*/
|
|
39
|
+
export declare function resolveOwnedHiddenLaunchArgs(isObsidianAppVisible?: boolean): string[];
|
|
40
|
+
/**
|
|
41
|
+
* Whether the auto-started Appium server console window should be hidden.
|
|
42
|
+
*
|
|
43
|
+
* @param isAppiumConsoleVisible - The resolved option value (omitted → hidden).
|
|
44
|
+
* @returns `true` when the console window should be hidden (the default).
|
|
45
|
+
*/
|
|
46
|
+
export declare function shouldHideAppiumConsole(isAppiumConsoleVisible?: boolean): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Whether the auto-started Android emulator window should be hidden
|
|
49
|
+
* (via the emulator's `-no-window` flag).
|
|
50
|
+
*
|
|
51
|
+
* @param isEmulatorVisible - The resolved option value (omitted → hidden).
|
|
52
|
+
* @returns `true` when the emulator window should be hidden (the default).
|
|
53
|
+
*/
|
|
54
|
+
export declare function shouldHideEmulatorWindow(isEmulatorVisible?: boolean): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Whether the owned desktop Obsidian window should be hidden (moved off-screen).
|
|
57
|
+
*
|
|
58
|
+
* @param isObsidianAppVisible - The resolved option value (omitted → hidden).
|
|
59
|
+
* @returns `true` when the window should be hidden (the default).
|
|
60
|
+
*/
|
|
61
|
+
export declare function shouldHideObsidianApp(isObsidianAppVisible?: boolean): boolean;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const OWNED_HIDDEN_LAUNCH_FLAGS = [
|
|
2
|
+
"--disable-features=CalculateNativeWinOcclusion",
|
|
3
|
+
"--disable-background-timer-throttling",
|
|
4
|
+
"--disable-backgrounding-occluded-windows",
|
|
5
|
+
"--disable-renderer-backgrounding"
|
|
6
|
+
];
|
|
7
|
+
function resolveOwnedHiddenLaunchArgs(isObsidianAppVisible) {
|
|
8
|
+
return shouldHideObsidianApp(isObsidianAppVisible) ? [...OWNED_HIDDEN_LAUNCH_FLAGS] : [];
|
|
9
|
+
}
|
|
10
|
+
function shouldHideAppiumConsole(isAppiumConsoleVisible) {
|
|
11
|
+
return !(isAppiumConsoleVisible ?? false);
|
|
12
|
+
}
|
|
13
|
+
function shouldHideEmulatorWindow(isEmulatorVisible) {
|
|
14
|
+
return !(isEmulatorVisible ?? false);
|
|
15
|
+
}
|
|
16
|
+
function shouldHideObsidianApp(isObsidianAppVisible) {
|
|
17
|
+
return !(isObsidianAppVisible ?? false);
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
OWNED_HIDDEN_LAUNCH_FLAGS,
|
|
21
|
+
resolveOwnedHiddenLaunchArgs,
|
|
22
|
+
shouldHideAppiumConsole,
|
|
23
|
+
shouldHideEmulatorWindow,
|
|
24
|
+
shouldHideObsidianApp
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3Zpc2liaWxpdHkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBQdXJlIHJlc29sdXRpb24gb2YgdGhlIHByb2Nlc3MtdmlzaWJpbGl0eSBvcHRpb25zIFx1MjAxNCB3aGV0aGVyIHRoZSBsYXVuY2hlZFxuICogZGVza3RvcCBPYnNpZGlhbiB3aW5kb3csIEFuZHJvaWQgZW11bGF0b3Igd2luZG93LCBhbmQgQXBwaXVtIHNlcnZlciBjb25zb2xlXG4gKiBhcmUgc2hvd24gb24gc2NyZWVuLiBBbGwgdGhyZWUgc3VyZmFjZXMgYXJlICoqaGlkZGVuIGJ5IGRlZmF1bHQqKiAoYGlzKlZpc2libGVgXG4gKiBpcyBgZmFsc2VgIHdoZW4gb21pdHRlZCkgc28gYW4gaW50ZWdyYXRpb24gcnVuIG5ldmVyIHN0ZWFscyBmb2N1cyBvciBwb3BzXG4gKiB3aW5kb3dzIGluIGZyb250IG9mIHRoZSB1c2VyLlxuICpcbiAqIEtlcHQgc2VwYXJhdGUgZnJvbSB0aGUgaW50ZWdyYXRpb24tb25seSBsYXVuY2gvc3Bhd24gY29kZSAoYHRyYW5zcG9ydC1mYWN0b3J5YCxcbiAqIGB0cmFuc3BvcnQtZGVza3RvcC1jZHBgLCBgb2JzaWRpYW4taW5zdGFuY2VgLCBhbGwgZXhjbHVkZWQgZnJvbSB1bml0IHRlc3RzKSBzb1xuICogdGhlIGhpZGRlbi1ieS1kZWZhdWx0IHJlc29sdXRpb24gc3RheXMgdW5pdC10ZXN0YWJsZSBcdTIwMTQgdGhvc2UgbGF1bmNoZXJzIG5lZWQgYVxuICogcmVhbCBPYnNpZGlhbiAvIGVtdWxhdG9yIC8gQXBwaXVtIHNlcnZlci5cbiAqL1xuXG4vKipcbiAqIENocm9taXVtIHN3aXRjaGVzIHBhc3NlZCB0byBhICoqaGlkZGVuKiogb3duZWQgZGVza3RvcCBpbnN0YW5jZS5cbiAqXG4gKiBUaGUgaGFybmVzcyBoaWRlcyB0aGUgd2luZG93IGJ5IG1vdmluZyBpdCAqKm9mZi1zY3JlZW4qKiAobm90IG1pbmltaXppbmcgaXQpLlxuICogQW4gb2ZmLXNjcmVlbiB3aW5kb3cgc3RpbGwgcmVwb3J0cyBgdmlzaWJpbGl0eVN0YXRlOiAndmlzaWJsZSdgIHRvIENocm9taXVtLCBzb1xuICogYHNldFRpbWVvdXRgLCBgcmVxdWVzdEFuaW1hdGlvbkZyYW1lYCwgYDpob3ZlcmAsIGFuZCB0cnVzdGVkIGlucHV0IGFsbCBrZWVwXG4gKiB3b3JraW5nIGV4YWN0bHkgYXMgd2hlbiB2aXNpYmxlIFx1MjAxNCBidXQgb25seSBpZiBDaHJvbWl1bSBuZXZlciBkZWNpZGVzIHRvXG4gKiBiYWNrZ3JvdW5kIGl0LiBUaGVzZSBmbGFncyBndWFyYW50ZWUgdGhhdDogbmF0aXZlIG9jY2x1c2lvbiB0cmFja2luZyBpc1xuICogZGlzYWJsZWQgYW5kIHRoZSB0aW1lci9yZW5kZXJlciBiYWNrZ3JvdW5kaW5nIGhldXJpc3RpY3MgYXJlIHN3aXRjaGVkIG9mZiwgc29cbiAqIGFuIG9mZi1zY3JlZW4gKG9yIGNvdmVyZWQpIHJlbmRlcmVyIGlzIG5ldmVyIHRocm90dGxlZCBvciBmcm96ZW4uXG4gKlxuICogQSAqbWluaW1pemVkKiB3aW5kb3csIGJ5IGNvbnRyYXN0LCBmcmVlemVzIGByZXF1ZXN0QW5pbWF0aW9uRnJhbWVgIHJlZ2FyZGxlc3NcbiAqIG9mIGFueSBmbGFnICh0aGVyZSBpcyBubyBzdXJmYWNlIHRvIGNvbXBvc2l0ZSksIHdoaWNoIGlzIHdoeSB0aGUgaGFybmVzcyBtb3Zlc1xuICogdGhlIHdpbmRvdyBvZmYtc2NyZWVuIHJhdGhlciB0aGFuIG1pbmltaXppbmcgaXQuXG4gKi9cbmV4cG9ydCBjb25zdCBPV05FRF9ISURERU5fTEFVTkNIX0ZMQUdTID0gW1xuICAnLS1kaXNhYmxlLWZlYXR1cmVzPUNhbGN1bGF0ZU5hdGl2ZVdpbk9jY2x1c2lvbicsXG4gICctLWRpc2FibGUtYmFja2dyb3VuZC10aW1lci10aHJvdHRsaW5nJyxcbiAgJy0tZGlzYWJsZS1iYWNrZ3JvdW5kaW5nLW9jY2x1ZGVkLXdpbmRvd3MnLFxuICAnLS1kaXNhYmxlLXJlbmRlcmVyLWJhY2tncm91bmRpbmcnXG5dO1xuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBleHRyYSBDaHJvbWl1bSBsYXVuY2ggYXJncyBmb3IgYW4gb3duZWQgZGVza3RvcCBpbnN0YW5jZTogdGhlXG4gKiB7QGxpbmsgT1dORURfSElEREVOX0xBVU5DSF9GTEFHU30gd2hlbiB0aGUgd2luZG93IGlzIGhpZGRlbiAodGhlIGRlZmF1bHQpLCBvclxuICogYW4gZW1wdHkgbGlzdCB3aGVuIGl0IGlzIHZpc2libGUuXG4gKlxuICogQHBhcmFtIGlzT2JzaWRpYW5BcHBWaXNpYmxlIC0gVGhlIHJlc29sdmVkIG9wdGlvbiB2YWx1ZSAob21pdHRlZCBcdTIxOTIgaGlkZGVuKS5cbiAqIEByZXR1cm5zIFRoZSBleHRyYSBsYXVuY2ggYXJncyAocG9zc2libHkgZW1wdHkpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZU93bmVkSGlkZGVuTGF1bmNoQXJncyhpc09ic2lkaWFuQXBwVmlzaWJsZT86IGJvb2xlYW4pOiBzdHJpbmdbXSB7XG4gIHJldHVybiBzaG91bGRIaWRlT2JzaWRpYW5BcHAoaXNPYnNpZGlhbkFwcFZpc2libGUpID8gWy4uLk9XTkVEX0hJRERFTl9MQVVOQ0hfRkxBR1NdIDogW107XG59XG5cbi8qKlxuICogV2hldGhlciB0aGUgYXV0by1zdGFydGVkIEFwcGl1bSBzZXJ2ZXIgY29uc29sZSB3aW5kb3cgc2hvdWxkIGJlIGhpZGRlbi5cbiAqXG4gKiBAcGFyYW0gaXNBcHBpdW1Db25zb2xlVmlzaWJsZSAtIFRoZSByZXNvbHZlZCBvcHRpb24gdmFsdWUgKG9taXR0ZWQgXHUyMTkyIGhpZGRlbikuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgd2hlbiB0aGUgY29uc29sZSB3aW5kb3cgc2hvdWxkIGJlIGhpZGRlbiAodGhlIGRlZmF1bHQpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2hvdWxkSGlkZUFwcGl1bUNvbnNvbGUoaXNBcHBpdW1Db25zb2xlVmlzaWJsZT86IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgcmV0dXJuICEoaXNBcHBpdW1Db25zb2xlVmlzaWJsZSA/PyBmYWxzZSk7XG59XG5cbi8qKlxuICogV2hldGhlciB0aGUgYXV0by1zdGFydGVkIEFuZHJvaWQgZW11bGF0b3Igd2luZG93IHNob3VsZCBiZSBoaWRkZW5cbiAqICh2aWEgdGhlIGVtdWxhdG9yJ3MgYC1uby13aW5kb3dgIGZsYWcpLlxuICpcbiAqIEBwYXJhbSBpc0VtdWxhdG9yVmlzaWJsZSAtIFRoZSByZXNvbHZlZCBvcHRpb24gdmFsdWUgKG9taXR0ZWQgXHUyMTkyIGhpZGRlbikuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgd2hlbiB0aGUgZW11bGF0b3Igd2luZG93IHNob3VsZCBiZSBoaWRkZW4gKHRoZSBkZWZhdWx0KS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNob3VsZEhpZGVFbXVsYXRvcldpbmRvdyhpc0VtdWxhdG9yVmlzaWJsZT86IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgcmV0dXJuICEoaXNFbXVsYXRvclZpc2libGUgPz8gZmFsc2UpO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgdGhlIG93bmVkIGRlc2t0b3AgT2JzaWRpYW4gd2luZG93IHNob3VsZCBiZSBoaWRkZW4gKG1vdmVkIG9mZi1zY3JlZW4pLlxuICpcbiAqIEBwYXJhbSBpc09ic2lkaWFuQXBwVmlzaWJsZSAtIFRoZSByZXNvbHZlZCBvcHRpb24gdmFsdWUgKG9taXR0ZWQgXHUyMTkyIGhpZGRlbikuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgd2hlbiB0aGUgd2luZG93IHNob3VsZCBiZSBoaWRkZW4gKHRoZSBkZWZhdWx0KS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNob3VsZEhpZGVPYnNpZGlhbkFwcChpc09ic2lkaWFuQXBwVmlzaWJsZT86IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgcmV0dXJuICEoaXNPYnNpZGlhbkFwcFZpc2libGUgPz8gZmFsc2UpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBOEJPLE1BQU0sNEJBQTRCO0FBQUEsRUFDdkM7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFDRjtBQVVPLFNBQVMsNkJBQTZCLHNCQUEwQztBQUNyRixTQUFPLHNCQUFzQixvQkFBb0IsSUFBSSxDQUFDLEdBQUcseUJBQXlCLElBQUksQ0FBQztBQUN6RjtBQVFPLFNBQVMsd0JBQXdCLHdCQUEyQztBQUNqRixTQUFPLEVBQUUsMEJBQTBCO0FBQ3JDO0FBU08sU0FBUyx5QkFBeUIsbUJBQXNDO0FBQzdFLFNBQU8sRUFBRSxxQkFBcUI7QUFDaEM7QUFRTyxTQUFTLHNCQUFzQixzQkFBeUM7QUFDN0UsU0FBTyxFQUFFLHdCQUF3QjtBQUNuQzsiLAogICJuYW1lcyI6IFtdCn0K
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "obsidian-integration-testing",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.2.0",
|
|
4
4
|
"description": "Simplifies integration testing of Obsidian plugins.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"obsidian",
|
|
@@ -172,10 +172,10 @@
|
|
|
172
172
|
"czg": "^1.13.1",
|
|
173
173
|
"dprint": "^0.55.1",
|
|
174
174
|
"esbuild": "^0.28.1",
|
|
175
|
-
"eslint": "^10.
|
|
175
|
+
"eslint": "^10.7.0",
|
|
176
176
|
"eslint-import-resolver-typescript": "^4.4.5",
|
|
177
177
|
"eslint-plugin-import-x": "^4.17.1",
|
|
178
|
-
"eslint-plugin-jsdoc": "^63.0.
|
|
178
|
+
"eslint-plugin-jsdoc": "^63.0.13",
|
|
179
179
|
"eslint-plugin-perfectionist": "^5.10.0",
|
|
180
180
|
"eslint-plugin-tsdoc": "^0.5.2",
|
|
181
181
|
"globals": "^17.7.0",
|
|
Binary file
|