@mnaoumov/obsidian-dev-toolkit 1.0.0 → 2.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 (228) hide show
  1. package/README.md +9 -1
  2. package/dist/demo-vault-helper/main.js +678 -18
  3. package/dist/integration-test-plugin/main.js +12075 -3087
  4. package/dist/integration-test-plugin/manifest.json +2 -2
  5. package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +6 -38
  6. package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.cts +1 -1
  7. package/dist/lib/cjs/bundlers/esbuild-impl/dependency.cjs +5 -37
  8. package/dist/lib/cjs/bundlers/esbuild-impl/dependency.d.cts +1 -1
  9. package/dist/lib/cjs/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +5 -37
  10. package/dist/lib/cjs/bundlers/esbuild-impl/fix-source-maps-plugin.d.cts +1 -1
  11. package/dist/lib/cjs/bundlers/esbuild-impl/index.cjs +7 -66
  12. package/dist/lib/cjs/bundlers/esbuild-impl/index.d.cts +1 -1
  13. package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +7 -39
  14. package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.d.cts +1 -1
  15. package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.cjs +5 -37
  16. package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.d.cts +1 -1
  17. package/dist/lib/cjs/bundlers/esbuild-impl/rename-css-plugin.cjs +5 -37
  18. package/dist/lib/cjs/bundlers/esbuild-impl/rename-css-plugin.d.cts +1 -1
  19. package/dist/lib/cjs/bundlers/esbuild.cjs +1 -60
  20. package/dist/lib/cjs/bundlers/esbuild.d.cts +1 -1
  21. package/dist/lib/cjs/bundlers/index.cjs +3 -62
  22. package/dist/lib/cjs/bundlers/index.d.cts +1 -1
  23. package/dist/lib/cjs/demo-vault-app-json.cjs +5 -37
  24. package/dist/lib/cjs/demo-vault-app-json.d.cts +1 -1
  25. package/dist/lib/cjs/demo-vault-buttons.cjs +6 -38
  26. package/dist/lib/cjs/demo-vault-buttons.d.cts +8 -8
  27. package/dist/lib/cjs/demo-vault-coverage.cjs +7 -38
  28. package/dist/lib/cjs/demo-vault-coverage.d.cts +1 -1
  29. package/dist/lib/cjs/demo-vault.cjs +6 -38
  30. package/dist/lib/cjs/demo-vault.d.cts +1 -1
  31. package/dist/lib/cjs/formatters/dprint.cjs +5 -37
  32. package/dist/lib/cjs/formatters/dprint.d.cts +1 -1
  33. package/dist/lib/cjs/formatters/index.cjs +2 -61
  34. package/dist/lib/cjs/formatters/index.d.cts +1 -1
  35. package/dist/lib/cjs/index.cjs +12 -71
  36. package/dist/lib/cjs/integration-test-setup.cjs +1 -60
  37. package/dist/lib/cjs/integration-test-setup.d.cts +5 -5
  38. package/dist/lib/cjs/integration-test-vitest-global-setup.cjs +6 -38
  39. package/dist/lib/cjs/integration-test-vitest-global-setup.d.cts +7 -7
  40. package/dist/lib/cjs/jest-setup.cjs +5 -37
  41. package/dist/lib/cjs/jest-setup.d.cts +1 -1
  42. package/dist/lib/cjs/library-references.d.cts +2 -0
  43. package/dist/lib/cjs/linters/eslint-config.cjs +71 -49
  44. package/dist/lib/cjs/linters/eslint-config.d.cts +1 -1
  45. package/dist/lib/cjs/linters/eslint-rules/index.cjs +26 -73
  46. package/dist/lib/cjs/linters/eslint-rules/index.d.cts +6 -2
  47. package/dist/lib/cjs/linters/eslint-rules/manifest-description.cjs +1 -60
  48. package/dist/lib/cjs/linters/eslint-rules/manifest-description.d.cts +1 -1
  49. package/dist/lib/cjs/linters/eslint-rules/manifest-helpers.cjs +6 -38
  50. package/dist/lib/cjs/linters/eslint-rules/manifest-helpers.d.cts +1 -1
  51. package/dist/lib/cjs/linters/eslint-rules/manifest-id.cjs +1 -60
  52. package/dist/lib/cjs/linters/eslint-rules/manifest-id.d.cts +1 -1
  53. package/dist/lib/cjs/linters/eslint-rules/manifest-name.cjs +1 -60
  54. package/dist/lib/cjs/linters/eslint-rules/manifest-name.d.cts +1 -1
  55. package/dist/lib/cjs/linters/eslint-rules/manifest-schema.cjs +1 -60
  56. package/dist/lib/cjs/linters/eslint-rules/manifest-schema.d.cts +1 -1
  57. package/dist/lib/cjs/linters/eslint-rules/no-local-obsidian-internals.cjs +240 -0
  58. package/dist/lib/cjs/linters/eslint-rules/no-local-obsidian-internals.d.cts +10 -0
  59. package/dist/lib/cjs/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.cjs +5 -37
  60. package/dist/lib/cjs/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.d.cts +1 -1
  61. package/dist/lib/cjs/linters/eslint-rules/no-untrusted-input-events.cjs +5 -37
  62. package/dist/lib/cjs/linters/eslint-rules/no-untrusted-input-events.d.cts +1 -1
  63. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-toolkit-plugin.cjs +136 -0
  64. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-toolkit-plugin.d.cts +16 -0
  65. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code-in-ui.cjs +217 -0
  66. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code-in-ui.d.cts +30 -0
  67. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code.cjs +169 -0
  68. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code.d.cts +29 -0
  69. package/dist/lib/cjs/linters/eslint-rules/require-component-suffix.cjs +5 -37
  70. package/dist/lib/cjs/linters/eslint-rules/require-component-suffix.d.cts +1 -1
  71. package/dist/lib/cjs/linters/eslint-rules/require-plugin-api-contract-schemas.cjs +287 -0
  72. package/dist/lib/cjs/linters/eslint-rules/require-plugin-api-contract-schemas.d.cts +10 -0
  73. package/dist/lib/cjs/linters/eslint.cjs +5 -37
  74. package/dist/lib/cjs/linters/eslint.d.cts +1 -1
  75. package/dist/lib/cjs/linters/index.cjs +17 -67
  76. package/dist/lib/cjs/linters/index.d.cts +4 -1
  77. package/dist/lib/cjs/linters/markdownlint-cli2-config.cjs +152 -0
  78. package/dist/lib/cjs/linters/markdownlint-cli2-config.d.cts +12 -0
  79. package/dist/lib/cjs/linters/markdownlint-rules/index.cjs +118 -0
  80. package/dist/lib/cjs/linters/markdownlint-rules/index.d.cts +2 -0
  81. package/dist/lib/cjs/linters/markdownlint-rules/plugin-name-as-code.cjs +200 -0
  82. package/dist/lib/cjs/linters/markdownlint-rules/plugin-name-as-code.d.cts +32 -0
  83. package/dist/lib/cjs/linters/markdownlint.cjs +5 -37
  84. package/dist/lib/cjs/linters/markdownlint.d.cts +1 -1
  85. package/dist/lib/cjs/linters/obsidianmd-rule-custom-message.cjs +1 -60
  86. package/dist/lib/cjs/linters/obsidianmd-rule-custom-message.d.cts +1 -1
  87. package/dist/lib/cjs/linters/plugin-names.cjs +203 -0
  88. package/dist/lib/cjs/linters/plugin-names.d.cts +81 -0
  89. package/dist/lib/cjs/obsidian-plugin-repo-paths.cjs +1 -60
  90. package/dist/lib/cjs/obsidian-plugin-repo-paths.d.cts +1 -1
  91. package/dist/lib/cjs/setup.cjs +5 -37
  92. package/dist/lib/cjs/setup.d.cts +1 -1
  93. package/dist/lib/cjs/templates.cjs +5 -37
  94. package/dist/lib/cjs/templates.d.cts +1 -1
  95. package/dist/lib/cjs/test-runners/index.cjs +4 -63
  96. package/dist/lib/cjs/test-runners/index.d.cts +1 -1
  97. package/dist/lib/cjs/test-runners/integration-test-plugin.cjs +12 -44
  98. package/dist/lib/cjs/test-runners/integration-test-plugin.d.cts +5 -5
  99. package/dist/lib/cjs/test-runners/performance-eval-cap.cjs +1 -60
  100. package/dist/lib/cjs/test-runners/performance-eval-cap.d.cts +1 -1
  101. package/dist/lib/cjs/test-runners/stale-build-global-setup.cjs +5 -37
  102. package/dist/lib/cjs/test-runners/stale-build-global-setup.d.cts +1 -1
  103. package/dist/lib/cjs/test-runners/vitest-config.cjs +9 -41
  104. package/dist/lib/cjs/test-runners/vitest-config.d.cts +2 -3
  105. package/dist/lib/cjs/version.cjs +5 -37
  106. package/dist/lib/cjs/version.d.cts +1 -1
  107. package/dist/lib/cjs/vitest-setup.cjs +5 -37
  108. package/dist/lib/cjs/vitest-setup.d.cts +1 -1
  109. package/dist/lib/esm/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.mts +1 -1
  110. package/dist/lib/esm/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +5 -22
  111. package/dist/lib/esm/bundlers/esbuild-impl/dependency.d.mts +1 -1
  112. package/dist/lib/esm/bundlers/esbuild-impl/dependency.mjs +5 -22
  113. package/dist/lib/esm/bundlers/esbuild-impl/fix-source-maps-plugin.d.mts +1 -1
  114. package/dist/lib/esm/bundlers/esbuild-impl/fix-source-maps-plugin.mjs +5 -22
  115. package/dist/lib/esm/bundlers/esbuild-impl/index.d.mts +1 -1
  116. package/dist/lib/esm/bundlers/esbuild-impl/index.mjs +1 -45
  117. package/dist/lib/esm/bundlers/esbuild-impl/obsidian-plugin-builder.d.mts +1 -1
  118. package/dist/lib/esm/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +5 -22
  119. package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.d.mts +1 -1
  120. package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.mjs +5 -22
  121. package/dist/lib/esm/bundlers/esbuild-impl/rename-css-plugin.d.mts +1 -1
  122. package/dist/lib/esm/bundlers/esbuild-impl/rename-css-plugin.mjs +5 -22
  123. package/dist/lib/esm/bundlers/esbuild.d.mts +1 -1
  124. package/dist/lib/esm/bundlers/esbuild.mjs +1 -45
  125. package/dist/lib/esm/bundlers/index.d.mts +1 -1
  126. package/dist/lib/esm/bundlers/index.mjs +1 -45
  127. package/dist/lib/esm/demo-vault-app-json.d.mts +1 -1
  128. package/dist/lib/esm/demo-vault-app-json.mjs +5 -22
  129. package/dist/lib/esm/demo-vault-buttons.d.mts +8 -8
  130. package/dist/lib/esm/demo-vault-buttons.mjs +5 -22
  131. package/dist/lib/esm/demo-vault-coverage.d.mts +1 -1
  132. package/dist/lib/esm/demo-vault-coverage.mjs +7 -23
  133. package/dist/lib/esm/demo-vault.d.mts +1 -1
  134. package/dist/lib/esm/demo-vault.mjs +6 -23
  135. package/dist/lib/esm/formatters/dprint.d.mts +1 -1
  136. package/dist/lib/esm/formatters/dprint.mjs +5 -22
  137. package/dist/lib/esm/formatters/index.d.mts +1 -1
  138. package/dist/lib/esm/formatters/index.mjs +1 -45
  139. package/dist/lib/esm/index.mjs +1 -45
  140. package/dist/lib/esm/integration-test-setup.d.mts +5 -5
  141. package/dist/lib/esm/integration-test-setup.mjs +1 -45
  142. package/dist/lib/esm/integration-test-vitest-global-setup.d.mts +7 -7
  143. package/dist/lib/esm/integration-test-vitest-global-setup.mjs +7 -24
  144. package/dist/lib/esm/jest-setup.d.mts +1 -1
  145. package/dist/lib/esm/jest-setup.mjs +5 -22
  146. package/dist/lib/esm/library-references.d.mts +2 -0
  147. package/dist/lib/esm/linters/eslint-config.d.mts +1 -1
  148. package/dist/lib/esm/linters/eslint-config.mjs +70 -33
  149. package/dist/lib/esm/linters/eslint-rules/index.d.mts +6 -2
  150. package/dist/lib/esm/linters/eslint-rules/index.mjs +12 -48
  151. package/dist/lib/esm/linters/eslint-rules/manifest-description.d.mts +1 -1
  152. package/dist/lib/esm/linters/eslint-rules/manifest-description.mjs +1 -45
  153. package/dist/lib/esm/linters/eslint-rules/manifest-helpers.d.mts +1 -1
  154. package/dist/lib/esm/linters/eslint-rules/manifest-helpers.mjs +5 -22
  155. package/dist/lib/esm/linters/eslint-rules/manifest-id.d.mts +1 -1
  156. package/dist/lib/esm/linters/eslint-rules/manifest-id.mjs +1 -45
  157. package/dist/lib/esm/linters/eslint-rules/manifest-name.d.mts +1 -1
  158. package/dist/lib/esm/linters/eslint-rules/manifest-name.mjs +1 -45
  159. package/dist/lib/esm/linters/eslint-rules/manifest-schema.d.mts +1 -1
  160. package/dist/lib/esm/linters/eslint-rules/manifest-schema.mjs +1 -45
  161. package/dist/lib/esm/linters/eslint-rules/no-local-obsidian-internals.d.mts +10 -0
  162. package/dist/lib/esm/linters/eslint-rules/no-local-obsidian-internals.mjs +141 -0
  163. package/dist/lib/esm/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.d.mts +1 -1
  164. package/dist/lib/esm/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.mjs +5 -22
  165. package/dist/lib/esm/linters/eslint-rules/no-untrusted-input-events.d.mts +1 -1
  166. package/dist/lib/esm/linters/eslint-rules/no-untrusted-input-events.mjs +5 -22
  167. package/dist/lib/esm/linters/eslint-rules/obsidian-dev-toolkit-plugin.d.mts +16 -0
  168. package/dist/lib/esm/linters/eslint-rules/obsidian-dev-toolkit-plugin.mjs +37 -0
  169. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code-in-ui.d.mts +30 -0
  170. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code-in-ui.mjs +121 -0
  171. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code.d.mts +29 -0
  172. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code.mjs +72 -0
  173. package/dist/lib/esm/linters/eslint-rules/require-component-suffix.d.mts +1 -1
  174. package/dist/lib/esm/linters/eslint-rules/require-component-suffix.mjs +5 -22
  175. package/dist/lib/esm/linters/eslint-rules/require-plugin-api-contract-schemas.d.mts +10 -0
  176. package/dist/lib/esm/linters/eslint-rules/require-plugin-api-contract-schemas.mjs +188 -0
  177. package/dist/lib/esm/linters/eslint.d.mts +1 -1
  178. package/dist/lib/esm/linters/eslint.mjs +5 -22
  179. package/dist/lib/esm/linters/index.d.mts +4 -1
  180. package/dist/lib/esm/linters/index.mjs +8 -46
  181. package/dist/lib/esm/linters/markdownlint-cli2-config.d.mts +12 -0
  182. package/dist/lib/esm/linters/markdownlint-cli2-config.mjs +57 -0
  183. package/dist/lib/esm/linters/markdownlint-rules/index.d.mts +2 -0
  184. package/dist/lib/esm/linters/markdownlint-rules/index.mjs +10 -0
  185. package/dist/lib/esm/linters/markdownlint-rules/plugin-name-as-code.d.mts +32 -0
  186. package/dist/lib/esm/linters/markdownlint-rules/plugin-name-as-code.mjs +94 -0
  187. package/dist/lib/esm/linters/markdownlint.d.mts +1 -1
  188. package/dist/lib/esm/linters/markdownlint.mjs +5 -22
  189. package/dist/lib/esm/linters/obsidianmd-rule-custom-message.d.mts +1 -1
  190. package/dist/lib/esm/linters/obsidianmd-rule-custom-message.mjs +1 -45
  191. package/dist/lib/esm/linters/plugin-names.d.mts +81 -0
  192. package/dist/lib/esm/linters/plugin-names.mjs +105 -0
  193. package/dist/lib/esm/obsidian-plugin-repo-paths.d.mts +1 -1
  194. package/dist/lib/esm/obsidian-plugin-repo-paths.mjs +1 -45
  195. package/dist/lib/esm/setup.d.mts +1 -1
  196. package/dist/lib/esm/setup.mjs +5 -22
  197. package/dist/lib/esm/templates.d.mts +1 -1
  198. package/dist/lib/esm/templates.mjs +5 -22
  199. package/dist/lib/esm/test-runners/index.d.mts +1 -1
  200. package/dist/lib/esm/test-runners/index.mjs +1 -45
  201. package/dist/lib/esm/test-runners/integration-test-plugin.d.mts +5 -5
  202. package/dist/lib/esm/test-runners/integration-test-plugin.mjs +11 -28
  203. package/dist/lib/esm/test-runners/performance-eval-cap.d.mts +1 -1
  204. package/dist/lib/esm/test-runners/performance-eval-cap.mjs +1 -45
  205. package/dist/lib/esm/test-runners/stale-build-global-setup.d.mts +1 -1
  206. package/dist/lib/esm/test-runners/stale-build-global-setup.mjs +5 -22
  207. package/dist/lib/esm/test-runners/vitest-config.d.mts +2 -3
  208. package/dist/lib/esm/test-runners/vitest-config.mjs +8 -25
  209. package/dist/lib/esm/version.d.mts +1 -1
  210. package/dist/lib/esm/version.mjs +5 -22
  211. package/dist/lib/esm/vitest-setup.d.mts +1 -1
  212. package/dist/lib/esm/vitest-setup.mjs +5 -22
  213. package/dist/templates/scripts/markdownlint-cli2-config.ts +2 -2
  214. package/linters/eslint-rules/no-local-obsidian-internals/package.json +6 -0
  215. package/linters/eslint-rules/{obsidian-dev-utils-plugin → obsidian-dev-toolkit-plugin}/package.json +3 -3
  216. package/linters/eslint-rules/plugin-name-as-code/package.json +6 -0
  217. package/linters/eslint-rules/plugin-name-as-code-in-ui/package.json +6 -0
  218. package/linters/eslint-rules/require-plugin-api-contract-schemas/package.json +6 -0
  219. package/linters/markdownlint-cli2-config/package.json +6 -0
  220. package/linters/markdownlint-rules/index/package.json +6 -0
  221. package/linters/markdownlint-rules/package.json +6 -0
  222. package/linters/markdownlint-rules/plugin-name-as-code/package.json +6 -0
  223. package/linters/plugin-names/package.json +6 -0
  224. package/package.json +86 -25
  225. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +0 -186
  226. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-utils-plugin.d.cts +0 -13
  227. package/dist/lib/esm/linters/eslint-rules/obsidian-dev-utils-plugin.d.mts +0 -13
  228. package/dist/lib/esm/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +0 -73
