obsidian-integration-testing 1.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.
Files changed (50) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +298 -0
  3. package/dist/lib/cjs/context-id.cjs +83 -0
  4. package/dist/lib/cjs/context-id.d.cts +57 -0
  5. package/dist/lib/cjs/exec.cjs +267 -0
  6. package/dist/lib/cjs/exec.d.cts +108 -0
  7. package/dist/lib/cjs/function-expression.cjs +41 -0
  8. package/dist/lib/cjs/function-expression.d.cts +16 -0
  9. package/dist/lib/cjs/index.cjs +40 -0
  10. package/dist/lib/cjs/index.d.cts +11 -0
  11. package/dist/lib/cjs/integration-global-setup.cjs +106 -0
  12. package/dist/lib/cjs/integration-global-setup.d.cts +32 -0
  13. package/dist/lib/cjs/json-with-functions.cjs +46 -0
  14. package/dist/lib/cjs/json-with-functions.d.cts +16 -0
  15. package/dist/lib/cjs/obsidian-cli.cjs +191 -0
  16. package/dist/lib/cjs/obsidian-cli.d.cts +75 -0
  17. package/dist/lib/cjs/obsidian-config.cjs +91 -0
  18. package/dist/lib/cjs/obsidian-config.d.cts +25 -0
  19. package/dist/lib/cjs/temp-vault.cjs +96 -0
  20. package/dist/lib/cjs/temp-vault.d.cts +47 -0
  21. package/dist/lib/cjs/type-guards.cjs +42 -0
  22. package/dist/lib/cjs/type-guards.d.cts +30 -0
  23. package/dist/lib/cjs/vault-registry.cjs +89 -0
  24. package/dist/lib/cjs/vault-registry.d.cts +18 -0
  25. package/dist/lib/esm/context-id.d.mts +57 -0
  26. package/dist/lib/esm/context-id.mjs +59 -0
  27. package/dist/lib/esm/exec.d.mts +108 -0
  28. package/dist/lib/esm/exec.mjs +232 -0
  29. package/dist/lib/esm/function-expression.d.mts +16 -0
  30. package/dist/lib/esm/function-expression.mjs +17 -0
  31. package/dist/lib/esm/index.d.mts +11 -0
  32. package/dist/lib/esm/index.mjs +15 -0
  33. package/dist/lib/esm/integration-global-setup.d.mts +32 -0
  34. package/dist/lib/esm/integration-global-setup.mjs +88 -0
  35. package/dist/lib/esm/json-with-functions.d.mts +16 -0
  36. package/dist/lib/esm/json-with-functions.mjs +22 -0
  37. package/dist/lib/esm/obsidian-cli.d.mts +75 -0
  38. package/dist/lib/esm/obsidian-cli.mjs +161 -0
  39. package/dist/lib/esm/obsidian-config.d.mts +25 -0
  40. package/dist/lib/esm/obsidian-config.mjs +58 -0
  41. package/dist/lib/esm/temp-vault.d.mts +47 -0
  42. package/dist/lib/esm/temp-vault.mjs +82 -0
  43. package/dist/lib/esm/type-guards.d.mts +30 -0
  44. package/dist/lib/esm/type-guards.mjs +17 -0
  45. package/dist/lib/esm/vault-registry.d.mts +18 -0
  46. package/dist/lib/esm/vault-registry.mjs +64 -0
  47. package/dist/obsidian-integration-testing-1.0.0.tgz +0 -0
  48. package/package.json +131 -0
  49. package/patches/@vitest+runner+4.1.0.patch +22 -0
  50. package/scripts/postinstall.mjs +29 -0
