@mnaoumov/obsidian-dev-toolkit 0.0.0 → 1.1.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 (293) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -1
  3. package/bundlers/esbuild/package.json +6 -0
  4. package/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin/package.json +6 -0
  5. package/bundlers/esbuild-impl/dependency/package.json +6 -0
  6. package/bundlers/esbuild-impl/fix-source-maps-plugin/package.json +6 -0
  7. package/bundlers/esbuild-impl/index/package.json +6 -0
  8. package/bundlers/esbuild-impl/obsidian-plugin-builder/package.json +6 -0
  9. package/bundlers/esbuild-impl/package.json +6 -0
  10. package/bundlers/esbuild-impl/preprocess-plugin/package.json +6 -0
  11. package/bundlers/esbuild-impl/rename-css-plugin/package.json +6 -0
  12. package/bundlers/index/package.json +6 -0
  13. package/bundlers/package.json +6 -0
  14. package/dist/demo-vault-helper/main.js +1264 -0
  15. package/dist/demo-vault-helper/manifest.json +9 -0
  16. package/dist/integration-test-plugin/main.js +54167 -0
  17. package/dist/integration-test-plugin/manifest.json +8 -0
  18. package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +322 -0
  19. package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.cts +38 -0
  20. package/dist/lib/cjs/bundlers/esbuild-impl/dependency.cjs +240 -0
  21. package/dist/lib/cjs/bundlers/esbuild-impl/dependency.d.cts +20 -0
  22. package/dist/lib/cjs/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +213 -0
  23. package/dist/lib/cjs/bundlers/esbuild-impl/fix-source-maps-plugin.d.cts +34 -0
  24. package/dist/lib/cjs/bundlers/esbuild-impl/index.cjs +179 -0
  25. package/dist/lib/cjs/bundlers/esbuild-impl/index.d.cts +7 -0
  26. package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +362 -0
  27. package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.d.cts +98 -0
  28. package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.cjs +234 -0
  29. package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.d.cts +30 -0
  30. package/dist/lib/cjs/bundlers/esbuild-impl/rename-css-plugin.cjs +171 -0
  31. package/dist/lib/cjs/bundlers/esbuild-impl/rename-css-plugin.d.cts +14 -0
  32. package/dist/lib/cjs/bundlers/esbuild.cjs +164 -0
  33. package/dist/lib/cjs/bundlers/esbuild.d.cts +11 -0
  34. package/dist/lib/cjs/bundlers/index.cjs +167 -0
  35. package/dist/lib/cjs/bundlers/index.d.cts +3 -0
  36. package/dist/lib/cjs/demo-vault-app-json.cjs +186 -0
  37. package/dist/lib/cjs/demo-vault-app-json.d.cts +93 -0
  38. package/dist/lib/cjs/demo-vault-buttons.cjs +567 -0
  39. package/dist/lib/cjs/demo-vault-buttons.d.cts +259 -0
  40. package/dist/lib/cjs/demo-vault-coverage.cjs +713 -0
  41. package/dist/lib/cjs/demo-vault-coverage.d.cts +533 -0
  42. package/dist/lib/cjs/demo-vault.cjs +296 -0
  43. package/dist/lib/cjs/demo-vault.d.cts +33 -0
  44. package/dist/lib/cjs/formatters/dprint.cjs +160 -0
  45. package/dist/lib/cjs/formatters/dprint.d.cts +15 -0
  46. package/dist/lib/cjs/formatters/index.cjs +164 -0
  47. package/dist/lib/cjs/formatters/index.d.cts +2 -0
  48. package/dist/lib/cjs/index.cjs +194 -0
  49. package/dist/lib/cjs/index.d.cts +16 -0
  50. package/dist/lib/cjs/integration-test-setup.cjs +129 -0
  51. package/dist/lib/cjs/integration-test-setup.d.cts +33 -0
  52. package/dist/lib/cjs/integration-test-vitest-global-setup.cjs +163 -0
  53. package/dist/lib/cjs/integration-test-vitest-global-setup.d.cts +39 -0
  54. package/dist/lib/cjs/jest-setup.cjs +134 -0
  55. package/dist/lib/cjs/jest-setup.d.cts +13 -0
  56. package/dist/lib/cjs/linters/eslint-config.cjs +403 -0
  57. package/dist/lib/cjs/linters/eslint-config.d.cts +25 -0
  58. package/dist/lib/cjs/linters/eslint-rules/index.cjs +200 -0
  59. package/dist/lib/cjs/linters/eslint-rules/index.d.cts +14 -0
  60. package/dist/lib/cjs/linters/eslint-rules/manifest-description.cjs +255 -0
  61. package/dist/lib/cjs/linters/eslint-rules/manifest-description.d.cts +54 -0
  62. package/dist/lib/cjs/linters/eslint-rules/manifest-helpers.cjs +218 -0
  63. package/dist/lib/cjs/linters/eslint-rules/manifest-helpers.d.cts +141 -0
  64. package/dist/lib/cjs/linters/eslint-rules/manifest-id.cjs +215 -0
  65. package/dist/lib/cjs/linters/eslint-rules/manifest-id.d.cts +32 -0
  66. package/dist/lib/cjs/linters/eslint-rules/manifest-name.cjs +216 -0
  67. package/dist/lib/cjs/linters/eslint-rules/manifest-name.d.cts +30 -0
  68. package/dist/lib/cjs/linters/eslint-rules/manifest-schema.cjs +316 -0
  69. package/dist/lib/cjs/linters/eslint-rules/manifest-schema.d.cts +45 -0
  70. package/dist/lib/cjs/linters/eslint-rules/no-local-obsidian-internals.cjs +259 -0
  71. package/dist/lib/cjs/linters/eslint-rules/no-local-obsidian-internals.d.cts +10 -0
  72. package/dist/lib/cjs/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.cjs +657 -0
  73. package/dist/lib/cjs/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.d.cts +10 -0
  74. package/dist/lib/cjs/linters/eslint-rules/no-untrusted-input-events.cjs +247 -0
  75. package/dist/lib/cjs/linters/eslint-rules/no-untrusted-input-events.d.cts +10 -0
  76. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +181 -0
  77. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-utils-plugin.d.cts +13 -0
  78. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code-in-ui.cjs +263 -0
  79. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code-in-ui.d.cts +30 -0
  80. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code.cjs +215 -0
  81. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code.d.cts +29 -0
  82. package/dist/lib/cjs/linters/eslint-rules/require-component-suffix.cjs +278 -0
  83. package/dist/lib/cjs/linters/eslint-rules/require-component-suffix.d.cts +18 -0
  84. package/dist/lib/cjs/linters/eslint-rules/require-plugin-api-contract-schemas.cjs +306 -0
  85. package/dist/lib/cjs/linters/eslint-rules/require-plugin-api-contract-schemas.d.cts +10 -0
  86. package/dist/lib/cjs/linters/eslint.cjs +160 -0
  87. package/dist/lib/cjs/linters/eslint.d.cts +15 -0
  88. package/dist/lib/cjs/linters/index.cjs +185 -0
  89. package/dist/lib/cjs/linters/index.d.cts +9 -0
  90. package/dist/lib/cjs/linters/markdownlint-cli2-config.cjs +171 -0
  91. package/dist/lib/cjs/linters/markdownlint-cli2-config.d.cts +12 -0
  92. package/dist/lib/cjs/linters/markdownlint-rules/index.cjs +164 -0
  93. package/dist/lib/cjs/linters/markdownlint-rules/index.d.cts +2 -0
  94. package/dist/lib/cjs/linters/markdownlint-rules/plugin-name-as-code.cjs +246 -0
  95. package/dist/lib/cjs/linters/markdownlint-rules/plugin-name-as-code.d.cts +32 -0
  96. package/dist/lib/cjs/linters/markdownlint.cjs +160 -0
  97. package/dist/lib/cjs/linters/markdownlint.d.cts +15 -0
  98. package/dist/lib/cjs/linters/obsidianmd-rule-custom-message.cjs +176 -0
  99. package/dist/lib/cjs/linters/obsidianmd-rule-custom-message.d.cts +40 -0
  100. package/dist/lib/cjs/linters/plugin-names.cjs +249 -0
  101. package/dist/lib/cjs/linters/plugin-names.d.cts +81 -0
  102. package/dist/lib/cjs/obsidian-plugin-repo-paths.cjs +216 -0
  103. package/dist/lib/cjs/obsidian-plugin-repo-paths.d.cts +253 -0
  104. package/dist/lib/cjs/setup.cjs +163 -0
  105. package/dist/lib/cjs/setup.d.cts +21 -0
  106. package/dist/lib/cjs/templates.cjs +172 -0
  107. package/dist/lib/cjs/templates.d.cts +13 -0
  108. package/dist/lib/cjs/test-runners/index.cjs +170 -0
  109. package/dist/lib/cjs/test-runners/index.d.cts +4 -0
  110. package/dist/lib/cjs/test-runners/integration-test-plugin.cjs +211 -0
  111. package/dist/lib/cjs/test-runners/integration-test-plugin.d.cts +44 -0
  112. package/dist/lib/cjs/test-runners/performance-eval-cap.cjs +157 -0
  113. package/dist/lib/cjs/test-runners/performance-eval-cap.d.cts +27 -0
  114. package/dist/lib/cjs/test-runners/stale-build-global-setup.cjs +217 -0
  115. package/dist/lib/cjs/test-runners/stale-build-global-setup.d.cts +86 -0
  116. package/dist/lib/cjs/test-runners/vitest-config.cjs +484 -0
  117. package/dist/lib/cjs/test-runners/vitest-config.d.cts +200 -0
  118. package/dist/lib/cjs/version.cjs +262 -0
  119. package/dist/lib/cjs/version.d.cts +92 -0
  120. package/dist/lib/cjs/vitest-setup.cjs +134 -0
  121. package/dist/lib/cjs/vitest-setup.d.cts +11 -0
  122. package/dist/lib/esm/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.mts +38 -0
  123. package/dist/lib/esm/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +218 -0
  124. package/dist/lib/esm/bundlers/esbuild-impl/dependency.d.mts +20 -0
  125. package/dist/lib/esm/bundlers/esbuild-impl/dependency.mjs +130 -0
  126. package/dist/lib/esm/bundlers/esbuild-impl/fix-source-maps-plugin.d.mts +34 -0
  127. package/dist/lib/esm/bundlers/esbuild-impl/fix-source-maps-plugin.mjs +108 -0
  128. package/dist/lib/esm/bundlers/esbuild-impl/index.d.mts +7 -0
  129. package/dist/lib/esm/bundlers/esbuild-impl/index.mjs +56 -0
  130. package/dist/lib/esm/bundlers/esbuild-impl/obsidian-plugin-builder.d.mts +98 -0
  131. package/dist/lib/esm/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +247 -0
  132. package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.d.mts +30 -0
  133. package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.mjs +126 -0
  134. package/dist/lib/esm/bundlers/esbuild-impl/rename-css-plugin.d.mts +14 -0
  135. package/dist/lib/esm/bundlers/esbuild-impl/rename-css-plugin.mjs +63 -0
  136. package/dist/lib/esm/bundlers/esbuild.d.mts +11 -0
  137. package/dist/lib/esm/bundlers/esbuild.mjs +58 -0
  138. package/dist/lib/esm/bundlers/index.d.mts +3 -0
  139. package/dist/lib/esm/bundlers/index.mjs +48 -0
  140. package/dist/lib/esm/demo-vault-app-json.d.mts +93 -0
  141. package/dist/lib/esm/demo-vault-app-json.mjs +75 -0
  142. package/dist/lib/esm/demo-vault-buttons.d.mts +259 -0
  143. package/dist/lib/esm/demo-vault-buttons.mjs +452 -0
  144. package/dist/lib/esm/demo-vault-coverage.d.mts +533 -0
  145. package/dist/lib/esm/demo-vault-coverage.mjs +619 -0
  146. package/dist/lib/esm/demo-vault.d.mts +33 -0
  147. package/dist/lib/esm/demo-vault.mjs +197 -0
  148. package/dist/lib/esm/formatters/dprint.d.mts +15 -0
  149. package/dist/lib/esm/formatters/dprint.mjs +52 -0
  150. package/dist/lib/esm/formatters/index.d.mts +2 -0
  151. package/dist/lib/esm/formatters/index.mjs +46 -0
  152. package/dist/lib/esm/index.d.mts +16 -0
  153. package/dist/lib/esm/index.mjs +66 -0
  154. package/dist/lib/esm/integration-test-setup.d.mts +33 -0
  155. package/dist/lib/esm/integration-test-setup.mjs +44 -0
  156. package/dist/lib/esm/integration-test-vitest-global-setup.d.mts +39 -0
  157. package/dist/lib/esm/integration-test-vitest-global-setup.mjs +57 -0
  158. package/dist/lib/esm/jest-setup.d.mts +13 -0
  159. package/dist/lib/esm/jest-setup.mjs +53 -0
  160. package/dist/lib/esm/linters/eslint-config.d.mts +25 -0
  161. package/dist/lib/esm/linters/eslint-config.mjs +290 -0
  162. package/dist/lib/esm/linters/eslint-rules/index.d.mts +14 -0
  163. package/dist/lib/esm/linters/eslint-rules/index.mjs +70 -0
  164. package/dist/lib/esm/linters/eslint-rules/manifest-description.d.mts +54 -0
  165. package/dist/lib/esm/linters/eslint-rules/manifest-description.mjs +146 -0
  166. package/dist/lib/esm/linters/eslint-rules/manifest-helpers.d.mts +141 -0
  167. package/dist/lib/esm/linters/eslint-rules/manifest-helpers.mjs +90 -0
  168. package/dist/lib/esm/linters/eslint-rules/manifest-id.d.mts +32 -0
  169. package/dist/lib/esm/linters/eslint-rules/manifest-id.mjs +109 -0
  170. package/dist/lib/esm/linters/eslint-rules/manifest-name.d.mts +30 -0
  171. package/dist/lib/esm/linters/eslint-rules/manifest-name.mjs +110 -0
  172. package/dist/lib/esm/linters/eslint-rules/manifest-schema.d.mts +45 -0
  173. package/dist/lib/esm/linters/eslint-rules/manifest-schema.mjs +212 -0
  174. package/dist/lib/esm/linters/eslint-rules/no-local-obsidian-internals.d.mts +10 -0
  175. package/dist/lib/esm/linters/eslint-rules/no-local-obsidian-internals.mjs +150 -0
  176. package/dist/lib/esm/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.d.mts +10 -0
  177. package/dist/lib/esm/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.mjs +551 -0
  178. package/dist/lib/esm/linters/eslint-rules/no-untrusted-input-events.d.mts +10 -0
  179. package/dist/lib/esm/linters/eslint-rules/no-untrusted-input-events.mjs +138 -0
  180. package/dist/lib/esm/linters/eslint-rules/obsidian-dev-utils-plugin.d.mts +13 -0
  181. package/dist/lib/esm/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +73 -0
  182. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code-in-ui.d.mts +30 -0
  183. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code-in-ui.mjs +157 -0
  184. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code.d.mts +29 -0
  185. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code.mjs +108 -0
  186. package/dist/lib/esm/linters/eslint-rules/require-component-suffix.d.mts +18 -0
  187. package/dist/lib/esm/linters/eslint-rules/require-component-suffix.mjs +167 -0
  188. package/dist/lib/esm/linters/eslint-rules/require-plugin-api-contract-schemas.d.mts +10 -0
  189. package/dist/lib/esm/linters/eslint-rules/require-plugin-api-contract-schemas.mjs +197 -0
  190. package/dist/lib/esm/linters/eslint.d.mts +15 -0
  191. package/dist/lib/esm/linters/eslint.mjs +52 -0
  192. package/dist/lib/esm/linters/index.d.mts +9 -0
  193. package/dist/lib/esm/linters/index.mjs +60 -0
  194. package/dist/lib/esm/linters/markdownlint-cli2-config.d.mts +12 -0
  195. package/dist/lib/esm/linters/markdownlint-cli2-config.mjs +66 -0
  196. package/dist/lib/esm/linters/markdownlint-rules/index.d.mts +2 -0
  197. package/dist/lib/esm/linters/markdownlint-rules/index.mjs +46 -0
  198. package/dist/lib/esm/linters/markdownlint-rules/plugin-name-as-code.d.mts +32 -0
  199. package/dist/lib/esm/linters/markdownlint-rules/plugin-name-as-code.mjs +130 -0
  200. package/dist/lib/esm/linters/markdownlint.d.mts +15 -0
  201. package/dist/lib/esm/linters/markdownlint.mjs +52 -0
  202. package/dist/lib/esm/linters/obsidianmd-rule-custom-message.d.mts +40 -0
  203. package/dist/lib/esm/linters/obsidianmd-rule-custom-message.mjs +67 -0
  204. package/dist/lib/esm/linters/plugin-names.d.mts +81 -0
  205. package/dist/lib/esm/linters/plugin-names.mjs +141 -0
  206. package/dist/lib/esm/obsidian-plugin-repo-paths.d.mts +253 -0
  207. package/dist/lib/esm/obsidian-plugin-repo-paths.mjs +108 -0
  208. package/dist/lib/esm/setup.d.mts +21 -0
  209. package/dist/lib/esm/setup.mjs +55 -0
  210. package/dist/lib/esm/templates.d.mts +13 -0
  211. package/dist/lib/esm/templates.mjs +57 -0
  212. package/dist/lib/esm/test-runners/index.d.mts +4 -0
  213. package/dist/lib/esm/test-runners/index.mjs +50 -0
  214. package/dist/lib/esm/test-runners/integration-test-plugin.d.mts +44 -0
  215. package/dist/lib/esm/test-runners/integration-test-plugin.mjs +94 -0
  216. package/dist/lib/esm/test-runners/performance-eval-cap.d.mts +27 -0
  217. package/dist/lib/esm/test-runners/performance-eval-cap.mjs +48 -0
  218. package/dist/lib/esm/test-runners/stale-build-global-setup.d.mts +86 -0
  219. package/dist/lib/esm/test-runners/stale-build-global-setup.mjs +115 -0
  220. package/dist/lib/esm/test-runners/vitest-config.d.mts +200 -0
  221. package/dist/lib/esm/test-runners/vitest-config.mjs +369 -0
  222. package/dist/lib/esm/version.d.mts +92 -0
  223. package/dist/lib/esm/version.mjs +160 -0
  224. package/dist/lib/esm/vitest-setup.d.mts +11 -0
  225. package/dist/lib/esm/vitest-setup.mjs +53 -0
  226. package/dist/templates/.markdownlint-cli2.mjs +4 -0
  227. package/dist/templates/.nano-staged.mjs +4 -0
  228. package/dist/templates/commitlint.config.ts +3 -0
  229. package/dist/templates/dprint.json +26 -0
  230. package/dist/templates/eslint.config.mts +3 -0
  231. package/dist/templates/scripts/build/build-clean.ts +4 -0
  232. package/dist/templates/scripts/build/build-compile-svelte.ts +4 -0
  233. package/dist/templates/scripts/build/build-compile-typescript.ts +4 -0
  234. package/dist/templates/scripts/build/build-compile.ts +4 -0
  235. package/dist/templates/scripts/build/build-templates.ts +4 -0
  236. package/dist/templates/scripts/bundlers/esbuild/build.ts +4 -0
  237. package/dist/templates/scripts/bundlers/esbuild/dev.ts +4 -0
  238. package/dist/templates/scripts/commitlint-config.ts +3 -0
  239. package/dist/templates/scripts/eslint-config.ts +10 -0
  240. package/dist/templates/scripts/formatters/dprint/format-check.ts +8 -0
  241. package/dist/templates/scripts/formatters/dprint/format.ts +8 -0
  242. package/dist/templates/scripts/gate/gate.ts +10 -0
  243. package/dist/templates/scripts/linters/cspell/spellcheck.ts +8 -0
  244. package/dist/templates/scripts/linters/eslint/lint-fix.ts +8 -0
  245. package/dist/templates/scripts/linters/eslint/lint.ts +8 -0
  246. package/dist/templates/scripts/linters/markdownlint/lint-md-fix.ts +8 -0
  247. package/dist/templates/scripts/linters/markdownlint/lint-md.ts +8 -0
  248. package/dist/templates/scripts/linters/over-exposure/find-overexposed-fix.ts +25 -0
  249. package/dist/templates/scripts/linters/over-exposure/find-overexposed.ts +15 -0
  250. package/dist/templates/scripts/markdownlint-cli2-config.ts +3 -0
  251. package/dist/templates/scripts/nano-staged-config.ts +3 -0
  252. package/dist/templates/scripts/test-runners/vitest/test-coverage.ts +4 -0
  253. package/dist/templates/scripts/test-runners/vitest/test-watch.ts +4 -0
  254. package/dist/templates/scripts/test-runners/vitest/test.ts +4 -0
  255. package/dist/templates/scripts/version/version.ts +10 -0
  256. package/dist/templates/scripts/vitest-config.ts +3 -0
  257. package/dist/templates/vitest.config.ts +3 -0
  258. package/formatters/dprint/package.json +6 -0
  259. package/formatters/index/package.json +6 -0
  260. package/formatters/package.json +6 -0
  261. package/linters/eslint/package.json +6 -0
  262. package/linters/eslint-config/package.json +6 -0
  263. package/linters/eslint-rules/index/package.json +6 -0
  264. package/linters/eslint-rules/manifest-description/package.json +6 -0
  265. package/linters/eslint-rules/manifest-helpers/package.json +6 -0
  266. package/linters/eslint-rules/manifest-id/package.json +6 -0
  267. package/linters/eslint-rules/manifest-name/package.json +6 -0
  268. package/linters/eslint-rules/manifest-schema/package.json +6 -0
  269. package/linters/eslint-rules/no-local-obsidian-internals/package.json +6 -0
  270. package/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian/package.json +6 -0
  271. package/linters/eslint-rules/no-untrusted-input-events/package.json +6 -0
  272. package/linters/eslint-rules/obsidian-dev-utils-plugin/package.json +6 -0
  273. package/linters/eslint-rules/package.json +6 -0
  274. package/linters/eslint-rules/plugin-name-as-code/package.json +6 -0
  275. package/linters/eslint-rules/plugin-name-as-code-in-ui/package.json +6 -0
  276. package/linters/eslint-rules/require-component-suffix/package.json +6 -0
  277. package/linters/eslint-rules/require-plugin-api-contract-schemas/package.json +6 -0
  278. package/linters/index/package.json +6 -0
  279. package/linters/markdownlint/package.json +6 -0
  280. package/linters/markdownlint-cli2-config/package.json +6 -0
  281. package/linters/markdownlint-rules/index/package.json +6 -0
  282. package/linters/markdownlint-rules/package.json +6 -0
  283. package/linters/markdownlint-rules/plugin-name-as-code/package.json +6 -0
  284. package/linters/obsidianmd-rule-custom-message/package.json +6 -0
  285. package/linters/package.json +6 -0
  286. package/linters/plugin-names/package.json +6 -0
  287. package/package.json +302 -13
  288. package/test-runners/index/package.json +6 -0
  289. package/test-runners/integration-test-plugin/package.json +6 -0
  290. package/test-runners/package.json +6 -0
  291. package/test-runners/performance-eval-cap/package.json +6 -0
  292. package/test-runners/stale-build-global-setup/package.json +6 -0
  293. package/test-runners/vitest-config/package.json +6 -0