@@ -3,50 +3,6 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
5
 
6
- (function () {
7
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
- symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
10
- }
11
-
12
- function ensureBrowserProcess() {
13
- const browserProcess = {
14
- browser: true,
15
- cwd() {
16
- return '/';
17
- },
18
- env: {},
19
- platform: 'android'
20
- };
21
-
22
- // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
- const existingProcess = globalThis.process;
24
-
25
- if (!existingProcess) {
26
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
- globalThis.process = browserProcess;
28
- return;
29
- }
30
-
31
- if (existingProcess.versions?.node) {
32
- return;
33
- }
34
-
35
- const existingProcessRecord = existingProcess;
36
-
37
- for (const [key, value] of Object.entries(browserProcess)) {
38
- existingProcessRecord[key] ??= value;
39
- }
40
-
41
- existingProcessRecord['browser'] = true;
42
- }
43
-
44
- (function initEsm() {
45
- ensureDisposeSymbols();
46
- ensureBrowserProcess();
47
- })();
48
- })();
49
-
50
6
  import * as integration_test_plugin from "./integration-test-plugin.mjs";
51
7
  import * as performance_eval_cap from "./performance-eval-cap.mjs";
52
8
  import * as vitest_config from "./vitest-config.mjs";
@@ -55,4 +11,4 @@ export {
55
11
  performance_eval_cap as "performance-eval-cap",
56
12
  vitest_config as "vitest-config"
57
13
  };
58
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3Rlc3QtcnVubmVycy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGFzICdpbnRlZ3JhdGlvbi10ZXN0LXBsdWdpbicgZnJvbSAnLi9pbnRlZ3JhdGlvbi10ZXN0LXBsdWdpbi50cyc7XG5leHBvcnQgKiBhcyAncGVyZm9ybWFuY2UtZXZhbC1jYXAnIGZyb20gJy4vcGVyZm9ybWFuY2UtZXZhbC1jYXAudHMnO1xuZXhwb3J0ICogYXMgJ3ZpdGVzdC1jb25maWcnIGZyb20gJy4vdml0ZXN0LWNvbmZpZy50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsWUFBWUEsNkJBQStCO0FBQzNDLFlBQVlDLDBCQUE0QjtBQUN4QyxZQUFZQyxtQkFBcUI7IiwKICAibmFtZXMiOiBbImludGVncmF0aW9uLXRlc3QtcGx1Z2luIiwgInBlcmZvcm1hbmNlLWV2YWwtY2FwIiwgInZpdGVzdC1jb25maWciXQp9Cg==
14
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3Rlc3QtcnVubmVycy9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGFzICdpbnRlZ3JhdGlvbi10ZXN0LXBsdWdpbicgZnJvbSAnLi9pbnRlZ3JhdGlvbi10ZXN0LXBsdWdpbi50cyc7XG5leHBvcnQgKiBhcyAncGVyZm9ybWFuY2UtZXZhbC1jYXAnIGZyb20gJy4vcGVyZm9ybWFuY2UtZXZhbC1jYXAudHMnO1xuZXhwb3J0ICogYXMgJ3ZpdGVzdC1jb25maWcnIGZyb20gJy4vdml0ZXN0LWNvbmZpZy50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7OztBQUVBLFlBQVlBLDZCQUErQjtBQUMzQyxZQUFZQywwQkFBNEI7QUFDeEMsWUFBWUMsbUJBQXFCOyIsCiAgIm5hbWVzIjogWyJpbnRlZ3JhdGlvbi10ZXN0LXBsdWdpbiIsICJwZXJmb3JtYW5jZS1ldmFsLWNhcCIsICJ2aXRlc3QtY29uZmlnIl0KfQo=
@@ -1,4 +1,4 @@
1
- /// <reference path="../index.d.mts" />
1
+ /// <reference path="../library-references.d.mts" />
2
2
  /**
3
3
  * @file
4
4
  *
@@ -14,14 +14,14 @@
14
14
  * turned on by `obsidian-integration-testing`'s `createSetup({ enableCommunityPlugins })`.
15
15
  * - {@link registerIntegrationTestLibResolver} registers the renderer-side resolver that reads that global.
16
16
  *
17
- * `obsidian-dev-utils/integration-test-vitest-global-setup` and
18
- * `obsidian-dev-utils/integration-test-setup` are the turnkey endpoints that call these for you.
17
+ * `@mnaoumov/obsidian-dev-toolkit/integration-test-vitest-global-setup` and
18
+ * `@mnaoumov/obsidian-dev-toolkit/integration-test-setup` are the turnkey endpoints that call these for you.
19
19
  */
20
20
  /**
21
21
  * The id of the integration-test harness plugin — the folder name it is seeded into, and the value to pass
22
22
  * to `createSetup({ enableCommunityPlugins })` so the harness enables it after the plugin-under-test.
23
23
  */
24
- export declare const OBSIDIAN_DEV_UTILS_INTEGRATION_TEST_PLUGIN_ID = "obsidian-dev-utils-integration-test";
24
+ export declare const OBSIDIAN_DEV_TOOLKIT_INTEGRATION_TEST_PLUGIN_ID = "obsidian-dev-toolkit-integration-test";
25
25
  /**
26
26
  * Builds the vault-relative file map that installs the shipped integration-test harness plugin, ready to
27
27
  * hand to a global setup's `populate` (or to merge into a larger map the consumer already builds).
@@ -37,7 +37,7 @@ export declare function getIntegrationTestPluginPopulate(): Record<string, Uint8
37
37
  * Registers the renderer-side resolver that merges the whole library into the `lib` argument of every
38
38
  * `evalInObsidian` callback, reading it from the global the harness plugin publishes.
39
39
  *
40
- * Call once per test worker — the published `obsidian-dev-utils/integration-test-setup` endpoint does it
40
+ * Call once per test worker — the published `@mnaoumov/obsidian-dev-toolkit/integration-test-setup` endpoint does it
41
41
  * for you when listed in `setupFiles`. Registration is idempotent (the harness dedupes resolvers by source
42
42
  * text), so calling it more than once is safe.
43
43
  */
@@ -2,49 +2,32 @@
2
2
  THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
-
6
5
  (function () {
7
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
- symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
10
- }
11
-
12
6
  function ensureBrowserProcess() {
13
7
  const browserProcess = {
14
8
  browser: true,
15
9
  cwd() {
16
- return '/';
10
+ return "/";
17
11
  },
18
12
  env: {},
19
- platform: 'android'
13
+ platform: "android"
20
14
  };
21
-
22
- // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
15
  const existingProcess = globalThis.process;
24
-
25
16
  if (!existingProcess) {
26
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
17
  globalThis.process = browserProcess;
28
18
  return;
29
19
  }
30
-
31
20
  if (existingProcess.versions?.node) {
32
21
  return;
33
22
  }
34
-
35
23
  const existingProcessRecord = existingProcess;
36
-
37
24
  for (const [key, value] of Object.entries(browserProcess)) {
38
25
  existingProcessRecord[key] ??= value;
39
26
  }
40
-
41
- existingProcessRecord['browser'] = true;
27
+ existingProcessRecord["browser"] = true;
42
28
  }
43
29
 
44
- (function initEsm() {
45
- ensureDisposeSymbols();
46
- ensureBrowserProcess();
47
- })();
30
+ ensureBrowserProcess();
48
31
  })();
49
32
 
50
33
  import { getRootFolder } from "@mnaoumov/typescript-dev-toolkit/root";
