@mnaoumov/obsidian-dev-toolkit 1.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 (140) hide show
  1. package/README.md +9 -1
  2. package/dist/demo-vault-helper/main.js +499 -17
  3. package/dist/integration-test-plugin/main.js +11251 -2472
  4. package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +9 -22
  5. package/dist/lib/cjs/bundlers/esbuild-impl/dependency.cjs +9 -22
  6. package/dist/lib/cjs/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +9 -22
  7. package/dist/lib/cjs/bundlers/esbuild-impl/index.cjs +9 -22
  8. package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +9 -22
  9. package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.cjs +9 -22
  10. package/dist/lib/cjs/bundlers/esbuild-impl/rename-css-plugin.cjs +9 -22
  11. package/dist/lib/cjs/bundlers/esbuild.cjs +9 -22
  12. package/dist/lib/cjs/bundlers/index.cjs +9 -22
  13. package/dist/lib/cjs/demo-vault-app-json.cjs +9 -22
  14. package/dist/lib/cjs/demo-vault-buttons.cjs +9 -22
  15. package/dist/lib/cjs/demo-vault-buttons.d.cts +7 -7
  16. package/dist/lib/cjs/demo-vault-coverage.cjs +11 -23
  17. package/dist/lib/cjs/demo-vault.cjs +9 -22
  18. package/dist/lib/cjs/formatters/dprint.cjs +9 -22
  19. package/dist/lib/cjs/formatters/index.cjs +9 -22
  20. package/dist/lib/cjs/index.cjs +9 -22
  21. package/dist/lib/cjs/integration-test-setup.cjs +9 -22
  22. package/dist/lib/cjs/integration-test-vitest-global-setup.cjs +9 -22
  23. package/dist/lib/cjs/jest-setup.cjs +9 -22
  24. package/dist/lib/cjs/linters/eslint-config.cjs +60 -22
  25. package/dist/lib/cjs/linters/eslint-rules/index.cjs +23 -24
  26. package/dist/lib/cjs/linters/eslint-rules/index.d.cts +4 -0
  27. package/dist/lib/cjs/linters/eslint-rules/manifest-description.cjs +9 -22
  28. package/dist/lib/cjs/linters/eslint-rules/manifest-helpers.cjs +9 -22
  29. package/dist/lib/cjs/linters/eslint-rules/manifest-id.cjs +9 -22
  30. package/dist/lib/cjs/linters/eslint-rules/manifest-name.cjs +9 -22
  31. package/dist/lib/cjs/linters/eslint-rules/manifest-schema.cjs +9 -22
  32. package/dist/lib/cjs/linters/eslint-rules/no-local-obsidian-internals.cjs +259 -0
  33. package/dist/lib/cjs/linters/eslint-rules/no-local-obsidian-internals.d.cts +10 -0
  34. package/dist/lib/cjs/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.cjs +9 -22
  35. package/dist/lib/cjs/linters/eslint-rules/no-untrusted-input-events.cjs +9 -22
  36. package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +18 -23
  37. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code-in-ui.cjs +263 -0
  38. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code-in-ui.d.cts +30 -0
  39. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code.cjs +215 -0
  40. package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code.d.cts +29 -0
  41. package/dist/lib/cjs/linters/eslint-rules/require-component-suffix.cjs +9 -22
  42. package/dist/lib/cjs/linters/eslint-rules/require-plugin-api-contract-schemas.cjs +306 -0
  43. package/dist/lib/cjs/linters/eslint-rules/require-plugin-api-contract-schemas.d.cts +10 -0
  44. package/dist/lib/cjs/linters/eslint.cjs +9 -22
  45. package/dist/lib/cjs/linters/index.cjs +20 -24
  46. package/dist/lib/cjs/linters/index.d.cts +3 -0
  47. package/dist/lib/cjs/linters/markdownlint-cli2-config.cjs +171 -0
  48. package/dist/lib/cjs/linters/markdownlint-cli2-config.d.cts +12 -0
  49. package/dist/lib/cjs/linters/markdownlint-rules/index.cjs +164 -0
  50. package/dist/lib/cjs/linters/markdownlint-rules/index.d.cts +2 -0
  51. package/dist/lib/cjs/linters/markdownlint-rules/plugin-name-as-code.cjs +246 -0
  52. package/dist/lib/cjs/linters/markdownlint-rules/plugin-name-as-code.d.cts +32 -0
  53. package/dist/lib/cjs/linters/markdownlint.cjs +9 -22
  54. package/dist/lib/cjs/linters/obsidianmd-rule-custom-message.cjs +9 -22
  55. package/dist/lib/cjs/linters/plugin-names.cjs +249 -0
  56. package/dist/lib/cjs/linters/plugin-names.d.cts +81 -0
  57. package/dist/lib/cjs/obsidian-plugin-repo-paths.cjs +9 -22
  58. package/dist/lib/cjs/setup.cjs +9 -22
  59. package/dist/lib/cjs/templates.cjs +9 -22
  60. package/dist/lib/cjs/test-runners/index.cjs +9 -22
  61. package/dist/lib/cjs/test-runners/integration-test-plugin.cjs +9 -22
  62. package/dist/lib/cjs/test-runners/performance-eval-cap.cjs +9 -22
  63. package/dist/lib/cjs/test-runners/stale-build-global-setup.cjs +9 -22
  64. package/dist/lib/cjs/test-runners/vitest-config.cjs +9 -22
  65. package/dist/lib/cjs/version.cjs +9 -22
  66. package/dist/lib/cjs/vitest-setup.cjs +9 -22
  67. package/dist/lib/esm/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +6 -14
  68. package/dist/lib/esm/bundlers/esbuild-impl/dependency.mjs +6 -14
  69. package/dist/lib/esm/bundlers/esbuild-impl/fix-source-maps-plugin.mjs +6 -14
  70. package/dist/lib/esm/bundlers/esbuild-impl/index.mjs +6 -14
  71. package/dist/lib/esm/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +6 -14
  72. package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.mjs +6 -14
  73. package/dist/lib/esm/bundlers/esbuild-impl/rename-css-plugin.mjs +6 -14
  74. package/dist/lib/esm/bundlers/esbuild.mjs +6 -14
  75. package/dist/lib/esm/bundlers/index.mjs +6 -14
  76. package/dist/lib/esm/demo-vault-app-json.mjs +6 -14
  77. package/dist/lib/esm/demo-vault-buttons.d.mts +7 -7
  78. package/dist/lib/esm/demo-vault-buttons.mjs +6 -14
  79. package/dist/lib/esm/demo-vault-coverage.mjs +8 -15
  80. package/dist/lib/esm/demo-vault.mjs +6 -14
  81. package/dist/lib/esm/formatters/dprint.mjs +6 -14
  82. package/dist/lib/esm/formatters/index.mjs +6 -14
  83. package/dist/lib/esm/index.mjs +6 -14
  84. package/dist/lib/esm/integration-test-setup.mjs +6 -14
  85. package/dist/lib/esm/integration-test-vitest-global-setup.mjs +6 -14
  86. package/dist/lib/esm/jest-setup.mjs +6 -14
  87. package/dist/lib/esm/linters/eslint-config.mjs +57 -14
  88. package/dist/lib/esm/linters/eslint-rules/index.d.mts +4 -0
  89. package/dist/lib/esm/linters/eslint-rules/index.mjs +15 -15
  90. package/dist/lib/esm/linters/eslint-rules/manifest-description.mjs +6 -14
  91. package/dist/lib/esm/linters/eslint-rules/manifest-helpers.mjs +6 -14
  92. package/dist/lib/esm/linters/eslint-rules/manifest-id.mjs +6 -14
  93. package/dist/lib/esm/linters/eslint-rules/manifest-name.mjs +6 -14
  94. package/dist/lib/esm/linters/eslint-rules/manifest-schema.mjs +6 -14
  95. package/dist/lib/esm/linters/eslint-rules/no-local-obsidian-internals.d.mts +10 -0
  96. package/dist/lib/esm/linters/eslint-rules/no-local-obsidian-internals.mjs +150 -0
  97. package/dist/lib/esm/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.mjs +6 -14
  98. package/dist/lib/esm/linters/eslint-rules/no-untrusted-input-events.mjs +6 -14
  99. package/dist/lib/esm/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +15 -15
  100. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code-in-ui.d.mts +30 -0
  101. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code-in-ui.mjs +157 -0
  102. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code.d.mts +29 -0
  103. package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code.mjs +108 -0
  104. package/dist/lib/esm/linters/eslint-rules/require-component-suffix.mjs +6 -14
  105. package/dist/lib/esm/linters/eslint-rules/require-plugin-api-contract-schemas.d.mts +10 -0
  106. package/dist/lib/esm/linters/eslint-rules/require-plugin-api-contract-schemas.mjs +197 -0
  107. package/dist/lib/esm/linters/eslint.mjs +6 -14
  108. package/dist/lib/esm/linters/index.d.mts +3 -0
  109. package/dist/lib/esm/linters/index.mjs +13 -15
  110. package/dist/lib/esm/linters/markdownlint-cli2-config.d.mts +12 -0
  111. package/dist/lib/esm/linters/markdownlint-cli2-config.mjs +66 -0
  112. package/dist/lib/esm/linters/markdownlint-rules/index.d.mts +2 -0
  113. package/dist/lib/esm/linters/markdownlint-rules/index.mjs +46 -0
  114. package/dist/lib/esm/linters/markdownlint-rules/plugin-name-as-code.d.mts +32 -0
  115. package/dist/lib/esm/linters/markdownlint-rules/plugin-name-as-code.mjs +130 -0
  116. package/dist/lib/esm/linters/markdownlint.mjs +6 -14
  117. package/dist/lib/esm/linters/obsidianmd-rule-custom-message.mjs +6 -14
  118. package/dist/lib/esm/linters/plugin-names.d.mts +81 -0
  119. package/dist/lib/esm/linters/plugin-names.mjs +141 -0
  120. package/dist/lib/esm/obsidian-plugin-repo-paths.mjs +6 -14
  121. package/dist/lib/esm/setup.mjs +6 -14
  122. package/dist/lib/esm/templates.mjs +6 -14
  123. package/dist/lib/esm/test-runners/index.mjs +6 -14
  124. package/dist/lib/esm/test-runners/integration-test-plugin.mjs +6 -14
  125. package/dist/lib/esm/test-runners/performance-eval-cap.mjs +6 -14
  126. package/dist/lib/esm/test-runners/stale-build-global-setup.mjs +6 -14
  127. package/dist/lib/esm/test-runners/vitest-config.mjs +6 -14
  128. package/dist/lib/esm/version.mjs +6 -14
  129. package/dist/lib/esm/vitest-setup.mjs +6 -14
  130. package/dist/templates/scripts/markdownlint-cli2-config.ts +2 -2
  131. package/linters/eslint-rules/no-local-obsidian-internals/package.json +6 -0
  132. package/linters/eslint-rules/plugin-name-as-code/package.json +6 -0
  133. package/linters/eslint-rules/plugin-name-as-code-in-ui/package.json +6 -0
  134. package/linters/eslint-rules/require-plugin-api-contract-schemas/package.json +6 -0
  135. package/linters/markdownlint-cli2-config/package.json +6 -0
  136. package/linters/markdownlint-rules/index/package.json +6 -0
  137. package/linters/markdownlint-rules/package.json +6 -0
  138. package/linters/markdownlint-rules/plugin-name-as-code/package.json +6 -0
  139. package/linters/plugin-names/package.json +6 -0
  140. package/package.json +84 -23