@@ -0,0 +1,10 @@
1
+ /// <reference path="../../index.d.cts" />
2
+ import type { Rule } from 'eslint' with { 'resolution-mode': 'import' };
3
+ /**
4
+ * Message ID reported when an in-Obsidian closure declares more waiting than the transport's cap allows.
5
+ */
6
+ export declare const MESSAGE_ID = "noOverCapWaitInEvalInObsidian";
7
+ /**
8
+ * ESLint rule disallowing an in-Obsidian closure whose declared waiting exceeds the transport's script-timeout cap.
9
+ */
10
+ export declare const noOverCapWaitInEvalInObsidian: Rule.RuleModule;
@@ -0,0 +1,247 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
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
+ const existingProcess = globalThis.process;
22
+ if (!existingProcess) {
23
+ globalThis.process = browserProcess;
24
+ return;
25
+ }
26
+ if (existingProcess.versions?.node) {
27
+ return;
28
+ }
29
+ const existingProcessRecord = existingProcess;
30
+ for (const [key, value] of Object.entries(browserProcess)) {
31
+ existingProcessRecord[key] ??= value;
32
+ }
33
+ existingProcessRecord["browser"] = true;
34
+ }
35
+
36
+ function keepName($unknown) {
37
+ return $unknown;
38
+ }
39
+
40
+ (function initCjs() {
41
+ const globalThisRecord = globalThis;
42
+ ensureDisposeSymbols();
43
+ globalThisRecord["__name"] ??= keepName;
44
+ globalThisRecord["__extractDefault"] ??= extractDefault;
45
+ ensureBrowserProcess();
46
+ function extractDefault(module) {
47
+ return module && module.__esModule && "default" in module ? module.default : module;
48
+ }
49
+ })();
50
+ })();
51
+ (function patchObsidianRequire() {
52
+ const originalRequire = require;
53
+ if (!originalRequire || originalRequire.__isPatched) {
54
+ return;
55
+ }
56
+
57
+ require = Object.assign(
58
+ (id) => requirePatched(id),
59
+ originalRequire,
60
+ {
61
+ __isPatched: true
62
+ }
63
+ );
64
+
65
+ function extractDefault(module) {
66
+ return module && module.__esModule && 'default' in module ? module.default : module;
67
+ }
68
+
69
+ const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
70
+ '@codemirror/autocomplete',
71
+ '@codemirror/collab',
72
+ '@codemirror/commands',
73
+ '@codemirror/language',
74
+ '@codemirror/lint',
75
+ '@codemirror/search',
76
+ '@codemirror/state',
77
+ '@codemirror/text',
78
+ '@codemirror/view',
79
+ '@lezer/common',
80
+ '@lezer/highlight',
81
+ '@lezer/lr',
82
+ 'obsidian']
83
+ );
84
+
85
+ const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
86
+ '@codemirror/closebrackets',
87
+ '@codemirror/comment',
88
+ '@codemirror/fold',
89
+ '@codemirror/gutter',
90
+ '@codemirror/highlight',
91
+ '@codemirror/history',
92
+ '@codemirror/matchbrackets',
93
+ '@codemirror/panel',
94
+ '@codemirror/rangeset',
95
+ '@codemirror/rectangular-selection',
96
+ '@codemirror/stream-parser',
97
+ '@codemirror/tooltip']
98
+ );
99
+
100
+ function requirePatched(id) {
101
+ if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
102
+ return originalRequire?.(id);
103
+ }
104
+
105
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
106
+ if (globalThis.app.isMobile) {
107
+ if (id === 'process' || id === 'node:process') {
108
+ // eslint-disable-next-line no-console -- Valid usage.
109
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
110
+
111
+ return process;
112
+ }
113
+ } else {
114
+ const module = originalRequire?.(id);
115
+ if (module) {
116
+ return extractDefault(module);
117
+ }
118
+ }
119
+
120
+ // eslint-disable-next-line no-console -- Valid usage.
121
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
122
+ return {};
123
+ }
124
+ })();
125
+
126
+ "use strict";
127
+ var __defProp = Object.defineProperty;
128
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
129
+ var __getOwnPropNames = Object.getOwnPropertyNames;
130
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
131
+ var __export = (target, all) => {
132
+ for (var name in all)
133
+ __defProp(target, name, { get: all[name], enumerable: true });
134
+ };
135
+ var __copyProps = (to, from, except, desc) => {
136
+ if (from && typeof from === "object" || typeof from === "function") {
137
+ for (let key of __getOwnPropNames(from))
138
+ if (!__hasOwnProp.call(to, key) && key !== except)
139
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
140
+ }
141
+ return to;
142
+ };
143
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
144
+ var no_untrusted_input_events_exports = {};
145
+ __export(no_untrusted_input_events_exports, {
146
+ MESSAGE_ID: () => MESSAGE_ID,
147
+ noUntrustedInputEvents: () => noUntrustedInputEvents
148
+ });
149
+ module.exports = __toCommonJS(no_untrusted_input_events_exports);
150
+ var import_ts_estree_node = require('@mnaoumov/typescript-dev-toolkit/linters/eslint-rules/ts-estree-node');
151
+ const MESSAGE_ID = "noUntrustedInputEvents";
152
+ const ADVICE_BY_EVENT_NAME = /* @__PURE__ */ new Map([
153
+ ["DragEvent", "there is no trusted equivalent, because `sendInputEvent` cannot express a drag, so keep the dispatch and disable this rule with the reason"],
154
+ ["KeyboardEvent", "use `pressKey`, focusing the target first, since a trusted key press goes to whatever holds DOM focus"],
155
+ ["MouseEvent", "use `clickElement`, or `clickMouse` when the point to click is not an element centre"],
156
+ ["PointerEvent", "use `clickElement`, or `clickMouse` when the point to click is not an element centre"],
157
+ ["TouchEvent", "there is no trusted equivalent, so keep the dispatch and disable this rule with the reason"],
158
+ ["WheelEvent", "there is no trusted equivalent, so keep the dispatch and disable this rule with the reason"]
159
+ ]);
160
+ const noUntrustedInputEvents = {
161
+ create(context) {
162
+ return {
163
+ "CallExpression"(node) {
164
+ const callNode = (0, import_ts_estree_node.toTSESTreeNode)(node);
165
+ if (!isDispatchEventCall(callNode)) {
166
+ return;
167
+ }
168
+ const argument = callNode.arguments[0];
169
+ if (!argument) {
170
+ return;
171
+ }
172
+ const eventName = resolveEventName(argument, node, context);
173
+ if (eventName === null) {
174
+ return;
175
+ }
176
+ const advice = ADVICE_BY_EVENT_NAME.get(eventName);
177
+ if (advice === void 0) {
178
+ return;
179
+ }
180
+ context.report({
181
+ data: {
182
+ advice,
183
+ eventName
184
+ },
185
+ messageId: MESSAGE_ID,
186
+ node
187
+ });
188
+ }
189
+ };
190
+ },
191
+ meta: {
192
+ docs: {
193
+ description: "Disallow driving integration tests with dispatched (untrusted) input events"
194
+ },
195
+ messages: {
196
+ [MESSAGE_ID]: "A dispatched {{ eventName }} is untrusted (`isTrusted === false`) and Obsidian may ignore it, so this can exercise nothing while still passing: {{ advice }}."
197
+ },
198
+ schema: [],
199
+ type: "problem"
200
+ }
201
+ };
202
+ function findVariable(scope, name) {
203
+ let currentScope = scope;
204
+ while (currentScope) {
205
+ const variable = currentScope.variables.find((candidate) => candidate.name === name);
206
+ if (variable) {
207
+ return variable;
208
+ }
209
+ currentScope = currentScope.upper;
210
+ }
211
+ return null;
212
+ }
213
+ function isDispatchEventCall(node) {
214
+ const callee = node.callee;
215
+ return callee.type === "MemberExpression" && callee.property.type === "Identifier" && callee.property.name === "dispatchEvent";
216
+ }
217
+ function readConstructorName(node) {
218
+ return node.callee.type === "Identifier" ? node.callee.name : null;
219
+ }
220
+ function resolveEventName(argument, node, context) {
221
+ if (argument.type === "NewExpression") {
222
+ return readConstructorName(argument);
223
+ }
224
+ if (argument.type !== "Identifier") {
225
+ return null;
226
+ }
227
+ const variable = findVariable(context.sourceCode.getScope(node), argument.name);
228
+ if (!variable) {
229
+ return null;
230
+ }
231
+ for (const definition of variable.defs) {
232
+ const definitionNode = (0, import_ts_estree_node.toTSESTreeNode)(definition.node);
233
+ if (definitionNode.type !== "VariableDeclarator" || !definitionNode.init) {
234
+ continue;
235
+ }
236
+ if (definitionNode.init.type === "NewExpression") {
237
+ return readConstructorName(definitionNode.init);
238
+ }
239
+ }
240
+ return null;
241
+ }
242
+ // Annotate the CommonJS export names for ESM import in node:
243
+ 0 && (module.exports = {
244
+ MESSAGE_ID,
245
+ noUntrustedInputEvents
246
+ });
247
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpbnRlcnMvZXNsaW50LXJ1bGVzL25vLXVudHJ1c3RlZC1pbnB1dC1ldmVudHMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgcnVsZTogbm8tdW50cnVzdGVkLWlucHV0LWV2ZW50c1xuICpcbiAqIFJlcG9ydHMgYW4gaW50ZWdyYXRpb24gdGVzdCB0aGF0IGRyaXZlcyB0aGUgVUkgYnkgZGlzcGF0Y2hpbmcgYW4gSU5QVVQgZXZlbnQgXHUyMDE0XG4gKiBgZWwuZGlzcGF0Y2hFdmVudChuZXcgS2V5Ym9hcmRFdmVudCguLi4pKWAsIGBuZXcgTW91c2VFdmVudCguLi4pYCwgYW5kIGZyaWVuZHMuXG4gKlxuICogU3VjaCBhbiBldmVudCBpcyB1bnRydXN0ZWQgKGBpc1RydXN0ZWQgPT09IGZhbHNlYCksIGFuZCBPYnNpZGlhbiBhbmQgQ29kZU1pcnJvclxuICogcm91dGluZWx5IGdhdGUgb24gZXhhY3RseSB0aGF0OiBPYnNpZGlhbiAxLjEzJ3MgbWFya2Rvd24gdmlld3BvcnQgbWVudSBvcGVucyBmcm9tXG4gKiBhIGxpc3RlbmVyIGd1YXJkZWQgYnkgYGUuaXNUcnVzdGVkYCwgc28gYSBkaXNwYXRjaGVkIGBjb250ZXh0bWVudWAgcmVhY2hlcyBub3RoaW5nLlxuICogVGhlIHRlc3QgdGhlbiBleGVyY2lzZXMgTk9USElORyB3aGlsZSBzdGlsbCBwYXNzaW5nIHdoYXRldmVyIHdlYWtlciBhc3NlcnRpb24gaXRcbiAqIG1ha2VzIFx1MjAxNCBhIGZhbHNlLWNvbmZpZGVuY2UgZmFpbHVyZSwgbm90IGEgZmxha2UuXG4gKlxuICogVGhlIHRydXN0ZWQgYWx0ZXJuYXRpdmVzIFx1MjAxNCBgcHJlc3NLZXlgLCBgY2xpY2tFbGVtZW50YCwgYGNsaWNrTW91c2VgLCBgaG92ZXJFbGVtZW50YCxcbiAqIGB0eXBlSW50b0VkaXRvcmAgXHUyMDE0IGFyZSBzZWVkZWQgaW50byB0aGUgYGV2YWxJbk9ic2lkaWFuYCBjYWxsYmFjaydzIGBsaWJgIGJhZywgYW5kIGFyZVxuICogYWxzbyBpbXBvcnRhYmxlIGZyb20gYG9ic2lkaWFuLWRldi11dGlscy9vYnNpZGlhbi90cnVzdGVkLWlucHV0YCwgd2hpY2ggcGlja3MgdGhlXG4gKiBkZXNrdG9wIG9yIG1vYmlsZSBpbmplY3RvciBpdHNlbGYuIEFsbCBvZiB0aGVtIHdvcmsgb24gQW5kcm9pZCBleGNlcHQgdGhlIGhvdmVyXG4gKiBoZWxwZXJzLCB3aGljaCB0aHJvdyB0aGVyZSBiZWNhdXNlIGA6aG92ZXJgIGhhcyBubyB0b3VjaCBlcXVpdmFsZW50LlxuICpcbiAqIE5PVElGSUNBVElPTiBldmVudHMgYXJlIGRlbGliZXJhdGVseSBOT1QgcmVwb3J0ZWQuIGBuZXcgRXZlbnQoJ2lucHV0JylgIGFmdGVyIHNldHRpbmdcbiAqIGFuIGVsZW1lbnQncyBgLnZhbHVlYCBpcyB0ZWxsaW5nIHRoZSBhcHAgYWJvdXQgYSBjaGFuZ2UgcmF0aGVyIHRoYW4gcHJldGVuZGluZyB0byBiZSBhXG4gKiB1c2VyLCBhbmQgbm90aGluZyBnYXRlcyBpdCBvbiBgaXNUcnVzdGVkYC5cbiAqXG4gKiBOb3QgZXZlcnkgZGlzcGF0Y2ggaXMgd3JvbmcsIHNvIHRoZSBydWxlIGlzIG1lYW50IHRvIGJlIGRpc2FibGVkIFx1MjAxNCB3aXRoIGEgcmVhc29uIFx1MjAxNCBhdFxuICogdGhlIHNpdGVzIHRoYXQgaGF2ZSBvbmU6IGEgZHJhZyBzZXF1ZW5jZSwgd2hpY2ggYHNlbmRJbnB1dEV2ZW50YCBjYW5ub3QgZXhwcmVzcyBhdCBhbGw7XG4gKiB0aGUgbW9iaWxlIGFybSBvZiBhIGhvdmVyIGdlc3R1cmUsIHdoaWNoIGhhcyBubyB0b3VjaCBlcXVpdmFsZW50OyBhbmQgYSBsaXN0ZW5lciB0aGF0XG4gKiBpcyB0aGUgcGx1Z2luJ3Mgb3duIGFuZCBjaGVja3Mgbm90aGluZyBidXQgdGhlIGtleS4gYHJlcXVpcmUtZGVzY3JpcHRpb25gXG4gKiBtYWtlcyB0aGF0IHJlYXNvbiBtYW5kYXRvcnksIHdoaWNoIGlzIHRoZSBwb2ludDogdGhlIHJ1bGUgdHVybnMgYW4gaW52aXNpYmxlIGFzc3VtcHRpb25cbiAqIGludG8gYSB3cml0dGVuIG9uZS5cbiAqL1xuaW1wb3J0IHR5cGUgeyBUU0VTVHJlZSB9IGZyb20gJ0B0eXBlc2NyaXB0LWVzbGludC91dGlscyc7XG5pbXBvcnQgdHlwZSB7XG4gIFJ1bGUsXG4gIFNjb3BlXG59IGZyb20gJ2VzbGludCc7XG5cbmltcG9ydCB7IHRvVFNFU1RyZWVOb2RlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvbGludGVycy9lc2xpbnQtcnVsZXMvdHMtZXN0cmVlLW5vZGUnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBhbiBpbnRlZ3JhdGlvbiB0ZXN0IGRyaXZlcyB0aGUgVUkgd2l0aCBhIGRpc3BhdGNoZWQgaW5wdXQgZXZlbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0lEID0gJ25vVW50cnVzdGVkSW5wdXRFdmVudHMnO1xuXG4vKipcbiAqIFdoYXQgdG8gZG8gaW5zdGVhZCwgcGVyIGV2ZW50IGNvbnN0cnVjdG9yLiBBbiBldmVudCBhYnNlbnQgZnJvbSB0aGlzIG1hcCBpcyBhXG4gKiBub3RpZmljYXRpb24gcmF0aGVyIHRoYW4gc2ltdWxhdGVkIGlucHV0LCBhbmQgaXMgbGVmdCBhbG9uZS5cbiAqL1xuY29uc3QgQURWSUNFX0JZX0VWRU5UX05BTUUgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihbXG4gIFsnRHJhZ0V2ZW50JywgJ3RoZXJlIGlzIG5vIHRydXN0ZWQgZXF1aXZhbGVudCwgYmVjYXVzZSBgc2VuZElucHV0RXZlbnRgIGNhbm5vdCBleHByZXNzIGEgZHJhZywgc28ga2VlcCB0aGUgZGlzcGF0Y2ggYW5kIGRpc2FibGUgdGhpcyBydWxlIHdpdGggdGhlIHJlYXNvbiddLFxuICBbJ0tleWJvYXJkRXZlbnQnLCAndXNlIGBwcmVzc0tleWAsIGZvY3VzaW5nIHRoZSB0YXJnZXQgZmlyc3QsIHNpbmNlIGEgdHJ1c3RlZCBrZXkgcHJlc3MgZ29lcyB0byB3aGF0ZXZlciBob2xkcyBET00gZm9jdXMnXSxcbiAgWydNb3VzZUV2ZW50JywgJ3VzZSBgY2xpY2tFbGVtZW50YCwgb3IgYGNsaWNrTW91c2VgIHdoZW4gdGhlIHBvaW50IHRvIGNsaWNrIGlzIG5vdCBhbiBlbGVtZW50IGNlbnRyZSddLFxuICBbJ1BvaW50ZXJFdmVudCcsICd1c2UgYGNsaWNrRWxlbWVudGAsIG9yIGBjbGlja01vdXNlYCB3aGVuIHRoZSBwb2ludCB0byBjbGljayBpcyBub3QgYW4gZWxlbWVudCBjZW50cmUnXSxcbiAgWydUb3VjaEV2ZW50JywgJ3RoZXJlIGlzIG5vIHRydXN0ZWQgZXF1aXZhbGVudCwgc28ga2VlcCB0aGUgZGlzcGF0Y2ggYW5kIGRpc2FibGUgdGhpcyBydWxlIHdpdGggdGhlIHJlYXNvbiddLFxuICBbJ1doZWVsRXZlbnQnLCAndGhlcmUgaXMgbm8gdHJ1c3RlZCBlcXVpdmFsZW50LCBzbyBrZWVwIHRoZSBkaXNwYXRjaCBhbmQgZGlzYWJsZSB0aGlzIHJ1bGUgd2l0aCB0aGUgcmVhc29uJ11cbl0pO1xuXG4vKipcbiAqIEVTTGludCBydWxlIGRpc2FsbG93aW5nIHVudHJ1c3RlZCBpbnB1dCBldmVudHMgaW4gaW50ZWdyYXRpb24gdGVzdHMsIHdoZXJlIHRoZXkgY2FuIHNpbGVudGx5IGV4ZXJjaXNlIG5vdGhpbmcuXG4gKi9cbmV4cG9ydCBjb25zdCBub1VudHJ1c3RlZElucHV0RXZlbnRzOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZShjb250ZXh0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdDYWxsRXhwcmVzc2lvbicobm9kZTogUnVsZS5Ob2RlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNhbGxOb2RlID0gdG9UU0VTVHJlZU5vZGUobm9kZSkgYXMgVFNFU1RyZWUuQ2FsbEV4cHJlc3Npb247XG5cbiAgICAgICAgaWYgKCFpc0Rpc3BhdGNoRXZlbnRDYWxsKGNhbGxOb2RlKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFyZ3VtZW50ID0gY2FsbE5vZGUuYXJndW1lbnRzWzBdO1xuICAgICAgICBpZiAoIWFyZ3VtZW50KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXZlbnROYW1lID0gcmVzb2x2ZUV2ZW50TmFtZShhcmd1bWVudCwgbm9kZSwgY29udGV4dCk7XG4gICAgICAgIGlmIChldmVudE5hbWUgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhZHZpY2UgPSBBRFZJQ0VfQllfRVZFTlRfTkFNRS5nZXQoZXZlbnROYW1lKTtcbiAgICAgICAgaWYgKGFkdmljZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIGFkdmljZSxcbiAgICAgICAgICAgIGV2ZW50TmFtZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lELFxuICAgICAgICAgIG5vZGVcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgfSxcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGlzYWxsb3cgZHJpdmluZyBpbnRlZ3JhdGlvbiB0ZXN0cyB3aXRoIGRpc3BhdGNoZWQgKHVudHJ1c3RlZCkgaW5wdXQgZXZlbnRzJ1xuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEXTogJ0EgZGlzcGF0Y2hlZCB7eyBldmVudE5hbWUgfX0gaXMgdW50cnVzdGVkIChgaXNUcnVzdGVkID09PSBmYWxzZWApIGFuZCBPYnNpZGlhbiBtYXkgaWdub3JlIGl0LCBzbyB0aGlzIGNhbiBleGVyY2lzZSBub3RoaW5nIHdoaWxlIHN0aWxsIHBhc3Npbmc6IHt7IGFkdmljZSB9fS4nXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6ICdwcm9ibGVtJ1xuICB9XG59O1xuXG4vKipcbiAqIEZpbmRzIGEgdmFyaWFibGUgYnkgbmFtZSwgd2Fsa2luZyBvdXR3YXJkcyBmcm9tIHRoZSBnaXZlbiBzY29wZS5cbiAqXG4gKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgdG8gc3RhcnQgZnJvbS5cbiAqIEBwYXJhbSBuYW1lIC0gVGhlIHZhcmlhYmxlJ3MgbmFtZS5cbiAqIEByZXR1cm5zIFRoZSB2YXJpYWJsZSwgb3IgYG51bGxgIHdoZW4gbm90aGluZyBpbiBzY29wZSBkZWNsYXJlcyB0aGF0IG5hbWUuXG4gKi9cbmZ1bmN0aW9uIGZpbmRWYXJpYWJsZShzY29wZTogU2NvcGUuU2NvcGUsIG5hbWU6IHN0cmluZyk6IG51bGwgfCBTY29wZS5WYXJpYWJsZSB7XG4gIGxldCBjdXJyZW50U2NvcGU6IG51bGwgfCBTY29wZS5TY29wZSA9IHNjb3BlO1xuXG4gIHdoaWxlIChjdXJyZW50U2NvcGUpIHtcbiAgICBjb25zdCB2YXJpYWJsZSA9IGN1cnJlbnRTY29wZS52YXJpYWJsZXMuZmluZCgoY2FuZGlkYXRlKSA9PiBjYW5kaWRhdGUubmFtZSA9PT0gbmFtZSk7XG4gICAgaWYgKHZhcmlhYmxlKSB7XG4gICAgICByZXR1cm4gdmFyaWFibGU7XG4gICAgfVxuICAgIGN1cnJlbnRTY29wZSA9IGN1cnJlbnRTY29wZS51cHBlcjtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgY2FsbCBleHByZXNzaW9uIGlzIGEgYC5kaXNwYXRjaEV2ZW50KC4uLilgIGNhbGwuXG4gKlxuICogQHBhcmFtIG5vZGUgLSBUaGUgY2FsbCBleHByZXNzaW9uIG5vZGUuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGNhbGwgaXMgYDxzb21ldGhpbmc+LmRpc3BhdGNoRXZlbnQoLi4uKWAuXG4gKi9cbmZ1bmN0aW9uIGlzRGlzcGF0Y2hFdmVudENhbGwobm9kZTogVFNFU1RyZWUuQ2FsbEV4cHJlc3Npb24pOiBib29sZWFuIHtcbiAgY29uc3QgY2FsbGVlID0gbm9kZS5jYWxsZWU7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZW51bS1jb21wYXJpc29uIC0tIEFTVCBub2RlIHR5cGUgc3RyaW5nIGxpdGVyYWxzIG1hdGNoIHRoZSBUU0VTVHJlZSBlbnVtIHZhbHVlcy5cbiAgcmV0dXJuIGNhbGxlZS50eXBlID09PSAnTWVtYmVyRXhwcmVzc2lvbicgJiYgY2FsbGVlLnByb3BlcnR5LnR5cGUgPT09ICdJZGVudGlmaWVyJyAmJiBjYWxsZWUucHJvcGVydHkubmFtZSA9PT0gJ2Rpc3BhdGNoRXZlbnQnO1xufVxuXG4vKipcbiAqIFJlYWRzIHRoZSBpZGVudGlmaWVyIGEgYG5ldyAuLi4oKWAgZXhwcmVzc2lvbiBjb25zdHJ1Y3RzLlxuICpcbiAqIEBwYXJhbSBub2RlIC0gVGhlIGBOZXdFeHByZXNzaW9uYCBub2RlLlxuICogQHJldHVybnMgVGhlIGNvbnN0cnVjdG9yJ3MgbmFtZSwgb3IgYG51bGxgIHdoZW4gdGhlIGNhbGxlZSBpcyBub3QgYSBiYXJlIGlkZW50aWZpZXIuXG4gKi9cbmZ1bmN0aW9uIHJlYWRDb25zdHJ1Y3Rvck5hbWUobm9kZTogVFNFU1RyZWUuTmV3RXhwcmVzc2lvbik6IG51bGwgfCBzdHJpbmcge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1lbnVtLWNvbXBhcmlzb24gLS0gQVNUIG5vZGUgdHlwZSBzdHJpbmcgbGl0ZXJhbHMgbWF0Y2ggdGhlIFRTRVNUcmVlIGVudW0gdmFsdWVzLlxuICByZXR1cm4gbm9kZS5jYWxsZWUudHlwZSA9PT0gJ0lkZW50aWZpZXInID8gbm9kZS5jYWxsZWUubmFtZSA6IG51bGw7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIGNvbnN0cnVjdG9yIG5hbWUgb2YgdGhlIGV2ZW50IGJlaW5nIGRpc3BhdGNoZWQuXG4gKlxuICogSGFuZGxlcyB0aGUgYXJndW1lbnQgd3JpdHRlbiBpbmxpbmUgKGBkaXNwYXRjaEV2ZW50KG5ldyBNb3VzZUV2ZW50KC4uLikpYCkgYW5kIHRoZVxuICogYXJndW1lbnQgaGVsZCBpbiBhIHZhcmlhYmxlIChgY29uc3QgZSA9IG5ldyBEcmFnRXZlbnQoLi4uKTsgZWwuZGlzcGF0Y2hFdmVudChlKWApLFxuICogd2hpY2ggaXMgaG93IGEgc2VxdWVuY2Ugc2hhcmluZyBvbmUgYERhdGFUcmFuc2ZlcmAgaXMgdXN1YWxseSB3cml0dGVuLlxuICpcbiAqIEBwYXJhbSBhcmd1bWVudCAtIFRoZSBmaXJzdCBhcmd1bWVudCBvZiB0aGUgYGRpc3BhdGNoRXZlbnRgIGNhbGwuXG4gKiBAcGFyYW0gbm9kZSAtIFRoZSBjYWxsIG5vZGUsIHVzZWQgdG8gcmVzb2x2ZSB0aGUgZW5jbG9zaW5nIHNjb3BlLlxuICogQHBhcmFtIGNvbnRleHQgLSBUaGUgcnVsZSBjb250ZXh0LlxuICogQHJldHVybnMgVGhlIGNvbnN0cnVjdG9yIG5hbWUsIG9yIGBudWxsYCB3aGVuIGl0IGNhbm5vdCBiZSBkZXRlcm1pbmVkLlxuICovXG5mdW5jdGlvbiByZXNvbHZlRXZlbnROYW1lKGFyZ3VtZW50OiBUU0VTVHJlZS5Ob2RlLCBub2RlOiBSdWxlLk5vZGUsIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBudWxsIHwgc3RyaW5nIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZW51bS1jb21wYXJpc29uIC0tIEFTVCBub2RlIHR5cGUgc3RyaW5nIGxpdGVyYWxzIG1hdGNoIHRoZSBUU0VTVHJlZSBlbnVtIHZhbHVlcy5cbiAgaWYgKGFyZ3VtZW50LnR5cGUgPT09ICdOZXdFeHByZXNzaW9uJykge1xuICAgIHJldHVybiByZWFkQ29uc3RydWN0b3JOYW1lKGFyZ3VtZW50KTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWVudW0tY29tcGFyaXNvbiAtLSBBU1Qgbm9kZSB0eXBlIHN0cmluZyBsaXRlcmFscyBtYXRjaCB0aGUgVFNFU1RyZWUgZW51bSB2YWx1ZXMuXG4gIGlmIChhcmd1bWVudC50eXBlICE9PSAnSWRlbnRpZmllcicpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHZhcmlhYmxlID0gZmluZFZhcmlhYmxlKGNvbnRleHQuc291cmNlQ29kZS5nZXRTY29wZShub2RlKSwgYXJndW1lbnQubmFtZSk7XG4gIGlmICghdmFyaWFibGUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGZvciAoY29uc3QgZGVmaW5pdGlvbiBvZiB2YXJpYWJsZS5kZWZzKSB7XG4gICAgY29uc3QgZGVmaW5pdGlvbk5vZGUgPSB0b1RTRVNUcmVlTm9kZShkZWZpbml0aW9uLm5vZGUpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWVudW0tY29tcGFyaXNvbiAtLSBBU1Qgbm9kZSB0eXBlIHN0cmluZyBsaXRlcmFscyBtYXRjaCB0aGUgVFNFU1RyZWUgZW51bSB2YWx1ZXMuXG4gICAgaWYgKGRlZmluaXRpb25Ob2RlLnR5cGUgIT09ICdWYXJpYWJsZURlY2xhcmF0b3InIHx8ICFkZWZpbml0aW9uTm9kZS5pbml0KSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1lbnVtLWNvbXBhcmlzb24gLS0gQVNUIG5vZGUgdHlwZSBzdHJpbmcgbGl0ZXJhbHMgbWF0Y2ggdGhlIFRTRVNUcmVlIGVudW0gdmFsdWVzLlxuICAgIGlmIChkZWZpbml0aW9uTm9kZS5pbml0LnR5cGUgPT09ICdOZXdFeHByZXNzaW9uJykge1xuICAgICAgcmV0dXJuIHJlYWRDb25zdHJ1Y3Rvck5hbWUoZGVmaW5pdGlvbk5vZGUuaW5pdCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXFDQSw0QkFBK0I7QUFLeEIsTUFBTSxhQUFhO0FBTTFCLE1BQU0sdUJBQXVCLG9CQUFJLElBQW9CO0FBQUEsRUFDbkQsQ0FBQyxhQUFhLDRJQUE0STtBQUFBLEVBQzFKLENBQUMsaUJBQWlCLHVHQUF1RztBQUFBLEVBQ3pILENBQUMsY0FBYyxzRkFBc0Y7QUFBQSxFQUNyRyxDQUFDLGdCQUFnQixzRkFBc0Y7QUFBQSxFQUN2RyxDQUFDLGNBQWMsNEZBQTRGO0FBQUEsRUFDM0csQ0FBQyxjQUFjLDRGQUE0RjtBQUM3RyxDQUFDO0FBS00sTUFBTSx5QkFBMEM7QUFBQSxFQUNyRCxPQUFPLFNBQVM7QUFDZCxXQUFPO0FBQUEsTUFDTCxpQkFBaUIsTUFBdUI7QUFDdEMsY0FBTSxlQUFXLHNDQUFlLElBQUk7QUFFcEMsWUFBSSxDQUFDLG9CQUFvQixRQUFRLEdBQUc7QUFDbEM7QUFBQSxRQUNGO0FBRUEsY0FBTSxXQUFXLFNBQVMsVUFBVSxDQUFDO0FBQ3JDLFlBQUksQ0FBQyxVQUFVO0FBQ2I7QUFBQSxRQUNGO0FBRUEsY0FBTSxZQUFZLGlCQUFpQixVQUFVLE1BQU0sT0FBTztBQUMxRCxZQUFJLGNBQWMsTUFBTTtBQUN0QjtBQUFBLFFBQ0Y7QUFFQSxjQUFNLFNBQVMscUJBQXFCLElBQUksU0FBUztBQUNqRCxZQUFJLFdBQVcsUUFBVztBQUN4QjtBQUFBLFFBQ0Y7QUFFQSxnQkFBUSxPQUFPO0FBQUEsVUFDYixNQUFNO0FBQUEsWUFDSjtBQUFBLFlBQ0E7QUFBQSxVQUNGO0FBQUEsVUFDQSxXQUFXO0FBQUEsVUFDWDtBQUFBLFFBQ0YsQ0FBQztBQUFBLE1BQ0g7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUFBLEVBQ0EsTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLE1BQ0osYUFBYTtBQUFBLElBQ2Y7QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLENBQUMsVUFBVSxHQUFHO0FBQUEsSUFDaEI7QUFBQSxJQUNBLFFBQVEsQ0FBQztBQUFBLElBQ1QsTUFBTTtBQUFBLEVBQ1I7QUFDRjtBQVNBLFNBQVMsYUFBYSxPQUFvQixNQUFxQztBQUM3RSxNQUFJLGVBQW1DO0FBRXZDLFNBQU8sY0FBYztBQUNuQixVQUFNLFdBQVcsYUFBYSxVQUFVLEtBQUssQ0FBQyxjQUFjLFVBQVUsU0FBUyxJQUFJO0FBQ25GLFFBQUksVUFBVTtBQUNaLGFBQU87QUFBQSxJQUNUO0FBQ0EsbUJBQWUsYUFBYTtBQUFBLEVBQzlCO0FBRUEsU0FBTztBQUNUO0FBUUEsU0FBUyxvQkFBb0IsTUFBd0M7QUFDbkUsUUFBTSxTQUFTLEtBQUs7QUFHcEIsU0FBTyxPQUFPLFNBQVMsc0JBQXNCLE9BQU8sU0FBUyxTQUFTLGdCQUFnQixPQUFPLFNBQVMsU0FBUztBQUNqSDtBQVFBLFNBQVMsb0JBQW9CLE1BQTZDO0FBRXhFLFNBQU8sS0FBSyxPQUFPLFNBQVMsZUFBZSxLQUFLLE9BQU8sT0FBTztBQUNoRTtBQWNBLFNBQVMsaUJBQWlCLFVBQXlCLE1BQWlCLFNBQTBDO0FBRTVHLE1BQUksU0FBUyxTQUFTLGlCQUFpQjtBQUNyQyxXQUFPLG9CQUFvQixRQUFRO0FBQUEsRUFDckM7QUFHQSxNQUFJLFNBQVMsU0FBUyxjQUFjO0FBQ2xDLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxXQUFXLGFBQWEsUUFBUSxXQUFXLFNBQVMsSUFBSSxHQUFHLFNBQVMsSUFBSTtBQUM5RSxNQUFJLENBQUMsVUFBVTtBQUNiLFdBQU87QUFBQSxFQUNUO0FBRUEsYUFBVyxjQUFjLFNBQVMsTUFBTTtBQUN0QyxVQUFNLHFCQUFpQixzQ0FBZSxXQUFXLElBQUk7QUFFckQsUUFBSSxlQUFlLFNBQVMsd0JBQXdCLENBQUMsZUFBZSxNQUFNO0FBQ3hFO0FBQUEsSUFDRjtBQUdBLFFBQUksZUFBZSxLQUFLLFNBQVMsaUJBQWlCO0FBQ2hELGFBQU8sb0JBQW9CLGVBQWUsSUFBSTtBQUFBLElBQ2hEO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,10 @@
1
+ /// <reference path="../../index.d.cts" />
2
+ import type { Rule } from 'eslint' with { 'resolution-mode': 'import' };
3
+ /**
4
+ Message ID reported when an integration test drives the UI with a dispatched input event.
5
+ */
6
+ export declare const MESSAGE_ID = "noUntrustedInputEvents";
7
+ /**
8
+ * ESLint rule disallowing untrusted input events in integration tests, where they can silently exercise nothing.
9
+ */
10
+ export declare const noUntrustedInputEvents: Rule.RuleModule;
@@ -0,0 +1,181 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
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
+ const existingProcess = globalThis.process;
22
+ if (!existingProcess) {
23
+ globalThis.process = browserProcess;
24
+ return;
25
+ }
26
+ if (existingProcess.versions?.node) {
27
+ return;
28
+ }
29
+ const existingProcessRecord = existingProcess;
30
+ for (const [key, value] of Object.entries(browserProcess)) {
31
+ existingProcessRecord[key] ??= value;
32
+ }
33
+ existingProcessRecord["browser"] = true;
34
+ }
35
+
36
+ function keepName($unknown) {
37
+ return $unknown;
38
+ }
39
+
40
+ (function initCjs() {
41
+ const globalThisRecord = globalThis;
42
+ ensureDisposeSymbols();
43
+ globalThisRecord["__name"] ??= keepName;
44
+ globalThisRecord["__extractDefault"] ??= extractDefault;
45
+ ensureBrowserProcess();
46
+ function extractDefault(module) {
47
+ return module && module.__esModule && "default" in module ? module.default : module;
48
+ }
49
+ })();
50
+ })();
51
+ (function patchObsidianRequire() {
52
+ const originalRequire = require;
53
+ if (!originalRequire || originalRequire.__isPatched) {
54
+ return;
55
+ }
56
+
57
+ require = Object.assign(
58
+ (id) => requirePatched(id),
59
+ originalRequire,
60
+ {
61
+ __isPatched: true
62
+ }
63
+ );
64
+
65
+ function extractDefault(module) {
66
+ return module && module.__esModule && 'default' in module ? module.default : module;
67
+ }
68
+
69
+ const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
70
+ '@codemirror/autocomplete',
71
+ '@codemirror/collab',
72
+ '@codemirror/commands',
73
+ '@codemirror/language',
74
+ '@codemirror/lint',
75
+ '@codemirror/search',
76
+ '@codemirror/state',
77
+ '@codemirror/text',
78
+ '@codemirror/view',
79
+ '@lezer/common',
80
+ '@lezer/highlight',
81
+ '@lezer/lr',
82
+ 'obsidian']
83
+ );
84
+
85
+ const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
86
+ '@codemirror/closebrackets',
87
+ '@codemirror/comment',
88
+ '@codemirror/fold',
89
+ '@codemirror/gutter',
90
+ '@codemirror/highlight',
91
+ '@codemirror/history',
92
+ '@codemirror/matchbrackets',
93
+ '@codemirror/panel',
94
+ '@codemirror/rangeset',
95
+ '@codemirror/rectangular-selection',
96
+ '@codemirror/stream-parser',
97
+ '@codemirror/tooltip']
98
+ );
99
+
100
+ function requirePatched(id) {
101
+ if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
102
+ return originalRequire?.(id);
103
+ }
104
+
105
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
106
+ if (globalThis.app.isMobile) {
107
+ if (id === 'process' || id === 'node:process') {
108
+ // eslint-disable-next-line no-console -- Valid usage.
109
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
110
+
111
+ return process;
112
+ }
113
+ } else {
114
+ const module = originalRequire?.(id);
115
+ if (module) {
116
+ return extractDefault(module);
117
+ }
118
+ }
119
+
120
+ // eslint-disable-next-line no-console -- Valid usage.
121
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
122
+ return {};
123
+ }
124
+ })();
125
+
126
+ "use strict";
127
+ var __defProp = Object.defineProperty;
128
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
129
+ var __getOwnPropNames = Object.getOwnPropertyNames;
130
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
131
+ var __export = (target, all) => {
132
+ for (var name in all)
133
+ __defProp(target, name, { get: all[name], enumerable: true });
134
+ };
135
+ var __copyProps = (to, from, except, desc) => {
136
+ if (from && typeof from === "object" || typeof from === "function") {
137
+ for (let key of __getOwnPropNames(from))
138
+ if (!__hasOwnProp.call(to, key) && key !== except)
139
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
140
+ }
141
+ return to;
142
+ };
143
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
144
+ var obsidian_dev_utils_plugin_exports = {};
145
+ __export(obsidian_dev_utils_plugin_exports, {
146
+ obsidianDevUtilsPlugin: () => obsidianDevUtilsPlugin
147
+ });
148
+ module.exports = __toCommonJS(obsidian_dev_utils_plugin_exports);
149
+ var import_in_house_plugin = require('@mnaoumov/typescript-dev-toolkit/linters/eslint-rules/in-house-plugin');
150
+ var import_manifest_description = require('./manifest-description.cjs');
151
+ var import_manifest_id = require('./manifest-id.cjs');
152
+ var import_manifest_name = require('./manifest-name.cjs');
153
+ var import_manifest_schema = require('./manifest-schema.cjs');
154
+ var import_no_local_obsidian_internals = require('./no-local-obsidian-internals.cjs');
155
+ var import_no_over_cap_wait_in_eval_in_obsidian = require('./no-over-cap-wait-in-eval-in-obsidian.cjs');
156
+ var import_no_untrusted_input_events = require('./no-untrusted-input-events.cjs');
157
+ var import_plugin_name_as_code_in_ui = require('./plugin-name-as-code-in-ui.cjs');
158
+ var import_plugin_name_as_code = require('./plugin-name-as-code.cjs');
159
+ var import_require_component_suffix = require('./require-component-suffix.cjs');
160
+ var import_require_plugin_api_contract_schemas = require('./require-plugin-api-contract-schemas.cjs');
161
+ const obsidianDevUtilsPlugin = {
162
+ rules: {
163
+ ...import_in_house_plugin.genericInHouseEslintRules,
164
+ "manifest-description": import_manifest_description.manifestDescription,
165
+ "manifest-id": import_manifest_id.manifestId,
166
+ "manifest-name": import_manifest_name.manifestName,
167
+ "manifest-schema": import_manifest_schema.manifestSchema,
168
+ "no-local-obsidian-internals": import_no_local_obsidian_internals.noLocalObsidianInternals,
169
+ "no-over-cap-wait-in-eval-in-obsidian": import_no_over_cap_wait_in_eval_in_obsidian.noOverCapWaitInEvalInObsidian,
170
+ "no-untrusted-input-events": import_no_untrusted_input_events.noUntrustedInputEvents,
171
+ "plugin-name-as-code": import_plugin_name_as_code.pluginNameAsCode,
172
+ "plugin-name-as-code-in-ui": import_plugin_name_as_code_in_ui.pluginNameAsCodeInUi,
173
+ "require-component-suffix": import_require_component_suffix.requireComponentSuffix,
174
+ "require-plugin-api-contract-schemas": import_require_plugin_api_contract_schemas.requirePluginApiContractSchemas
175
+ }
176
+ };
177
+ // Annotate the CommonJS export names for ESM import in node:
178
+ 0 && (module.exports = {
179
+ obsidianDevUtilsPlugin
180
+ });
181
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpbnRlcnMvZXNsaW50LXJ1bGVzL29ic2lkaWFuLWRldi11dGlscy1wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgcGx1Z2luIGZvciBPYnNpZGlhbiBkZXZlbG9wbWVudCB1dGlsaXRpZXMuXG4gKi9cbmltcG9ydCB0eXBlIHsgRVNMaW50IH0gZnJvbSAnZXNsaW50JztcblxuaW1wb3J0IHsgZ2VuZXJpY0luSG91c2VFc2xpbnRSdWxlcyB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0L2xpbnRlcnMvZXNsaW50LXJ1bGVzL2luLWhvdXNlLXBsdWdpbic7XG5cbmltcG9ydCB7IG1hbmlmZXN0RGVzY3JpcHRpb24gfSBmcm9tICcuL21hbmlmZXN0LWRlc2NyaXB0aW9uLnRzJztcbmltcG9ydCB7IG1hbmlmZXN0SWQgfSBmcm9tICcuL21hbmlmZXN0LWlkLnRzJztcbmltcG9ydCB7IG1hbmlmZXN0TmFtZSB9IGZyb20gJy4vbWFuaWZlc3QtbmFtZS50cyc7XG5pbXBvcnQgeyBtYW5pZmVzdFNjaGVtYSB9IGZyb20gJy4vbWFuaWZlc3Qtc2NoZW1hLnRzJztcbmltcG9ydCB7IG5vTG9jYWxPYnNpZGlhbkludGVybmFscyB9IGZyb20gJy4vbm8tbG9jYWwtb2JzaWRpYW4taW50ZXJuYWxzLnRzJztcbmltcG9ydCB7IG5vT3ZlckNhcFdhaXRJbkV2YWxJbk9ic2lkaWFuIH0gZnJvbSAnLi9uby1vdmVyLWNhcC13YWl0LWluLWV2YWwtaW4tb2JzaWRpYW4udHMnO1xuaW1wb3J0IHsgbm9VbnRydXN0ZWRJbnB1dEV2ZW50cyB9IGZyb20gJy4vbm8tdW50cnVzdGVkLWlucHV0LWV2ZW50cy50cyc7XG5pbXBvcnQgeyBwbHVnaW5OYW1lQXNDb2RlSW5VaSB9IGZyb20gJy4vcGx1Z2luLW5hbWUtYXMtY29kZS1pbi11aS50cyc7XG5pbXBvcnQgeyBwbHVnaW5OYW1lQXNDb2RlIH0gZnJvbSAnLi9wbHVnaW4tbmFtZS1hcy1jb2RlLnRzJztcbmltcG9ydCB7IHJlcXVpcmVDb21wb25lbnRTdWZmaXggfSBmcm9tICcuL3JlcXVpcmUtY29tcG9uZW50LXN1ZmZpeC50cyc7XG5pbXBvcnQgeyByZXF1aXJlUGx1Z2luQXBpQ29udHJhY3RTY2hlbWFzIH0gZnJvbSAnLi9yZXF1aXJlLXBsdWdpbi1hcGktY29udHJhY3Qtc2NoZW1hcy50cyc7XG5cbi8qKlxuICogRVNMaW50IHBsdWdpbiBidW5kbGluZyBldmVyeSBgb2JzaWRpYW4tZGV2LXV0aWxzYCBjdXN0b20gcnVsZSwgcmVnaXN0ZXJlZCB1bmRlciB0aGUgYG9ic2lkaWFuLWRldi11dGlsc2AgbmFtZXNwYWNlOlxuICogdGhlIGdlbmVyaWMgcnVsZXMgb2YgYEBtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0YCBhbmQgdGhlIE9ic2lkaWFuIG9uZXMuIEl0IGlzIE9ORSBwbHVnaW4gY2FycnlpbmcgYm90aCxcbiAqIGJlY2F1c2UgRVNMaW50IHJlZnVzZXMgdHdvIGRpZmZlcmVudCBwbHVnaW5zIHVuZGVyIG9uZSBuYW1lc3BhY2UuXG4gKi9cbmV4cG9ydCBjb25zdCBvYnNpZGlhbkRldlV0aWxzUGx1Z2luOiBFU0xpbnQuUGx1Z2luID0ge1xuICBydWxlczoge1xuICAgIC4uLmdlbmVyaWNJbkhvdXNlRXNsaW50UnVsZXMsXG4gICAgJ21hbmlmZXN0LWRlc2NyaXB0aW9uJzogbWFuaWZlc3REZXNjcmlwdGlvbixcbiAgICAnbWFuaWZlc3QtaWQnOiBtYW5pZmVzdElkLFxuICAgICdtYW5pZmVzdC1uYW1lJzogbWFuaWZlc3ROYW1lLFxuICAgICdtYW5pZmVzdC1zY2hlbWEnOiBtYW5pZmVzdFNjaGVtYSxcbiAgICAnbm8tbG9jYWwtb2JzaWRpYW4taW50ZXJuYWxzJzogbm9Mb2NhbE9ic2lkaWFuSW50ZXJuYWxzLFxuICAgICduby1vdmVyLWNhcC13YWl0LWluLWV2YWwtaW4tb2JzaWRpYW4nOiBub092ZXJDYXBXYWl0SW5FdmFsSW5PYnNpZGlhbixcbiAgICAnbm8tdW50cnVzdGVkLWlucHV0LWV2ZW50cyc6IG5vVW50cnVzdGVkSW5wdXRFdmVudHMsXG4gICAgJ3BsdWdpbi1uYW1lLWFzLWNvZGUnOiBwbHVnaW5OYW1lQXNDb2RlLFxuICAgICdwbHVnaW4tbmFtZS1hcy1jb2RlLWluLXVpJzogcGx1Z2luTmFtZUFzQ29kZUluVWksXG4gICAgJ3JlcXVpcmUtY29tcG9uZW50LXN1ZmZpeCc6IHJlcXVpcmVDb21wb25lbnRTdWZmaXgsXG4gICAgJ3JlcXVpcmUtcGx1Z2luLWFwaS1jb250cmFjdC1zY2hlbWFzJzogcmVxdWlyZVBsdWdpbkFwaUNvbnRyYWN0U2NoZW1hc1xuICB9XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0EsNkJBQTBDO0FBRTFDLGtDQUFvQztBQUNwQyx5QkFBMkI7QUFDM0IsMkJBQTZCO0FBQzdCLDZCQUErQjtBQUMvQix5Q0FBeUM7QUFDekMsa0RBQThDO0FBQzlDLHVDQUF1QztBQUN2Qyx1Q0FBcUM7QUFDckMsaUNBQWlDO0FBQ2pDLHNDQUF1QztBQUN2QyxpREFBZ0Q7QUFPekMsTUFBTSx5QkFBd0M7QUFBQSxFQUNuRCxPQUFPO0FBQUEsSUFDTCxHQUFHO0FBQUEsSUFDSCx3QkFBd0I7QUFBQSxJQUN4QixlQUFlO0FBQUEsSUFDZixpQkFBaUI7QUFBQSxJQUNqQixtQkFBbUI7QUFBQSxJQUNuQiwrQkFBK0I7QUFBQSxJQUMvQix3Q0FBd0M7QUFBQSxJQUN4Qyw2QkFBNkI7QUFBQSxJQUM3Qix1QkFBdUI7QUFBQSxJQUN2Qiw2QkFBNkI7QUFBQSxJQUM3Qiw0QkFBNEI7QUFBQSxJQUM1Qix1Q0FBdUM7QUFBQSxFQUN6QztBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -0,0 +1,13 @@
1
+ /// <reference path="../../index.d.cts" />
2
+ /**
3
+ * @file
4
+ *
5
+ * ESLint plugin for Obsidian development utilities.
6
+ */
7
+ import type { ESLint } from 'eslint' with { 'resolution-mode': 'import' };
8
+ /**
9
+ * ESLint plugin bundling every `obsidian-dev-utils` custom rule, registered under the `obsidian-dev-utils` namespace:
10
+ * the generic rules of `@mnaoumov/typescript-dev-toolkit` and the Obsidian ones. It is ONE plugin carrying both,
11
+ * because ESLint refuses two different plugins under one namespace.
12
+ */
13
+ export declare const obsidianDevUtilsPlugin: ESLint.Plugin;