obsidian-integration-testing 5.0.0 → 5.1.1

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.
Files changed (34) hide show
  1. package/dist/lib/cjs/eval-in-obsidian.cjs +1 -1
  2. package/dist/lib/cjs/eval-in-obsidian.d.cts +36 -1
  3. package/dist/lib/cjs/global-setup-core.cjs +24 -10
  4. package/dist/lib/cjs/index.cjs +1 -1
  5. package/dist/lib/cjs/index.d.cts +1 -1
  6. package/dist/lib/cjs/jest/setup.cjs +5 -0
  7. package/dist/lib/cjs/jest/setup.d.cts +26 -0
  8. package/dist/lib/cjs/library.cjs +1 -1
  9. package/dist/lib/cjs/namespace-bootstrap.cjs +21 -2
  10. package/dist/lib/cjs/transport-desktop-cdp.cjs +18 -2
  11. package/dist/lib/cjs/transport-desktop-cdp.d.cts +27 -0
  12. package/dist/lib/cjs/transport-factory.cjs +5 -3
  13. package/dist/lib/cjs/transport-options.cjs +1 -1
  14. package/dist/lib/cjs/transport-options.d.cts +16 -0
  15. package/dist/lib/cjs/vitest/setup.cjs +6 -0
  16. package/dist/lib/cjs/vitest/setup.d.cts +14 -0
  17. package/dist/lib/esm/eval-in-obsidian.d.mts +36 -1
  18. package/dist/lib/esm/eval-in-obsidian.mjs +1 -1
  19. package/dist/lib/esm/global-setup-core.mjs +24 -10
  20. package/dist/lib/esm/index.d.mts +1 -1
  21. package/dist/lib/esm/index.mjs +1 -1
  22. package/dist/lib/esm/jest/setup.d.mts +26 -0
  23. package/dist/lib/esm/jest/setup.mjs +7 -0
  24. package/dist/lib/esm/library.mjs +1 -1
  25. package/dist/lib/esm/namespace-bootstrap.mjs +21 -2
  26. package/dist/lib/esm/transport-desktop-cdp.d.mts +27 -0
  27. package/dist/lib/esm/transport-desktop-cdp.mjs +18 -2
  28. package/dist/lib/esm/transport-factory.mjs +5 -3
  29. package/dist/lib/esm/transport-options.d.mts +16 -0
  30. package/dist/lib/esm/vitest/setup.d.mts +14 -0
  31. package/dist/lib/esm/vitest/setup.mjs +8 -0
  32. package/dist/obsidian-integration-testing-5.1.1.tgz +0 -0
  33. package/package.json +21 -1
  34. package/dist/obsidian-integration-testing-5.0.0.tgz +0 -0