package/package.json CHANGED
@@ -1,20 +1,19 @@
1
1
  {
2
2
  "name": "@mnaoumov/obsidian-dev-toolkit",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Tooling for Obsidian plugin development: esbuild plugin builder, shared ESLint/Vitest configs, demo vaults and the release script.",
5
5
  "keywords": [
6
6
  "obsidian",
7
7
  "obsidian-plugin",
8
8
  "tooling"
9
9
  ],
10
- "homepage": "https://github.com/mnaoumov/obsidian-dev-utils/tree/main/packages/obsidian-dev-toolkit#readme",
10
+ "homepage": "https://github.com/mnaoumov/obsidian-dev-toolkit#readme",
11
11
  "bugs": {
12
- "url": "https://github.com/mnaoumov/obsidian-dev-utils/issues"
12
+ "url": "https://github.com/mnaoumov/obsidian-dev-toolkit/issues"
13
13
  },
14
14
  "repository": {
15
15
  "type": "git",
16
- "url": "git+https://github.com/mnaoumov/obsidian-dev-utils.git",
17
- "directory": "packages/obsidian-dev-toolkit"
16
+ "url": "git+https://github.com/mnaoumov/obsidian-dev-toolkit.git"
18
17
  },
19
18
  "license": "MIT",
20
19
  "author": "Michael Naumov",
@@ -140,6 +139,26 @@
140
139
  "default": "./dist/lib/cjs/linters/eslint-rules/*.cjs"
141
140
  }
