@mnaoumov/create-obsidian-plugin 1.0.1 → 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 (490) hide show
  1. package/README.md +38 -7
  2. package/dist/main.js +1068 -333
  3. package/package.json +15 -6
  4. package/src/main.ts +118 -11
  5. package/templates/default/.github/ISSUE_TEMPLATE/config.yml.ejs +4 -0
  6. package/templates/default/.github/workflows/attest-release-assets.yml.ejs +1 -11
  7. package/templates/default/.github/workflows/ci.yml_framework.ejs +19 -0
  8. package/templates/default/.github/workflows/ci.yml_framework@job-permissions_measured-coverage-badge.ejs +3 -0
  9. package/templates/default/.github/workflows/ci.yml_framework@with_measured-coverage-badge.ejs +1 -0
  10. package/templates/default/.github/workflows/{ci.yml.ejs → ci.yml_standalone.ejs} +1 -1
  11. package/templates/default/.github/workflows/release.yml_framework.ejs +19 -0
  12. package/templates/default/.github/workflows/{release.yml.ejs → release.yml_standalone.ejs} +1 -1
  13. package/templates/default/.gitignore_common.ejs +1 -0
  14. package/templates/default/.gitignore_wdio-obsidian.ejs +2 -0
  15. package/templates/default/.nvmrc.ejs +1 -0
  16. package/templates/default/.prettierignore.ejs +1 -0
  17. package/templates/default/.prettierignore@ignores_docs-showcase.ejs +3 -0
  18. package/templates/default/{CONTRIBUTING.md@demo-vault_dev-utils.ejs → CONTRIBUTING.md@demo-vault_framework.ejs} +1 -1
  19. package/templates/default/{README.md@demo-vault_dev-utils.ejs → README.md@demo-vault_framework.ejs} +1 -1
  20. package/templates/default/README.md@preset_docs-showcase.ejs +4 -0
  21. package/templates/default/{README.md@preset_dev-utils.ejs → README.md@preset_framework.ejs} +1 -1
  22. package/templates/default/biome.jsonc_framework.ejs +16 -0
  23. package/templates/default/biome.jsonc_framework@excludes_docs-showcase.ejs +1 -0
  24. package/templates/default/{biome.jsonc.ejs → biome.jsonc_standalone.ejs} +1 -1
  25. package/templates/default/cspell.json.ejs +10 -2
  26. package/templates/default/cspell.json@ignore-paths_docs-showcase.ejs +1 -0
  27. package/templates/default/demo-vault/.gitignore.ejs +4 -4
  28. package/templates/default/demo-vault/00 Start.md.ejs +1 -1
  29. package/templates/default/demo-vault/01 Sample commands.md.ejs +4 -4
  30. package/templates/default/demo-vault/02 Settings.md.ejs +2 -2
  31. package/templates/default/demo-vault/03 WebAssembly.md.ejs +2 -2
  32. package/templates/default/demo-vault/README.md.ejs +1 -1
  33. package/templates/default/demo-vault/_assets/CodeScriptToolkit/demoSetup.ts.ejs +1 -1
  34. package/templates/default/demo-vault/_assets/CodeScriptToolkit/startup.ts.ejs +4 -4
  35. package/templates/default/dprint.json_framework.ejs +10 -0
  36. package/templates/default/dprint.json_framework@excludes_docs-showcase.ejs +2 -0
  37. package/templates/default/dprint.json_standalone.ejs +1 -0
  38. package/templates/default/eslint.config.mts_standalone.ejs +9 -0
  39. package/templates/default/jest.config.ts_framework.ejs +31 -0
  40. package/templates/default/{scripts/rollup.config.ts@lint-out-dir_dev-utils.ejs → jest.config.ts_framework@lint-root-dir_framework.ejs} +1 -1
  41. package/templates/default/jest.config.ts_framework@ts-jest-tsconfig_solid.ejs +8 -0
  42. package/templates/default/{jest.config.ts.ejs → jest.config.ts_standalone.ejs} +0 -1
  43. package/templates/default/package.json@targets_parcel-targets.ejs +31 -0
  44. package/templates/default/package.json@targets_parcel.ejs +2 -33
  45. package/templates/default/parcel-transformer-inline-imports.cjs.ejs +1 -1
  46. package/templates/default/prettier.config.mjs_framework.ejs +3 -0
  47. package/templates/default/scripts/build-clean.ts.ejs +2 -2
  48. package/templates/default/scripts/build-compile-typescript.ts.ejs +14 -0
  49. package/templates/default/scripts/build-compile.ts.ejs +2 -2
  50. package/templates/default/scripts/build-options.ts.ejs +9 -0
  51. package/templates/default/scripts/build-styles.ts.ejs +4 -7
  52. package/templates/default/scripts/build.ts.ejs +2 -2
  53. package/templates/default/scripts/build.ts@bundler_adapter-cli.ejs +11 -0
  54. package/templates/default/scripts/build.ts@bundler_adapter-cli@run_rollup.ejs +1 -0
  55. package/templates/default/scripts/build.ts@bundler_adapter-cli@run_vite.ejs +1 -0
  56. package/templates/default/scripts/build.ts@bundler_adapter-cli@run_webpack.ejs +1 -0
  57. package/templates/default/scripts/build.ts@bundler_cli-bundler.ejs +1 -1
  58. package/templates/default/scripts/build.ts@bundler_cli-bundler@import_tailwind.ejs +0 -1
  59. package/templates/default/scripts/build.ts@bundler_esbuild.ejs +2 -2
  60. package/templates/default/scripts/build.ts@bundler_esbuild@preset_framework.ejs +5 -0
  61. package/templates/default/scripts/build.ts@bundler_parcel-adapter.ejs +5 -0
  62. package/templates/default/scripts/commit.ts_framework.ejs +3 -0
  63. package/templates/default/scripts/commitlint-config.ts_framework.ejs +1 -0
  64. package/templates/default/scripts/demo-vault-global-setup.ts.ejs +7 -4
  65. package/templates/default/scripts/dev.ts.ejs +1 -1
  66. package/templates/default/scripts/dev.ts@bundler_adapter-cli.ejs +6 -0
  67. package/templates/default/scripts/dev.ts@bundler_adapter-cli@run_rollup.ejs +3 -0
  68. package/templates/default/scripts/dev.ts@bundler_adapter-cli@run_vite.ejs +3 -0
  69. package/templates/default/scripts/dev.ts@bundler_adapter-cli@run_webpack.ejs +3 -0
  70. package/templates/default/scripts/dev.ts@bundler_esbuild.ejs +2 -2
  71. package/templates/default/scripts/dev.ts@bundler_esbuild@preset_framework.ejs +5 -0
  72. package/templates/default/scripts/dev.ts@bundler_parcel-adapter.ejs +5 -0
  73. package/templates/default/scripts/eslint-config.ts.ejs +3 -14
  74. package/templates/default/scripts/eslint-config.ts@ignores_docs-showcase.ejs +4 -0
  75. package/templates/default/scripts/find-overexposed-fix.ts.ejs +4 -4
  76. package/templates/default/scripts/find-overexposed.ts.ejs +3 -3
  77. package/templates/default/scripts/format-check.ts@tool_biome-formatter.ejs +3 -8
  78. package/templates/default/scripts/format-check.ts@tool_biome-formatter@preset_framework.ejs +7 -0
  79. package/templates/default/scripts/format-check.ts@tool_biome-formatter@preset_standalone.ejs +8 -0
  80. package/templates/default/scripts/format-check.ts@tool_dprint.ejs +2 -2
  81. package/templates/default/scripts/format-check.ts@tool_dprint@preset_framework.ejs +7 -0
  82. package/templates/default/scripts/format-check.ts@tool_prettier.ejs +3 -8
  83. package/templates/default/scripts/format-check.ts@tool_prettier@preset_framework.ejs +7 -0
  84. package/templates/default/scripts/format-check.ts@tool_prettier@preset_standalone.ejs +8 -0
  85. package/templates/default/scripts/format.ts@tool_biome-formatter.ejs +3 -8
  86. package/templates/default/scripts/format.ts@tool_biome-formatter@preset_framework.ejs +7 -0
  87. package/templates/default/scripts/format.ts@tool_biome-formatter@preset_standalone.ejs +8 -0
  88. package/templates/default/scripts/format.ts@tool_dprint.ejs +2 -2
  89. package/templates/default/scripts/format.ts@tool_dprint@preset_framework.ejs +7 -0
  90. package/templates/default/scripts/format.ts@tool_prettier.ejs +3 -8
  91. package/templates/default/scripts/format.ts@tool_prettier@preset_framework.ejs +7 -0
  92. package/templates/default/scripts/format.ts@tool_prettier@preset_standalone.ejs +8 -0
  93. package/templates/default/scripts/gate.ts.ejs +3 -3
  94. package/templates/default/scripts/lint-fix.ts.ejs +2 -2
  95. package/templates/default/scripts/lint-fix.ts@tool_biome-linter.ejs +3 -8
  96. package/templates/default/scripts/lint-fix.ts@tool_biome-linter@preset_framework.ejs +7 -0
  97. package/templates/default/scripts/lint-fix.ts@tool_biome-linter@preset_standalone.ejs +8 -0
  98. package/templates/default/scripts/lint-fix.ts@tool_eslint.ejs +2 -2
  99. package/templates/default/scripts/lint-fix.ts@tool_eslint@preset_framework.ejs +7 -0
  100. package/templates/default/scripts/lint-md-fix.ts_framework.ejs +7 -0
  101. package/templates/default/scripts/lint-md.ts_framework.ejs +7 -0
  102. package/templates/default/scripts/lint.ts.ejs +2 -2
  103. package/templates/default/scripts/lint.ts@tool_biome-linter.ejs +3 -8
  104. package/templates/default/scripts/lint.ts@tool_biome-linter@preset_framework.ejs +7 -0
  105. package/templates/default/scripts/lint.ts@tool_biome-linter@preset_standalone.ejs +8 -0
  106. package/templates/default/scripts/lint.ts@tool_eslint.ejs +2 -2
  107. package/templates/default/scripts/lint.ts@tool_eslint@preset_framework.ejs +7 -0
  108. package/templates/default/scripts/{markdownlint-cli2-config.ts_dev-utils.ejs → markdownlint-cli2-config.ts_framework.ejs} +4 -4
  109. package/templates/default/scripts/markdownlint-cli2-config.ts_standalone.ejs +0 -3
  110. package/templates/default/scripts/nano-staged-config.ts_toolkit-nano-staged.ejs +3 -0
  111. package/templates/default/scripts/prepare.ts_framework.ejs +3 -0
  112. package/templates/default/scripts/rollup.config.ts_framework.ejs +49 -0
  113. package/templates/default/scripts/rollup.config.ts_framework@plugin_rollup-json.ejs +2 -0
  114. package/templates/default/scripts/rollup.config.ts_framework@plugin_scss.ejs +3 -0
  115. package/templates/default/scripts/{rollup.config.ts.ejs → rollup.config.ts_standalone.ejs} +4 -4
  116. package/templates/default/scripts/rollup.config.ts_standalone@import_rollup-json.ejs +1 -0
  117. package/templates/default/scripts/rollup.config.ts_standalone@import_scss.ejs +1 -0
  118. package/templates/default/scripts/rollup.config.ts_standalone@unwrap_rollup-json.ejs +1 -0
  119. package/templates/default/scripts/rollup.config.ts_standalone@unwrap_scss.ejs +1 -0
  120. package/templates/default/scripts/spellcheck.ts_framework.ejs +7 -0
  121. package/templates/default/scripts/stylesheet-stub.ts.ejs +1 -1
  122. package/templates/default/scripts/test-coverage.ts.ejs +2 -8
  123. package/templates/default/scripts/test-coverage.ts@tool_jest.ejs +5 -0
  124. package/templates/default/scripts/test-coverage.ts@tool_vitest.ejs +8 -0
  125. package/templates/default/scripts/test-e2e.ts@tool_obsidian-test.ejs +2 -8
  126. package/templates/default/scripts/test-e2e.ts@tool_obsidian-test@preset_framework.ejs +4 -0
  127. package/templates/default/scripts/test-e2e.ts@tool_obsidian-test@preset_standalone.ejs +8 -0
  128. package/templates/default/scripts/test-e2e.ts@tool_wdio-obsidian.ejs +2 -8
  129. package/templates/default/scripts/test-e2e.ts@tool_wdio-obsidian@preset_framework.ejs +5 -0
  130. package/templates/default/scripts/test-e2e.ts@tool_wdio-obsidian@preset_standalone.ejs +8 -0
  131. package/templates/default/scripts/test-integration-android.ts.ejs +2 -2
  132. package/templates/default/scripts/test-integration-demo-vault.ts.ejs +2 -2
  133. package/templates/default/scripts/test-integration-desktop-performance.ts.ejs +2 -2
  134. package/templates/default/scripts/test-integration-desktop.ts.ejs +2 -2
  135. package/templates/default/scripts/test-integration-no-app.ts.ejs +2 -2
  136. package/templates/default/scripts/test-integration.ts.ejs +2 -2
  137. package/templates/default/scripts/test-watch.ts_framework@tool_jest.ejs +5 -0
  138. package/templates/default/scripts/test-watch.ts_framework@tool_vitest.ejs +8 -0
  139. package/templates/default/scripts/test.ts_framework@tool_jest.ejs +5 -0
  140. package/templates/default/scripts/test.ts_framework@tool_vitest.ejs +8 -0
  141. package/templates/default/scripts/{version.ts_dev-utils.ejs → version.ts_framework.ejs} +3 -3
  142. package/templates/default/scripts/vite.config.ts_framework.ejs +10 -0
  143. package/templates/default/scripts/{vite.config.ts.ejs → vite.config.ts_standalone.ejs} +5 -8
  144. package/templates/default/scripts/vitest-config.ts.ejs +3 -2
  145. package/templates/default/scripts/vitest-config.ts@edit-context_docs-showcase.ejs +3 -0
  146. package/templates/default/scripts/webpack.config.ts_framework.ejs +19 -0
  147. package/templates/default/scripts/webpack.config.ts_framework@import_scss.ejs +1 -0
  148. package/templates/default/scripts/webpack.config.ts_framework@plugin_scss.ejs +1 -0
  149. package/templates/default/scripts/webpack.config.ts_framework@rule_scss.ejs +4 -0
  150. package/templates/default/scripts/{webpack.config.ts.ejs → webpack.config.ts_standalone.ejs} +4 -4
  151. package/templates/default/src/demo-vault-buttons.demo-vault.integration.test.ts.ejs +2 -2
  152. package/templates/default/src/demo-vault.no-app.integration.test.ts.ejs +3 -3
  153. package/templates/default/src/docs-showcase.desktop.integration.test.ts.ejs +77 -0
  154. package/templates/default/src/editor-extensions/{sample-state-field.ts_dev-utils.ejs → sample-state-field.ts_framework.ejs} +1 -1
  155. package/templates/default/src/main.ts@import_tailwind.ejs +1 -1
  156. package/templates/default/src/main.ts@import_tailwind@preset_framework.ejs +1 -0
  157. package/templates/default/src/main.ts@import_tailwind@preset_standalone.ejs +1 -0
  158. package/templates/default/src/{plugin-settings-component.test.ts_enhanced.ejs → plugin-settings-component.test.ts_all-in-one.ejs} +4 -4
  159. package/templates/default/src/plugin-settings-component.test.ts_demo.ejs +5 -5
  160. package/templates/default/src/{plugin-settings-component.ts_enhanced.ejs → plugin-settings-component.ts_all-in-one.ejs} +3 -3
  161. package/templates/default/src/plugin-settings-component.ts_demo.ejs +7 -7
  162. package/templates/default/src/{plugin-settings-tab.ts_enhanced.ejs → plugin-settings-tab.ts_all-in-one.ejs} +1 -1
  163. package/templates/default/src/plugin-settings-tab.ts_demo.ejs +3 -3
  164. package/templates/default/src/plugin-settings.ts_demo.ejs +2 -2
  165. package/templates/default/src/{plugin.ts_enhanced.ejs → plugin.ts_all-in-one.ejs} +5 -5
  166. package/templates/default/src/plugin.ts_all-in-one@import2_css-modules.ejs +1 -0
  167. package/templates/default/src/plugin.ts_all-in-one@import2_docs-showcase.ejs +1 -0
  168. package/templates/default/src/plugin.ts_all-in-one@onload_css-modules.ejs +1 -0
  169. package/templates/default/src/plugin.ts_all-in-one@onload_docs-showcase.ejs +3 -0
  170. package/templates/default/src/plugin.ts_demo.ejs +16 -16
  171. package/templates/default/src/plugin.ts_demo@import_css-modules.ejs +1 -0
  172. package/templates/default/src/plugin.ts_demo@onload_css-modules.ejs +1 -0
  173. package/templates/default/src/plugin.ts_standalone.ejs +5 -3
  174. package/templates/default/src/plugin.ts_standalone@import_css-modules.ejs +1 -0
  175. package/templates/default/src/plugin.ts_standalone@onload_css-modules.ejs +1 -0
  176. package/templates/default/src/react-components/{sample-react-component.tsx_dev-utils.ejs → sample-react-component.tsx_framework.ejs} +1 -1
  177. package/templates/default/src/styles/css-modules.d.ts.ejs +9 -3
  178. package/templates/default/src/styles/{main.css_dev-utils.ejs → main.css_framework.ejs} +2 -2
  179. package/templates/default/src/styles/main.module.css.ejs +4 -2
  180. package/templates/default/src/styles/{main.scss_dev-utils.ejs → main.scss_framework.ejs} +2 -2
  181. package/templates/default/src/styles/sample-css-module-command.ts.ejs +30 -0
  182. package/templates/default/src/views/{sample-react-view.tsx_dev-utils.ejs → sample-react-view.tsx_framework.ejs} +1 -1
  183. package/templates/default/src/wasm/README.md.ejs +1 -1
  184. package/templates/default/src/wasm/answer.ts_wasm-adapter.ejs +18 -0
  185. package/templates/default/{tsconfig.json_dev-utils.ejs → tsconfig.json_framework.ejs} +2 -2
  186. package/templates/default/tsconfig.json_framework@exclude_docs-showcase.ejs +4 -0
  187. package/templates/default/tsconfig.json_framework@include_wdio-obsidian.ejs +1 -0
  188. package/templates/default/tsconfig.json_framework@types_toolkit-styles.ejs +2 -0
  189. package/templates/default/tsconfig.json_framework@types_wasm.ejs +2 -0
  190. package/templates/default/tsconfig.json_standalone.ejs +1 -1
  191. package/templates/default/vitest.config.ts_standalone.ejs +11 -2
  192. package/templates/default/wdio.conf.mts.ejs +5 -0
  193. package/templates/default/wdio.conf.ts.ejs +4 -4
  194. package/templates/docs-showcase/files/src/docs/README.md +511 -0
  195. package/templates/docs-showcase/files/src/docs/entry.d.ts +8 -0
  196. package/templates/docs-showcase/files/src/docs/entry.js +4 -0
  197. package/templates/docs-showcase/files/src/docs/host.ts +449 -0
  198. package/templates/docs-showcase/files/src/docs/index.ts +699 -0
  199. package/templates/docs-showcase/files/src/docs/plugins/editor/communicating-with-editor-extensions/01-intro.ts +21 -0
  200. package/templates/docs-showcase/files/src/docs/plugins/editor/communicating-with-editor-extensions/03-state-field.ts +32 -0
  201. package/templates/docs-showcase/files/src/docs/plugins/editor/decorations/01-widgets.ts +23 -0
  202. package/templates/docs-showcase/files/src/docs/plugins/editor/decorations/02-widgets.ts +20 -0
  203. package/templates/docs-showcase/files/src/docs/plugins/editor/decorations/04-state-fields.ts +57 -0
  204. package/templates/docs-showcase/files/src/docs/plugins/editor/decorations/05-view-plugins.ts +79 -0
  205. package/templates/docs-showcase/files/src/docs/plugins/editor/editor/01-intro.ts +26 -0
  206. package/templates/docs-showcase/files/src/docs/plugins/editor/editor/03-replace-current-selection.ts +26 -0
  207. package/templates/docs-showcase/files/src/docs/plugins/editor/markdown-post-processing/01-intro.ts +39 -0
  208. package/templates/docs-showcase/files/src/docs/plugins/editor/state-fields/01-defining-state-effects.ts +19 -0
  209. package/templates/docs-showcase/files/src/docs/plugins/editor/state-fields/02-defining-a-state-field.ts +35 -0
  210. package/templates/docs-showcase/files/src/docs/plugins/editor/state-fields/04-dispatching-state-effects.ts +34 -0
  211. package/templates/docs-showcase/files/src/docs/plugins/editor/state-management/01-state-changes.ts +21 -0
  212. package/templates/docs-showcase/files/src/docs/plugins/editor/state-management/02-state-changes.ts +23 -0
  213. package/templates/docs-showcase/files/src/docs/plugins/editor/view-plugins/01-creating-a-view-plugin.ts +36 -0
  214. package/templates/docs-showcase/files/src/docs/plugins/events/01-intro.ts +21 -0
  215. package/templates/docs-showcase/files/src/docs/plugins/getting-started/anatomy-of-a-plugin/01-intro.ts +22 -0
  216. package/templates/docs-showcase/files/src/docs/plugins/getting-started/anatomy-of-a-plugin/02-plugin-lifecycle.ts +22 -0
  217. package/templates/docs-showcase/files/src/docs/plugins/getting-started/build-a-plugin/06-step-5-update-the-source-code.ts +19 -0
  218. package/templates/docs-showcase/files/src/docs/plugins/getting-started/build-a-plugin/07-step-5-update-the-source-code.ts +21 -0
  219. package/templates/docs-showcase/files/src/docs/plugins/getting-started/mobile-development/03-platform-specific-features.ts +25 -0
  220. package/templates/docs-showcase/files/src/docs/plugins/getting-started/use-react-in-your-plugin/03-configure-your-plugin.ts +23 -0
  221. package/templates/docs-showcase/files/src/docs/plugins/guides/build-a-bases-view/01-step-1-sample-plugin-setup.ts +18 -0
  222. package/templates/docs-showcase/files/src/docs/plugins/guides/build-a-bases-view/02-step-2-create-and-register-the-bases-vie.ts +46 -0
  223. package/templates/docs-showcase/files/src/docs/plugins/guides/build-a-bases-view/03-step-3-add-configuration.ts +40 -0
  224. package/templates/docs-showcase/files/src/docs/plugins/guides/defer-views/04-accessing-your-customview-without-reveal.ts +26 -0
  225. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/01-overview.ts +26 -0
  226. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/02-overview.ts +30 -0
  227. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/03-automatic-resource-management-with-compo.ts +26 -0
  228. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/04-registerevent-eventref.ts +22 -0
  229. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/05-registerinterval-id.ts +21 -0
  230. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/06-registerdomevent-el-event-handler.ts +20 -0
  231. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/08-understanding-the-lifecycle-of-objects.ts +29 -0
  232. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/14-componentized-modal-example.ts +37 -0
  233. package/templates/docs-showcase/files/src/docs/plugins/guides/optimize-plugin-load-time/01-option-a-check-if-the-layout-is-ready.ts +29 -0
  234. package/templates/docs-showcase/files/src/docs/plugins/guides/optimize-plugin-load-time/02-option-b-register-the-handler-once-the-l.ts +27 -0
  235. package/templates/docs-showcase/files/src/docs/plugins/guides/store-secrets/03-step-3-retrieve-the-secret-value.ts +22 -0
  236. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/01-use-setheading-instead-of-a-h1-h2.ts +20 -0
  237. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/03-clean-up-resources-when-plugin-unloads.ts +23 -0
  238. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/04-avoid-accessing-workspace-activeleaf-dir.ts +24 -0
  239. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/05-avoid-accessing-workspace-activeleaf-dir.ts +22 -0
  240. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/10-avoid-iterating-all-files-to-find-a-file.ts +20 -0
  241. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/11-avoid-iterating-all-files-to-find-a-file.ts +20 -0
  242. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/13-use-normalizepath-to-clean-up-user-defin.ts +18 -0
  243. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/15-no-hardcoded-styling.ts +21 -0
  244. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/16-no-hardcoded-styling.ts +19 -0
  245. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/17-no-hardcoded-styling.ts +14 -0
  246. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/18-prefer-async-await-over-promise.ts +24 -0
  247. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/19-prefer-async-await-over-promise.ts +27 -0
  248. package/templates/docs-showcase/files/src/docs/plugins/user-interface/commands/01-intro.ts +25 -0
  249. package/templates/docs-showcase/files/src/docs/plugins/user-interface/commands/03-editor-commands.ts +27 -0
  250. package/templates/docs-showcase/files/src/docs/plugins/user-interface/commands/05-hot-keys.ts +25 -0
  251. package/templates/docs-showcase/files/src/docs/plugins/user-interface/context-menus/01-intro.ts +41 -0
  252. package/templates/docs-showcase/files/src/docs/plugins/user-interface/html-elements/02-create-html-elements-using-createel.ts +19 -0
  253. package/templates/docs-showcase/files/src/docs/plugins/user-interface/html-elements/03-create-html-elements-using-createel.ts +21 -0
  254. package/templates/docs-showcase/files/src/docs/plugins/user-interface/html-elements/04-style-your-elements.ts +14 -0
  255. package/templates/docs-showcase/files/src/docs/plugins/user-interface/html-elements/05-style-your-elements.ts +21 -0
  256. package/templates/docs-showcase/files/src/docs/plugins/user-interface/html-elements/06-conditional-styles.ts +19 -0
  257. package/templates/docs-showcase/files/src/docs/plugins/user-interface/icons/01-use-icons.ts +20 -0
  258. package/templates/docs-showcase/files/src/docs/plugins/user-interface/icons/02-use-icons.ts +14 -0
  259. package/templates/docs-showcase/files/src/docs/plugins/user-interface/icons/03-add-your-own-icon.ts +23 -0
  260. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/01-intro.ts +20 -0
  261. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/02-intro.ts +26 -0
  262. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/03-accept-user-input.ts +38 -0
  263. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/04-accept-user-input.ts +22 -0
  264. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/05-select-from-list-of-suggestions.ts +56 -0
  265. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/06-approximate-string-matching-results.ts +28 -0
  266. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/07-custom-rendering-of-fuzzy-search-results.ts +41 -0
  267. package/templates/docs-showcase/files/src/docs/plugins/user-interface/ribbon-actions/01-intro.ts +21 -0
  268. package/templates/docs-showcase/files/src/docs/plugins/user-interface/right-to-left/01-use-fallback-values-when-necessary.ts +14 -0
  269. package/templates/docs-showcase/files/src/docs/plugins/user-interface/right-to-left/02-global-selectors.ts +14 -0
  270. package/templates/docs-showcase/files/src/docs/plugins/user-interface/right-to-left/03-icons-are-mirrored-automatically.ts +14 -0
  271. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/09-toggle.ts +20 -0
  272. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/10-text.ts +23 -0
  273. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/11-textarea.ts +23 -0
  274. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/12-number.ts +23 -0
  275. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/13-slider.ts +23 -0
  276. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/14-dropdown.ts +28 -0
  277. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/15-file.ts +27 -0
  278. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/16-folder.ts +23 -0
  279. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/17-color-picker.ts +20 -0
  280. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/18-validating-input.ts +28 -0
  281. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/23-groups.ts +27 -0
  282. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/32-cleanup.ts +30 -0
  283. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/33-no-top-level-heading.ts +27 -0
  284. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/34-headings-only-when-there-are-multiple-se.ts +26 -0
  285. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/36-headings.ts +20 -0
  286. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/38-moment-format.ts +42 -0
  287. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/39-buttons.ts +26 -0
  288. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/40-extra-button.ts +28 -0
  289. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/41-progress-bar.ts +23 -0
  290. package/templates/docs-showcase/files/src/docs/plugins/user-interface/status-bar/01-intro.ts +20 -0
  291. package/templates/docs-showcase/files/src/docs/plugins/user-interface/status-bar/02-intro.ts +25 -0
  292. package/templates/docs-showcase/files/src/docs/plugins/user-interface/views/01-intro.ts +39 -0
  293. package/templates/docs-showcase/files/src/docs/plugins/user-interface/workspace/05-inspect-the-workspace.ts +23 -0
  294. package/templates/docs-showcase/files/src/docs/plugins/user-interface/workspace/06-leaf-groups.ts +19 -0
  295. package/templates/docs-showcase/files/src/docs/plugins/vault/02-read-files.ts +37 -0
  296. package/templates/docs-showcase/files/src/docs/plugins/vault/03-modify-files.ts +19 -0
  297. package/templates/docs-showcase/files/src/docs/plugins/vault/04-modify-files.ts +22 -0
  298. package/templates/docs-showcase/files/src/docs/plugins/vault/05-is-it-a-file-or-folder.ts +25 -0
  299. package/templates/docs-showcase/files/src/docs/reference/css-variables/about-styling/01-for-plugins.ts +14 -0
  300. package/templates/docs-showcase/files/src/docs/reference/css-variables/about-styling/02-for-themes-and-snippets.ts +14 -0
  301. package/templates/docs-showcase/files/src/docs/reference/css-variables/publish/site-fonts/01-intro.ts +14 -0
  302. package/templates/docs-showcase/files/src/docs/reference/typescript-api/command/callback/01-example.ts +24 -0
  303. package/templates/docs-showcase/files/src/docs/reference/typescript-api/debounce/01-example.ts +24 -0
  304. package/templates/docs-showcase/files/src/docs/reference/typescript-api/vault/process/01-example.ts +22 -0
  305. package/templates/docs-showcase/files/src/docs/themes/app-themes/build-a-theme/05-step-4-change-the-font.ts +14 -0
  306. package/templates/docs-showcase/files/src/docs/themes/app-themes/build-a-theme/06-step-5-change-the-background-color.ts +14 -0
  307. package/templates/docs-showcase/files/src/docs/themes/app-themes/build-a-theme/07-step-6-change-the-input-hover-border-col.ts +14 -0
  308. package/templates/docs-showcase/files/src/docs/themes/app-themes/build-a-theme/08-step-7-discover-css-variables-in-use.ts +14 -0
  309. package/templates/docs-showcase/files/src/docs/themes/app-themes/embed-fonts-and-images-in-your-theme/02-use-data-urls.ts +14 -0
  310. package/templates/docs-showcase/files/src/docs/themes/app-themes/theme-guidelines/01-use-css-variables.ts +14 -0
  311. package/templates/docs-showcase/files/src/docs/themes/obsidian-publish-themes/best-practices-for-publish-themes/01-small-screens-and-mobile-devices.ts +14 -0
  312. package/templates/docs-showcase/files/src/docs/themes/obsidian-publish-themes/build-a-publish-theme/01-intro.ts +14 -0
  313. package/templates/docs-showcase/files/src/docs/tsconfig.json +25 -0
  314. package/templates/docs-showcase/host/entry.d.ts +8 -0
  315. package/templates/docs-showcase/host/entry.js +4 -0
  316. package/templates/docs-showcase/host/host.ts +449 -0
  317. package/templates/docs-showcase/host/tsconfig.json +25 -0
  318. package/templates/docs-showcase/snippets.json +3566 -0
  319. package/templates/official-sample/README.md +9 -0
  320. package/templates/official-sample/files/.editorconfig.vendored +11 -0
  321. package/templates/official-sample/files/.github/workflows/lint.yml.vendored +27 -0
  322. package/templates/official-sample/files/.github/workflows/release.yml.vendored +50 -0
  323. package/templates/official-sample/files/.gitignore.vendored +22 -0
  324. package/templates/official-sample/files/.npmrc.vendored +1 -0
  325. package/templates/official-sample/files/AGENTS.md.vendored +269 -0
  326. package/templates/official-sample/files/LICENSE.vendored +5 -0
  327. package/templates/official-sample/files/README.md.vendored +92 -0
  328. package/templates/official-sample/files/esbuild.config.mjs.vendored +49 -0
  329. package/templates/official-sample/files/eslint.config.mts.vendored +32 -0
  330. package/templates/official-sample/files/manifest.json.vendored +11 -0
  331. package/templates/official-sample/files/package-lock.json.vendored +5053 -0
  332. package/templates/official-sample/files/package.json.vendored +27 -0
  333. package/templates/official-sample/files/src/main.ts.vendored +114 -0
  334. package/templates/official-sample/files/src/settings.ts.vendored +38 -0
  335. package/templates/official-sample/files/styles.css.vendored +8 -0
  336. package/templates/official-sample/files/tsconfig.json.vendored +19 -0
  337. package/templates/official-sample/files/version-bump.mjs.vendored +17 -0
  338. package/templates/official-sample/files/versions.json.vendored +3 -0
  339. package/upstreams.json +35 -0
  340. package/templates/default/dprint.json_dev-utils.ejs +0 -10
  341. package/templates/default/jest.config.ts@lint-root-dir_dev-utils.ejs +0 -1
  342. package/templates/default/scripts/build.ts@bundler_cli-bundler@lint-build-styles_dev-utils.ejs +0 -1
  343. package/templates/default/scripts/build.ts@bundler_esbuild@dev-utils-pre-build_tailwind.ejs +0 -2
  344. package/templates/default/scripts/build.ts@bundler_esbuild@lint-build-styles_dev-utils.ejs +0 -1
  345. package/templates/default/scripts/build.ts@bundler_esbuild@preset_dev-utils.ejs +0 -7
  346. package/templates/default/scripts/commit.ts_dev-utils.ejs +0 -3
  347. package/templates/default/scripts/dev.ts@bundler_esbuild@dev-utils-pre-build_tailwind.ejs +0 -2
  348. package/templates/default/scripts/dev.ts@bundler_esbuild@lint-build-styles_dev-utils.ejs +0 -1
  349. package/templates/default/scripts/dev.ts@bundler_esbuild@preset_dev-utils.ejs +0 -7
  350. package/templates/default/scripts/esbuild-plugins.ts.ejs +0 -20
  351. package/templates/default/scripts/esbuild-plugins.ts@dev-utils-import_vue.ejs +0 -2
  352. package/templates/default/scripts/esbuild-plugins.ts@dev-utils-plugin_vue.ejs +0 -1
  353. package/templates/default/scripts/esbuild-plugins.ts@dev-utils-plugin_wasm.ejs +0 -13
  354. package/templates/default/scripts/format-check.ts@tool_dprint@preset_dev-utils.ejs +0 -7
  355. package/templates/default/scripts/format.ts@tool_dprint@preset_dev-utils.ejs +0 -7
  356. package/templates/default/scripts/lint-fix.ts@tool_eslint@preset_dev-utils.ejs +0 -7
  357. package/templates/default/scripts/lint-md-fix.ts_dev-utils.ejs +0 -7
  358. package/templates/default/scripts/lint-md.ts_dev-utils.ejs +0 -7
  359. package/templates/default/scripts/lint.ts@tool_eslint@preset_dev-utils.ejs +0 -7
  360. package/templates/default/scripts/prepare.ts_dev-utils.ejs +0 -3
  361. package/templates/default/scripts/spellcheck.ts_dev-utils.ejs +0 -7
  362. package/templates/default/scripts/test-watch.ts_dev-utils@tool_jest.ejs +0 -13
  363. package/templates/default/scripts/test-watch.ts_dev-utils@tool_vitest.ejs +0 -8
  364. package/templates/default/scripts/test.ts_dev-utils@tool_jest.ejs +0 -13
  365. package/templates/default/scripts/test.ts_dev-utils@tool_vitest.ejs +0 -8
  366. package/templates/default/scripts/vite.config.ts@lint-empty-out-dir_dev-utils.ejs +0 -1
  367. package/templates/default/scripts/vite.config.ts@lint-out-dir_dev-utils.ejs +0 -1
  368. package/templates/default/scripts/webpack.config.ts@lint-webpack-default_dev-utils.ejs +0 -1
  369. package/templates/default/src/main.ts@import_css-modules.ejs +0 -1
  370. package/templates/default/src/views/sample-preact-view.tsx_dev-utils.ejs +0 -45
  371. package/templates/default/tsconfig.json_dev-utils@compiler-options_preact.ejs +0 -2
  372. package/templates/default/tsconfig.json_dev-utils@compiler-options_react.ejs +0 -1
  373. package/templates/default/tsconfig.json_dev-utils@compiler-options_solid.ejs +0 -2
  374. /package/templates/default/.github/workflows/{ci.yml@steps_biome-linter.ejs → ci.yml_standalone@steps_biome-linter.ejs} +0 -0
  375. /package/templates/default/.github/workflows/{ci.yml@steps_cspell.ejs → ci.yml_standalone@steps_cspell.ejs} +0 -0
  376. /package/templates/default/.github/workflows/{ci.yml@steps_dprint.ejs → ci.yml_standalone@steps_dprint.ejs} +0 -0
  377. /package/templates/default/.github/workflows/{ci.yml@steps_eslint.ejs → ci.yml_standalone@steps_eslint.ejs} +0 -0
  378. /package/templates/default/.github/workflows/{ci.yml@steps_jest.ejs → ci.yml_standalone@steps_jest.ejs} +0 -0
  379. /package/templates/default/.github/workflows/{ci.yml@steps_markdownlint.ejs → ci.yml_standalone@steps_markdownlint.ejs} +0 -0
  380. /package/templates/default/.github/workflows/{ci.yml@steps_prettier.ejs → ci.yml_standalone@steps_prettier.ejs} +0 -0
  381. /package/templates/default/.github/workflows/{ci.yml@steps_vitest.ejs → ci.yml_standalone@steps_vitest.ejs} +0 -0
  382. /package/templates/default/{.gitignore_tailwind.ejs → .gitignore_tailwind-cli.ejs} +0 -0
  383. /package/templates/default/{CONTRIBUTING.md@scripts_dev-utils.ejs → CONTRIBUTING.md@scripts_framework.ejs} +0 -0
  384. /package/templates/default/e2e/{sample.spec.ts_obsidian-test@lint-no-void-disable_dev-utils.ejs → sample.spec.ts_obsidian-test@lint-no-void-disable_framework.ejs} +0 -0
  385. /package/templates/default/e2e/{sample.spec.ts_obsidian-test@lint-no-void-enable_dev-utils.ejs → sample.spec.ts_obsidian-test@lint-no-void-enable_framework.ejs} +0 -0
  386. /package/templates/default/{eslint.config.mts_dev-utils.ejs → eslint.config.mts_framework.ejs} +0 -0
  387. /package/templates/default/{jest.config.ts@ts-jest-tsconfig_solid.ejs → jest.config.ts_standalone@ts-jest-tsconfig_solid.ejs} +0 -0
  388. /package/templates/default/{prettier.config.mjs.ejs → prettier.config.mjs_standalone.ejs} +0 -0
  389. /package/templates/default/scripts/{commitlint-config.ts.ejs → commitlint-config.ts_standalone.ejs} +0 -0
  390. /package/templates/default/scripts/{nano-staged-config.ts.ejs → nano-staged-config.ts_inline-nano-staged.ejs} +0 -0
  391. /package/templates/default/scripts/{rollup.config.ts@import_rollup-json.ejs → rollup.config.ts_framework@import_rollup-json.ejs} +0 -0
  392. /package/templates/default/scripts/{rollup.config.ts@import_scss.ejs → rollup.config.ts_framework@import_scss.ejs} +0 -0
  393. /package/templates/default/scripts/{rollup.config.ts@unwrap_rollup-json.ejs → rollup.config.ts_framework@unwrap_rollup-json.ejs} +0 -0
  394. /package/templates/default/scripts/{rollup.config.ts@unwrap_scss.ejs → rollup.config.ts_framework@unwrap_scss.ejs} +0 -0
  395. /package/templates/default/scripts/{rollup.config.ts@import_rollup-babel.ejs → rollup.config.ts_standalone@import_rollup-babel.ejs} +0 -0
  396. /package/templates/default/scripts/{rollup.config.ts@import_rollup-postcss.ejs → rollup.config.ts_standalone@import_rollup-postcss.ejs} +0 -0
  397. /package/templates/default/scripts/{rollup.config.ts@import_svelte.ejs → rollup.config.ts_standalone@import_svelte.ejs} +0 -0
  398. /package/templates/default/scripts/{rollup.config.ts@import_vue.ejs → rollup.config.ts_standalone@import_vue.ejs} +0 -0
  399. /package/templates/default/scripts/{rollup.config.ts@import_wasm.ejs → rollup.config.ts_standalone@import_wasm.ejs} +0 -0
  400. /package/templates/default/scripts/{rollup.config.ts@post-plugin_preact.ejs → rollup.config.ts_standalone@post-plugin_preact.ejs} +0 -0
  401. /package/templates/default/scripts/{rollup.config.ts@post-plugin_react.ejs → rollup.config.ts_standalone@post-plugin_react.ejs} +0 -0
  402. /package/templates/default/scripts/{rollup.config.ts@post-plugin_rollup-json.ejs → rollup.config.ts_standalone@post-plugin_rollup-json.ejs} +0 -0
  403. /package/templates/default/scripts/{rollup.config.ts@post-plugin_rollup-postcss.ejs → rollup.config.ts_standalone@post-plugin_rollup-postcss.ejs} +0 -0
  404. /package/templates/default/scripts/{rollup.config.ts@post-plugin_scss.ejs → rollup.config.ts_standalone@post-plugin_scss.ejs} +0 -0
  405. /package/templates/default/scripts/{rollup.config.ts@post-plugin_solid.ejs → rollup.config.ts_standalone@post-plugin_solid.ejs} +0 -0
  406. /package/templates/default/scripts/{rollup.config.ts@post-plugin_wasm.ejs → rollup.config.ts_standalone@post-plugin_wasm.ejs} +0 -0
  407. /package/templates/default/scripts/{rollup.config.ts@pre-plugin_svelte.ejs → rollup.config.ts_standalone@pre-plugin_svelte.ejs} +0 -0
  408. /package/templates/default/scripts/{rollup.config.ts@pre-plugin_vue.ejs → rollup.config.ts_standalone@pre-plugin_vue.ejs} +0 -0
  409. /package/templates/default/scripts/{rollup.config.ts@unwrap_rollup-babel.ejs → rollup.config.ts_standalone@unwrap_rollup-babel.ejs} +0 -0
  410. /package/templates/default/scripts/{rollup.config.ts@unwrap_rollup-postcss.ejs → rollup.config.ts_standalone@unwrap_rollup-postcss.ejs} +0 -0
  411. /package/templates/default/scripts/{rollup.config.ts@unwrap_svelte.ejs → rollup.config.ts_standalone@unwrap_svelte.ejs} +0 -0
  412. /package/templates/default/scripts/{rollup.config.ts@unwrap_vue.ejs → rollup.config.ts_standalone@unwrap_vue.ejs} +0 -0
  413. /package/templates/default/scripts/{rollup.config.ts@unwrap_wasm.ejs → rollup.config.ts_standalone@unwrap_wasm.ejs} +0 -0
  414. /package/templates/default/scripts/{test-watch.ts_dev-utils.ejs → test-watch.ts_framework.ejs} +0 -0
  415. /package/templates/default/scripts/{test.ts_dev-utils.ejs → test.ts_framework.ejs} +0 -0
  416. /package/templates/default/scripts/{vite.config.ts@import_preact.ejs → vite.config.ts_standalone@import_preact.ejs} +0 -0
  417. /package/templates/default/scripts/{vite.config.ts@import_react.ejs → vite.config.ts_standalone@import_react.ejs} +0 -0
  418. /package/templates/default/scripts/{vite.config.ts@import_solid.ejs → vite.config.ts_standalone@import_solid.ejs} +0 -0
  419. /package/templates/default/scripts/{vite.config.ts@import_svelte.ejs → vite.config.ts_standalone@import_svelte.ejs} +0 -0
  420. /package/templates/default/scripts/{vite.config.ts@import_vue.ejs → vite.config.ts_standalone@import_vue.ejs} +0 -0
  421. /package/templates/default/scripts/{vite.config.ts@plugin_preact.ejs → vite.config.ts_standalone@plugin_preact.ejs} +0 -0
  422. /package/templates/default/scripts/{vite.config.ts@plugin_react.ejs → vite.config.ts_standalone@plugin_react.ejs} +0 -0
  423. /package/templates/default/scripts/{vite.config.ts@plugin_solid.ejs → vite.config.ts_standalone@plugin_solid.ejs} +0 -0
  424. /package/templates/default/scripts/{vite.config.ts@plugin_svelte.ejs → vite.config.ts_standalone@plugin_svelte.ejs} +0 -0
  425. /package/templates/default/scripts/{vite.config.ts@plugin_vue.ejs → vite.config.ts_standalone@plugin_vue.ejs} +0 -0
  426. /package/templates/default/scripts/{webpack.config.ts@import_svelte.ejs → webpack.config.ts_standalone@import_svelte.ejs} +0 -0
  427. /package/templates/default/scripts/{webpack.config.ts@import_vue.ejs → webpack.config.ts_standalone@import_vue.ejs} +0 -0
  428. /package/templates/default/scripts/{webpack.config.ts@import_webpack-css-extract.ejs → webpack.config.ts_standalone@import_webpack-css-extract.ejs} +0 -0
  429. /package/templates/default/scripts/{webpack.config.ts@plugin_vue.ejs → webpack.config.ts_standalone@plugin_vue.ejs} +0 -0
  430. /package/templates/default/scripts/{webpack.config.ts@plugin_webpack-css-extract.ejs → webpack.config.ts_standalone@plugin_webpack-css-extract.ejs} +0 -0
  431. /package/templates/default/scripts/{webpack.config.ts@rule_css-modules.ejs → webpack.config.ts_standalone@rule_css-modules.ejs} +0 -0
  432. /package/templates/default/scripts/{webpack.config.ts@rule_css.ejs → webpack.config.ts_standalone@rule_css.ejs} +0 -0
  433. /package/templates/default/scripts/{webpack.config.ts@rule_postcss.ejs → webpack.config.ts_standalone@rule_postcss.ejs} +0 -0
  434. /package/templates/default/scripts/{webpack.config.ts@rule_scss.ejs → webpack.config.ts_standalone@rule_scss.ejs} +0 -0
  435. /package/templates/default/scripts/{webpack.config.ts@rule_solid.ejs → webpack.config.ts_standalone@rule_solid.ejs} +0 -0
  436. /package/templates/default/scripts/{webpack.config.ts@rule_svelte.ejs → webpack.config.ts_standalone@rule_svelte.ejs} +0 -0
  437. /package/templates/default/scripts/{webpack.config.ts@rule_tailwind.ejs → webpack.config.ts_standalone@rule_tailwind.ejs} +0 -0
  438. /package/templates/default/scripts/{webpack.config.ts@rule_vue.ejs → webpack.config.ts_standalone@rule_vue.ejs} +0 -0
  439. /package/templates/default/scripts/{webpack.config.ts@rule_wasm.ejs → webpack.config.ts_standalone@rule_wasm.ejs} +0 -0
  440. /package/templates/default/scripts/{webpack.config.ts@ts-loader-compiler-options_vue.ejs → webpack.config.ts_standalone@ts-loader-compiler-options_vue.ejs} +0 -0
  441. /package/templates/default/scripts/{webpack.config.ts@ts-loader-options_vue.ejs → webpack.config.ts_standalone@ts-loader-options_vue.ejs} +0 -0
  442. /package/templates/default/src/{plugin-settings-component.test.ts_enhanced@test-imports_vitest.ejs → plugin-settings-component.test.ts_all-in-one@test-imports_vitest.ejs} +0 -0
  443. /package/templates/default/src/{plugin-settings.ts_enhanced.ejs → plugin-settings.ts_all-in-one.ejs} +0 -0
  444. /package/templates/default/src/{plugin.ts_enhanced@import2_codemirror.ejs → plugin.ts_all-in-one@import2_codemirror.ejs} +0 -0
  445. /package/templates/default/src/{plugin.ts_enhanced@import2_i18next.ejs → plugin.ts_all-in-one@import2_i18next.ejs} +0 -0
  446. /package/templates/default/src/{plugin.ts_enhanced@import2_lit.ejs → plugin.ts_all-in-one@import2_lit.ejs} +0 -0
  447. /package/templates/default/src/{plugin.ts_enhanced@import2_preact.ejs → plugin.ts_all-in-one@import2_preact.ejs} +0 -0
  448. /package/templates/default/src/{plugin.ts_enhanced@import2_react.ejs → plugin.ts_all-in-one@import2_react.ejs} +0 -0
  449. /package/templates/default/src/{plugin.ts_enhanced@import2_solid.ejs → plugin.ts_all-in-one@import2_solid.ejs} +0 -0
  450. /package/templates/default/src/{plugin.ts_enhanced@import2_svelte.ejs → plugin.ts_all-in-one@import2_svelte.ejs} +0 -0
  451. /package/templates/default/src/{plugin.ts_enhanced@import2_typesafe-i18n.ejs → plugin.ts_all-in-one@import2_typesafe-i18n.ejs} +0 -0
  452. /package/templates/default/src/{plugin.ts_enhanced@import2_vue.ejs → plugin.ts_all-in-one@import2_vue.ejs} +0 -0
  453. /package/templates/default/src/{plugin.ts_enhanced@import2_wasm.ejs → plugin.ts_all-in-one@import2_wasm.ejs} +0 -0
  454. /package/templates/default/src/{plugin.ts_enhanced@method_ui-view.ejs → plugin.ts_all-in-one@method_ui-view.ejs} +0 -0
  455. /package/templates/default/src/{plugin.ts_enhanced@onload_codemirror.ejs → plugin.ts_all-in-one@onload_codemirror.ejs} +0 -0
  456. /package/templates/default/src/{plugin.ts_enhanced@onload_i18next.ejs → plugin.ts_all-in-one@onload_i18next.ejs} +0 -0
  457. /package/templates/default/src/{plugin.ts_enhanced@onload_lit.ejs → plugin.ts_all-in-one@onload_lit.ejs} +0 -0
  458. /package/templates/default/src/{plugin.ts_enhanced@onload_preact.ejs → plugin.ts_all-in-one@onload_preact.ejs} +0 -0
  459. /package/templates/default/src/{plugin.ts_enhanced@onload_react.ejs → plugin.ts_all-in-one@onload_react.ejs} +0 -0
  460. /package/templates/default/src/{plugin.ts_enhanced@onload_solid.ejs → plugin.ts_all-in-one@onload_solid.ejs} +0 -0
  461. /package/templates/default/src/{plugin.ts_enhanced@onload_svelte.ejs → plugin.ts_all-in-one@onload_svelte.ejs} +0 -0
  462. /package/templates/default/src/{plugin.ts_enhanced@onload_typesafe-i18n.ejs → plugin.ts_all-in-one@onload_typesafe-i18n.ejs} +0 -0
  463. /package/templates/default/src/{plugin.ts_enhanced@onload_vue.ejs → plugin.ts_all-in-one@onload_vue.ejs} +0 -0
  464. /package/templates/default/src/{plugin.ts_enhanced@onload_wasm.ejs → plugin.ts_all-in-one@onload_wasm.ejs} +0 -0
  465. /package/templates/default/src/preact-components/{sample-preact-component.tsx_dev-utils.ejs → sample-preact-component.tsx_framework.ejs} +0 -0
  466. /package/templates/default/src/solid-components/{sample-solid-component.tsx_dev-utils.ejs → sample-solid-component.tsx_framework.ejs} +0 -0
  467. /package/templates/default/src/styles/{main.css_dev-utils@content_tailwind.ejs → main.css_framework@content_tailwind.ejs} +0 -0
  468. /package/templates/default/src/views/{sample-lit-view.ts@lint-register-element_dev-utils.ejs → sample-lit-view.ts@lint-register-element_framework.ejs} +0 -0
  469. /package/templates/default/src/views/{sample-preact-view.tsx_standalone.ejs → sample-preact-view.tsx.ejs} +0 -0
  470. /package/templates/default/src/views/{sample-solid-view.tsx_dev-utils.ejs → sample-solid-view.tsx_framework.ejs} +0 -0
  471. /package/templates/default/src/wasm/{answer.ts_esbuild.ejs → answer.ts_wasm-esbuild.ejs} +0 -0
  472. /package/templates/default/src/wasm/{answer.ts_parcel.ejs → answer.ts_wasm-parcel.ejs} +0 -0
  473. /package/templates/default/src/wasm/{answer.ts_rollup.ejs → answer.ts_wasm-rollup.ejs} +0 -0
  474. /package/templates/default/src/wasm/{answer.ts_vite.ejs → answer.ts_wasm-vite.ejs} +0 -0
  475. /package/templates/default/src/wasm/{answer.ts_webpack.ejs → answer.ts_wasm-webpack.ejs} +0 -0
  476. /package/templates/default/src/{wasm.d.ts_esbuild.ejs → wasm.d.ts_wasm-esbuild.ejs} +0 -0
  477. /package/templates/default/src/{wasm.d.ts_parcel.ejs → wasm.d.ts_wasm-parcel.ejs} +0 -0
  478. /package/templates/default/src/{wasm.d.ts_rollup.ejs → wasm.d.ts_wasm-rollup.ejs} +0 -0
  479. /package/templates/default/src/{wasm.d.ts_vite.ejs → wasm.d.ts_wasm-vite.ejs} +0 -0
  480. /package/templates/default/src/{wasm.d.ts_webpack.ejs → wasm.d.ts_wasm-webpack.ejs} +0 -0
  481. /package/templates/default/{tsconfig.json_dev-utils@compiler-options_i18next.ejs → tsconfig.json_framework@compiler-options_i18next.ejs} +0 -0
  482. /package/templates/default/{tsconfig.json_dev-utils@compiler-options_lit.ejs → tsconfig.json_framework@compiler-options_lit.ejs} +0 -0
  483. /package/templates/default/{tsconfig.json_dev-utils@include_has-e2e.ejs → tsconfig.json_framework@include_has-e2e.ejs} +0 -0
  484. /package/templates/default/{tsconfig.json_dev-utils@include_svelte.ejs → tsconfig.json_framework@include_svelte.ejs} +0 -0
  485. /package/templates/default/{tsconfig.json_dev-utils@include_vue.ejs → tsconfig.json_framework@include_vue.ejs} +0 -0
  486. /package/templates/default/{tsconfig.json_dev-utils@types_jest.ejs → tsconfig.json_framework@types_jest.ejs} +0 -0
  487. /package/templates/default/{tsconfig.json_dev-utils@types_svelte.ejs → tsconfig.json_framework@types_svelte.ejs} +0 -0
  488. /package/templates/default/{tsconfig.json_dev-utils@types_wdio-obsidian.ejs → tsconfig.json_framework@types_wdio-obsidian.ejs} +0 -0
  489. /package/templates/default/{tsconfig.json_dev-utils@types_with-unofficial.ejs → tsconfig.json_framework@types_with-unofficial.ejs} +0 -0
  490. /package/templates/default/{vitest.config.ts_dev-utils.ejs → vitest.config.ts_framework.ejs} +0 -0
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "obsidian-sample-plugin",
3
+ "version": "1.0.0",
4
+ "description": "This is a sample plugin for Obsidian (https://obsidian.md)",
5
+ "main": "main.js",
6
+ "type": "module",
7
+ "scripts": {
8
+ "dev": "node esbuild.config.mjs",
9
+ "build": "tsc -noEmit -skipLibCheck && node esbuild.config.mjs production",
10
+ "version": "node version-bump.mjs && git add manifest.json versions.json",
11
+ "lint": "eslint ."
12
+ },
13
+ "keywords": [],
14
+ "license": "0-BSD",
15
+ "devDependencies": {
16
+ "@eslint/js": "^9.39.4",
17
+ "@types/node": "^22.15.17",
18
+ "esbuild": "0.25.5",
19
+ "eslint": "^9.39.4",
20
+ "eslint-plugin-obsidianmd": "^0.4.0",
21
+ "globals": "^17.6.0",
22
+ "jiti": "^2.6.1",
23
+ "obsidian": "latest",
24
+ "typescript": "^5.8.3",
25
+ "typescript-eslint": "^8.59.1"
26
+ }
27
+ }
@@ -0,0 +1,114 @@
1
+ import {
2
+ Editor,
3
+ MarkdownView,
4
+ MarkdownFileInfo,
5
+ Modal,
6
+ Notice,
7
+ Plugin,
8
+ } from 'obsidian';
9
+ import {
10
+ DEFAULT_SETTINGS,
11
+ MyPluginSettings,
12
+ SampleSettingTab,
13
+ } from './settings';
14
+
15
+ // Remember to rename these classes and interfaces!
16
+
17
+ export default class MyPlugin extends Plugin {
18
+ settings!: MyPluginSettings;
19
+
20
+ async onload() {
21
+ await this.loadSettings();
22
+
23
+ // This creates an icon in the left ribbon.
24
+ this.addRibbonIcon('dice', 'Sample', (_evt: MouseEvent) => {
25
+ // Called when the user clicks the icon.
26
+ new Notice('This is a notice!');
27
+ });
28
+
29
+ // This adds a status bar item to the bottom of the app. Does not work on mobile apps.
30
+ const statusBarItemEl = this.addStatusBarItem();
31
+ statusBarItemEl.setText('Status bar text');
32
+
33
+ // This adds a simple command that can be triggered anywhere
34
+ this.addCommand({
35
+ id: 'open-modal-simple',
36
+ name: 'Open modal (simple)',
37
+ callback: () => {
38
+ new SampleModal(this.app).open();
39
+ },
40
+ });
41
+ // This adds an editor command that can perform some operation on the current editor instance
42
+ this.addCommand({
43
+ id: 'replace-selected',
44
+ name: 'Replace selected content',
45
+ editorCallback: (
46
+ editor: Editor,
47
+ _ctx: MarkdownView | MarkdownFileInfo,
48
+ ) => {
49
+ editor.replaceSelection('Sample editor command');
50
+ },
51
+ });
52
+ // This adds a complex command that can check whether the current state of the app allows execution of the command
53
+ this.addCommand({
54
+ id: 'open-modal-complex',
55
+ name: 'Open modal (complex)',
56
+ checkCallback: (checking: boolean) => {
57
+ // Conditions to check
58
+ const markdownView =
59
+ this.app.workspace.getActiveViewOfType(MarkdownView);
60
+ if (markdownView) {
61
+ // If checking is true, we're simply "checking" if the command can be run.
62
+ // If checking is false, then we want to actually perform the operation.
63
+ if (!checking) {
64
+ new SampleModal(this.app).open();
65
+ }
66
+
67
+ // This command will only show up in Command Palette when the check function returns true
68
+ return true;
69
+ }
70
+ return false;
71
+ },
72
+ });
73
+
74
+ // This adds a settings tab so the user can configure various aspects of the plugin
75
+ this.addSettingTab(new SampleSettingTab(this.app, this));
76
+
77
+ // If the plugin hooks up any global DOM events (on parts of the app that doesn't belong to this plugin)
78
+ // Using this function will automatically remove the event listener when this plugin is disabled.
79
+ this.registerDomEvent(activeDocument, 'click', (_evt: MouseEvent) => {
80
+ new Notice('Click');
81
+ });
82
+
83
+ // When registering intervals, this function will automatically clear the interval when the plugin is disabled.
84
+ this.registerInterval(
85
+ window.setInterval(() => console.log('setInterval'), 5 * 60 * 1000),
86
+ );
87
+ }
88
+
89
+ onunload() {}
90
+
91
+ async loadSettings() {
92
+ this.settings = Object.assign(
93
+ {},
94
+ DEFAULT_SETTINGS,
95
+ (await this.loadData()) as Partial<MyPluginSettings>,
96
+ );
97
+ }
98
+
99
+ async saveSettings() {
100
+ await this.saveData(this.settings);
101
+ }
102
+ }
103
+
104
+ class SampleModal extends Modal {
105
+ onOpen() {
106
+ const { contentEl } = this;
107
+ contentEl.setText('Woah!');
108
+ }
109
+
110
+ onClose() {
111
+ const { contentEl } = this;
112
+ contentEl.empty();
113
+ }
114
+ }
@@ -0,0 +1,38 @@
1
+ import { App, PluginSettingTab, Setting } from 'obsidian';
2
+ import MyPlugin from './main';
3
+
4
+ export interface MyPluginSettings {
5
+ mySetting: string;
6
+ }
7
+
8
+ export const DEFAULT_SETTINGS: MyPluginSettings = {
9
+ mySetting: 'default',
10
+ };
11
+
12
+ export class SampleSettingTab extends PluginSettingTab {
13
+ plugin: MyPlugin;
14
+
15
+ constructor(app: App, plugin: MyPlugin) {
16
+ super(app, plugin);
17
+ this.plugin = plugin;
18
+ }
19
+
20
+ display(): void {
21
+ const { containerEl } = this;
22
+
23
+ containerEl.empty();
24
+
25
+ new Setting(containerEl)
26
+ .setName('Settings #1')
27
+ .setDesc("It's a secret")
28
+ .addText((text) =>
29
+ text
30
+ .setPlaceholder('Enter your secret')
31
+ .setValue(this.plugin.settings.mySetting)
32
+ .onChange(async (value) => {
33
+ this.plugin.settings.mySetting = value;
34
+ await this.plugin.saveSettings();
35
+ }),
36
+ );
37
+ }
38
+ }
@@ -0,0 +1,8 @@
1
+ /*
2
+
3
+ This CSS file will be included with your plugin, and
4
+ available in the app when your plugin is enabled.
5
+
6
+ If your plugin does not need CSS, delete this file.
7
+
8
+ */
@@ -0,0 +1,19 @@
1
+ {
2
+ "compilerOptions": {
3
+ "inlineSourceMap": true,
4
+ "inlineSources": true,
5
+ "module": "ESNext",
6
+ "target": "ES2021",
7
+ "strict": true,
8
+ "noImplicitReturns": true,
9
+ "noFallthroughCasesInSwitch": true,
10
+ "noUncheckedIndexedAccess": true,
11
+ "moduleResolution": "node",
12
+ "isolatedModules": true,
13
+ "skipLibCheck": true,
14
+ "forceConsistentCasingInFileNames": true,
15
+ "allowSyntheticDefaultImports": true,
16
+ "lib": ["ES2021", "DOM"]
17
+ },
18
+ "include": ["src/**/*.ts"]
19
+ }
@@ -0,0 +1,17 @@
1
+ import { readFileSync, writeFileSync } from 'fs';
2
+
3
+ const targetVersion = process.env.npm_package_version;
4
+
5
+ // read minAppVersion from manifest.json and bump version to target version
6
+ const manifest = JSON.parse(readFileSync('manifest.json', 'utf8'));
7
+ const { minAppVersion } = manifest;
8
+ manifest.version = targetVersion;
9
+ writeFileSync('manifest.json', JSON.stringify(manifest, null, '\t'));
10
+
11
+ // update versions.json with target version and minAppVersion from manifest.json
12
+ // but only if the target version is not already in versions.json
13
+ const versions = JSON.parse(readFileSync('versions.json', 'utf8'));
14
+ if (!(targetVersion in versions)) {
15
+ versions[targetVersion] = minAppVersion;
16
+ writeFileSync('versions.json', JSON.stringify(versions, null, '\t'));
17
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "1.0.0": "1.0.0"
3
+ }
package/upstreams.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "verify": "npm run lint && npm test",
3
+ "upstreams": [
4
+ {
5
+ "name": "obsidian-sample-plugin",
6
+ "repo": "obsidianmd/obsidian-sample-plugin",
7
+ "ref": "master",
8
+ "commit": "07ceb81d1fb3384af611ebf665a1ec42a7e5926d",
9
+ "paths": [
10
+ "**"
11
+ ],
12
+ "handler": "npm run sync:official-sample",
13
+ "verify": "npm run lint && npm test && npm run build && npm run verify:official-sample"
14
+ },
15
+ {
16
+ "name": "obsidian-developer-docs",
17
+ "repo": "obsidianmd/obsidian-developer-docs",
18
+ "ref": "main",
19
+ "commit": "1c26772ac13d6e9870c865936d389fdfe694e742",
20
+ "paths": [
21
+ "en/**/*.md",
22
+ "LICENSE"
23
+ ],
24
+ "handler": "npm run sync:docs-showcase",
25
+ "verify": "npm run lint && npm test && npm run gate:case -- preset=docs-showcase"
26
+ },
27
+ {
28
+ "name": "obsidian",
29
+ "npm": "obsidian",
30
+ "version": "1.14.4",
31
+ "handler": "npm run sync:obsidian",
32
+ "verify": "npm run lint && npm test && npm run gate:case -- preset=docs-showcase"
33
+ }
34
+ ]
35
+ }
@@ -1,10 +0,0 @@
1
- {
2
- "extends": "./node_modules/obsidian-dev-utils/dist/templates/dprint.json",
3
- "excludes": [
4
- "dist",
5
- "**/node_modules",
6
- "**/*-lock.json",
7
- "**/*.md",
8
- "demo-vault"
9
- ]
10
- }
@@ -1 +0,0 @@
1
- // eslint-disable-next-line unicorn/name-replacements -- `rootDir` is TypeScript's own compiler-option name.
@@ -1 +0,0 @@
1
- // eslint-disable-next-line import-x/no-unassigned-import -- Importing the module RUNS the style build; there is nothing to bind.
@@ -1,2 +0,0 @@
1
- <%- render('lint-build-styles') -%>
2
- import './build-styles.ts';
@@ -1 +0,0 @@
1
- // eslint-disable-next-line import-x/no-unassigned-import -- Importing the module RUNS the style build; there is nothing to bind.
@@ -1,7 +0,0 @@
1
- import { build } from 'obsidian-dev-utils/script-utils/bundlers/esbuild';
2
- import { wrapCliTask } from 'obsidian-dev-utils/script-utils/cli-utils';
3
-
4
- <%- render('dev-utils-pre-build') -%>
5
- import { customEsbuildPlugins } from './esbuild-plugins.ts';
6
-
7
- await wrapCliTask(() => build({ customEsbuildPlugins }));
@@ -1,3 +0,0 @@
1
- import { exec } from 'obsidian-dev-utils/script-utils/exec';
2
-
3
- await exec('czg');
@@ -1,2 +0,0 @@
1
- <%- render('lint-build-styles') -%>
2
- import './build-styles.ts';
@@ -1 +0,0 @@
1
- // eslint-disable-next-line import-x/no-unassigned-import -- Importing the module RUNS the style build; there is nothing to bind.
@@ -1,7 +0,0 @@
1
- import { dev } from 'obsidian-dev-utils/script-utils/bundlers/esbuild';
2
- import { wrapCliTask } from 'obsidian-dev-utils/script-utils/cli-utils';
3
-
4
- <%- render('dev-utils-pre-build') -%>
5
- import { customEsbuildPlugins } from './esbuild-plugins.ts';
6
-
7
- await wrapCliTask(() => dev({ customEsbuildPlugins }));
@@ -1,20 +0,0 @@
1
- import type { Plugin } from 'esbuild';
2
- <%- render('dev-utils-import') -%>
3
-
4
- /**
5
- * The esbuild plugins obsidian-dev-utils' own build does not already register.
6
- *
7
- * `build()` and `dev()` spread `customEsbuildPlugins` into their plugin list, which is the whole seam.
8
- * They ship a svelte wrapper and a sass plugin built in -- which is exactly why svelte and SCSS work on
9
- * these presets untouched -- but nothing for Vue, so `esbuild-plugin-vue3` was installed and never
10
- * wired in, and any project reaching a `.vue` file from its module graph failed with "No loader is
11
- * configured for `.vue` files".
12
- *
13
- * Shared by `build.ts` and `dev.ts` rather than written into each: one list, one place to add to.
14
- */
15
- <%# Each per-answer partial ends its entry with a comma so two of them concatenate into a valid list. -%>
16
- <%# The LAST one's comma is then a trailing comma, which the shared ESLint config rejects, so it is -%>
17
- <%# stripped here rather than by making every partial know whether it is last. -%>
18
- <%# With no entry at all the list is `[]` on one line, which is how the formatter writes an empty array. -%>
19
- <% const devUtilsPlugins = render('dev-utils-plugin').replace(/,(?<Trailing>\s*)$/, '$<Trailing>'); -%>
20
- export const customEsbuildPlugins: Plugin[] = [<%- devUtilsPlugins === '' ? '' : `\n${devUtilsPlugins}` -%>];
@@ -1,2 +0,0 @@
1
-
2
- import vuePlugin from 'esbuild-plugin-vue3';
@@ -1,13 +0,0 @@
1
- // The obsidian-dev-utils `build()` owns the esbuild options, so the `.wasm` loader is set from inside a
2
- // Plugin -- the one seam it exposes. Same decision as the standalone preset makes with a plain
3
- // `loader` option, and for the same reason: `esbuild-plugin-wasm` emits a top-level `await`, which
4
- // Esbuild supports only for `esm` output, and an Obsidian bundle is `cjs`.
5
- {
6
- name: 'wasm-binary-loader',
7
- setup(build): void {
8
- build.initialOptions.loader = {
9
- ...build.initialOptions.loader,
10
- '.wasm': 'binary'
11
- };
12
- }
13
- },
@@ -1,7 +0,0 @@
1
- import process from 'node:process';
2
- import { wrapCliTask } from 'obsidian-dev-utils/script-utils/cli-utils';
3
- import { format } from 'obsidian-dev-utils/script-utils/formatters/dprint';
4
-
5
- const [, , ...paths] = process.argv;
6
-
7
- await wrapCliTask(() => format({ paths, rewrite: false }));
@@ -1,7 +0,0 @@
1
- import process from 'node:process';
2
- import { wrapCliTask } from 'obsidian-dev-utils/script-utils/cli-utils';
3
- import { format } from 'obsidian-dev-utils/script-utils/formatters/dprint';
4
-
5
- const [, , ...paths] = process.argv;
6
-
7
- await wrapCliTask(() => format({ paths }));
@@ -1,7 +0,0 @@
1
- import process from 'node:process';
2
- import { wrapCliTask } from 'obsidian-dev-utils/script-utils/cli-utils';
3
- import { lint } from 'obsidian-dev-utils/script-utils/linters/eslint';
4
-
5
- const [, , ...paths] = process.argv;
6
-
7
- await wrapCliTask(() => lint({ paths, shouldFix: true }));
@@ -1,7 +0,0 @@
1
- import process from 'node:process';
2
- import { wrapCliTask } from 'obsidian-dev-utils/script-utils/cli-utils';
3
- import { lint } from 'obsidian-dev-utils/script-utils/linters/markdownlint';
4
-
5
- const [, , ...paths] = process.argv;
6
-
7
- await wrapCliTask(() => lint({ paths, shouldFix: true }));
@@ -1,7 +0,0 @@
1
- import process from 'node:process';
2
- import { wrapCliTask } from 'obsidian-dev-utils/script-utils/cli-utils';
3
- import { lint } from 'obsidian-dev-utils/script-utils/linters/markdownlint';
4
-
5
- const [, , ...paths] = process.argv;
6
-
7
- await wrapCliTask(() => lint({ paths }));
@@ -1,7 +0,0 @@
1
- import process from 'node:process';
2
- import { wrapCliTask } from 'obsidian-dev-utils/script-utils/cli-utils';
3
- import { lint } from 'obsidian-dev-utils/script-utils/linters/eslint';
4
-
5
- const [, , ...paths] = process.argv;
6
-
7
- await wrapCliTask(() => lint({ paths }));
@@ -1,3 +0,0 @@
1
- import { execFromRoot } from 'obsidian-dev-utils/script-utils/root';
2
-
3
- await execFromRoot('husky');
@@ -1,7 +0,0 @@
1
- import process from 'node:process';
2
- import { wrapCliTask } from 'obsidian-dev-utils/script-utils/cli-utils';
3
- import { spellcheck } from 'obsidian-dev-utils/script-utils/linters/cspell';
4
-
5
- const [, , ...paths] = process.argv;
6
-
7
- await wrapCliTask(() => spellcheck({ paths }));
@@ -1,13 +0,0 @@
1
- import { execSync } from 'node:child_process';
2
- import process from 'node:process';
3
-
4
- // Jest runs the suite as ESM (see `jest.config.ts`), and its ESM loader is built on `vm.SyntheticModule`,
5
- // which Node only exposes under `--experimental-vm-modules`. Without the flag every suite fails to load
6
- // with "Must use import to load ES Module". Appended so an inherited NODE_OPTIONS survives.
7
- const nodeOptions = `${process.env['NODE_OPTIONS'] ?? ''} --experimental-vm-modules`.trim();
8
-
9
- try {
10
- execSync('jest --watch', { env: { ...process.env, NODE_OPTIONS: nodeOptions }, stdio: 'inherit' });
11
- } catch {
12
- process.exit(1);
13
- }
@@ -1,8 +0,0 @@
1
- import { wrapCliTask } from 'obsidian-dev-utils/script-utils/cli-utils';
2
- import { testWatch } from 'obsidian-dev-utils/script-utils/test-runners/vitest';
3
-
4
- await wrapCliTask(() =>
5
- testWatch({
6
- projects: ['unit-tests']
7
- })
8
- );
@@ -1,13 +0,0 @@
1
- import { execSync } from 'node:child_process';
2
- import process from 'node:process';
3
-
4
- // Jest runs the suite as ESM (see `jest.config.ts`), and its ESM loader is built on `vm.SyntheticModule`,
5
- // which Node only exposes under `--experimental-vm-modules`. Without the flag every suite fails to load
6
- // with "Must use import to load ES Module". Appended so an inherited NODE_OPTIONS survives.
7
- const nodeOptions = `${process.env['NODE_OPTIONS'] ?? ''} --experimental-vm-modules`.trim();
8
-
9
- try {
10
- execSync('jest', { env: { ...process.env, NODE_OPTIONS: nodeOptions }, stdio: 'inherit' });
11
- } catch {
12
- process.exit(1);
13
- }
@@ -1,8 +0,0 @@
1
- import { wrapCliTask } from 'obsidian-dev-utils/script-utils/cli-utils';
2
- import { test } from 'obsidian-dev-utils/script-utils/test-runners/vitest';
3
-
4
- await wrapCliTask(() =>
5
- test({
6
- projects: ['unit-tests']
7
- })
8
- );
@@ -1 +0,0 @@
1
- // eslint-disable-next-line unicorn/name-replacements -- `emptyOutDir` is vite's own option name.
@@ -1 +0,0 @@
1
- // eslint-disable-next-line unicorn/name-replacements -- `outDir` is vite's own option name.
@@ -1 +0,0 @@
1
- // eslint-disable-next-line import-x/no-named-as-default -- The default export IS the `webpack` namespace; the same name is the point.
@@ -1 +0,0 @@
1
- import './styles/main.module.css'; // Do not delete this line if you want to have a styles.css file in your build output.
@@ -1,45 +0,0 @@
1
- import { ItemView } from 'obsidian';
2
- // eslint-disable-next-line import-x/no-deprecated -- Only the third `replaceNode` parameter is deprecated; the two-argument form this file uses is not.
3
- import { render } from 'preact';
4
-
5
- import type { SamplePreactComponentProps } from '../preact-components/sample-preact-component.tsx';
6
-
7
- import {
8
- AppContext,
9
- SamplePreactComponent
10
- } from '../preact-components/sample-preact-component.tsx';
11
-
12
- export const SAMPLE_PREACT_VIEW_TYPE = '<%= pluginId %>-SamplePreactView';
13
-
14
- export class SamplePreactView extends ItemView {
15
- public override getDisplayText(): string {
16
- return 'Sample Preact view';
17
- }
18
-
19
- public override getViewType(): string {
20
- return SAMPLE_PREACT_VIEW_TYPE;
21
- }
22
-
23
- public override onClose(): Promise<void> {
24
- // eslint-disable-next-line import-x/no-deprecated -- See the import: the two-argument form is not deprecated.
25
- render(null, this.contentEl);
26
- return super.onClose();
27
- }
28
-
29
- public override onOpen(): Promise<void> {
30
- const START_COUNT = 10;
31
- const props: SamplePreactComponentProps = {
32
- startCount: START_COUNT
33
- };
34
-
35
- // eslint-disable-next-line import-x/no-deprecated -- See the import: the two-argument form is not deprecated.
36
- render(
37
- <AppContext.Provider value={this.app}>
38
- <SamplePreactComponent {...props} />
39
- </AppContext.Provider>,
40
- this.contentEl
41
- );
42
-
43
- return super.onOpen();
44
- }
45
- }
@@ -1,2 +0,0 @@
1
- "jsx": "react-jsx",
2
- "jsxImportSource": "preact",
@@ -1,2 +0,0 @@
1
- "jsx": "preserve",
2
- "jsxImportSource": "solid-js",