package/package.json ADDED
@@ -0,0 +1,131 @@
1
+ {
2
+ "name": "obsidian-integration-testing",
3
+ "version": "1.0.0",
4
+ "description": "Simplifies integration testing of Obsidian plugins.",
5
+ "keywords": [
6
+ "obsidian",
7
+ "testing",
8
+ "integration",
9
+ "vitest"
10
+ ],
11
+ "homepage": "https://github.com/mnaoumov/obsidian-integration-testing#readme",
12
+ "bugs": {
13
+ "url": "https://github.com/mnaoumov/obsidian-integration-testing/issues"
14
+ },
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/mnaoumov/obsidian-integration-testing.git"
18
+ },
19
+ "license": "MIT",
20
+ "author": "Michael Naumov",
21
+ "type": "module",
22
+ "main": "dist/lib/cjs/index.cjs",
23
+ "module": "dist/lib/esm/index.mjs",
24
+ "types": "dist/lib/esm/index.d.mts",
25
+ "exports": {
26
+ ".": {
27
+ "import": {
28
+ "types": "./dist/lib/esm/index.d.mts",
29
+ "default": "./dist/lib/esm/index.mjs"
30
+ },
31
+ "require": {
32
+ "types": "./dist/lib/cjs/index.d.cts",
33
+ "default": "./dist/lib/cjs/index.cjs"
34
+ }
35
+ },
36
+ "./obsidian-plugin-vitest-setup": {
37
+ "import": {
38
+ "types": "./dist/lib/esm/integration-global-setup.d.mts",
39
+ "default": "./dist/lib/esm/integration-global-setup.mjs"
40
+ },
41
+ "require": {
42
+ "types": "./dist/lib/cjs/integration-global-setup.d.cts",
43
+ "default": "./dist/lib/cjs/integration-global-setup.cjs"
44
+ }
45
+ }
46
+ },
47
+ "files": [
48
+ "!dist/*.tgz",
49
+ "**/package.json",
50
+ "dist/",
51
+ "LICENSE",
52
+ "patches/",
53
+ "README.md",
54
+ "scripts/postinstall.mjs"
55
+ ],
56
+ "scripts": {
57
+ "build": "jiti scripts/build.ts",
58
+ "build:clean": "jiti scripts/build-clean.ts",
59
+ "build:compile": "jiti scripts/build-compile.ts",
60
+ "build:compile:typescript": "jiti scripts/build-compile-typescript.ts",
61
+ "build:lib": "jiti scripts/build-lib.ts",
62
+ "build:types": "jiti scripts/build-types.ts",
63
+ "commit": "jiti scripts/commit.ts",
64
+ "format": "jiti scripts/format.ts",
65
+ "format:check": "jiti scripts/format-check.ts",
66
+ "lint": "jiti scripts/lint.ts",
67
+ "lint:fix": "jiti scripts/lint-fix.ts",
68
+ "lint:md": "jiti scripts/lint-md.ts",
69
+ "lint:md:fix": "jiti scripts/lint-md-fix.ts",
70
+ "postinstall": "node scripts/postinstall.mjs",
71
+ "prepare": "jiti scripts/prepare.ts",
72
+ "spellcheck": "jiti scripts/spellcheck.ts",
73
+ "test": "jiti scripts/test.ts",
74
+ "test:coverage": "jiti scripts/test-coverage.ts",
75
+ "test:integration": "jiti scripts/test-integration.ts",
76
+ "test:watch": "jiti scripts/test-watch.ts",
77
+ "version": "jiti scripts/version.ts"
78
+ },
79
+ "devDependencies": {
80
+ "@commitlint/cli": "latest",
81
+ "@commitlint/config-conventional": "latest",
82
+ "@commitlint/types": "latest",
83
+ "@eslint-community/eslint-plugin-eslint-comments": "latest",
84
+ "@eslint/compat": "latest",
85
+ "@eslint/js": "latest",
86
+ "@stylistic/eslint-plugin": "latest",
87
+ "@tsconfig/strictest": "latest",
88
+ "@types/markdown-it": "latest",
89
+ "@types/semver": "latest",
90
+ "@types/turndown": "latest",
91
+ "@typescript-eslint/rule-tester": "latest",
92
+ "@typescript-eslint/utils": "latest",
93
+ "@vitest/coverage-v8": "latest",
94
+ "@vitest/runner": "4.1.0",
95
+ "commitizen": "latest",
96
+ "cspell": "latest",
97
+ "cz-conventional-changelog": "latest",
98
+ "dprint": "latest",
99
+ "esbuild": "latest",
100
+ "eslint": "latest",
101
+ "eslint-import-resolver-typescript": "latest",
102
+ "eslint-plugin-import-x": "latest",
103
+ "eslint-plugin-jsdoc": "latest",
104
+ "eslint-plugin-perfectionist": "latest",
105
+ "eslint-plugin-tsdoc": "latest",
106
+ "globals": "latest",
107
+ "husky": "latest",
108
+ "jiti": "latest",
109
+ "jsdom": "latest",
110
+ "markdownlint": "latest",
111
+ "markdownlint-cli2": "latest",
112
+ "markdownlint-rule-relative-links": "latest",
113
+ "nano-staged": "latest",
114
+ "obsidian": "latest",
115
+ "obsidian-typings": "obsidian-public-latest",
116
+ "patch-package": "latest",
117
+ "semver": "latest",
118
+ "type-fest": "latest",
119
+ "typescript": "latest",
120
+ "typescript-eslint": "latest",
121
+ "vitest": "latest"
122
+ },
123
+ "peerDependencies": {
124
+ "obsidian": "latest",
125
+ "type-fest": "latest",
126
+ "vitest": "latest"
127
+ },
128
+ "overrides": {
129
+ "type-fest": "latest"
130
+ }
131
+ }
@@ -0,0 +1,22 @@
1
+ diff --git a/node_modules/@vitest/runner/dist/tasks.d-D2GKpdwQ.d.ts b/node_modules/@vitest/runner/dist/tasks.d-D2GKpdwQ.d.ts
2
+ index 2989304..00afc9c 100644
3
+ --- a/node_modules/@vitest/runner/dist/tasks.d-D2GKpdwQ.d.ts
4
+ +++ b/node_modules/@vitest/runner/dist/tasks.d-D2GKpdwQ.d.ts
5
+ @@ -1330,7 +1330,7 @@ interface TestAttachment {
6
+ /** File system path to the attachment */
7
+ path?: string;
8
+ /** Inline attachment content as a string or raw binary data */
9
+ - body?: string | Uint8Array;
10
+ + body?: string | Uint8Array | undefined;
11
+ }
12
+ interface Location {
13
+ /** Line number in the source file (1-indexed) */
14
+ @@ -1365,7 +1365,7 @@ interface TestArtifactBase {
15
+ /** File or data attachments associated with this artifact */
16
+ attachments?: TestAttachment[];
17
+ /** Source location where this artifact was created */
18
+ - location?: TestArtifactLocation;
19
+ + location?: TestArtifactLocation | undefined;
20
+ }
21
+ /**
22
+ * @deprecated Use {@linkcode TestArtifactLocation} instead.
@@ -0,0 +1,29 @@
1
+ import { spawnSync } from 'node:child_process';
2
+ import {
3
+ join,
4
+ relative
5
+ } from 'node:path/posix';
6
+ import {
7
+ cwd,
8
+ env
9
+ } from 'node:process';
10
+
11
+ const isGlobalInstall = env.npm_config_global === 'true';
12
+
13
+ if (isGlobalInstall) {
14
+ console.log('Global install detected, skipping patch-package...');
15
+ process.exit(0);
16
+ }
17
+
18
+ let pkgDir = cwd().replace(/\\/g, '/');
19
+ const patchDir = join(pkgDir, 'patches');
20
+ const relativePath = '/node_modules/obsidian-test-mocks';
21
+ if (pkgDir.endsWith(relativePath)) {
22
+ pkgDir = pkgDir.slice(0, -relativePath.length);
23
+ }
24
+
25
+ spawnSync(`npx patch-package --patch-dir "${relative(pkgDir, patchDir)}"`, {
26
+ shell: true,
27
+ stdio: 'inherit',
28
+ cwd: pkgDir
29
+ });