@@ -97,6 +97,22 @@ export interface ObsidianCdpTransportOptions {
97
97
  * Defaults to `'localhost'`
98
98
  */
99
99
  readonly host?: string;
100
+ /**
101
+ * Marks {@link port} as the CDP port of a **harness-owned, isolated instance**
102
+ * that the global setup already launched and prepared (vault registered,
103
+ * plugin enabled).
104
+ *
105
+ * Populated automatically by the global setup and provided to test workers via
106
+ * the framework's context mechanism (e.g. Vitest `provide`/`inject`). When set,
107
+ * the worker **attaches** to the owned instance on {@link port} instead of
108
+ * launching its own, and skips the user-scope vault-registration preflight —
109
+ * the owned instance's vault lives in an isolated user-data config, not the
110
+ * user-scope registry. Do not set this manually; for plain attach mode use
111
+ * {@link port} alone.
112
+ *
113
+ * @default `undefined`
114
+ */
115
+ readonly isHarnessOwnedInstance?: boolean | undefined;
100
116
  /**
101
117
  * Pins the **Electron shell** (installer build) the owned instance runs.
102
118
  *
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @file
3
+ *
4
+ * Vitest **per-worker** setup file.
5
+ *
6
+ * Vitest runs `globalSetup` only in the main process, so the transport-options
7
+ * and vault-path resolvers registered there never exist in the test workers that
8
+ * actually call {@link evalInObsidian}. Add this module to the integration
9
+ * project's `setupFiles` so each worker registers the resolvers and reads the
10
+ * context the global setup published via `provide` (e.g. the owned instance's
11
+ * CDP `port`). Without it, a worker falls back to launching its own un-prepared
12
+ * transport — which, for the owned-CDP default, has no CDP endpoint.
13
+ */
14
+ export {};
@@ -0,0 +1,8 @@
1
+ import { inject } from "vitest";
2
+ import {
3
+ setTransportOptionsResolver,
4
+ setVaultPathResolver
5
+ } from "../context-provider.mjs";
6
+ setTransportOptionsResolver(() => inject("obsidianTransport"));
7
+ setVaultPathResolver(() => inject("tempVaultPath"));
8
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3ZpdGVzdC9zZXR1cC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFZpdGVzdCAqKnBlci13b3JrZXIqKiBzZXR1cCBmaWxlLlxuICpcbiAqIFZpdGVzdCBydW5zIGBnbG9iYWxTZXR1cGAgb25seSBpbiB0aGUgbWFpbiBwcm9jZXNzLCBzbyB0aGUgdHJhbnNwb3J0LW9wdGlvbnNcbiAqIGFuZCB2YXVsdC1wYXRoIHJlc29sdmVycyByZWdpc3RlcmVkIHRoZXJlIG5ldmVyIGV4aXN0IGluIHRoZSB0ZXN0IHdvcmtlcnMgdGhhdFxuICogYWN0dWFsbHkgY2FsbCB7QGxpbmsgZXZhbEluT2JzaWRpYW59LiBBZGQgdGhpcyBtb2R1bGUgdG8gdGhlIGludGVncmF0aW9uXG4gKiBwcm9qZWN0J3MgYHNldHVwRmlsZXNgIHNvIGVhY2ggd29ya2VyIHJlZ2lzdGVycyB0aGUgcmVzb2x2ZXJzIGFuZCByZWFkcyB0aGVcbiAqIGNvbnRleHQgdGhlIGdsb2JhbCBzZXR1cCBwdWJsaXNoZWQgdmlhIGBwcm92aWRlYCAoZS5nLiB0aGUgb3duZWQgaW5zdGFuY2Unc1xuICogQ0RQIGBwb3J0YCkuIFdpdGhvdXQgaXQsIGEgd29ya2VyIGZhbGxzIGJhY2sgdG8gbGF1bmNoaW5nIGl0cyBvd24gdW4tcHJlcGFyZWRcbiAqIHRyYW5zcG9ydCBcdTIwMTQgd2hpY2gsIGZvciB0aGUgb3duZWQtQ0RQIGRlZmF1bHQsIGhhcyBubyBDRFAgZW5kcG9pbnQuXG4gKi9cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBJbnRlZ3JhdGlvbi10aW1lIHNldHVwIGNvdmVyZWQgYnkgaW50ZWdyYXRpb24gdGVzdHMsIG5vdCB1bml0IHRlc3RzLiAqL1xuXG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tICd2aXRlc3QnO1xuXG5pbXBvcnQge1xuICBzZXRUcmFuc3BvcnRPcHRpb25zUmVzb2x2ZXIsXG4gIHNldFZhdWx0UGF0aFJlc29sdmVyXG59IGZyb20gJy4uL2NvbnRleHQtcHJvdmlkZXIubWpzJztcblxuc2V0VHJhbnNwb3J0T3B0aW9uc1Jlc29sdmVyKCgpID0+IGluamVjdCgnb2JzaWRpYW5UcmFuc3BvcnQnKSk7XG5zZXRWYXVsdFBhdGhSZXNvbHZlcigoKSA9PiBpbmplY3QoJ3RlbXBWYXVsdFBhdGgnKSk7XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiQUFlQSxTQUFTLGNBQWM7QUFFdkI7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFFUCw0QkFBNEIsTUFBTSxPQUFPLG1CQUFtQixDQUFDO0FBQzdELHFCQUFxQixNQUFNLE9BQU8sZUFBZSxDQUFDOyIsCiAgIm5hbWVzIjogW10KfQo=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "obsidian-integration-testing",
3
- "version": "5.0.0",
3
+ "version": "5.1.1",
4
4
  "description": "Simplifies integration testing of Obsidian plugins.",
5
5
  "keywords": [
6
6
  "obsidian",
@@ -50,6 +50,16 @@
50
50
  "default": "./dist/lib/cjs/jest/global-teardown.cjs"
51
51
  }
52
52
  },
53
+ "./jest-setup": {
54
+ "import": {
55
+ "types": "./dist/lib/esm/jest/setup.d.mts",
56
+ "default": "./dist/lib/esm/jest/setup.mjs"
57
+ },
58
+ "require": {
59
+ "types": "./dist/lib/cjs/jest/setup.d.cts",
60
+ "default": "./dist/lib/cjs/jest/setup.cjs"
61
+ }
62
+ },
53
63
  "./vitest-global-setup": {
54
64
  "import": {
55
65
  "types": "./dist/lib/esm/vitest/global-setup.d.mts",
@@ -60,6 +70,16 @@
60
70
  "default": "./dist/lib/cjs/vitest/global-setup.cjs"
61
71
  }
62
72
  },
73
+ "./vitest-setup": {
74
+ "import": {
75
+ "types": "./dist/lib/esm/vitest/setup.d.mts",
76
+ "default": "./dist/lib/esm/vitest/setup.mjs"
77
+ },
78
+ "require": {
79
+ "types": "./dist/lib/cjs/vitest/setup.d.cts",
80
+ "default": "./dist/lib/cjs/vitest/setup.cjs"
81
+ }
82
+ },
63
83
  "./vitest/typings": {
64
84
  "import": {
65
85
  "types": "./dist/lib/esm/vitest/typings.d.mts"