142
141
  },
142
+ "./linters/markdownlint-rules": {
143
+ "import": {
144
+ "types": "./dist/lib/esm/linters/markdownlint-rules/index.d.mts",
145
+ "default": "./dist/lib/esm/linters/markdownlint-rules/index.mjs"
146
+ },
147
+ "require": {
148
+ "types": "./dist/lib/cjs/linters/markdownlint-rules/index.d.cts",
149
+ "default": "./dist/lib/cjs/linters/markdownlint-rules/index.cjs"
150
+ }
151
+ },
152
+ "./linters/markdownlint-rules/*": {
153
+ "import": {
154
+ "types": "./dist/lib/esm/linters/markdownlint-rules/*.d.mts",
155
+ "default": "./dist/lib/esm/linters/markdownlint-rules/*.mjs"
156
+ },
157
+ "require": {
158
+ "types": "./dist/lib/cjs/linters/markdownlint-rules/*.d.cts",
159
+ "default": "./dist/lib/cjs/linters/markdownlint-rules/*.cjs"
160
+ }
161
+ },
143
162
  "./test-runners": {
144
163
  "import": {
145
164
  "types": "./dist/lib/esm/test-runners/index.d.mts",
@@ -169,24 +188,36 @@
169
188
  "LICENSE"
170
189
  ],
171
190
  "scripts": {
172
- "build": "node ../../scripts/run.mjs ../../scripts/build.ts",
173
- "build:clean": "node ../../scripts/run.mjs ../../scripts/build-clean.ts",
174
- "build:compile": "node ../../scripts/run.mjs ../../scripts/build-compile.ts",
175
- "build:compile:typescript": "node ../../scripts/run.mjs ../../scripts/build-compile-typescript.ts",
176
- "build:demo-vault-helper": "node ../../scripts/run.mjs ../../scripts/build-demo-vault-helper.ts",
177
- "build:generate-exports": "node ../../scripts/run.mjs ../../scripts/build-generate-exports.ts",
178
- "build:generate-index": "node ../../scripts/run.mjs ../../scripts/build-generate-index.ts",
179
- "build:integration-test-plugin": "node ../../scripts/run.mjs ../../scripts/build-integration-test-plugin.ts",
180
- "build:lib": "node ../../scripts/run.mjs ../../scripts/build-lib-obsidian.ts",
181
- "build:templates": "node ../../scripts/run.mjs ../../scripts/build-templates.ts",
182
- "build:types": "node ../../scripts/run.mjs ../../scripts/build-types.ts",
183
- "build:validate-declarations": "node ../../scripts/run.mjs ../../scripts/build-validate-declarations.ts",
184
- "build:validate-templates": "node ../../scripts/run.mjs ../../scripts/build-validate-templates.ts",
185
- "find-overexposed": "node ../../scripts/run.mjs ../../scripts/find-overexposed.ts",
186
- "find-overexposed:fix": "node ../../scripts/run.mjs ../../scripts/find-overexposed-fix.ts",
187
- "test": "node ../../scripts/run.mjs ../../scripts/package-test.ts",
188
- "test:coverage": "node ../../scripts/run.mjs ../../scripts/package-test-coverage.ts",
189
- "test:watch": "node ../../scripts/run.mjs ../../scripts/package-test-watch.ts"
191
+ "build": "jiti scripts/build.ts",
192
+ "build:clean": "jiti scripts/build-clean.ts",
193
+ "build:compile": "jiti scripts/build-compile.ts",
194
+ "build:compile:typescript": "jiti scripts/build-compile-typescript.ts",
195
+ "build:demo-vault-helper": "jiti scripts/build-demo-vault-helper.ts",
196
+ "build:generate-exports": "jiti scripts/build-generate-exports.ts",
197
+ "build:generate-index": "jiti scripts/build-generate-index.ts",
198
+ "build:integration-test-plugin": "jiti scripts/build-integration-test-plugin.ts",
199
+ "build:lib": "jiti scripts/build-lib.ts",
200
+ "build:templates": "jiti scripts/build-templates.ts",
201
+ "build:types": "jiti scripts/build-types.ts",
202
+ "build:validate-declarations": "jiti scripts/build-validate-declarations.ts",
203
+ "build:validate-templates": "jiti scripts/build-validate-templates.ts",
204
+ "commit": "jiti scripts/commit.ts",
205
+ "find-overexposed": "jiti scripts/find-overexposed.ts",
206
+ "find-overexposed:fix": "jiti scripts/find-overexposed-fix.ts",
207
+ "format": "jiti scripts/format.ts",
208
+ "format:check": "jiti scripts/format-check.ts",
209
+ "gate": "jiti scripts/gate.ts",
210
+ "lint": "jiti scripts/lint.ts",
211
+ "lint:fix": "jiti scripts/lint-fix.ts",
212
+ "lint:md": "jiti scripts/lint-md.ts",
213
+ "lint:md:fix": "jiti scripts/lint-md-fix.ts",
214
+ "prepare": "jiti scripts/prepare.ts",
215
+ "publish:npm": "jiti scripts/publish-npm.ts",
216
+ "spellcheck": "jiti scripts/spellcheck.ts",
217
+ "test": "jiti scripts/test.ts",
218
+ "test:coverage": "jiti scripts/test-coverage.ts",
219
+ "test:watch": "jiti scripts/test-watch.ts",
220
+ "version": "jiti scripts/version.ts"
190
221
  },
191
222
  "dependencies": {
192
223
  "@eslint/json": "^2.1.0",
@@ -205,6 +236,7 @@
205
236
  "eslint-plugin-obsidianmd": "^0.4.2",
206
237
  "eslint-plugin-tsdoc": "^0.5.3",
207
238
  "fflate": "^0.8.3",
239
+ "markdownlint": "^0.41.1",
208
240
  "obsidian": "^1.14.4",
209
241
  "postcss": "^8.5.28",
210
242
  "postcss-modules": "^9.0.1",
@@ -213,8 +245,26 @@
213
245
  "typescript": "6.0.3"
214
246
  },
215
247
  "devDependencies": {
248
+ "@commitlint/cli": "^21.2.2",
249
+ "@commitlint/config-conventional": "^21.2.2",
250
+ "@jest/globals": "^30.5.2",
251
+ "@obsidian-typings/obsidian-public-latest": "^6.37.0",
252
+ "@total-typescript/ts-reset": "^0.6.1",
253
+ "@tsconfig/strictest": "^2.0.8",
254
+ "@types/node": "^26.6.2",
216
255
  "@typescript-eslint/rule-tester": "^8.71.2",
256
+ "@vitest/coverage-v8": "^5.0.1",
257
+ "better-typescript-lib": "^2.12.0",
258
+ "cspell": "^10.3.3",
259
+ "czg": "^1.14.0",
260
+ "dprint": "^0.57.4",
261
+ "husky": "^9.1.7",
262
+ "jiti": "^2.7.0",
263
+ "markdownlint-cli2": "^0.23.2",
264
+ "nano-staged": "^1.0.2",
265
+ "obsidian-integration-testing": "^17.3.0",
217
266
  "obsidian-test-mocks": "^7.0.0",
267
+ "tslib": "^2.8.1",
218
268
  "vitest": "^5.0.1"
219
269
  },
220
270
  "peerDependencies": {
@@ -238,5 +288,16 @@
238
288
  },
239
289
  "publishConfig": {
240
290
  "access": "public"
291
+ },
292
+ "overrides": {
293
+ "@puppeteer/browsers": "^3.2.2",
294
+ "@vitest/coverage-v8": "$@vitest/coverage-v8",
295
+ "deepmerge-ts": "^8.0.2",
296
+ "eslint": "$eslint",
297
+ "eslint-plugin-import": "npm:eslint-plugin-import-x@^4.17.1",
298
+ "fflate": "$fflate",
299
+ "js-yaml": "4.3.2",
300
+ "smol-toml": "^1.8.0",
301
+ "typescript": "$typescript"
241
302
  }
242
303
  }