@@ -55,17 +38,17 @@ import {
55
38
  import { readFileSync } from "node:fs";
56
39
  import { registerLibResolver } from "obsidian-integration-testing";
57
40
  import { ObsidianPluginRepoPaths } from "../obsidian-plugin-repo-paths.mjs";
58
- const OBSIDIAN_DEV_UTILS_INTEGRATION_TEST_PLUGIN_ID = "obsidian-dev-utils-integration-test";
41
+ const OBSIDIAN_DEV_TOOLKIT_INTEGRATION_TEST_PLUGIN_ID = "obsidian-dev-toolkit-integration-test";
59
42
  function getIntegrationTestPluginPopulate() {
60
43
  const packageFolder = getRootFolder(getFolderName(import.meta.url));
61
44
  if (!packageFolder) {
62
- throw new Error("Could not resolve the obsidian-dev-utils package folder to seed the integration-test harness plugin.");
45
+ throw new Error("Could not resolve the @mnaoumov/obsidian-dev-toolkit package folder to seed the integration-test harness plugin.");
63
46
  }
64
47
  const pluginSourceFolder = join(packageFolder, ObsidianPluginRepoPaths.DistIntegrationTestPlugin);
65
48
  const pluginVaultFolder = join(
66
49
  ObsidianPluginRepoPaths.DotObsidian,
67
50
  ObsidianPluginRepoPaths.Plugins,
68
- OBSIDIAN_DEV_UTILS_INTEGRATION_TEST_PLUGIN_ID
51
+ OBSIDIAN_DEV_TOOLKIT_INTEGRATION_TEST_PLUGIN_ID
69
52
  );
70
53
  const populate = {};
71
54
  for (const fileName of [ObsidianPluginRepoPaths.MainJs, ObsidianPluginRepoPaths.ManifestJson]) {
@@ -75,7 +58,7 @@ function getIntegrationTestPluginPopulate() {
75
58
  content = readFileSync(sourcePath);
76
59
  } catch (error) {
77
60
  throw new Error(
78
- `Could not read ${sourcePath}. The integration-test harness plugin is missing from the installed obsidian-dev-utils package \u2014 run \`npm run build\` in obsidian-dev-utils, or reinstall it.`,
61
+ `Could not read ${sourcePath}. The integration-test harness plugin is missing from the installed @mnaoumov/obsidian-dev-toolkit package \u2014 reinstall it, or run \`npm run build\` in its checkout.`,
79
62
  { cause: error }
80
63
  );
81
64
  }
@@ -88,15 +71,15 @@ function registerIntegrationTestLibResolver() {
88
71
  const obsidianDevUtilsModule = window.__obsidianDevUtilsModule;
89
72
  if (!obsidianDevUtilsModule) {
90
73
  throw new Error(
91
- "The obsidian-dev-utils module is not exposed on `window`. Is the obsidian-dev-utils integration-test harness plugin installed and enabled in the test vault? See `obsidian-dev-utils/integration-test-vitest-global-setup`."
74
+ "The library module is not exposed on `window`. Is the @mnaoumov/obsidian-dev-toolkit integration-test harness plugin installed and enabled in the test vault? See `@mnaoumov/obsidian-dev-toolkit/integration-test-vitest-global-setup`."
92
75
  );
93
76
  }
94
77
  return obsidianDevUtilsModule.__merged;
95
78
  });
96
79
  }
97
80
  export {
98
- OBSIDIAN_DEV_UTILS_INTEGRATION_TEST_PLUGIN_ID,
81
+ OBSIDIAN_DEV_TOOLKIT_INTEGRATION_TEST_PLUGIN_ID,
99
82
  getIntegrationTestPluginPopulate,
100
83
  registerIntegrationTestLibResolver
101
84
  };
102
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3Rlc3QtcnVubmVycy9pbnRlZ3JhdGlvbi10ZXN0LXBsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFdpcmVzIHRoZSBzaGlwcGVkIGludGVncmF0aW9uLXRlc3QgaGFybmVzcyBwbHVnaW4gaW50byBhIGNvbnN1bWVyIHBsdWdpbidzIGludGVncmF0aW9uIHRlc3RzLCBzbyBldmVyeVxuICogbGlicmFyeSBoZWxwZXIgaXMgcmVhY2hhYmxlIGFzIGBsaWIuPGhlbHBlcj5gIGluc2lkZSBhbiBgZXZhbEluT2JzaWRpYW5gIGNsb3N1cmUuXG4gKlxuICogVHdvIGhhbHZlcywgYW5kIGJvdGggbXVzdCBiZSB3aXJlZCBvciBgbGliLjxoZWxwZXI+YCBmYWlsczpcbiAqXG4gKiAtIHtAbGluayBnZXRJbnRlZ3JhdGlvblRlc3RQbHVnaW5Qb3B1bGF0ZX0gcHV0cyB0aGUgaGFybmVzcyBwbHVnaW4ncyBiaW5hcmllcyBpbiB0aGUgdGVzdCB2YXVsdC4gVGhlXG4gKiAgIGhhcm5lc3MgcGx1Z2luIGlzIHdoYXQgcHVibGlzaGVzIHRoZSBsaWJyYXJ5IG9uIGB3aW5kb3cuX19vYnNpZGlhbkRldlV0aWxzTW9kdWxlYDsgaW4gdGhpcyByZXBvJ3Mgb3duXG4gKiAgIHN1aXRlIGl0IElTIHRoZSBwbHVnaW4tdW5kZXItdGVzdCwgYnV0IGluIGEgY29uc3VtZXIncyBzdWl0ZSB0aGUgcGx1Z2luLXVuZGVyLXRlc3QgaXMgdGhlIGNvbnN1bWVyJ3Mgb3duXG4gKiAgIHBsdWdpbiwgc28gdGhlIGhhcm5lc3MgaGFzIHRvIHJpZGUgYWxvbmcgYXMgYSBzZWNvbmQsIHRlc3Qtb25seSBjb21tdW5pdHkgcGx1Z2luIFx1MjAxNCBzZWVkZWQgaGVyZSwgYW5kXG4gKiAgIHR1cm5lZCBvbiBieSBgb2JzaWRpYW4taW50ZWdyYXRpb24tdGVzdGluZ2AncyBgY3JlYXRlU2V0dXAoeyBlbmFibGVDb21tdW5pdHlQbHVnaW5zIH0pYC5cbiAqIC0ge0BsaW5rIHJlZ2lzdGVySW50ZWdyYXRpb25UZXN0TGliUmVzb2x2ZXJ9IHJlZ2lzdGVycyB0aGUgcmVuZGVyZXItc2lkZSByZXNvbHZlciB0aGF0IHJlYWRzIHRoYXQgZ2xvYmFsLlxuICpcbiAqIGBvYnNpZGlhbi1kZXYtdXRpbHMvaW50ZWdyYXRpb24tdGVzdC12aXRlc3QtZ2xvYmFsLXNldHVwYCBhbmRcbiAqIGBvYnNpZGlhbi1kZXYtdXRpbHMvaW50ZWdyYXRpb24tdGVzdC1zZXR1cGAgYXJlIHRoZSB0dXJua2V5IGVuZHBvaW50cyB0aGF0IGNhbGwgdGhlc2UgZm9yIHlvdS5cbiAqL1xuXG5pbXBvcnQgeyBnZXRSb290Rm9sZGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvcm9vdCc7XG5pbXBvcnQge1xuICBnZXRGb2xkZXJOYW1lLFxuICBqb2luXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9wYXRoJztcbmltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJMaWJSZXNvbHZlciB9IGZyb20gJ29ic2lkaWFuLWludGVncmF0aW9uLXRlc3RpbmcnO1xuXG5pbXBvcnQgeyBPYnNpZGlhblBsdWdpblJlcG9QYXRocyB9IGZyb20gJy4uL29ic2lkaWFuLXBsdWdpbi1yZXBvLXBhdGhzLnRzJztcblxuLyoqXG4gKiBUaGUgaWQgb2YgdGhlIGludGVncmF0aW9uLXRlc3QgaGFybmVzcyBwbHVnaW4gXHUyMDE0IHRoZSBmb2xkZXIgbmFtZSBpdCBpcyBzZWVkZWQgaW50bywgYW5kIHRoZSB2YWx1ZSB0byBwYXNzXG4gKiB0byBgY3JlYXRlU2V0dXAoeyBlbmFibGVDb21tdW5pdHlQbHVnaW5zIH0pYCBzbyB0aGUgaGFybmVzcyBlbmFibGVzIGl0IGFmdGVyIHRoZSBwbHVnaW4tdW5kZXItdGVzdC5cbiAqL1xuZXhwb3J0IGNvbnN0IE9CU0lESUFOX0RFVl9VVElMU19JTlRFR1JBVElPTl9URVNUX1BMVUdJTl9JRCA9ICdvYnNpZGlhbi1kZXYtdXRpbHMtaW50ZWdyYXRpb24tdGVzdCc7XG5cbi8qKlxuICogVGhlIGZsYXQgbGlicmFyeSBiYXJyZWwgdGhlIGhhcm5lc3MgcGx1Z2luIHB1Ymxpc2hlcy5cbiAqL1xuaW50ZXJmYWNlIE9ic2lkaWFuRGV2VXRpbHNNb2R1bGUge1xuICBfX21lcmdlZDogb2JqZWN0O1xufVxuXG4vKipcbiAqIFRoZSBzaGFwZSB0aGUgaGFybmVzcyBwbHVnaW4gcHVibGlzaGVzIG9uIHRoZSByZW5kZXJlcidzIGB3aW5kb3dgLlxuICovXG5pbnRlcmZhY2UgT2JzaWRpYW5EZXZVdGlsc01vZHVsZVdpbmRvdyB7XG4gIF9fb2JzaWRpYW5EZXZVdGlsc01vZHVsZTogT2JzaWRpYW5EZXZVdGlsc01vZHVsZTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIHZhdWx0LXJlbGF0aXZlIGZpbGUgbWFwIHRoYXQgaW5zdGFsbHMgdGhlIHNoaXBwZWQgaW50ZWdyYXRpb24tdGVzdCBoYXJuZXNzIHBsdWdpbiwgcmVhZHkgdG9cbiAqIGhhbmQgdG8gYSBnbG9iYWwgc2V0dXAncyBgcG9wdWxhdGVgIChvciB0byBtZXJnZSBpbnRvIGEgbGFyZ2VyIG1hcCB0aGUgY29uc3VtZXIgYWxyZWFkeSBidWlsZHMpLlxuICpcbiAqIFRoZSByZXN1bHQgaXMgYSBgUmVjb3JkPHN0cmluZywgVWludDhBcnJheT5gLCB3aGljaCBpcyBhc3NpZ25hYmxlIHRvIGBvYnNpZGlhbi1pbnRlZ3JhdGlvbi10ZXN0aW5nYCdzXG4gKiBgUG9wdWxhdGVGaWxlc1BhcmFtc2AgXHUyMDE0IHNvIGl0IGNvbXBvc2VzIHdpdGggYGJ1aWxkRGVtb1ZhdWx0UG9wdWxhdGVgIGFuZCBmcmllbmRzLlxuICpcbiAqIEByZXR1cm5zIFRoZSBtYXAgb2YgdmF1bHQtcmVsYXRpdmUgcGF0aHMgdG8gZmlsZSBjb250ZW50cy5cbiAqIEB0aHJvd3MgSWYgdGhlIGhhcm5lc3MgcGx1Z2luIHdhcyBub3QgYnVpbHQgaW50byB0aGlzIHBhY2thZ2UgXHUyMDE0IGkuZS4gYG5wbSBydW4gYnVpbGRgIG5ldmVyIHJhbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEludGVncmF0aW9uVGVzdFBsdWdpblBvcHVsYXRlKCk6IFJlY29yZDxzdHJpbmcsIFVpbnQ4QXJyYXk+IHtcbiAgY29uc3QgcGFja2FnZUZvbGRlciA9IGdldFJvb3RGb2xkZXIoZ2V0Rm9sZGVyTmFtZShpbXBvcnQubWV0YS51cmwpKTtcbiAgaWYgKCFwYWNrYWdlRm9sZGVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgcmVzb2x2ZSB0aGUgb2JzaWRpYW4tZGV2LXV0aWxzIHBhY2thZ2UgZm9sZGVyIHRvIHNlZWQgdGhlIGludGVncmF0aW9uLXRlc3QgaGFybmVzcyBwbHVnaW4uJyk7XG4gIH1cblxuICBjb25zdCBwbHVnaW5Tb3VyY2VGb2xkZXIgPSBqb2luKHBhY2thZ2VGb2xkZXIsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RJbnRlZ3JhdGlvblRlc3RQbHVnaW4pO1xuICBjb25zdCBwbHVnaW5WYXVsdEZvbGRlciA9IGpvaW4oXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRG90T2JzaWRpYW4sXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuUGx1Z2lucyxcbiAgICBPQlNJRElBTl9ERVZfVVRJTFNfSU5URUdSQVRJT05fVEVTVF9QTFVHSU5fSURcbiAgKTtcblxuICBjb25zdCBwb3B1bGF0ZTogUmVjb3JkPHN0cmluZywgVWludDhBcnJheT4gPSB7fTtcblxuICBmb3IgKGNvbnN0IGZpbGVOYW1lIG9mIFtPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluSnMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hbmlmZXN0SnNvbl0pIHtcbiAgICBjb25zdCBzb3VyY2VQYXRoID0gam9pbihwbHVnaW5Tb3VyY2VGb2xkZXIsIGZpbGVOYW1lKTtcbiAgICBsZXQgY29udGVudDogVWludDhBcnJheTtcbiAgICB0cnkge1xuICAgICAgY29udGVudCA9IHJlYWRGaWxlU3luYyhzb3VyY2VQYXRoKTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ291bGQgbm90IHJlYWQgJHtzb3VyY2VQYXRofS4gVGhlIGludGVncmF0aW9uLXRlc3QgaGFybmVzcyBwbHVnaW4gaXMgbWlzc2luZyBmcm9tIHRoZSBpbnN0YWxsZWQgYFxuICAgICAgICAgICsgJ29ic2lkaWFuLWRldi11dGlscyBwYWNrYWdlIFx1MjAxNCBydW4gYG5wbSBydW4gYnVpbGRgIGluIG9ic2lkaWFuLWRldi11dGlscywgb3IgcmVpbnN0YWxsIGl0LicsXG4gICAgICAgIHsgY2F1c2U6IGVycm9yIH1cbiAgICAgICk7XG4gICAgfVxuICAgIHBvcHVsYXRlW2pvaW4ocGx1Z2luVmF1bHRGb2xkZXIsIGZpbGVOYW1lKV0gPSBjb250ZW50O1xuICB9XG5cbiAgcmV0dXJuIHBvcHVsYXRlO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgcmVuZGVyZXItc2lkZSByZXNvbHZlciB0aGF0IG1lcmdlcyB0aGUgd2hvbGUgbGlicmFyeSBpbnRvIHRoZSBgbGliYCBhcmd1bWVudCBvZiBldmVyeVxuICogYGV2YWxJbk9ic2lkaWFuYCBjYWxsYmFjaywgcmVhZGluZyBpdCBmcm9tIHRoZSBnbG9iYWwgdGhlIGhhcm5lc3MgcGx1Z2luIHB1Ymxpc2hlcy5cbiAqXG4gKiBDYWxsIG9uY2UgcGVyIHRlc3Qgd29ya2VyIFx1MjAxNCB0aGUgcHVibGlzaGVkIGBvYnNpZGlhbi1kZXYtdXRpbHMvaW50ZWdyYXRpb24tdGVzdC1zZXR1cGAgZW5kcG9pbnQgZG9lcyBpdFxuICogZm9yIHlvdSB3aGVuIGxpc3RlZCBpbiBgc2V0dXBGaWxlc2AuIFJlZ2lzdHJhdGlvbiBpcyBpZGVtcG90ZW50ICh0aGUgaGFybmVzcyBkZWR1cGVzIHJlc29sdmVycyBieSBzb3VyY2VcbiAqIHRleHQpLCBzbyBjYWxsaW5nIGl0IG1vcmUgdGhhbiBvbmNlIGlzIHNhZmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckludGVncmF0aW9uVGVzdExpYlJlc29sdmVyKCk6IHZvaWQge1xuICByZWdpc3RlckxpYlJlc29sdmVyKCgpOiBvYmplY3QgPT4ge1xuICAgIGNvbnN0IG9ic2lkaWFuRGV2VXRpbHNNb2R1bGUgPSAod2luZG93IGFzIFBhcnRpYWw8T2JzaWRpYW5EZXZVdGlsc01vZHVsZVdpbmRvdz4pLl9fb2JzaWRpYW5EZXZVdGlsc01vZHVsZTtcbiAgICBpZiAoIW9ic2lkaWFuRGV2VXRpbHNNb2R1bGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1RoZSBvYnNpZGlhbi1kZXYtdXRpbHMgbW9kdWxlIGlzIG5vdCBleHBvc2VkIG9uIGB3aW5kb3dgLiBJcyB0aGUgb2JzaWRpYW4tZGV2LXV0aWxzIGludGVncmF0aW9uLXRlc3QgJ1xuICAgICAgICAgICsgJ2hhcm5lc3MgcGx1Z2luIGluc3RhbGxlZCBhbmQgZW5hYmxlZCBpbiB0aGUgdGVzdCB2YXVsdD8gU2VlICdcbiAgICAgICAgICArICdgb2JzaWRpYW4tZGV2LXV0aWxzL2ludGVncmF0aW9uLXRlc3Qtdml0ZXN0LWdsb2JhbC1zZXR1cGAuJ1xuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIG9ic2lkaWFuRGV2VXRpbHNNb2R1bGUuX19tZXJnZWQ7XG4gIH0pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW1CQSxTQUFTLHFCQUFxQjtBQUM5QjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsb0JBQW9CO0FBQzdCLFNBQVMsMkJBQTJCO0FBRXBDLFNBQVMsK0JBQStCO0FBTWpDLE1BQU0sZ0RBQWdEO0FBMEJ0RCxTQUFTLG1DQUErRDtBQUM3RSxRQUFNLGdCQUFnQixjQUFjLGNBQWMsWUFBWSxHQUFHLENBQUM7QUFDbEUsTUFBSSxDQUFDLGVBQWU7QUFDbEIsVUFBTSxJQUFJLE1BQU0sc0dBQXNHO0FBQUEsRUFDeEg7QUFFQSxRQUFNLHFCQUFxQixLQUFLLGVBQWUsd0JBQXdCLHlCQUF5QjtBQUNoRyxRQUFNLG9CQUFvQjtBQUFBLElBQ3hCLHdCQUF3QjtBQUFBLElBQ3hCLHdCQUF3QjtBQUFBLElBQ3hCO0FBQUEsRUFDRjtBQUVBLFFBQU0sV0FBdUMsQ0FBQztBQUU5QyxhQUFXLFlBQVksQ0FBQyx3QkFBd0IsUUFBUSx3QkFBd0IsWUFBWSxHQUFHO0FBQzdGLFVBQU0sYUFBYSxLQUFLLG9CQUFvQixRQUFRO0FBQ3BELFFBQUk7QUFDSixRQUFJO0FBQ0YsZ0JBQVUsYUFBYSxVQUFVO0FBQUEsSUFDbkMsU0FBUyxPQUFnQjtBQUN2QixZQUFNLElBQUk7QUFBQSxRQUNSLGtCQUFrQixVQUFVO0FBQUEsUUFFNUIsRUFBRSxPQUFPLE1BQU07QUFBQSxNQUNqQjtBQUFBLElBQ0Y7QUFDQSxhQUFTLEtBQUssbUJBQW1CLFFBQVEsQ0FBQyxJQUFJO0FBQUEsRUFDaEQ7QUFFQSxTQUFPO0FBQ1Q7QUFVTyxTQUFTLHFDQUEyQztBQUN6RCxzQkFBb0IsTUFBYztBQUNoQyxVQUFNLHlCQUEwQixPQUFpRDtBQUNqRixRQUFJLENBQUMsd0JBQXdCO0FBQzNCLFlBQU0sSUFBSTtBQUFBLFFBQ1I7QUFBQSxNQUdGO0FBQUEsSUFDRjtBQUNBLFdBQU8sdUJBQXVCO0FBQUEsRUFDaEMsQ0FBQztBQUNIOyIsCiAgIm5hbWVzIjogW10KfQo=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90ZXN0LXJ1bm5lcnMvaW50ZWdyYXRpb24tdGVzdC1wbHVnaW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFdpcmVzIHRoZSBzaGlwcGVkIGludGVncmF0aW9uLXRlc3QgaGFybmVzcyBwbHVnaW4gaW50byBhIGNvbnN1bWVyIHBsdWdpbidzIGludGVncmF0aW9uIHRlc3RzLCBzbyBldmVyeVxuICogbGlicmFyeSBoZWxwZXIgaXMgcmVhY2hhYmxlIGFzIGBsaWIuPGhlbHBlcj5gIGluc2lkZSBhbiBgZXZhbEluT2JzaWRpYW5gIGNsb3N1cmUuXG4gKlxuICogVHdvIGhhbHZlcywgYW5kIGJvdGggbXVzdCBiZSB3aXJlZCBvciBgbGliLjxoZWxwZXI+YCBmYWlsczpcbiAqXG4gKiAtIHtAbGluayBnZXRJbnRlZ3JhdGlvblRlc3RQbHVnaW5Qb3B1bGF0ZX0gcHV0cyB0aGUgaGFybmVzcyBwbHVnaW4ncyBiaW5hcmllcyBpbiB0aGUgdGVzdCB2YXVsdC4gVGhlXG4gKiAgIGhhcm5lc3MgcGx1Z2luIGlzIHdoYXQgcHVibGlzaGVzIHRoZSBsaWJyYXJ5IG9uIGB3aW5kb3cuX19vYnNpZGlhbkRldlV0aWxzTW9kdWxlYDsgaW4gdGhpcyByZXBvJ3Mgb3duXG4gKiAgIHN1aXRlIGl0IElTIHRoZSBwbHVnaW4tdW5kZXItdGVzdCwgYnV0IGluIGEgY29uc3VtZXIncyBzdWl0ZSB0aGUgcGx1Z2luLXVuZGVyLXRlc3QgaXMgdGhlIGNvbnN1bWVyJ3Mgb3duXG4gKiAgIHBsdWdpbiwgc28gdGhlIGhhcm5lc3MgaGFzIHRvIHJpZGUgYWxvbmcgYXMgYSBzZWNvbmQsIHRlc3Qtb25seSBjb21tdW5pdHkgcGx1Z2luIOKAlCBzZWVkZWQgaGVyZSwgYW5kXG4gKiAgIHR1cm5lZCBvbiBieSBgb2JzaWRpYW4taW50ZWdyYXRpb24tdGVzdGluZ2AncyBgY3JlYXRlU2V0dXAoeyBlbmFibGVDb21tdW5pdHlQbHVnaW5zIH0pYC5cbiAqIC0ge0BsaW5rIHJlZ2lzdGVySW50ZWdyYXRpb25UZXN0TGliUmVzb2x2ZXJ9IHJlZ2lzdGVycyB0aGUgcmVuZGVyZXItc2lkZSByZXNvbHZlciB0aGF0IHJlYWRzIHRoYXQgZ2xvYmFsLlxuICpcbiAqIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXRvb2xraXQvaW50ZWdyYXRpb24tdGVzdC12aXRlc3QtZ2xvYmFsLXNldHVwYCBhbmRcbiAqIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXRvb2xraXQvaW50ZWdyYXRpb24tdGVzdC1zZXR1cGAgYXJlIHRoZSB0dXJua2V5IGVuZHBvaW50cyB0aGF0IGNhbGwgdGhlc2UgZm9yIHlvdS5cbiAqL1xuXG5pbXBvcnQgeyBnZXRSb290Rm9sZGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvcm9vdCc7XG5pbXBvcnQge1xuICBnZXRGb2xkZXJOYW1lLFxuICBqb2luXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9wYXRoJztcbmltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgcmVnaXN0ZXJMaWJSZXNvbHZlciB9IGZyb20gJ29ic2lkaWFuLWludGVncmF0aW9uLXRlc3RpbmcnO1xuXG5pbXBvcnQgeyBPYnNpZGlhblBsdWdpblJlcG9QYXRocyB9IGZyb20gJy4uL29ic2lkaWFuLXBsdWdpbi1yZXBvLXBhdGhzLnRzJztcblxuLyoqXG4gKiBUaGUgaWQgb2YgdGhlIGludGVncmF0aW9uLXRlc3QgaGFybmVzcyBwbHVnaW4g4oCUIHRoZSBmb2xkZXIgbmFtZSBpdCBpcyBzZWVkZWQgaW50bywgYW5kIHRoZSB2YWx1ZSB0byBwYXNzXG4gKiB0byBgY3JlYXRlU2V0dXAoeyBlbmFibGVDb21tdW5pdHlQbHVnaW5zIH0pYCBzbyB0aGUgaGFybmVzcyBlbmFibGVzIGl0IGFmdGVyIHRoZSBwbHVnaW4tdW5kZXItdGVzdC5cbiAqL1xuZXhwb3J0IGNvbnN0IE9CU0lESUFOX0RFVl9UT09MS0lUX0lOVEVHUkFUSU9OX1RFU1RfUExVR0lOX0lEID0gJ29ic2lkaWFuLWRldi10b29sa2l0LWludGVncmF0aW9uLXRlc3QnO1xuXG4vKipcbiAqIFRoZSBmbGF0IGxpYnJhcnkgYmFycmVsIHRoZSBoYXJuZXNzIHBsdWdpbiBwdWJsaXNoZXMuXG4gKi9cbmludGVyZmFjZSBPYnNpZGlhbkRldlV0aWxzTW9kdWxlIHtcbiAgX19tZXJnZWQ6IG9iamVjdDtcbn1cblxuLyoqXG4gKiBUaGUgc2hhcGUgdGhlIGhhcm5lc3MgcGx1Z2luIHB1Ymxpc2hlcyBvbiB0aGUgcmVuZGVyZXIncyBgd2luZG93YC5cbiAqL1xuaW50ZXJmYWNlIE9ic2lkaWFuRGV2VXRpbHNNb2R1bGVXaW5kb3cge1xuICBfX29ic2lkaWFuRGV2VXRpbHNNb2R1bGU6IE9ic2lkaWFuRGV2VXRpbHNNb2R1bGU7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSB2YXVsdC1yZWxhdGl2ZSBmaWxlIG1hcCB0aGF0IGluc3RhbGxzIHRoZSBzaGlwcGVkIGludGVncmF0aW9uLXRlc3QgaGFybmVzcyBwbHVnaW4sIHJlYWR5IHRvXG4gKiBoYW5kIHRvIGEgZ2xvYmFsIHNldHVwJ3MgYHBvcHVsYXRlYCAob3IgdG8gbWVyZ2UgaW50byBhIGxhcmdlciBtYXAgdGhlIGNvbnN1bWVyIGFscmVhZHkgYnVpbGRzKS5cbiAqXG4gKiBUaGUgcmVzdWx0IGlzIGEgYFJlY29yZDxzdHJpbmcsIFVpbnQ4QXJyYXk+YCwgd2hpY2ggaXMgYXNzaWduYWJsZSB0byBgb2JzaWRpYW4taW50ZWdyYXRpb24tdGVzdGluZ2Anc1xuICogYFBvcHVsYXRlRmlsZXNQYXJhbXNgIOKAlCBzbyBpdCBjb21wb3NlcyB3aXRoIGBidWlsZERlbW9WYXVsdFBvcHVsYXRlYCBhbmQgZnJpZW5kcy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgbWFwIG9mIHZhdWx0LXJlbGF0aXZlIHBhdGhzIHRvIGZpbGUgY29udGVudHMuXG4gKiBAdGhyb3dzIElmIHRoZSBoYXJuZXNzIHBsdWdpbiB3YXMgbm90IGJ1aWx0IGludG8gdGhpcyBwYWNrYWdlIOKAlCBpLmUuIGBucG0gcnVuIGJ1aWxkYCBuZXZlciByYW4uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnRlZ3JhdGlvblRlc3RQbHVnaW5Qb3B1bGF0ZSgpOiBSZWNvcmQ8c3RyaW5nLCBVaW50OEFycmF5PiB7XG4gIGNvbnN0IHBhY2thZ2VGb2xkZXIgPSBnZXRSb290Rm9sZGVyKGdldEZvbGRlck5hbWUoaW1wb3J0Lm1ldGEudXJsKSk7XG4gIGlmICghcGFja2FnZUZvbGRlcikge1xuICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IHJlc29sdmUgdGhlIEBtbmFvdW1vdi9vYnNpZGlhbi1kZXYtdG9vbGtpdCBwYWNrYWdlIGZvbGRlciB0byBzZWVkIHRoZSBpbnRlZ3JhdGlvbi10ZXN0IGhhcm5lc3MgcGx1Z2luLicpO1xuICB9XG5cbiAgY29uc3QgcGx1Z2luU291cmNlRm9sZGVyID0gam9pbihwYWNrYWdlRm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5EaXN0SW50ZWdyYXRpb25UZXN0UGx1Z2luKTtcbiAgY29uc3QgcGx1Z2luVmF1bHRGb2xkZXIgPSBqb2luKFxuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRvdE9ic2lkaWFuLFxuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLlBsdWdpbnMsXG4gICAgT0JTSURJQU5fREVWX1RPT0xLSVRfSU5URUdSQVRJT05fVEVTVF9QTFVHSU5fSURcbiAgKTtcblxuICBjb25zdCBwb3B1bGF0ZTogUmVjb3JkPHN0cmluZywgVWludDhBcnJheT4gPSB7fTtcblxuICBmb3IgKGNvbnN0IGZpbGVOYW1lIG9mIFtPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluSnMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hbmlmZXN0SnNvbl0pIHtcbiAgICBjb25zdCBzb3VyY2VQYXRoID0gam9pbihwbHVnaW5Tb3VyY2VGb2xkZXIsIGZpbGVOYW1lKTtcbiAgICBsZXQgY29udGVudDogVWludDhBcnJheTtcbiAgICB0cnkge1xuICAgICAgY29udGVudCA9IHJlYWRGaWxlU3luYyhzb3VyY2VQYXRoKTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ291bGQgbm90IHJlYWQgJHtzb3VyY2VQYXRofS4gVGhlIGludGVncmF0aW9uLXRlc3QgaGFybmVzcyBwbHVnaW4gaXMgbWlzc2luZyBmcm9tIHRoZSBpbnN0YWxsZWQgYFxuICAgICAgICAgICsgJ0BtbmFvdW1vdi9vYnNpZGlhbi1kZXYtdG9vbGtpdCBwYWNrYWdlIOKAlCByZWluc3RhbGwgaXQsIG9yIHJ1biBgbnBtIHJ1biBidWlsZGAgaW4gaXRzIGNoZWNrb3V0LicsXG4gICAgICAgIHsgY2F1c2U6IGVycm9yIH1cbiAgICAgICk7XG4gICAgfVxuICAgIHBvcHVsYXRlW2pvaW4ocGx1Z2luVmF1bHRGb2xkZXIsIGZpbGVOYW1lKV0gPSBjb250ZW50O1xuICB9XG5cbiAgcmV0dXJuIHBvcHVsYXRlO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgcmVuZGVyZXItc2lkZSByZXNvbHZlciB0aGF0IG1lcmdlcyB0aGUgd2hvbGUgbGlicmFyeSBpbnRvIHRoZSBgbGliYCBhcmd1bWVudCBvZiBldmVyeVxuICogYGV2YWxJbk9ic2lkaWFuYCBjYWxsYmFjaywgcmVhZGluZyBpdCBmcm9tIHRoZSBnbG9iYWwgdGhlIGhhcm5lc3MgcGx1Z2luIHB1Ymxpc2hlcy5cbiAqXG4gKiBDYWxsIG9uY2UgcGVyIHRlc3Qgd29ya2VyIOKAlCB0aGUgcHVibGlzaGVkIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXRvb2xraXQvaW50ZWdyYXRpb24tdGVzdC1zZXR1cGAgZW5kcG9pbnQgZG9lcyBpdFxuICogZm9yIHlvdSB3aGVuIGxpc3RlZCBpbiBgc2V0dXBGaWxlc2AuIFJlZ2lzdHJhdGlvbiBpcyBpZGVtcG90ZW50ICh0aGUgaGFybmVzcyBkZWR1cGVzIHJlc29sdmVycyBieSBzb3VyY2VcbiAqIHRleHQpLCBzbyBjYWxsaW5nIGl0IG1vcmUgdGhhbiBvbmNlIGlzIHNhZmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckludGVncmF0aW9uVGVzdExpYlJlc29sdmVyKCk6IHZvaWQge1xuICByZWdpc3RlckxpYlJlc29sdmVyKCgpOiBvYmplY3QgPT4ge1xuICAgIGNvbnN0IG9ic2lkaWFuRGV2VXRpbHNNb2R1bGUgPSAod2luZG93IGFzIFBhcnRpYWw8T2JzaWRpYW5EZXZVdGlsc01vZHVsZVdpbmRvdz4pLl9fb2JzaWRpYW5EZXZVdGlsc01vZHVsZTtcbiAgICBpZiAoIW9ic2lkaWFuRGV2VXRpbHNNb2R1bGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1RoZSBsaWJyYXJ5IG1vZHVsZSBpcyBub3QgZXhwb3NlZCBvbiBgd2luZG93YC4gSXMgdGhlIEBtbmFvdW1vdi9vYnNpZGlhbi1kZXYtdG9vbGtpdCBpbnRlZ3JhdGlvbi10ZXN0ICdcbiAgICAgICAgICArICdoYXJuZXNzIHBsdWdpbiBpbnN0YWxsZWQgYW5kIGVuYWJsZWQgaW4gdGhlIHRlc3QgdmF1bHQ/IFNlZSAnXG4gICAgICAgICAgKyAnYEBtbmFvdW1vdi9vYnNpZGlhbi1kZXYtdG9vbGtpdC9pbnRlZ3JhdGlvbi10ZXN0LXZpdGVzdC1nbG9iYWwtc2V0dXBgLidcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBvYnNpZGlhbkRldlV0aWxzTW9kdWxlLl9fbWVyZ2VkO1xuICB9KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQkEsU0FBUyxxQkFBcUI7QUFDOUI7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLG9CQUFvQjtBQUM3QixTQUFTLDJCQUEyQjtBQUVwQyxTQUFTLCtCQUErQjtBQU1qQyxNQUFNLGtEQUFrRDtBQTBCeEQsU0FBUyxtQ0FBK0Q7QUFDN0UsUUFBTSxnQkFBZ0IsY0FBYyxjQUFjLFlBQVksR0FBRyxDQUFDO0FBQ2xFLE1BQUksQ0FBQyxlQUFlO0FBQ2xCLFVBQU0sSUFBSSxNQUFNLGtIQUFrSDtBQUFBLEVBQ3BJO0FBRUEsUUFBTSxxQkFBcUIsS0FBSyxlQUFlLHdCQUF3Qix5QkFBeUI7QUFDaEcsUUFBTSxvQkFBb0I7QUFBQSxJQUN4Qix3QkFBd0I7QUFBQSxJQUN4Qix3QkFBd0I7QUFBQSxJQUN4QjtBQUFBLEVBQ0Y7QUFFQSxRQUFNLFdBQXVDLENBQUM7QUFFOUMsYUFBVyxZQUFZLENBQUMsd0JBQXdCLFFBQVEsd0JBQXdCLFlBQVksR0FBRztBQUM3RixVQUFNLGFBQWEsS0FBSyxvQkFBb0IsUUFBUTtBQUNwRCxRQUFJO0FBQ0osUUFBSTtBQUNGLGdCQUFVLGFBQWEsVUFBVTtBQUFBLElBQ25DLFNBQVMsT0FBZ0I7QUFDdkIsWUFBTSxJQUFJO0FBQUEsUUFDUixrQkFBa0IsVUFBVTtBQUFBLFFBRTVCLEVBQUUsT0FBTyxNQUFNO0FBQUEsTUFDakI7QUFBQSxJQUNGO0FBQ0EsYUFBUyxLQUFLLG1CQUFtQixRQUFRLENBQUMsSUFBSTtBQUFBLEVBQ2hEO0FBRUEsU0FBTztBQUNUO0FBVU8sU0FBUyxxQ0FBMkM7QUFDekQsc0JBQW9CLE1BQWM7QUFDaEMsVUFBTSx5QkFBMEIsT0FBaUQ7QUFDakYsUUFBSSxDQUFDLHdCQUF3QjtBQUMzQixZQUFNLElBQUk7QUFBQSxRQUNSO0FBQUEsTUFHRjtBQUFBLElBQ0Y7QUFDQSxXQUFPLHVCQUF1QjtBQUFBLEVBQ2hDLENBQUM7QUFDSDsiLCJuYW1lcyI6W119
@@ -1,4 +1,4 @@
1
- /// <reference path="../index.d.mts" />
1
+ /// <reference path="../library-references.d.mts" />
2
2
  /**
3
3
  * @file
4
4
  *
@@ -3,54 +3,10 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
5
 
6
- (function () {
7
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
- symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
10
- }
11
-
12
- function ensureBrowserProcess() {
13
- const browserProcess = {
14
- browser: true,
15
- cwd() {
16
- return '/';
17
- },
18
- env: {},
19
- platform: 'android'
20
- };
21
-
22
- // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
- const existingProcess = globalThis.process;
24
-
25
- if (!existingProcess) {
26
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
- globalThis.process = browserProcess;
28
- return;
29
- }
30
-
31
- if (existingProcess.versions?.node) {
32
- return;
33
- }
34
-
35
- const existingProcessRecord = existingProcess;
36
-
37
- for (const [key, value] of Object.entries(browserProcess)) {
38
- existingProcessRecord[key] ??= value;
39
- }
40
-
41
- existingProcessRecord['browser'] = true;
42
- }
43
-
44
- (function initEsm() {
45
- ensureDisposeSymbols();
46
- ensureBrowserProcess();
47
- })();
48
- })();
49
-
50
6
  const PERFORMANCE_EVAL_CAP_IN_MILLISECONDS = 6e5;
51
7
  const DESKTOP_PERFORMANCE_TEST_FILE_SUFFIX = ".desktop-performance.integration.test.ts";
52
8
  export {
53
9
  DESKTOP_PERFORMANCE_TEST_FILE_SUFFIX,
54
10
  PERFORMANCE_EVAL_CAP_IN_MILLISECONDS
55
11
  };
56
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3Rlc3QtcnVubmVycy9wZXJmb3JtYW5jZS1ldmFsLWNhcC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBwZXItZXZhbCBjYXAgb2YgdGhlIGBpbnRlZ3JhdGlvbi10ZXN0czpkZXNrdG9wLXBlcmZvcm1hbmNlYCBwcm9qZWN0LCBhbmQgdGhlIGZpbGUgc3VmZml4IHRoYXRcbiAqIHByb2plY3QgY29sbGVjdHMuXG4gKlxuICogQm90aCBsaXZlIGhlcmUsIHJhdGhlciB0aGFuIGluIGB2aXRlc3QtY29uZmlnLnRzYCwgYmVjYXVzZSB0aGUgYG5vLW92ZXItY2FwLXdhaXQtaW4tZXZhbC1pbi1vYnNpZGlhbmBcbiAqIEVTTGludCBydWxlIHJlYWRzIHRoZW0gdG9vLCBhbmQgdGhlIHNoYXJlZCBFU0xpbnQgY29uZmlnIGxvYWRzIHRoYXQgcnVsZSBpbiBldmVyeSBjb25zdW1pbmcgcmVwbzpcbiAqIGltcG9ydGluZyBgdml0ZXN0LWNvbmZpZy50c2AgZnJvbSB0aGUgcnVsZSB3b3VsZCBsb2FkIGB2aXRlc3QvY29uZmlnYCBhdCBsaW50IHRpbWUgZm9yIG5vdGhpbmcuXG4gKi9cblxuLyoqXG4gKiBUaGUgcGVyLWV2YWwgY2FwIHRoZSBgaW50ZWdyYXRpb24tdGVzdHM6ZGVza3RvcC1wZXJmb3JtYW5jZWAgcHJvamVjdCBnaXZlcyBpdHMgQ0RQIHRyYW5zcG9ydCwgaW5cbiAqIG1pbGxpc2Vjb25kcy5cbiAqXG4gKiBFdmVyeSBvdGhlciBwcm9qZWN0IGtlZXBzIHRoZSB0cmFuc3BvcnQncyBvd24gYERFRkFVTFRfRVZBTF9DQVBfSU5fTUlMTElTRUNPTkRTYCAoMzAgMDAwKSwgYW5kIGEgcmVwb1xuICogdGhhdCByYWlzZXMgaXRzIGRlc2t0b3AgY2FwIGFib3ZlIHRoYXQgaXMgc2V0dGluZyBhIEJBQ0tTVE9QLCBub3QgYSBidWRnZXQgYSBjbG9zdXJlIG1heSBzcGVuZC4gVGhlXG4gKiBwZXJmb3JtYW5jZSBwcm9qZWN0IGlzIHRoZSBvbmUgZXhjZXB0aW9uLCBhbmQgYSBkZWxpYmVyYXRlIG9uZTogaXRzIHdob2xlIG1lYXN1cmVtZW50IGlzIG9uZSBsb25nXG4gKiBpbi1wYWdlIGBSdW50aW1lLmV2YWx1YXRlYCBvdmVyIGEgdmF1bHQgb2YgdGVucyBvZiB0aG91c2FuZHMgb2Ygbm90ZXMsIGFuZCBpdHMgZmlsZXMgcnVuIG9uIG5vIG90aGVyXG4gKiBwcm9qZWN0LiBBIGNyb3NzLXBsYXRmb3JtIHN1aXRlIGdhaW5zIG5vdGhpbmcgZnJvbSBhbnkgZGVza3RvcCByYWlzZSwgYmVjYXVzZSBBcHBpdW0gY2FwcyBpdCBhdFxuICogMzAgMDAwIHdoYXRldmVyIHRoZSBkZXNrdG9wIHByb2plY3Qgc2F5cy5cbiAqL1xuZXhwb3J0IGNvbnN0IFBFUkZPUk1BTkNFX0VWQUxfQ0FQX0lOX01JTExJU0VDT05EUyA9IDYwMF8wMDA7XG5cbi8qKlxuICogVGhlIGZpbGUtbmFtZSBzdWZmaXggb2YgYSBzdWl0ZSB0aGUgYGludGVncmF0aW9uLXRlc3RzOmRlc2t0b3AtcGVyZm9ybWFuY2VgIHByb2plY3QgY29sbGVjdHMuXG4gKi9cbmV4cG9ydCBjb25zdCBERVNLVE9QX1BFUkZPUk1BTkNFX1RFU1RfRklMRV9TVUZGSVggPSAnLmRlc2t0b3AtcGVyZm9ybWFuY2UuaW50ZWdyYXRpb24udGVzdC50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBc0JPLE1BQU0sdUNBQXVDO0FBSzdDLE1BQU0sdUNBQXVDOyIsCiAgIm5hbWVzIjogW10KfQo=
12
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3Rlc3QtcnVubmVycy9wZXJmb3JtYW5jZS1ldmFsLWNhcC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBwZXItZXZhbCBjYXAgb2YgdGhlIGBpbnRlZ3JhdGlvbi10ZXN0czpkZXNrdG9wLXBlcmZvcm1hbmNlYCBwcm9qZWN0LCBhbmQgdGhlIGZpbGUgc3VmZml4IHRoYXRcbiAqIHByb2plY3QgY29sbGVjdHMuXG4gKlxuICogQm90aCBsaXZlIGhlcmUsIHJhdGhlciB0aGFuIGluIGB2aXRlc3QtY29uZmlnLnRzYCwgYmVjYXVzZSB0aGUgYG5vLW92ZXItY2FwLXdhaXQtaW4tZXZhbC1pbi1vYnNpZGlhbmBcbiAqIEVTTGludCBydWxlIHJlYWRzIHRoZW0gdG9vLCBhbmQgdGhlIHNoYXJlZCBFU0xpbnQgY29uZmlnIGxvYWRzIHRoYXQgcnVsZSBpbiBldmVyeSBjb25zdW1pbmcgcmVwbzpcbiAqIGltcG9ydGluZyBgdml0ZXN0LWNvbmZpZy50c2AgZnJvbSB0aGUgcnVsZSB3b3VsZCBsb2FkIGB2aXRlc3QvY29uZmlnYCBhdCBsaW50IHRpbWUgZm9yIG5vdGhpbmcuXG4gKi9cblxuLyoqXG4gKiBUaGUgcGVyLWV2YWwgY2FwIHRoZSBgaW50ZWdyYXRpb24tdGVzdHM6ZGVza3RvcC1wZXJmb3JtYW5jZWAgcHJvamVjdCBnaXZlcyBpdHMgQ0RQIHRyYW5zcG9ydCwgaW5cbiAqIG1pbGxpc2Vjb25kcy5cbiAqXG4gKiBFdmVyeSBvdGhlciBwcm9qZWN0IGtlZXBzIHRoZSB0cmFuc3BvcnQncyBvd24gYERFRkFVTFRfRVZBTF9DQVBfSU5fTUlMTElTRUNPTkRTYCAoMzAgMDAwKSwgYW5kIGEgcmVwb1xuICogdGhhdCByYWlzZXMgaXRzIGRlc2t0b3AgY2FwIGFib3ZlIHRoYXQgaXMgc2V0dGluZyBhIEJBQ0tTVE9QLCBub3QgYSBidWRnZXQgYSBjbG9zdXJlIG1heSBzcGVuZC4gVGhlXG4gKiBwZXJmb3JtYW5jZSBwcm9qZWN0IGlzIHRoZSBvbmUgZXhjZXB0aW9uLCBhbmQgYSBkZWxpYmVyYXRlIG9uZTogaXRzIHdob2xlIG1lYXN1cmVtZW50IGlzIG9uZSBsb25nXG4gKiBpbi1wYWdlIGBSdW50aW1lLmV2YWx1YXRlYCBvdmVyIGEgdmF1bHQgb2YgdGVucyBvZiB0aG91c2FuZHMgb2Ygbm90ZXMsIGFuZCBpdHMgZmlsZXMgcnVuIG9uIG5vIG90aGVyXG4gKiBwcm9qZWN0LiBBIGNyb3NzLXBsYXRmb3JtIHN1aXRlIGdhaW5zIG5vdGhpbmcgZnJvbSBhbnkgZGVza3RvcCByYWlzZSwgYmVjYXVzZSBBcHBpdW0gY2FwcyBpdCBhdFxuICogMzAgMDAwIHdoYXRldmVyIHRoZSBkZXNrdG9wIHByb2plY3Qgc2F5cy5cbiAqL1xuZXhwb3J0IGNvbnN0IFBFUkZPUk1BTkNFX0VWQUxfQ0FQX0lOX01JTExJU0VDT05EUyA9IDYwMF8wMDA7XG5cbi8qKlxuICogVGhlIGZpbGUtbmFtZSBzdWZmaXggb2YgYSBzdWl0ZSB0aGUgYGludGVncmF0aW9uLXRlc3RzOmRlc2t0b3AtcGVyZm9ybWFuY2VgIHByb2plY3QgY29sbGVjdHMuXG4gKi9cbmV4cG9ydCBjb25zdCBERVNLVE9QX1BFUkZPUk1BTkNFX1RFU1RfRklMRV9TVUZGSVggPSAnLmRlc2t0b3AtcGVyZm9ybWFuY2UuaW50ZWdyYXRpb24udGVzdC50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7OztBQXNCTyxNQUFNLHVDQUF1QztBQUs3QyxNQUFNLHVDQUF1QzsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,4 +1,4 @@
1
- /// <reference path="../index.d.mts" />
1
+ /// <reference path="../library-references.d.mts" />
2
2
  /**
3
3
  * @file
4
4
  *
@@ -2,49 +2,32 @@
2
2
  THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
-
6
5
  (function () {
7
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
- symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
- symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
10
- }
11
-
12
6
  function ensureBrowserProcess() {
13
7
  const browserProcess = {
14
8
  browser: true,
15
9
  cwd() {
16
- return '/';
10
+ return "/";
17
11
  },
18
12
  env: {},
19
- platform: 'android'
13
+ platform: "android"
20
14
  };
21
-
22
- // eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
23
15
  const existingProcess = globalThis.process;
24
-
25
16
  if (!existingProcess) {
26
- // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
27
17
  globalThis.process = browserProcess;
28
18
  return;
29
19
  }
30
-
31
20
  if (existingProcess.versions?.node) {
32
21
  return;
33
22
  }
34
-
35
23
  const existingProcessRecord = existingProcess;
36
-
37
24
  for (const [key, value] of Object.entries(browserProcess)) {
38
25
  existingProcessRecord[key] ??= value;
39
26
  }
40
-
41
- existingProcessRecord['browser'] = true;
27
+ existingProcessRecord["browser"] = true;
42
28
  }
43
29
 
44
- (function initEsm() {
45
- ensureDisposeSymbols();
46
- ensureBrowserProcess();
47
- })();
30
+ ensureBrowserProcess();
48
31
  })();
49
32
 
50
33
  import { toPosixPath } from "@mnaoumov/typescript-lib/path";
@@ -120,4 +103,4 @@ export {
120
103
  formatStaleBuildMessage,
121
104
  setup
122
105
  };
123
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL3Rlc3QtcnVubmVycy9zdGFsZS1idWlsZC1nbG9iYWwtc2V0dXAudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBWaXRlc3QgZ2xvYmFsIHNldHVwIHRoYXQgcmVmdXNlcyB0byBzdGFydCBhbiBpbnRlZ3JhdGlvbiBwcm9qZWN0IHdob3NlIHBsdWdpbiBidWlsZCBpcyBzdGFsZS5cbiAqXG4gKiBUaGUgaW50ZWdyYXRpb24gaGFybmVzcyBlbmFibGVzIHRoZSBwbHVnaW4gZnJvbSBpdHMgQlVJTEQsIGBkaXN0L2J1aWxkL21haW4uanNgLCBhbmQgYSBwbHVnaW4nc1xuICogYHRlc3Q6aW50ZWdyYXRpb24qYCBzY3JpcHRzIGNhbGwgdml0ZXN0IGRpcmVjdGx5LCBzbyBub3RoaW5nIG9uIHRoYXQgcGF0aCBidWlsZHMgZmlyc3QuIEEgc2Vzc2lvbiB0aGF0XG4gKiBlZGl0cyBgc3JjL2AgYW5kIHRoZW4gcnVucyBvbmUgaW50ZWdyYXRpb24gcHJvamVjdCB0ZXN0cyB0aGUgbGFzdCBidWlsZCwgaG93ZXZlciBvbGQgaXQgaXMsIGFuZCB0aGVcbiAqIHN1aXRlIHJlcG9ydHMgdGhlIG9sZCBjb2RlIGFzIGEgYmVoYXZpb3IgZGlmZmVyZW5jZSwgbm90IGFzIGEgc3RhbGUgYXJ0aWZhY3QuIE9uZSBzdWNoIHJ1biBjb3N0IGEgQ0RQXG4gKiBwcm9iZSBpbnRvIE9ic2lkaWFuJ3Mgb3duIGxpbmsgcmVzb2x1dGlvbiwgYSB3cm9uZyBjYWNoZS1yYWNlIHRoZW9yeSwgYW5kIGEgaGFybmVzcyBjaGFuZ2UgdGhhdCB3YXNcbiAqIG1hZGUgYW5kIHRoZW4gcmV2ZXJ0ZWQgYmVmb3JlIGFueW9uZSBub3RpY2VkIHRoYXQgdGhlIGJ1aWxkIHdhcyB0aHJlZSBkYXlzIG9sZC4gYG5wbSBydW4gZ2F0ZWAgYXZvaWRlZFxuICogdGhlIHByb2JsZW0gb25seSBiZWNhdXNlIGl0IGhhcHBlbnMgdG8gYnVpbGQgYmVmb3JlIGl0IHJ1bnMgYHRlc3Q6aW50ZWdyYXRpb25gLlxuICpcbiAqIFRoZSBzZXR1cCByZWZ1c2VzIHRvIHN0YXJ0IHJhdGhlciB0aGFuIGJ1aWxkaW5nLiBBIGJ1aWxkIGluc2lkZSBhIGdsb2JhbCBzZXR1cCB3b3VsZCBydW4gb25jZSBwZXJcbiAqIHByb2plY3QgaW4gYSBtdWx0aS1wcm9qZWN0IGFnZ3JlZ2F0ZSwgYW5kIGl0IHdvdWxkIHNsb3cgZG93biBhIGRlbGliZXJhdGUgcmUtcnVuIG9mIGFuIHVuY2hhbmdlZCBidWlsZC5cbiAqIEEgcmVmdXNhbCBpcyBjaGVhcCwgYW5kIGl0IHNheXMgd2hhdCB0byBydW4uXG4gKlxuICogVGVzdCBmaWxlcyBhcmUgbm90IGJ1aWxkIGlucHV0cy4gRWRpdGluZyBhbiBpbnRlZ3JhdGlvbiBjYXNlIGFuZCByZS1ydW5uaW5nIGl0IGlzIGV4YWN0bHkgdGhlIGxvb3AgdGhhdFxuICogbXVzdCBub3QgZm9yY2UgYSByZWJ1aWxkLCBzbyBgKi50ZXN0LnRzYCBmaWxlcyBhbmQgYHNyYy90ZXN0LWhlbHBlcnMvYCBhcmUgaWdub3JlZC4gQSBkZXBlbmRlbmN5IGJ1bXBcbiAqIGlzIG5vdCBkZXRlY3RlZCBlaXRoZXI6IG9ubHkgZmlsZXMgaW4gdGhlIHJlcG8gYXJlIGNvbXBhcmVkLCBub3QgYG5vZGVfbW9kdWxlc2AuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBUZXN0UHJvamVjdCB9IGZyb20gJ3ZpdGVzdC9ub2RlJztcblxuaW1wb3J0IHsgdG9Qb3NpeFBhdGggfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcGF0aCc7XG5pbXBvcnQge1xuICBleGlzdHNTeW5jLFxuICByZWFkZGlyU3luYyxcbiAgc3RhdFN5bmNcbn0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge1xuICBqb2luLFxuICByZWxhdGl2ZSxcbiAgc2VwXG59IGZyb20gJ25vZGU6cGF0aCc7XG5cbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vb2JzaWRpYW4tcGx1Z2luLXJlcG8tcGF0aHMudHMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBmaW5kU3RhbGVCdWlsZH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmluZFN0YWxlQnVpbGRQYXJhbXMge1xuICAvKipcbiAgICogVGhlIHJvb3QgZm9sZGVyIG9mIHRoZSBwbHVnaW4gcmVwby5cbiAgICovXG4gIHJlYWRvbmx5IHJvb3RGb2xkZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgYnVpbGQgZG9lcyBub3QgZXhpc3QgYXQgYWxsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1pc3NpbmdCdWlsZCB7XG4gIC8qKlxuICAgKiBUaGUgZGlzY3JpbWluYW50LlxuICAgKi9cbiAgcmVhZG9ubHkga2luZDogJ21pc3NpbmcnO1xufVxuXG4vKipcbiAqIFRoZSBidWlsZCBleGlzdHMgYnV0IGlzIG9sZGVyIHRoYW4gb25lIG9mIGl0cyBpbnB1dHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3V0ZGF0ZWRCdWlsZCB7XG4gIC8qKlxuICAgKiBUaGUgbW9kaWZpY2F0aW9uIHRpbWUgb2YgYGRpc3QvYnVpbGQvbWFpbi5qc2AuXG4gICAqL1xuICByZWFkb25seSBidWlsZE1vZGlmaWVkQXQ6IERhdGU7XG5cbiAgLyoqXG4gICAqIFRoZSBkaXNjcmltaW5hbnQuXG4gICAqL1xuICByZWFkb25seSBraW5kOiAnb3V0ZGF0ZWQnO1xuXG4gIC8qKlxuICAgKiBUaGUgbW9kaWZpY2F0aW9uIHRpbWUgb2Yge0BsaW5rIE91dGRhdGVkQnVpbGQubmV3ZXN0SW5wdXRQYXRofS5cbiAgICovXG4gIHJlYWRvbmx5IG5ld2VzdElucHV0TW9kaWZpZWRBdDogRGF0ZTtcblxuICAvKipcbiAgICogVGhlIG5ld2VzdCBidWlsZCBpbnB1dCwgcmVsYXRpdmUgdG8gdGhlIHJvb3QgZm9sZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgbmV3ZXN0SW5wdXRQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogV2h5IHRoZSBidWlsZCBjYW5ub3QgYmUgdGVzdGVkLCBhcyByZXR1cm5lZCBieSB7QGxpbmsgZmluZFN0YWxlQnVpbGR9LlxuICovXG5leHBvcnQgdHlwZSBTdGFsZUJ1aWxkID0gTWlzc2luZ0J1aWxkIHwgT3V0ZGF0ZWRCdWlsZDtcblxuY29uc3QgQlVJTERfUEFUSCA9IGAke09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZH0vJHtPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluSnN9YDtcbmNvbnN0IFJPT1RfQlVJTERfSU5QVVRTID0gW09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hbmlmZXN0SnNvbiwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuU3R5bGVzQ3NzXTtcbmNvbnN0IFRFU1RfRklMRV9TVUZGSVggPSBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5BbnlUZXN0VHMuc2xpY2UoMSk7XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYGRpc3QvYnVpbGQvbWFpbi5qc2AgaXMgbWlzc2luZywgb3Igb2xkZXIgdGhhbiBvbmUgb2YgdGhlIGZpbGVzIGl0IGlzIGJ1aWx0IGZyb20uXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzLlxuICogQHJldHVybnMgYG51bGxgIHdoZW4gdGhlIGJ1aWxkIGlzIGN1cnJlbnQ7IG90aGVyd2lzZSBhIGRlc2NyaXB0aW9uIG9mIHRoZSBwcm9ibGVtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZFN0YWxlQnVpbGQocGFyYW1zOiBGaW5kU3RhbGVCdWlsZFBhcmFtcyk6IG51bGwgfCBTdGFsZUJ1aWxkIHtcbiAgY29uc3QgYnVpbGRQYXRoID0gam9pbihwYXJhbXMucm9vdEZvbGRlciwgQlVJTERfUEFUSCk7XG4gIGlmICghZXhpc3RzU3luYyhidWlsZFBhdGgpKSB7XG4gICAgcmV0dXJuIHsga2luZDogJ21pc3NpbmcnIH07XG4gIH1cblxuICBjb25zdCBidWlsZE1vZGlmaWVkQXQgPSBzdGF0U3luYyhidWlsZFBhdGgpLm10aW1lO1xuICBsZXQgbmV3ZXN0SW5wdXRQYXRoOiBudWxsIHwgc3RyaW5nID0gbnVsbDtcbiAgbGV0IG5ld2VzdElucHV0TW9kaWZpZWRBdCA9IGJ1aWxkTW9kaWZpZWRBdDtcblxuICBmb3IgKGNvbnN0IGlucHV0UGF0aCBvZiBnZXRCdWlsZElucHV0UGF0aHMocGFyYW1zLnJvb3RGb2xkZXIpKSB7XG4gICAgY29uc3QgbW9kaWZpZWRBdCA9IHN0YXRTeW5jKGlucHV0UGF0aCkubXRpbWU7XG4gICAgaWYgKG1vZGlmaWVkQXQgPD0gbmV3ZXN0SW5wdXRNb2RpZmllZEF0KSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBuZXdlc3RJbnB1dFBhdGggPSBpbnB1dFBhdGg7XG4gICAgbmV3ZXN0SW5wdXRNb2RpZmllZEF0ID0gbW9kaWZpZWRBdDtcbiAgfVxuXG4gIGlmIChuZXdlc3RJbnB1dFBhdGggPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYnVpbGRNb2RpZmllZEF0LFxuICAgIGtpbmQ6ICdvdXRkYXRlZCcsXG4gICAgbmV3ZXN0SW5wdXRNb2RpZmllZEF0LFxuICAgIG5ld2VzdElucHV0UGF0aDogdG9Qb3NpeFBhdGgocmVsYXRpdmUocGFyYW1zLnJvb3RGb2xkZXIsIG5ld2VzdElucHV0UGF0aCkpXG4gIH07XG59XG5cbi8qKlxuICogRm9ybWF0cyBhIHtAbGluayBTdGFsZUJ1aWxkfSBhcyB0aGUgbWVzc2FnZSB0aGUgc2V0dXAgdGhyb3dzLlxuICpcbiAqIEBwYXJhbSBzdGFsZUJ1aWxkIC0gVGhlIHN0YWxlIGJ1aWxkLlxuICogQHJldHVybnMgVGhlIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRTdGFsZUJ1aWxkTWVzc2FnZShzdGFsZUJ1aWxkOiBTdGFsZUJ1aWxkKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0YWxlQnVpbGQua2luZCA9PT0gJ21pc3NpbmcnXG4gICAgPyBgJHtCVUlMRF9QQVRIfSBkb2VzIG5vdCBleGlzdCwgc28gdGhlcmUgaXMgbm8gcGx1Z2luIGZvciB0aGUgaW50ZWdyYXRpb24gdGVzdHMgdG8gbG9hZC4gUnVuIFxcYG5wbSBydW4gYnVpbGRcXGAgZmlyc3QuYFxuICAgIDogYCR7QlVJTERfUEFUSH0gaXMgb2xkZXIgdGhhbiAke3N0YWxlQnVpbGQubmV3ZXN0SW5wdXRQYXRofSAoYnVpbHQgJHtzdGFsZUJ1aWxkLmJ1aWxkTW9kaWZpZWRBdC50b0lTT1N0cmluZygpfSwgYFxuICAgICAgKyBgY2hhbmdlZCAke3N0YWxlQnVpbGQubmV3ZXN0SW5wdXRNb2RpZmllZEF0LnRvSVNPU3RyaW5nKCl9KSwgc28gdGhlIGludGVncmF0aW9uIHRlc3RzIHdvdWxkIHJ1biB0aGUgcHJldmlvdXMgYnVpbGQgYFxuICAgICAgKyAnaW5zdGVhZCBvZiB0aGUgY3VycmVudCBzb3VyY2UuIFJ1biBgbnBtIHJ1biBidWlsZGAgZmlyc3QuJztcbn1cblxuLyoqXG4gKiBWaXRlc3QgZ2xvYmFsIHNldHVwOiB0aHJvd3Mgd2hlbiB0aGUgcGx1Z2luIGJ1aWxkIGlzIG1pc3Npbmcgb3Igc3RhbGUuXG4gKlxuICogQHBhcmFtIHByb2plY3QgLSBUaGUgVml0ZXN0IHRlc3QgcHJvamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldHVwKHByb2plY3Q6IFRlc3RQcm9qZWN0KTogdm9pZCB7XG4gIGNvbnN0IHN0YWxlQnVpbGQgPSBmaW5kU3RhbGVCdWlsZCh7IHJvb3RGb2xkZXI6IHByb2plY3QuY29uZmlnLnJvb3QgfSk7XG4gIGlmIChzdGFsZUJ1aWxkICE9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGZvcm1hdFN0YWxlQnVpbGRNZXNzYWdlKHN0YWxlQnVpbGQpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRCdWlsZElucHV0UGF0aHMocm9vdEZvbGRlcjogc3RyaW5nKTogc3RyaW5nW10ge1xuICBjb25zdCBwYXRocyA9IFJPT1RfQlVJTERfSU5QVVRTLm1hcCgocm9vdElucHV0KSA9PiBqb2luKHJvb3RGb2xkZXIsIHJvb3RJbnB1dCkpLmZpbHRlcigocGF0aCkgPT4gZXhpc3RzU3luYyhwYXRoKSk7XG5cbiAgY29uc3Qgc3JjRm9sZGVyID0gam9pbihyb290Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TcmMpO1xuICBpZiAoIWV4aXN0c1N5bmMoc3JjRm9sZGVyKSkge1xuICAgIHJldHVybiBwYXRocztcbiAgfVxuXG4gIGNvbnN0IHRlc3RIZWxwZXJzRm9sZGVyUHJlZml4ID0gam9pbihyb290Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5Nb2NrcykgKyBzZXA7XG4gIGZvciAoY29uc3QgZW50cnkgb2YgcmVhZGRpclN5bmMoc3JjRm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KSkge1xuICAgIGlmICghZW50cnkuaXNGaWxlKCkgfHwgZW50cnkubmFtZS5lbmRzV2l0aChURVNUX0ZJTEVfU1VGRklYKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGF0aCA9IGpvaW4oZW50cnkucGFyZW50UGF0aCwgZW50cnkubmFtZSk7XG4gICAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgodGVzdEhlbHBlcnNGb2xkZXJQcmVmaXgpKSB7XG4gICAgICBwYXRocy5wdXNoKHBhdGgpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwYXRocztcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsU0FBUyxtQkFBbUI7QUFDNUI7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBRVAsU0FBUywrQkFBK0I7QUFvRHhDLE1BQU0sYUFBYSxHQUFHLHdCQUF3QixTQUFTLElBQUksd0JBQXdCLE1BQU07QUFDekYsTUFBTSxvQkFBb0IsQ0FBQyx3QkFBd0IsY0FBYyx3QkFBd0IsU0FBUztBQUNsRyxNQUFNLG1CQUFtQix3QkFBd0IsVUFBVSxNQUFNLENBQUM7QUFRM0QsU0FBUyxlQUFlLFFBQWlEO0FBQzlFLFFBQU0sWUFBWSxLQUFLLE9BQU8sWUFBWSxVQUFVO0FBQ3BELE1BQUksQ0FBQyxXQUFXLFNBQVMsR0FBRztBQUMxQixXQUFPLEVBQUUsTUFBTSxVQUFVO0FBQUEsRUFDM0I7QUFFQSxRQUFNLGtCQUFrQixTQUFTLFNBQVMsRUFBRTtBQUM1QyxNQUFJLGtCQUFpQztBQUNyQyxNQUFJLHdCQUF3QjtBQUU1QixhQUFXLGFBQWEsbUJBQW1CLE9BQU8sVUFBVSxHQUFHO0FBQzdELFVBQU0sYUFBYSxTQUFTLFNBQVMsRUFBRTtBQUN2QyxRQUFJLGNBQWMsdUJBQXVCO0FBQ3ZDO0FBQUEsSUFDRjtBQUVBLHNCQUFrQjtBQUNsQiw0QkFBd0I7QUFBQSxFQUMxQjtBQUVBLE1BQUksb0JBQW9CLE1BQU07QUFDNUIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxTQUFPO0FBQUEsSUFDTDtBQUFBLElBQ0EsTUFBTTtBQUFBLElBQ047QUFBQSxJQUNBLGlCQUFpQixZQUFZLFNBQVMsT0FBTyxZQUFZLGVBQWUsQ0FBQztBQUFBLEVBQzNFO0FBQ0Y7QUFRTyxTQUFTLHdCQUF3QixZQUFnQztBQUN0RSxTQUFPLFdBQVcsU0FBUyxZQUN2QixHQUFHLFVBQVUsMkdBQ2IsR0FBRyxVQUFVLGtCQUFrQixXQUFXLGVBQWUsV0FBVyxXQUFXLGdCQUFnQixZQUFZLENBQUMsYUFDL0YsV0FBVyxzQkFBc0IsWUFBWSxDQUFDO0FBRWpFO0FBT08sU0FBUyxNQUFNLFNBQTRCO0FBQ2hELFFBQU0sYUFBYSxlQUFlLEVBQUUsWUFBWSxRQUFRLE9BQU8sS0FBSyxDQUFDO0FBQ3JFLE1BQUksZUFBZSxNQUFNO0FBQ3ZCLFVBQU0sSUFBSSxNQUFNLHdCQUF3QixVQUFVLENBQUM7QUFBQSxFQUNyRDtBQUNGO0FBRUEsU0FBUyxtQkFBbUIsWUFBOEI7QUFDeEQsUUFBTSxRQUFRLGtCQUFrQixJQUFJLENBQUMsY0FBYyxLQUFLLFlBQVksU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsV0FBVyxJQUFJLENBQUM7QUFFakgsUUFBTSxZQUFZLEtBQUssWUFBWSx3QkFBd0IsR0FBRztBQUM5RCxNQUFJLENBQUMsV0FBVyxTQUFTLEdBQUc7QUFDMUIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLDBCQUEwQixLQUFLLFlBQVksd0JBQXdCLEtBQUssSUFBSTtBQUNsRixhQUFXLFNBQVMsWUFBWSxXQUFXLEVBQUUsV0FBVyxNQUFNLGVBQWUsS0FBSyxDQUFDLEdBQUc7QUFDcEYsUUFBSSxDQUFDLE1BQU0sT0FBTyxLQUFLLE1BQU0sS0FBSyxTQUFTLGdCQUFnQixHQUFHO0FBQzVEO0FBQUEsSUFDRjtBQUVBLFVBQU0sT0FBTyxLQUFLLE1BQU0sWUFBWSxNQUFNLElBQUk7QUFDOUMsUUFBSSxDQUFDLEtBQUssV0FBVyx1QkFBdUIsR0FBRztBQUM3QyxZQUFNLEtBQUssSUFBSTtBQUFBLElBQ2pCO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90ZXN0LXJ1bm5lcnMvc3RhbGUtYnVpbGQtZ2xvYmFsLXNldHVwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBWaXRlc3QgZ2xvYmFsIHNldHVwIHRoYXQgcmVmdXNlcyB0byBzdGFydCBhbiBpbnRlZ3JhdGlvbiBwcm9qZWN0IHdob3NlIHBsdWdpbiBidWlsZCBpcyBzdGFsZS5cbiAqXG4gKiBUaGUgaW50ZWdyYXRpb24gaGFybmVzcyBlbmFibGVzIHRoZSBwbHVnaW4gZnJvbSBpdHMgQlVJTEQsIGBkaXN0L2J1aWxkL21haW4uanNgLCBhbmQgYSBwbHVnaW4nc1xuICogYHRlc3Q6aW50ZWdyYXRpb24qYCBzY3JpcHRzIGNhbGwgdml0ZXN0IGRpcmVjdGx5LCBzbyBub3RoaW5nIG9uIHRoYXQgcGF0aCBidWlsZHMgZmlyc3QuIEEgc2Vzc2lvbiB0aGF0XG4gKiBlZGl0cyBgc3JjL2AgYW5kIHRoZW4gcnVucyBvbmUgaW50ZWdyYXRpb24gcHJvamVjdCB0ZXN0cyB0aGUgbGFzdCBidWlsZCwgaG93ZXZlciBvbGQgaXQgaXMsIGFuZCB0aGVcbiAqIHN1aXRlIHJlcG9ydHMgdGhlIG9sZCBjb2RlIGFzIGEgYmVoYXZpb3IgZGlmZmVyZW5jZSwgbm90IGFzIGEgc3RhbGUgYXJ0aWZhY3QuIE9uZSBzdWNoIHJ1biBjb3N0IGEgQ0RQXG4gKiBwcm9iZSBpbnRvIE9ic2lkaWFuJ3Mgb3duIGxpbmsgcmVzb2x1dGlvbiwgYSB3cm9uZyBjYWNoZS1yYWNlIHRoZW9yeSwgYW5kIGEgaGFybmVzcyBjaGFuZ2UgdGhhdCB3YXNcbiAqIG1hZGUgYW5kIHRoZW4gcmV2ZXJ0ZWQgYmVmb3JlIGFueW9uZSBub3RpY2VkIHRoYXQgdGhlIGJ1aWxkIHdhcyB0aHJlZSBkYXlzIG9sZC4gYG5wbSBydW4gZ2F0ZWAgYXZvaWRlZFxuICogdGhlIHByb2JsZW0gb25seSBiZWNhdXNlIGl0IGhhcHBlbnMgdG8gYnVpbGQgYmVmb3JlIGl0IHJ1bnMgYHRlc3Q6aW50ZWdyYXRpb25gLlxuICpcbiAqIFRoZSBzZXR1cCByZWZ1c2VzIHRvIHN0YXJ0IHJhdGhlciB0aGFuIGJ1aWxkaW5nLiBBIGJ1aWxkIGluc2lkZSBhIGdsb2JhbCBzZXR1cCB3b3VsZCBydW4gb25jZSBwZXJcbiAqIHByb2plY3QgaW4gYSBtdWx0aS1wcm9qZWN0IGFnZ3JlZ2F0ZSwgYW5kIGl0IHdvdWxkIHNsb3cgZG93biBhIGRlbGliZXJhdGUgcmUtcnVuIG9mIGFuIHVuY2hhbmdlZCBidWlsZC5cbiAqIEEgcmVmdXNhbCBpcyBjaGVhcCwgYW5kIGl0IHNheXMgd2hhdCB0byBydW4uXG4gKlxuICogVGVzdCBmaWxlcyBhcmUgbm90IGJ1aWxkIGlucHV0cy4gRWRpdGluZyBhbiBpbnRlZ3JhdGlvbiBjYXNlIGFuZCByZS1ydW5uaW5nIGl0IGlzIGV4YWN0bHkgdGhlIGxvb3AgdGhhdFxuICogbXVzdCBub3QgZm9yY2UgYSByZWJ1aWxkLCBzbyBgKi50ZXN0LnRzYCBmaWxlcyBhbmQgYHNyYy90ZXN0LWhlbHBlcnMvYCBhcmUgaWdub3JlZC4gQSBkZXBlbmRlbmN5IGJ1bXBcbiAqIGlzIG5vdCBkZXRlY3RlZCBlaXRoZXI6IG9ubHkgZmlsZXMgaW4gdGhlIHJlcG8gYXJlIGNvbXBhcmVkLCBub3QgYG5vZGVfbW9kdWxlc2AuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBUZXN0UHJvamVjdCB9IGZyb20gJ3ZpdGVzdC9ub2RlJztcblxuaW1wb3J0IHsgdG9Qb3NpeFBhdGggfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcGF0aCc7XG5pbXBvcnQge1xuICBleGlzdHNTeW5jLFxuICByZWFkZGlyU3luYyxcbiAgc3RhdFN5bmNcbn0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge1xuICBqb2luLFxuICByZWxhdGl2ZSxcbiAgc2VwXG59IGZyb20gJ25vZGU6cGF0aCc7XG5cbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vb2JzaWRpYW4tcGx1Z2luLXJlcG8tcGF0aHMudHMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBmaW5kU3RhbGVCdWlsZH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmluZFN0YWxlQnVpbGRQYXJhbXMge1xuICAvKipcbiAgICogVGhlIHJvb3QgZm9sZGVyIG9mIHRoZSBwbHVnaW4gcmVwby5cbiAgICovXG4gIHJlYWRvbmx5IHJvb3RGb2xkZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgYnVpbGQgZG9lcyBub3QgZXhpc3QgYXQgYWxsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1pc3NpbmdCdWlsZCB7XG4gIC8qKlxuICAgKiBUaGUgZGlzY3JpbWluYW50LlxuICAgKi9cbiAgcmVhZG9ubHkga2luZDogJ21pc3NpbmcnO1xufVxuXG4vKipcbiAqIFRoZSBidWlsZCBleGlzdHMgYnV0IGlzIG9sZGVyIHRoYW4gb25lIG9mIGl0cyBpbnB1dHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3V0ZGF0ZWRCdWlsZCB7XG4gIC8qKlxuICAgKiBUaGUgbW9kaWZpY2F0aW9uIHRpbWUgb2YgYGRpc3QvYnVpbGQvbWFpbi5qc2AuXG4gICAqL1xuICByZWFkb25seSBidWlsZE1vZGlmaWVkQXQ6IERhdGU7XG5cbiAgLyoqXG4gICAqIFRoZSBkaXNjcmltaW5hbnQuXG4gICAqL1xuICByZWFkb25seSBraW5kOiAnb3V0ZGF0ZWQnO1xuXG4gIC8qKlxuICAgKiBUaGUgbW9kaWZpY2F0aW9uIHRpbWUgb2Yge0BsaW5rIE91dGRhdGVkQnVpbGQubmV3ZXN0SW5wdXRQYXRofS5cbiAgICovXG4gIHJlYWRvbmx5IG5ld2VzdElucHV0TW9kaWZpZWRBdDogRGF0ZTtcblxuICAvKipcbiAgICogVGhlIG5ld2VzdCBidWlsZCBpbnB1dCwgcmVsYXRpdmUgdG8gdGhlIHJvb3QgZm9sZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgbmV3ZXN0SW5wdXRQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogV2h5IHRoZSBidWlsZCBjYW5ub3QgYmUgdGVzdGVkLCBhcyByZXR1cm5lZCBieSB7QGxpbmsgZmluZFN0YWxlQnVpbGR9LlxuICovXG5leHBvcnQgdHlwZSBTdGFsZUJ1aWxkID0gTWlzc2luZ0J1aWxkIHwgT3V0ZGF0ZWRCdWlsZDtcblxuY29uc3QgQlVJTERfUEFUSCA9IGAke09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZH0vJHtPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluSnN9YDtcbmNvbnN0IFJPT1RfQlVJTERfSU5QVVRTID0gW09ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1hbmlmZXN0SnNvbiwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuU3R5bGVzQ3NzXTtcbmNvbnN0IFRFU1RfRklMRV9TVUZGSVggPSBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5BbnlUZXN0VHMuc2xpY2UoMSk7XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYGRpc3QvYnVpbGQvbWFpbi5qc2AgaXMgbWlzc2luZywgb3Igb2xkZXIgdGhhbiBvbmUgb2YgdGhlIGZpbGVzIGl0IGlzIGJ1aWx0IGZyb20uXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzLlxuICogQHJldHVybnMgYG51bGxgIHdoZW4gdGhlIGJ1aWxkIGlzIGN1cnJlbnQ7IG90aGVyd2lzZSBhIGRlc2NyaXB0aW9uIG9mIHRoZSBwcm9ibGVtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZFN0YWxlQnVpbGQocGFyYW1zOiBGaW5kU3RhbGVCdWlsZFBhcmFtcyk6IG51bGwgfCBTdGFsZUJ1aWxkIHtcbiAgY29uc3QgYnVpbGRQYXRoID0gam9pbihwYXJhbXMucm9vdEZvbGRlciwgQlVJTERfUEFUSCk7XG4gIGlmICghZXhpc3RzU3luYyhidWlsZFBhdGgpKSB7XG4gICAgcmV0dXJuIHsga2luZDogJ21pc3NpbmcnIH07XG4gIH1cblxuICBjb25zdCBidWlsZE1vZGlmaWVkQXQgPSBzdGF0U3luYyhidWlsZFBhdGgpLm10aW1lO1xuICBsZXQgbmV3ZXN0SW5wdXRQYXRoOiBudWxsIHwgc3RyaW5nID0gbnVsbDtcbiAgbGV0IG5ld2VzdElucHV0TW9kaWZpZWRBdCA9IGJ1aWxkTW9kaWZpZWRBdDtcblxuICBmb3IgKGNvbnN0IGlucHV0UGF0aCBvZiBnZXRCdWlsZElucHV0UGF0aHMocGFyYW1zLnJvb3RGb2xkZXIpKSB7XG4gICAgY29uc3QgbW9kaWZpZWRBdCA9IHN0YXRTeW5jKGlucHV0UGF0aCkubXRpbWU7XG4gICAgaWYgKG1vZGlmaWVkQXQgPD0gbmV3ZXN0SW5wdXRNb2RpZmllZEF0KSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBuZXdlc3RJbnB1dFBhdGggPSBpbnB1dFBhdGg7XG4gICAgbmV3ZXN0SW5wdXRNb2RpZmllZEF0ID0gbW9kaWZpZWRBdDtcbiAgfVxuXG4gIGlmIChuZXdlc3RJbnB1dFBhdGggPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYnVpbGRNb2RpZmllZEF0LFxuICAgIGtpbmQ6ICdvdXRkYXRlZCcsXG4gICAgbmV3ZXN0SW5wdXRNb2RpZmllZEF0LFxuICAgIG5ld2VzdElucHV0UGF0aDogdG9Qb3NpeFBhdGgocmVsYXRpdmUocGFyYW1zLnJvb3RGb2xkZXIsIG5ld2VzdElucHV0UGF0aCkpXG4gIH07XG59XG5cbi8qKlxuICogRm9ybWF0cyBhIHtAbGluayBTdGFsZUJ1aWxkfSBhcyB0aGUgbWVzc2FnZSB0aGUgc2V0dXAgdGhyb3dzLlxuICpcbiAqIEBwYXJhbSBzdGFsZUJ1aWxkIC0gVGhlIHN0YWxlIGJ1aWxkLlxuICogQHJldHVybnMgVGhlIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRTdGFsZUJ1aWxkTWVzc2FnZShzdGFsZUJ1aWxkOiBTdGFsZUJ1aWxkKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0YWxlQnVpbGQua2luZCA9PT0gJ21pc3NpbmcnXG4gICAgPyBgJHtCVUlMRF9QQVRIfSBkb2VzIG5vdCBleGlzdCwgc28gdGhlcmUgaXMgbm8gcGx1Z2luIGZvciB0aGUgaW50ZWdyYXRpb24gdGVzdHMgdG8gbG9hZC4gUnVuIFxcYG5wbSBydW4gYnVpbGRcXGAgZmlyc3QuYFxuICAgIDogYCR7QlVJTERfUEFUSH0gaXMgb2xkZXIgdGhhbiAke3N0YWxlQnVpbGQubmV3ZXN0SW5wdXRQYXRofSAoYnVpbHQgJHtzdGFsZUJ1aWxkLmJ1aWxkTW9kaWZpZWRBdC50b0lTT1N0cmluZygpfSwgYFxuICAgICAgKyBgY2hhbmdlZCAke3N0YWxlQnVpbGQubmV3ZXN0SW5wdXRNb2RpZmllZEF0LnRvSVNPU3RyaW5nKCl9KSwgc28gdGhlIGludGVncmF0aW9uIHRlc3RzIHdvdWxkIHJ1biB0aGUgcHJldmlvdXMgYnVpbGQgYFxuICAgICAgKyAnaW5zdGVhZCBvZiB0aGUgY3VycmVudCBzb3VyY2UuIFJ1biBgbnBtIHJ1biBidWlsZGAgZmlyc3QuJztcbn1cblxuLyoqXG4gKiBWaXRlc3QgZ2xvYmFsIHNldHVwOiB0aHJvd3Mgd2hlbiB0aGUgcGx1Z2luIGJ1aWxkIGlzIG1pc3Npbmcgb3Igc3RhbGUuXG4gKlxuICogQHBhcmFtIHByb2plY3QgLSBUaGUgVml0ZXN0IHRlc3QgcHJvamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldHVwKHByb2plY3Q6IFRlc3RQcm9qZWN0KTogdm9pZCB7XG4gIGNvbnN0IHN0YWxlQnVpbGQgPSBmaW5kU3RhbGVCdWlsZCh7IHJvb3RGb2xkZXI6IHByb2plY3QuY29uZmlnLnJvb3QgfSk7XG4gIGlmIChzdGFsZUJ1aWxkICE9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGZvcm1hdFN0YWxlQnVpbGRNZXNzYWdlKHN0YWxlQnVpbGQpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRCdWlsZElucHV0UGF0aHMocm9vdEZvbGRlcjogc3RyaW5nKTogc3RyaW5nW10ge1xuICBjb25zdCBwYXRocyA9IFJPT1RfQlVJTERfSU5QVVRTLm1hcCgocm9vdElucHV0KSA9PiBqb2luKHJvb3RGb2xkZXIsIHJvb3RJbnB1dCkpLmZpbHRlcigocGF0aCkgPT4gZXhpc3RzU3luYyhwYXRoKSk7XG5cbiAgY29uc3Qgc3JjRm9sZGVyID0gam9pbihyb290Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TcmMpO1xuICBpZiAoIWV4aXN0c1N5bmMoc3JjRm9sZGVyKSkge1xuICAgIHJldHVybiBwYXRocztcbiAgfVxuXG4gIGNvbnN0IHRlc3RIZWxwZXJzRm9sZGVyUHJlZml4ID0gam9pbihyb290Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5Nb2NrcykgKyBzZXA7XG4gIGZvciAoY29uc3QgZW50cnkgb2YgcmVhZGRpclN5bmMoc3JjRm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KSkge1xuICAgIGlmICghZW50cnkuaXNGaWxlKCkgfHwgZW50cnkubmFtZS5lbmRzV2l0aChURVNUX0ZJTEVfU1VGRklYKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGF0aCA9IGpvaW4oZW50cnkucGFyZW50UGF0aCwgZW50cnkubmFtZSk7XG4gICAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgodGVzdEhlbHBlcnNGb2xkZXJQcmVmaXgpKSB7XG4gICAgICBwYXRocy5wdXNoKHBhdGgpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwYXRocztcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsU0FBUyxtQkFBbUI7QUFDNUI7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1A7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBRVAsU0FBUywrQkFBK0I7QUFvRHhDLE1BQU0sYUFBYSxHQUFHLHdCQUF3QixTQUFTLElBQUksd0JBQXdCLE1BQU07QUFDekYsTUFBTSxvQkFBb0IsQ0FBQyx3QkFBd0IsY0FBYyx3QkFBd0IsU0FBUztBQUNsRyxNQUFNLG1CQUFtQix3QkFBd0IsVUFBVSxNQUFNLENBQUM7QUFRM0QsU0FBUyxlQUFlLFFBQWlEO0FBQzlFLFFBQU0sWUFBWSxLQUFLLE9BQU8sWUFBWSxVQUFVO0FBQ3BELE1BQUksQ0FBQyxXQUFXLFNBQVMsR0FBRztBQUMxQixXQUFPLEVBQUUsTUFBTSxVQUFVO0FBQUEsRUFDM0I7QUFFQSxRQUFNLGtCQUFrQixTQUFTLFNBQVMsRUFBRTtBQUM1QyxNQUFJLGtCQUFpQztBQUNyQyxNQUFJLHdCQUF3QjtBQUU1QixhQUFXLGFBQWEsbUJBQW1CLE9BQU8sVUFBVSxHQUFHO0FBQzdELFVBQU0sYUFBYSxTQUFTLFNBQVMsRUFBRTtBQUN2QyxRQUFJLGNBQWMsdUJBQXVCO0FBQ3ZDO0FBQUEsSUFDRjtBQUVBLHNCQUFrQjtBQUNsQiw0QkFBd0I7QUFBQSxFQUMxQjtBQUVBLE1BQUksb0JBQW9CLE1BQU07QUFDNUIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxTQUFPO0FBQUEsSUFDTDtBQUFBLElBQ0EsTUFBTTtBQUFBLElBQ047QUFBQSxJQUNBLGlCQUFpQixZQUFZLFNBQVMsT0FBTyxZQUFZLGVBQWUsQ0FBQztBQUFBLEVBQzNFO0FBQ0Y7QUFRTyxTQUFTLHdCQUF3QixZQUFnQztBQUN0RSxTQUFPLFdBQVcsU0FBUyxZQUN2QixHQUFHLFVBQVUsMkdBQ2IsR0FBRyxVQUFVLGtCQUFrQixXQUFXLGVBQWUsV0FBVyxXQUFXLGdCQUFnQixZQUFZLENBQUMsYUFDL0YsV0FBVyxzQkFBc0IsWUFBWSxDQUFDO0FBRWpFO0FBT08sU0FBUyxNQUFNLFNBQTRCO0FBQ2hELFFBQU0sYUFBYSxlQUFlLEVBQUUsWUFBWSxRQUFRLE9BQU8sS0FBSyxDQUFDO0FBQ3JFLE1BQUksZUFBZSxNQUFNO0FBQ3ZCLFVBQU0sSUFBSSxNQUFNLHdCQUF3QixVQUFVLENBQUM7QUFBQSxFQUNyRDtBQUNGO0FBRUEsU0FBUyxtQkFBbUIsWUFBOEI7QUFDeEQsUUFBTSxRQUFRLGtCQUFrQixJQUFJLENBQUMsY0FBYyxLQUFLLFlBQVksU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsV0FBVyxJQUFJLENBQUM7QUFFakgsUUFBTSxZQUFZLEtBQUssWUFBWSx3QkFBd0IsR0FBRztBQUM5RCxNQUFJLENBQUMsV0FBVyxTQUFTLEdBQUc7QUFDMUIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLDBCQUEwQixLQUFLLFlBQVksd0JBQXdCLEtBQUssSUFBSTtBQUNsRixhQUFXLFNBQVMsWUFBWSxXQUFXLEVBQUUsV0FBVyxNQUFNLGVBQWUsS0FBSyxDQUFDLEdBQUc7QUFDcEYsUUFBSSxDQUFDLE1BQU0sT0FBTyxLQUFLLE1BQU0sS0FBSyxTQUFTLGdCQUFnQixHQUFHO0FBQzVEO0FBQUEsSUFDRjtBQUVBLFVBQU0sT0FBTyxLQUFLLE1BQU0sWUFBWSxNQUFNLElBQUk7QUFDOUMsUUFBSSxDQUFDLEtBQUssV0FBVyx1QkFBdUIsR0FBRztBQUM3QyxZQUFNLEtBQUssSUFBSTtBQUFBLElBQ2pCO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDsiLCJuYW1lcyI6W119
@@ -1,4 +1,4 @@
1
- /// <reference path="../index.d.mts" />
1
+ /// <reference path="../library-references.d.mts" />
2
2
  /**
3
3
  * @file
4
4
  *
@@ -10,8 +10,7 @@
10
10
  * near-identical edit per plugin, and any repo that is missed drifts silently. This module owns that
11
11
  * configuration once, so a plugin's `scripts/vitest-config.ts` collapses to a single call.
12
12
  *
13
- * The seam mirrors {@link https://www.npmjs.com/package/obsidian-dev-utils | the ESLint one}
14
- * (`defineEslintConfigs`): the factory builds a context holding the standard projects, the caller edits
13
+ * The seam mirrors the ESLint one (`defineEslintConfigs`): the factory builds a context holding the standard projects, the caller edits
15
14
  * it in place through {@link DefineObsidianPluginVitestConfigOptions.editContext}, and appends any
16
15
  * project the base does not know about through
17
16
  * {@link DefineObsidianPluginVitestConfigOptions.customProjects}.