@mnaoumov/create-obsidian-plugin 1.0.2 → 1.2.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 (683) hide show
  1. package/README.md +46 -8
  2. package/dist/main.js +1838 -1007
  3. package/package.json +15 -5
  4. package/src/main.ts +133 -25
  5. package/templates/default/{parcel-transformer-inline-imports.cjs.ejs → (bundlers)/parcel-transformer-inline-imports.cjs.ejs} +1 -1
  6. package/templates/default/{CONTRIBUTING.md.ejs → (contributing)/CONTRIBUTING.md.ejs} +1 -0
  7. package/templates/default/{CONTRIBUTING.md@demo-vault_dev-utils.ejs → (contributing)/CONTRIBUTING.md@demo-vault_framework.ejs} +1 -1
  8. package/templates/default/(contributing)/CONTRIBUTING.md@filing_bug-and-feature.ejs +6 -0
  9. package/templates/default/{.prettierignore.ejs → (format)/.prettierignore.ejs} +1 -0
  10. package/templates/default/(format)/.prettierignore@ignores_docs-showcase.ejs +3 -0
  11. package/templates/default/(format)/biome.jsonc_framework.ejs +16 -0
  12. package/templates/default/(format)/biome.jsonc_framework@excludes_docs-showcase.ejs +1 -0
  13. package/templates/default/{biome.jsonc.ejs → (format)/biome.jsonc_standalone.ejs} +1 -1
  14. package/templates/default/(format)/dprint.json_framework.ejs +10 -0
  15. package/templates/default/(format)/dprint.json_framework@excludes_docs-showcase.ejs +2 -0
  16. package/templates/default/{dprint.json_standalone.ejs → (format)/dprint.json_standalone.ejs} +1 -0
  17. package/templates/default/(format)/prettier.config.mjs_framework.ejs +3 -0
  18. package/templates/default/{cspell.json.ejs → (lint)/cspell.json.ejs} +11 -2
  19. package/templates/default/(lint)/cspell.json@ignore-paths_docs-showcase.ejs +1 -0
  20. package/templates/default/{eslint.config.mts_standalone.ejs → (lint)/eslint.config.mts_standalone.ejs} +9 -0
  21. package/templates/default/{package.json@targets_parcel.ejs → (package)/package.json@targets_parcel-targets.ejs} +0 -5
  22. package/templates/default/(package)/package.json@targets_parcel.ejs +5 -0
  23. package/templates/default/(readme)/README.md.ejs +38 -0
  24. package/templates/default/{README.md@demo-vault_dev-utils.ejs → (readme)/README.md@demo-vault_framework.ejs} +1 -1
  25. package/templates/default/(readme)/README.md@preset_docs-showcase.ejs +4 -0
  26. package/templates/default/(readme)/README.md@preset_framework.ejs +6 -0
  27. package/templates/default/(readme)/README.md@support_bug-and-feature.ejs +11 -0
  28. package/templates/default/(readme)/README.md@support_bug-and-feature@bug-report_has-bug-report-command.ejs +2 -0
  29. package/templates/default/(test)/jest.config.ts_framework.ejs +31 -0
  30. package/templates/default/{scripts/rollup.config.ts@lint-out-dir_dev-utils.ejs → (test)/jest.config.ts_framework@lint-root-dir_framework.ejs} +1 -1
  31. package/templates/default/(test)/jest.config.ts_framework@ts-jest-tsconfig_solid.ejs +8 -0
  32. package/templates/default/{jest.config.ts.ejs → (test)/jest.config.ts_standalone.ejs} +0 -1
  33. package/templates/default/{vitest.config.ts_standalone.ejs → (test)/vitest.config.ts_standalone.ejs} +11 -2
  34. package/templates/default/(test)/wdio.conf.mts.ejs +5 -0
  35. package/templates/default/{wdio.conf.ts.ejs → (test)/wdio.conf.ts.ejs} +4 -4
  36. package/templates/default/{tsconfig.json_dev-utils.ejs → (tsconfig)/(framework)/tsconfig.json_framework.ejs} +2 -2
  37. package/templates/default/(tsconfig)/(framework)/tsconfig.json_framework@exclude_docs-showcase.ejs +4 -0
  38. package/templates/default/(tsconfig)/(framework)/tsconfig.json_framework@include_wdio-obsidian.ejs +1 -0
  39. package/templates/default/(tsconfig)/(framework)/tsconfig.json_framework@types_toolkit-styles.ejs +2 -0
  40. package/templates/default/(tsconfig)/(framework)/tsconfig.json_framework@types_wasm.ejs +2 -0
  41. package/templates/default/{tsconfig.json_standalone.ejs → (tsconfig)/(standalone)/tsconfig.json_standalone.ejs} +1 -1
  42. package/templates/default/.github/ISSUE_TEMPLATE/bug_report.yml.ejs +62 -24
  43. package/templates/default/.github/ISSUE_TEMPLATE/config.yml.ejs +4 -0
  44. package/templates/default/.github/workflows/attest-release-assets.yml.ejs +1 -11
  45. package/templates/default/.github/workflows/ci.yml_framework.ejs +19 -0
  46. package/templates/default/.github/workflows/ci.yml_framework@job-permissions_measured-coverage-badge.ejs +3 -0
  47. package/templates/default/.github/workflows/ci.yml_framework@with_measured-coverage-badge.ejs +1 -0
  48. package/templates/default/.github/workflows/{ci.yml.ejs → ci.yml_standalone.ejs} +1 -1
  49. package/templates/default/.github/workflows/release.yml_framework.ejs +19 -0
  50. package/templates/default/.github/workflows/{release.yml.ejs → release.yml_standalone.ejs} +1 -1
  51. package/templates/default/.gitignore_common.ejs +1 -0
  52. package/templates/default/.gitignore_wdio-obsidian.ejs +2 -0
  53. package/templates/default/.nvmrc.ejs +1 -0
  54. package/templates/default/demo-vault/.gitignore.ejs +4 -4
  55. package/templates/default/demo-vault/00 Start.md.ejs +1 -1
  56. package/templates/default/demo-vault/01 Sample commands.md.ejs +4 -4
  57. package/templates/default/demo-vault/02 Settings.md.ejs +2 -2
  58. package/templates/default/demo-vault/03 WebAssembly.md.ejs +2 -2
  59. package/templates/default/demo-vault/README.md.ejs +1 -1
  60. package/templates/default/demo-vault/_assets/CodeScriptToolkit/demoSetup.ts.ejs +1 -1
  61. package/templates/default/demo-vault/_assets/CodeScriptToolkit/startup.ts.ejs +4 -4
  62. package/templates/default/scripts/{build.ts@bundler_cli-bundler.ejs → (build)/(cli-bundler)/build.ts@bundler_cli-bundler.ejs} +1 -1
  63. package/templates/default/scripts/{dev.ts.ejs → (build)/(dev)/dev.ts.ejs} +1 -1
  64. package/templates/default/scripts/(build)/(dev)/dev.ts@bundler_adapter-cli.ejs +6 -0
  65. package/templates/default/scripts/(build)/(dev)/dev.ts@bundler_adapter-cli@run_rollup.ejs +3 -0
  66. package/templates/default/scripts/(build)/(dev)/dev.ts@bundler_adapter-cli@run_vite.ejs +3 -0
  67. package/templates/default/scripts/(build)/(dev)/dev.ts@bundler_adapter-cli@run_webpack.ejs +3 -0
  68. package/templates/default/scripts/(build)/(dev)/dev.ts@bundler_esbuild.ejs +3 -0
  69. package/templates/default/scripts/(build)/(dev)/dev.ts@bundler_esbuild@preset_framework.ejs +5 -0
  70. package/templates/default/scripts/(build)/(dev)/dev.ts@bundler_parcel-adapter.ejs +5 -0
  71. package/templates/default/scripts/(build)/(esbuild)/build.ts@bundler_esbuild.ejs +3 -0
  72. package/templates/default/scripts/(build)/(esbuild)/build.ts@bundler_esbuild@import_tailwind.ejs +1 -0
  73. package/templates/default/scripts/(build)/(esbuild)/build.ts@bundler_esbuild@preset_framework.ejs +5 -0
  74. package/templates/default/scripts/(build)/build-clean.ts.ejs +4 -0
  75. package/templates/default/scripts/(build)/build-compile-typescript.ts.ejs +14 -0
  76. package/templates/default/scripts/(build)/build-compile.ts.ejs +4 -0
  77. package/templates/default/scripts/(build)/build-options.ts.ejs +9 -0
  78. package/templates/default/scripts/(build)/build-styles.ts.ejs +9 -0
  79. package/templates/default/scripts/{build.ts.ejs → (build)/build.ts.ejs} +2 -2
  80. package/templates/default/scripts/(build)/build.ts@bundler_adapter-cli.ejs +11 -0
  81. package/templates/default/scripts/(build)/build.ts@bundler_adapter-cli@run_rollup.ejs +1 -0
  82. package/templates/default/scripts/(build)/build.ts@bundler_adapter-cli@run_vite.ejs +1 -0
  83. package/templates/default/scripts/(build)/build.ts@bundler_adapter-cli@run_webpack.ejs +1 -0
  84. package/templates/default/scripts/(build)/build.ts@bundler_parcel-adapter.ejs +5 -0
  85. package/templates/default/scripts/(format)/format-check.ts@tool_biome-formatter.ejs +3 -0
  86. package/templates/default/scripts/(format)/format-check.ts@tool_biome-formatter@preset_framework.ejs +7 -0
  87. package/templates/default/scripts/(format)/format-check.ts@tool_dprint.ejs +3 -0
  88. package/templates/default/scripts/(format)/format-check.ts@tool_dprint@preset_framework.ejs +7 -0
  89. package/templates/default/scripts/(format)/format-check.ts@tool_prettier.ejs +3 -0
  90. package/templates/default/scripts/(format)/format-check.ts@tool_prettier@preset_framework.ejs +7 -0
  91. package/templates/default/scripts/(format)/format.ts@tool_biome-formatter.ejs +3 -0
  92. package/templates/default/scripts/(format)/format.ts@tool_biome-formatter@preset_framework.ejs +7 -0
  93. package/templates/default/scripts/(format)/format.ts@tool_dprint.ejs +3 -0
  94. package/templates/default/scripts/(format)/format.ts@tool_dprint@preset_framework.ejs +7 -0
  95. package/templates/default/scripts/(format)/format.ts@tool_prettier.ejs +3 -0
  96. package/templates/default/scripts/(format)/format.ts@tool_prettier@preset_framework.ejs +7 -0
  97. package/templates/default/scripts/(lint)/(markdown)/lint-md-fix.ts_framework.ejs +7 -0
  98. package/templates/default/scripts/(lint)/(markdown)/lint-md.ts_framework.ejs +7 -0
  99. package/templates/default/scripts/{markdownlint-cli2-config.ts_dev-utils.ejs → (lint)/(markdown)/markdownlint-cli2-config.ts_framework.ejs} +4 -4
  100. package/templates/default/scripts/{markdownlint-cli2-config.ts_standalone.ejs → (lint)/(markdown)/markdownlint-cli2-config.ts_standalone.ejs} +3 -6
  101. package/templates/default/scripts/{eslint-config.ts.ejs → (lint)/eslint-config.ts.ejs} +3 -14
  102. package/templates/default/scripts/(lint)/eslint-config.ts@ignores_docs-showcase.ejs +4 -0
  103. package/templates/default/scripts/{find-overexposed-fix.ts.ejs → (lint)/find-overexposed-fix.ts.ejs} +4 -4
  104. package/templates/default/scripts/{find-overexposed.ts.ejs → (lint)/find-overexposed.ts.ejs} +3 -3
  105. package/templates/default/scripts/{lint-fix.ts.ejs → (lint)/lint-fix.ts.ejs} +2 -2
  106. package/templates/default/scripts/(lint)/lint-fix.ts@tool_biome-linter.ejs +3 -0
  107. package/templates/default/scripts/(lint)/lint-fix.ts@tool_biome-linter@preset_framework.ejs +7 -0
  108. package/templates/default/scripts/(lint)/lint-fix.ts@tool_eslint.ejs +3 -0
  109. package/templates/default/scripts/(lint)/lint-fix.ts@tool_eslint@preset_framework.ejs +7 -0
  110. package/templates/default/scripts/{lint.ts.ejs → (lint)/lint.ts.ejs} +2 -2
  111. package/templates/default/scripts/(lint)/lint.ts@tool_biome-linter.ejs +3 -0
  112. package/templates/default/scripts/(lint)/lint.ts@tool_biome-linter@preset_framework.ejs +7 -0
  113. package/templates/default/scripts/(lint)/lint.ts@tool_eslint.ejs +3 -0
  114. package/templates/default/scripts/(lint)/lint.ts@tool_eslint@preset_framework.ejs +7 -0
  115. package/templates/default/scripts/{rollup.config.ts.ejs → (rollup)/(standalone)/rollup.config.ts_standalone.ejs} +4 -4
  116. package/templates/default/scripts/(rollup)/rollup.config.ts_framework.ejs +49 -0
  117. package/templates/default/scripts/(rollup)/rollup.config.ts_framework@import_rollup-json.ejs +1 -0
  118. package/templates/default/scripts/(rollup)/rollup.config.ts_framework@import_scss.ejs +1 -0
  119. package/templates/default/scripts/(rollup)/rollup.config.ts_framework@plugin_rollup-json.ejs +2 -0
  120. package/templates/default/scripts/(rollup)/rollup.config.ts_framework@plugin_scss.ejs +3 -0
  121. package/templates/default/scripts/(rollup)/rollup.config.ts_framework@unwrap_rollup-json.ejs +1 -0
  122. package/templates/default/scripts/(rollup)/rollup.config.ts_framework@unwrap_scss.ejs +1 -0
  123. package/templates/default/scripts/(test)/(e2e)/test-e2e.ts@tool_obsidian-test.ejs +2 -0
  124. package/templates/default/scripts/(test)/(e2e)/test-e2e.ts@tool_obsidian-test@preset_framework.ejs +4 -0
  125. package/templates/default/scripts/(test)/(e2e)/test-e2e.ts@tool_wdio-obsidian.ejs +2 -0
  126. package/templates/default/scripts/(test)/(e2e)/test-e2e.ts@tool_wdio-obsidian@preset_framework.ejs +5 -0
  127. package/templates/default/scripts/{demo-vault-global-setup.ts.ejs → (test)/(integration)/demo-vault-global-setup.ts.ejs} +7 -4
  128. package/templates/default/scripts/(test)/(integration)/test-integration-android.ts.ejs +8 -0
  129. package/templates/default/scripts/(test)/(integration)/test-integration-demo-vault.ts.ejs +8 -0
  130. package/templates/default/scripts/(test)/(integration)/test-integration-desktop-performance.ts.ejs +8 -0
  131. package/templates/default/scripts/(test)/(integration)/test-integration-desktop.ts.ejs +8 -0
  132. package/templates/default/scripts/(test)/(integration)/test-integration-no-app.ts.ejs +8 -0
  133. package/templates/default/scripts/{test-integration.ts.ejs → (test)/(integration)/test-integration.ts.ejs} +2 -2
  134. package/templates/default/scripts/{stylesheet-stub.ts.ejs → (test)/stylesheet-stub.ts.ejs} +1 -1
  135. package/templates/default/scripts/(test)/test-coverage.ts.ejs +2 -0
  136. package/templates/default/scripts/(test)/test-coverage.ts@tool_jest.ejs +5 -0
  137. package/templates/default/scripts/(test)/test-coverage.ts@tool_vitest.ejs +8 -0
  138. package/templates/default/scripts/(test)/test-watch.ts_framework@tool_jest.ejs +5 -0
  139. package/templates/default/scripts/(test)/test-watch.ts_framework@tool_vitest.ejs +8 -0
  140. package/templates/default/scripts/(test)/test.ts_framework@tool_jest.ejs +5 -0
  141. package/templates/default/scripts/(test)/test.ts_framework@tool_vitest.ejs +8 -0
  142. package/templates/default/scripts/{vitest-config.ts.ejs → (test)/vitest-config.ts.ejs} +3 -2
  143. package/templates/default/scripts/(test)/vitest-config.ts@edit-context_docs-showcase.ejs +3 -0
  144. package/templates/default/scripts/{vitest-config.ts@post-config_solid.ejs → (test)/vitest-config.ts@post-config_solid.ejs} +6 -8
  145. package/templates/default/scripts/(vite)/vite.config.ts_framework.ejs +10 -0
  146. package/templates/default/scripts/{vite.config.ts.ejs → (vite)/vite.config.ts_standalone.ejs} +5 -8
  147. package/templates/default/scripts/(webpack)/webpack.config.ts_framework.ejs +19 -0
  148. package/templates/default/scripts/(webpack)/webpack.config.ts_framework@import_scss.ejs +1 -0
  149. package/templates/default/scripts/(webpack)/webpack.config.ts_framework@plugin_scss.ejs +1 -0
  150. package/templates/default/scripts/(webpack)/webpack.config.ts_framework@rule_scss.ejs +4 -0
  151. package/templates/default/scripts/{webpack.config.ts.ejs → (webpack)/webpack.config.ts_standalone.ejs} +4 -4
  152. package/templates/default/scripts/commit.ts_framework.ejs +3 -0
  153. package/templates/default/scripts/commitlint-config.ts_framework.ejs +1 -0
  154. package/templates/default/scripts/gate.ts.ejs +3 -3
  155. package/templates/default/scripts/nano-staged-config.ts_toolkit-nano-staged.ejs +3 -0
  156. package/templates/default/scripts/prepare.ts_framework.ejs +3 -0
  157. package/templates/default/scripts/spellcheck.ts_framework.ejs +7 -0
  158. package/templates/default/scripts/{version.ts_dev-utils.ejs → version.ts_framework.ejs} +3 -3
  159. package/templates/default/scripts/version.ts_standalone.ejs +4 -4
  160. package/templates/default/src/(main)/main.ts@import_tailwind.ejs +1 -0
  161. package/templates/default/src/(main)/main.ts@import_tailwind@preset_framework.ejs +1 -0
  162. package/templates/default/src/{plugin.ts_enhanced.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one.ejs} +7 -5
  163. package/templates/default/src/(plugin)/(all-in-one)/plugin.ts_all-in-one@bug-report-handler_has-bug-report-command.ejs +7 -0
  164. package/templates/default/src/(plugin)/(all-in-one)/plugin.ts_all-in-one@bug-report-import_has-bug-report-command.ejs +1 -0
  165. package/templates/default/src/(plugin)/(all-in-one)/plugin.ts_all-in-one@import2_css-modules.ejs +1 -0
  166. package/templates/default/src/(plugin)/(all-in-one)/plugin.ts_all-in-one@import2_docs-showcase.ejs +1 -0
  167. package/templates/default/src/(plugin)/(all-in-one)/plugin.ts_all-in-one@onload_css-modules.ejs +1 -0
  168. package/templates/default/src/(plugin)/(all-in-one)/plugin.ts_all-in-one@onload_docs-showcase.ejs +3 -0
  169. package/templates/default/src/{plugin.ts_demo.ejs → (plugin)/(demo)/plugin.ts_demo.ejs} +18 -16
  170. package/templates/default/src/(plugin)/(demo)/plugin.ts_demo@bug-report-handler_has-bug-report-command.ejs +7 -0
  171. package/templates/default/src/(plugin)/(demo)/plugin.ts_demo@bug-report-import_has-bug-report-command.ejs +1 -0
  172. package/templates/default/src/(plugin)/(demo)/plugin.ts_demo@import_css-modules.ejs +1 -0
  173. package/templates/default/src/(plugin)/(demo)/plugin.ts_demo@onload_css-modules.ejs +1 -0
  174. package/templates/default/src/{plugin.ts_standalone.ejs → (plugin)/(standalone)/plugin.ts_standalone.ejs} +5 -3
  175. package/templates/default/src/(plugin)/(standalone)/plugin.ts_standalone@import_css-modules.ejs +1 -0
  176. package/templates/default/src/(plugin)/(standalone)/plugin.ts_standalone@onload_css-modules.ejs +1 -0
  177. package/templates/default/src/{plugin-settings-component.test.ts_enhanced.ejs → (settings)/plugin-settings-component.test.ts_all-in-one.ejs} +4 -4
  178. package/templates/default/src/{plugin-settings-component.test.ts_demo.ejs → (settings)/plugin-settings-component.test.ts_demo.ejs} +5 -5
  179. package/templates/default/src/{plugin-settings-component.ts_enhanced.ejs → (settings)/plugin-settings-component.ts_all-in-one.ejs} +3 -3
  180. package/templates/default/src/{plugin-settings-component.ts_demo.ejs → (settings)/plugin-settings-component.ts_demo.ejs} +9 -7
  181. package/templates/default/src/{plugin-settings-tab.ts_enhanced.ejs → (settings)/plugin-settings-tab.ts_all-in-one.ejs} +1 -1
  182. package/templates/default/src/{plugin-settings-tab.ts_demo.ejs → (settings)/plugin-settings-tab.ts_demo.ejs} +5 -5
  183. package/templates/default/src/{plugin-settings.ts_demo.ejs → (settings)/plugin-settings.ts_demo.ejs} +2 -2
  184. package/templates/default/src/demo-vault-buttons.demo-vault.integration.test.ts.ejs +2 -2
  185. package/templates/default/src/demo-vault.no-app.integration.test.ts.ejs +3 -3
  186. package/templates/default/src/docs-showcase.desktop.integration.test.ts.ejs +77 -0
  187. package/templates/default/src/editor-extensions/{sample-state-field.ts_dev-utils.ejs → sample-state-field.ts_framework.ejs} +1 -1
  188. package/templates/default/src/lit-elements/sample-lit-element.ts.ejs +1 -1
  189. package/templates/default/src/modals/sample-suggest-modal.ts.ejs +2 -2
  190. package/templates/default/src/plugin.test.ts_jest.ejs +3 -0
  191. package/templates/default/src/plugin.test.ts_jest@bug-report-import_has-bug-report-command.ejs +4 -0
  192. package/templates/default/src/plugin.test.ts_jest@bug-report-test_has-bug-report-command.ejs +16 -0
  193. package/templates/default/src/plugin.test.ts_jest@bug-report-type-import_has-bug-report-command.ejs +2 -0
  194. package/templates/default/src/plugin.test.ts_vitest.ejs +3 -0
  195. package/templates/default/src/plugin.test.ts_vitest@bug-report-import_has-bug-report-command.ejs +4 -0
  196. package/templates/default/src/plugin.test.ts_vitest@bug-report-test_has-bug-report-command.ejs +16 -0
  197. package/templates/default/src/plugin.test.ts_vitest@bug-report-type-import_has-bug-report-command.ejs +2 -0
  198. package/templates/default/src/preact-components/{sample-preact-component.tsx_dev-utils.ejs → sample-preact-component.tsx_framework.ejs} +1 -1
  199. package/templates/default/src/preact-components/sample-preact-component.tsx_standalone.ejs +1 -1
  200. package/templates/default/src/react-components/{sample-react-component.tsx_dev-utils.ejs → sample-react-component.tsx_framework.ejs} +2 -2
  201. package/templates/default/src/react-components/sample-react-component.tsx_standalone.ejs +1 -1
  202. package/templates/default/src/solid-components/{sample-solid-component.tsx_dev-utils.ejs → sample-solid-component.tsx_framework.ejs} +1 -1
  203. package/templates/default/src/solid-components/sample-solid-component.tsx_standalone.ejs +1 -1
  204. package/templates/default/src/styles/css-modules.d.ts.ejs +9 -3
  205. package/templates/default/src/styles/{main.css_dev-utils.ejs → main.css_framework.ejs} +3 -3
  206. package/templates/default/src/styles/main.module.css.ejs +4 -2
  207. package/templates/default/src/styles/{main.scss_dev-utils.ejs → main.scss_framework.ejs} +3 -3
  208. package/templates/default/src/styles/sample-css-module-command.ts.ejs +30 -0
  209. package/templates/default/src/svelte-components/sample-svelte-component.d.ts.ejs +2 -2
  210. package/templates/default/src/views/{sample-react-view.tsx_dev-utils.ejs → sample-react-view.tsx_framework.ejs} +1 -1
  211. package/templates/default/src/views/sample-view.ts.ejs +2 -1
  212. package/templates/default/src/wasm/answer.ts_wasm-adapter.ejs +18 -0
  213. package/templates/docs-showcase/files/src/docs/README.md +511 -0
  214. package/templates/docs-showcase/files/src/docs/entry.d.ts +8 -0
  215. package/templates/docs-showcase/files/src/docs/entry.js +4 -0
  216. package/templates/docs-showcase/files/src/docs/host.ts +449 -0
  217. package/templates/docs-showcase/files/src/docs/index.ts +699 -0
  218. package/templates/docs-showcase/files/src/docs/plugins/editor/communicating-with-editor-extensions/01-intro.ts +21 -0
  219. package/templates/docs-showcase/files/src/docs/plugins/editor/communicating-with-editor-extensions/03-state-field.ts +32 -0
  220. package/templates/docs-showcase/files/src/docs/plugins/editor/decorations/01-widgets.ts +23 -0
  221. package/templates/docs-showcase/files/src/docs/plugins/editor/decorations/02-widgets.ts +20 -0
  222. package/templates/docs-showcase/files/src/docs/plugins/editor/decorations/04-state-fields.ts +57 -0
  223. package/templates/docs-showcase/files/src/docs/plugins/editor/decorations/05-view-plugins.ts +79 -0
  224. package/templates/docs-showcase/files/src/docs/plugins/editor/editor/01-intro.ts +26 -0
  225. package/templates/docs-showcase/files/src/docs/plugins/editor/editor/03-replace-current-selection.ts +26 -0
  226. package/templates/docs-showcase/files/src/docs/plugins/editor/markdown-post-processing/01-intro.ts +39 -0
  227. package/templates/docs-showcase/files/src/docs/plugins/editor/state-fields/01-defining-state-effects.ts +19 -0
  228. package/templates/docs-showcase/files/src/docs/plugins/editor/state-fields/02-defining-a-state-field.ts +35 -0
  229. package/templates/docs-showcase/files/src/docs/plugins/editor/state-fields/04-dispatching-state-effects.ts +34 -0
  230. package/templates/docs-showcase/files/src/docs/plugins/editor/state-management/01-state-changes.ts +21 -0
  231. package/templates/docs-showcase/files/src/docs/plugins/editor/state-management/02-state-changes.ts +23 -0
  232. package/templates/docs-showcase/files/src/docs/plugins/editor/view-plugins/01-creating-a-view-plugin.ts +36 -0
  233. package/templates/docs-showcase/files/src/docs/plugins/events/01-intro.ts +21 -0
  234. package/templates/docs-showcase/files/src/docs/plugins/getting-started/anatomy-of-a-plugin/01-intro.ts +22 -0
  235. package/templates/docs-showcase/files/src/docs/plugins/getting-started/anatomy-of-a-plugin/02-plugin-lifecycle.ts +22 -0
  236. package/templates/docs-showcase/files/src/docs/plugins/getting-started/build-a-plugin/06-step-5-update-the-source-code.ts +19 -0
  237. package/templates/docs-showcase/files/src/docs/plugins/getting-started/build-a-plugin/07-step-5-update-the-source-code.ts +21 -0
  238. package/templates/docs-showcase/files/src/docs/plugins/getting-started/mobile-development/03-platform-specific-features.ts +25 -0
  239. package/templates/docs-showcase/files/src/docs/plugins/getting-started/use-react-in-your-plugin/03-configure-your-plugin.ts +23 -0
  240. package/templates/docs-showcase/files/src/docs/plugins/guides/build-a-bases-view/01-step-1-sample-plugin-setup.ts +18 -0
  241. 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
  242. package/templates/docs-showcase/files/src/docs/plugins/guides/build-a-bases-view/03-step-3-add-configuration.ts +40 -0
  243. package/templates/docs-showcase/files/src/docs/plugins/guides/defer-views/04-accessing-your-customview-without-reveal.ts +26 -0
  244. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/01-overview.ts +26 -0
  245. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/02-overview.ts +30 -0
  246. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/03-automatic-resource-management-with-compo.ts +26 -0
  247. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/04-registerevent-eventref.ts +22 -0
  248. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/05-registerinterval-id.ts +21 -0
  249. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/06-registerdomevent-el-event-handler.ts +20 -0
  250. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/08-understanding-the-lifecycle-of-objects.ts +29 -0
  251. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/14-componentized-modal-example.ts +37 -0
  252. 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
  253. 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
  254. package/templates/docs-showcase/files/src/docs/plugins/guides/store-secrets/03-step-3-retrieve-the-secret-value.ts +22 -0
  255. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/01-use-setheading-instead-of-a-h1-h2.ts +20 -0
  256. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/03-clean-up-resources-when-plugin-unloads.ts +23 -0
  257. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/04-avoid-accessing-workspace-activeleaf-dir.ts +24 -0
  258. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/05-avoid-accessing-workspace-activeleaf-dir.ts +22 -0
  259. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/10-avoid-iterating-all-files-to-find-a-file.ts +20 -0
  260. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/11-avoid-iterating-all-files-to-find-a-file.ts +20 -0
  261. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/13-use-normalizepath-to-clean-up-user-defin.ts +18 -0
  262. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/15-no-hardcoded-styling.ts +21 -0
  263. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/16-no-hardcoded-styling.ts +19 -0
  264. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/17-no-hardcoded-styling.ts +14 -0
  265. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/18-prefer-async-await-over-promise.ts +24 -0
  266. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/19-prefer-async-await-over-promise.ts +27 -0
  267. package/templates/docs-showcase/files/src/docs/plugins/user-interface/commands/01-intro.ts +25 -0
  268. package/templates/docs-showcase/files/src/docs/plugins/user-interface/commands/03-editor-commands.ts +27 -0
  269. package/templates/docs-showcase/files/src/docs/plugins/user-interface/commands/05-hot-keys.ts +25 -0
  270. package/templates/docs-showcase/files/src/docs/plugins/user-interface/context-menus/01-intro.ts +41 -0
  271. package/templates/docs-showcase/files/src/docs/plugins/user-interface/html-elements/02-create-html-elements-using-createel.ts +19 -0
  272. package/templates/docs-showcase/files/src/docs/plugins/user-interface/html-elements/03-create-html-elements-using-createel.ts +21 -0
  273. package/templates/docs-showcase/files/src/docs/plugins/user-interface/html-elements/04-style-your-elements.ts +14 -0
  274. package/templates/docs-showcase/files/src/docs/plugins/user-interface/html-elements/05-style-your-elements.ts +21 -0
  275. package/templates/docs-showcase/files/src/docs/plugins/user-interface/html-elements/06-conditional-styles.ts +19 -0
  276. package/templates/docs-showcase/files/src/docs/plugins/user-interface/icons/01-use-icons.ts +20 -0
  277. package/templates/docs-showcase/files/src/docs/plugins/user-interface/icons/02-use-icons.ts +14 -0
  278. package/templates/docs-showcase/files/src/docs/plugins/user-interface/icons/03-add-your-own-icon.ts +23 -0
  279. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/01-intro.ts +20 -0
  280. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/02-intro.ts +26 -0
  281. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/03-accept-user-input.ts +38 -0
  282. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/04-accept-user-input.ts +22 -0
  283. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/05-select-from-list-of-suggestions.ts +56 -0
  284. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/06-approximate-string-matching-results.ts +28 -0
  285. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/07-custom-rendering-of-fuzzy-search-results.ts +41 -0
  286. package/templates/docs-showcase/files/src/docs/plugins/user-interface/ribbon-actions/01-intro.ts +21 -0
  287. package/templates/docs-showcase/files/src/docs/plugins/user-interface/right-to-left/01-use-fallback-values-when-necessary.ts +14 -0
  288. package/templates/docs-showcase/files/src/docs/plugins/user-interface/right-to-left/02-global-selectors.ts +14 -0
  289. package/templates/docs-showcase/files/src/docs/plugins/user-interface/right-to-left/03-icons-are-mirrored-automatically.ts +14 -0
  290. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/09-toggle.ts +20 -0
  291. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/10-text.ts +23 -0
  292. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/11-textarea.ts +23 -0
  293. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/12-number.ts +23 -0
  294. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/13-slider.ts +23 -0
  295. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/14-dropdown.ts +28 -0
  296. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/15-file.ts +27 -0
  297. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/16-folder.ts +23 -0
  298. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/17-color-picker.ts +20 -0
  299. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/18-validating-input.ts +28 -0
  300. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/23-groups.ts +27 -0
  301. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/32-cleanup.ts +30 -0
  302. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/33-no-top-level-heading.ts +27 -0
  303. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/34-headings-only-when-there-are-multiple-se.ts +26 -0
  304. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/36-headings.ts +20 -0
  305. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/38-moment-format.ts +42 -0
  306. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/39-buttons.ts +26 -0
  307. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/40-extra-button.ts +28 -0
  308. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/41-progress-bar.ts +23 -0
  309. package/templates/docs-showcase/files/src/docs/plugins/user-interface/status-bar/01-intro.ts +20 -0
  310. package/templates/docs-showcase/files/src/docs/plugins/user-interface/status-bar/02-intro.ts +25 -0
  311. package/templates/docs-showcase/files/src/docs/plugins/user-interface/views/01-intro.ts +39 -0
  312. package/templates/docs-showcase/files/src/docs/plugins/user-interface/workspace/05-inspect-the-workspace.ts +23 -0
  313. package/templates/docs-showcase/files/src/docs/plugins/user-interface/workspace/06-leaf-groups.ts +19 -0
  314. package/templates/docs-showcase/files/src/docs/plugins/vault/02-read-files.ts +37 -0
  315. package/templates/docs-showcase/files/src/docs/plugins/vault/03-modify-files.ts +19 -0
  316. package/templates/docs-showcase/files/src/docs/plugins/vault/04-modify-files.ts +22 -0
  317. package/templates/docs-showcase/files/src/docs/plugins/vault/05-is-it-a-file-or-folder.ts +25 -0
  318. package/templates/docs-showcase/files/src/docs/reference/css-variables/about-styling/01-for-plugins.ts +14 -0
  319. package/templates/docs-showcase/files/src/docs/reference/css-variables/about-styling/02-for-themes-and-snippets.ts +14 -0
  320. package/templates/docs-showcase/files/src/docs/reference/css-variables/publish/site-fonts/01-intro.ts +14 -0
  321. package/templates/docs-showcase/files/src/docs/reference/typescript-api/command/callback/01-example.ts +24 -0
  322. package/templates/docs-showcase/files/src/docs/reference/typescript-api/debounce/01-example.ts +24 -0
  323. package/templates/docs-showcase/files/src/docs/reference/typescript-api/vault/process/01-example.ts +22 -0
  324. package/templates/docs-showcase/files/src/docs/themes/app-themes/build-a-theme/05-step-4-change-the-font.ts +14 -0
  325. package/templates/docs-showcase/files/src/docs/themes/app-themes/build-a-theme/06-step-5-change-the-background-color.ts +14 -0
  326. 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
  327. package/templates/docs-showcase/files/src/docs/themes/app-themes/build-a-theme/08-step-7-discover-css-variables-in-use.ts +14 -0
  328. package/templates/docs-showcase/files/src/docs/themes/app-themes/embed-fonts-and-images-in-your-theme/02-use-data-urls.ts +14 -0
  329. package/templates/docs-showcase/files/src/docs/themes/app-themes/theme-guidelines/01-use-css-variables.ts +14 -0
  330. 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
  331. package/templates/docs-showcase/files/src/docs/themes/obsidian-publish-themes/build-a-publish-theme/01-intro.ts +14 -0
  332. package/templates/docs-showcase/files/src/docs/tsconfig.json +25 -0
  333. package/templates/docs-showcase/host/entry.d.ts +8 -0
  334. package/templates/docs-showcase/host/entry.js +4 -0
  335. package/templates/docs-showcase/host/host.ts +449 -0
  336. package/templates/docs-showcase/host/tsconfig.json +25 -0
  337. package/templates/docs-showcase/snippets.json +3566 -0
  338. package/templates/official-sample/README.md +9 -0
  339. package/templates/official-sample/files/.editorconfig.vendored +11 -0
  340. package/templates/official-sample/files/.github/workflows/lint.yml.vendored +27 -0
  341. package/templates/official-sample/files/.github/workflows/release.yml.vendored +50 -0
  342. package/templates/official-sample/files/.gitignore.vendored +22 -0
  343. package/templates/official-sample/files/.npmrc.vendored +1 -0
  344. package/templates/official-sample/files/AGENTS.md.vendored +269 -0
  345. package/templates/official-sample/files/LICENSE.vendored +5 -0
  346. package/templates/official-sample/files/README.md.vendored +92 -0
  347. package/templates/official-sample/files/esbuild.config.mjs.vendored +49 -0
  348. package/templates/official-sample/files/eslint.config.mts.vendored +32 -0
  349. package/templates/official-sample/files/manifest.json.vendored +11 -0
  350. package/templates/official-sample/files/package-lock.json.vendored +5053 -0
  351. package/templates/official-sample/files/package.json.vendored +27 -0
  352. package/templates/official-sample/files/src/main.ts.vendored +114 -0
  353. package/templates/official-sample/files/src/settings.ts.vendored +38 -0
  354. package/templates/official-sample/files/styles.css.vendored +8 -0
  355. package/templates/official-sample/files/tsconfig.json.vendored +19 -0
  356. package/templates/official-sample/files/version-bump.mjs.vendored +17 -0
  357. package/templates/official-sample/files/versions.json.vendored +3 -0
  358. package/upstreams.json +35 -0
  359. package/templates/default/README.md.ejs +0 -28
  360. package/templates/default/README.md@preset_dev-utils.ejs +0 -12
  361. package/templates/default/demo-vault/Materials/01 Sample commands/Scratch note.md.ejs +0 -5
  362. package/templates/default/dprint.json_dev-utils.ejs +0 -10
  363. package/templates/default/jest.config.ts@lint-root-dir_dev-utils.ejs +0 -1
  364. package/templates/default/scripts/build-clean.ts.ejs +0 -4
  365. package/templates/default/scripts/build-compile.ts.ejs +0 -4
  366. package/templates/default/scripts/build-styles.ts.ejs +0 -12
  367. package/templates/default/scripts/build.ts@bundler_cli-bundler@import_tailwind.ejs +0 -2
  368. package/templates/default/scripts/build.ts@bundler_cli-bundler@lint-build-styles_dev-utils.ejs +0 -1
  369. package/templates/default/scripts/build.ts@bundler_esbuild.ejs +0 -3
  370. package/templates/default/scripts/build.ts@bundler_esbuild@dev-utils-pre-build_tailwind.ejs +0 -2
  371. package/templates/default/scripts/build.ts@bundler_esbuild@lint-build-styles_dev-utils.ejs +0 -1
  372. package/templates/default/scripts/build.ts@bundler_esbuild@preset_dev-utils.ejs +0 -7
  373. package/templates/default/scripts/commit.ts_dev-utils.ejs +0 -3
  374. package/templates/default/scripts/dev.ts@bundler_esbuild.ejs +0 -3
  375. package/templates/default/scripts/dev.ts@bundler_esbuild@dev-utils-pre-build_tailwind.ejs +0 -2
  376. package/templates/default/scripts/dev.ts@bundler_esbuild@lint-build-styles_dev-utils.ejs +0 -1
  377. package/templates/default/scripts/dev.ts@bundler_esbuild@preset_dev-utils.ejs +0 -7
  378. package/templates/default/scripts/esbuild-plugins.ts.ejs +0 -20
  379. package/templates/default/scripts/esbuild-plugins.ts@dev-utils-import_vue.ejs +0 -2
  380. package/templates/default/scripts/esbuild-plugins.ts@dev-utils-plugin_vue.ejs +0 -1
  381. package/templates/default/scripts/esbuild-plugins.ts@dev-utils-plugin_wasm.ejs +0 -13
  382. package/templates/default/scripts/format-check.ts@tool_dprint.ejs +0 -3
  383. package/templates/default/scripts/format-check.ts@tool_dprint@preset_dev-utils.ejs +0 -7
  384. package/templates/default/scripts/format.ts@tool_dprint.ejs +0 -3
  385. package/templates/default/scripts/format.ts@tool_dprint@preset_dev-utils.ejs +0 -7
  386. package/templates/default/scripts/lint-fix.ts@tool_eslint.ejs +0 -3
  387. package/templates/default/scripts/lint-fix.ts@tool_eslint@preset_dev-utils.ejs +0 -7
  388. package/templates/default/scripts/lint-md-fix.ts_dev-utils.ejs +0 -7
  389. package/templates/default/scripts/lint-md.ts_dev-utils.ejs +0 -7
  390. package/templates/default/scripts/lint.ts@tool_eslint.ejs +0 -3
  391. package/templates/default/scripts/lint.ts@tool_eslint@preset_dev-utils.ejs +0 -7
  392. package/templates/default/scripts/prepare.ts_dev-utils.ejs +0 -3
  393. package/templates/default/scripts/spellcheck.ts_dev-utils.ejs +0 -7
  394. package/templates/default/scripts/test-coverage.ts.ejs +0 -8
  395. package/templates/default/scripts/test-integration-android.ts.ejs +0 -8
  396. package/templates/default/scripts/test-integration-demo-vault.ts.ejs +0 -8
  397. package/templates/default/scripts/test-integration-desktop-performance.ts.ejs +0 -8
  398. package/templates/default/scripts/test-integration-desktop.ts.ejs +0 -8
  399. package/templates/default/scripts/test-integration-no-app.ts.ejs +0 -8
  400. package/templates/default/scripts/test-watch.ts_dev-utils@tool_jest.ejs +0 -13
  401. package/templates/default/scripts/test-watch.ts_dev-utils@tool_vitest.ejs +0 -8
  402. package/templates/default/scripts/test.ts_dev-utils@tool_jest.ejs +0 -13
  403. package/templates/default/scripts/test.ts_dev-utils@tool_vitest.ejs +0 -8
  404. package/templates/default/scripts/vite.config.ts@lint-empty-out-dir_dev-utils.ejs +0 -1
  405. package/templates/default/scripts/vite.config.ts@lint-out-dir_dev-utils.ejs +0 -1
  406. package/templates/default/scripts/webpack.config.ts@lint-webpack-default_dev-utils.ejs +0 -1
  407. package/templates/default/src/main.ts@import_css-modules.ejs +0 -1
  408. package/templates/default/src/views/sample-preact-view.tsx_dev-utils.ejs +0 -45
  409. package/templates/default/tsconfig.json_dev-utils@compiler-options_preact.ejs +0 -2
  410. package/templates/default/tsconfig.json_dev-utils@compiler-options_react.ejs +0 -1
  411. package/templates/default/tsconfig.json_dev-utils@compiler-options_solid.ejs +0 -2
  412. /package/templates/default/{.parcelrc.ejs → (bundlers)/.parcelrc.ejs} +0 -0
  413. /package/templates/default/{.parcelrc@transformers_svelte.ejs → (bundlers)/.parcelrc@transformers_svelte.ejs} +0 -0
  414. /package/templates/default/{babel.config.json.ejs → (bundlers)/babel.config.json.ejs} +0 -0
  415. /package/templates/default/{babel.config.mjs.ejs → (bundlers)/babel.config.mjs.ejs} +0 -0
  416. /package/templates/default/{parcel-namer-obsidian.cjs.ejs → (bundlers)/parcel-namer-obsidian.cjs.ejs} +0 -0
  417. /package/templates/default/{parcel-resolver-obsidian.cjs.ejs → (bundlers)/parcel-resolver-obsidian.cjs.ejs} +0 -0
  418. /package/templates/default/{parcel-transformer-svelte.cjs.ejs → (bundlers)/parcel-transformer-svelte.cjs.ejs} +0 -0
  419. /package/templates/default/{postcss.config.cjs.ejs → (bundlers)/postcss.config.cjs.ejs} +0 -0
  420. /package/templates/default/{rollup.config.mjs.ejs → (bundlers)/rollup.config.mjs.ejs} +0 -0
  421. /package/templates/default/{vite.config.ts.ejs → (bundlers)/vite.config.ts.ejs} +0 -0
  422. /package/templates/default/{webpack.config.ts.ejs → (bundlers)/webpack.config.ts.ejs} +0 -0
  423. /package/templates/default/{CONTRIBUTING.md@scripts_biome-formatter.ejs → (contributing)/CONTRIBUTING.md@scripts_biome-formatter.ejs} +0 -0
  424. /package/templates/default/{CONTRIBUTING.md@scripts_biome-linter.ejs → (contributing)/CONTRIBUTING.md@scripts_biome-linter.ejs} +0 -0
  425. /package/templates/default/{CONTRIBUTING.md@scripts_conventional-commits.ejs → (contributing)/CONTRIBUTING.md@scripts_conventional-commits.ejs} +0 -0
  426. /package/templates/default/{CONTRIBUTING.md@scripts_cspell.ejs → (contributing)/CONTRIBUTING.md@scripts_cspell.ejs} +0 -0
  427. /package/templates/default/{CONTRIBUTING.md@scripts_dprint.ejs → (contributing)/CONTRIBUTING.md@scripts_dprint.ejs} +0 -0
  428. /package/templates/default/{CONTRIBUTING.md@scripts_eslint.ejs → (contributing)/CONTRIBUTING.md@scripts_eslint.ejs} +0 -0
  429. /package/templates/default/{CONTRIBUTING.md@scripts_dev-utils.ejs → (contributing)/CONTRIBUTING.md@scripts_framework.ejs} +0 -0
  430. /package/templates/default/{CONTRIBUTING.md@scripts_jest.ejs → (contributing)/CONTRIBUTING.md@scripts_jest.ejs} +0 -0
  431. /package/templates/default/{CONTRIBUTING.md@scripts_markdownlint.ejs → (contributing)/CONTRIBUTING.md@scripts_markdownlint.ejs} +0 -0
  432. /package/templates/default/{CONTRIBUTING.md@scripts_prettier.ejs → (contributing)/CONTRIBUTING.md@scripts_prettier.ejs} +0 -0
  433. /package/templates/default/{CONTRIBUTING.md@scripts_vitest.ejs → (contributing)/CONTRIBUTING.md@scripts_vitest.ejs} +0 -0
  434. /package/templates/default/{prettier.config.mjs.ejs → (format)/prettier.config.mjs_standalone.ejs} +0 -0
  435. /package/templates/default/{.depcheckrc.json.ejs → (lint)/.depcheckrc.json.ejs} +0 -0
  436. /package/templates/default/{.markdownlint-cli2.mjs.ejs → (lint)/.markdownlint-cli2.mjs.ejs} +0 -0
  437. /package/templates/default/{eslint.config.mts_dev-utils.ejs → (lint)/eslint.config.mts_framework.ejs} +0 -0
  438. /package/templates/default/{eslint.config.mts_standalone@extra-files_has-e2e.ejs → (lint)/eslint.config.mts_standalone@extra-files_has-e2e.ejs} +0 -0
  439. /package/templates/default/{linkinator.config.json.ejs → (lint)/linkinator.config.json.ejs} +0 -0
  440. /package/templates/default/{.npmrc.ejs → (package)/.npmrc.ejs} +0 -0
  441. /package/templates/default/{package.json.ejs → (package)/package.json.ejs} +0 -0
  442. /package/templates/default/{pinned-versions.json.ejs → (package)/pinned-versions.json.ejs} +0 -0
  443. /package/templates/default/{pnpm-workspace.yaml.ejs → (package)/pnpm-workspace.yaml.ejs} +0 -0
  444. /package/templates/default/{README.md@support_has-funding.ejs → (readme)/README.md@support_has-funding.ejs} +0 -0
  445. /package/templates/default/{jest.config.ts@ts-jest-tsconfig_solid.ejs → (test)/jest.config.ts_standalone@ts-jest-tsconfig_solid.ejs} +0 -0
  446. /package/templates/default/{vitest.config.ts_dev-utils.ejs → (test)/vitest.config.ts_framework.ejs} +0 -0
  447. /package/templates/default/{vitest.config.ts_standalone@jsx_solid.ejs → (test)/vitest.config.ts_standalone@jsx_solid.ejs} +0 -0
  448. /package/templates/default/{tsconfig.json_dev-utils@compiler-options_i18next.ejs → (tsconfig)/(framework)/tsconfig.json_framework@compiler-options_i18next.ejs} +0 -0
  449. /package/templates/default/{tsconfig.json_dev-utils@compiler-options_lit.ejs → (tsconfig)/(framework)/tsconfig.json_framework@compiler-options_lit.ejs} +0 -0
  450. /package/templates/default/{tsconfig.json_dev-utils@include_has-e2e.ejs → (tsconfig)/(framework)/tsconfig.json_framework@include_has-e2e.ejs} +0 -0
  451. /package/templates/default/{tsconfig.json_dev-utils@include_svelte.ejs → (tsconfig)/(framework)/tsconfig.json_framework@include_svelte.ejs} +0 -0
  452. /package/templates/default/{tsconfig.json_dev-utils@include_vue.ejs → (tsconfig)/(framework)/tsconfig.json_framework@include_vue.ejs} +0 -0
  453. /package/templates/default/{tsconfig.json_dev-utils@types_jest.ejs → (tsconfig)/(framework)/tsconfig.json_framework@types_jest.ejs} +0 -0
  454. /package/templates/default/{tsconfig.json_dev-utils@types_svelte.ejs → (tsconfig)/(framework)/tsconfig.json_framework@types_svelte.ejs} +0 -0
  455. /package/templates/default/{tsconfig.json_dev-utils@types_wdio-obsidian.ejs → (tsconfig)/(framework)/tsconfig.json_framework@types_wdio-obsidian.ejs} +0 -0
  456. /package/templates/default/{tsconfig.json_dev-utils@types_with-unofficial.ejs → (tsconfig)/(framework)/tsconfig.json_framework@types_with-unofficial.ejs} +0 -0
  457. /package/templates/default/{tsconfig.json_standalone@compiler-options_i18next.ejs → (tsconfig)/(standalone)/tsconfig.json_standalone@compiler-options_i18next.ejs} +0 -0
  458. /package/templates/default/{tsconfig.json_standalone@compiler-options_lit.ejs → (tsconfig)/(standalone)/tsconfig.json_standalone@compiler-options_lit.ejs} +0 -0
  459. /package/templates/default/{tsconfig.json_standalone@compiler-options_preact.ejs → (tsconfig)/(standalone)/tsconfig.json_standalone@compiler-options_preact.ejs} +0 -0
  460. /package/templates/default/{tsconfig.json_standalone@compiler-options_react.ejs → (tsconfig)/(standalone)/tsconfig.json_standalone@compiler-options_react.ejs} +0 -0
  461. /package/templates/default/{tsconfig.json_standalone@compiler-options_solid.ejs → (tsconfig)/(standalone)/tsconfig.json_standalone@compiler-options_solid.ejs} +0 -0
  462. /package/templates/default/{tsconfig.json_standalone@include-extra_preact.ejs → (tsconfig)/(standalone)/tsconfig.json_standalone@include-extra_preact.ejs} +0 -0
  463. /package/templates/default/{tsconfig.json_standalone@include-extra_react.ejs → (tsconfig)/(standalone)/tsconfig.json_standalone@include-extra_react.ejs} +0 -0
  464. /package/templates/default/{tsconfig.json_standalone@include-extra_solid.ejs → (tsconfig)/(standalone)/tsconfig.json_standalone@include-extra_solid.ejs} +0 -0
  465. /package/templates/default/{tsconfig.json_standalone@include_has-e2e.ejs → (tsconfig)/(standalone)/tsconfig.json_standalone@include_has-e2e.ejs} +0 -0
  466. /package/templates/default/{tsconfig.json_standalone@include_svelte.ejs → (tsconfig)/(standalone)/tsconfig.json_standalone@include_svelte.ejs} +0 -0
  467. /package/templates/default/{tsconfig.json_standalone@include_vue.ejs → (tsconfig)/(standalone)/tsconfig.json_standalone@include_vue.ejs} +0 -0
  468. /package/templates/default/{tsconfig.json_standalone@types_jest.ejs → (tsconfig)/(standalone)/tsconfig.json_standalone@types_jest.ejs} +0 -0
  469. /package/templates/default/{tsconfig.json_standalone@types_svelte.ejs → (tsconfig)/(standalone)/tsconfig.json_standalone@types_svelte.ejs} +0 -0
  470. /package/templates/default/{tsconfig.json_standalone@types_wdio-obsidian.ejs → (tsconfig)/(standalone)/tsconfig.json_standalone@types_wdio-obsidian.ejs} +0 -0
  471. /package/templates/default/{tsconfig.json_standalone@types_with-unofficial.ejs → (tsconfig)/(standalone)/tsconfig.json_standalone@types_with-unofficial.ejs} +0 -0
  472. /package/templates/default/.github/workflows/{ci.yml@steps_biome-linter.ejs → ci.yml_standalone@steps_biome-linter.ejs} +0 -0
  473. /package/templates/default/.github/workflows/{ci.yml@steps_cspell.ejs → ci.yml_standalone@steps_cspell.ejs} +0 -0
  474. /package/templates/default/.github/workflows/{ci.yml@steps_dprint.ejs → ci.yml_standalone@steps_dprint.ejs} +0 -0
  475. /package/templates/default/.github/workflows/{ci.yml@steps_eslint.ejs → ci.yml_standalone@steps_eslint.ejs} +0 -0
  476. /package/templates/default/.github/workflows/{ci.yml@steps_jest.ejs → ci.yml_standalone@steps_jest.ejs} +0 -0
  477. /package/templates/default/.github/workflows/{ci.yml@steps_markdownlint.ejs → ci.yml_standalone@steps_markdownlint.ejs} +0 -0
  478. /package/templates/default/.github/workflows/{ci.yml@steps_prettier.ejs → ci.yml_standalone@steps_prettier.ejs} +0 -0
  479. /package/templates/default/.github/workflows/{ci.yml@steps_vitest.ejs → ci.yml_standalone@steps_vitest.ejs} +0 -0
  480. /package/templates/default/{.gitignore_tailwind.ejs → .gitignore_tailwind-cli.ejs} +0 -0
  481. /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
  482. /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
  483. /package/templates/default/scripts/{build.ts@bundler_cli-bundler@compile_svelte.ejs → (build)/(cli-bundler)/build.ts@bundler_cli-bundler@compile_svelte.ejs} +0 -0
  484. /package/templates/default/scripts/{build.ts@bundler_cli-bundler@fs-import_hot-reload-plugin.ejs → (build)/(cli-bundler)/build.ts@bundler_cli-bundler@fs-import_hot-reload-plugin.ejs} +0 -0
  485. /package/templates/default/scripts/{build.ts@bundler_cli-bundler@hot-reload_hot-reload-plugin.ejs → (build)/(cli-bundler)/build.ts@bundler_cli-bundler@hot-reload_hot-reload-plugin.ejs} +0 -0
  486. /package/templates/default/scripts/{build.ts@bundler_esbuild@import_tailwind.ejs → (build)/(cli-bundler)/build.ts@bundler_cli-bundler@import_tailwind.ejs} +0 -0
  487. /package/templates/default/scripts/{build.ts@bundler_cli-bundler@reload_obsidian-cli.ejs → (build)/(cli-bundler)/build.ts@bundler_cli-bundler@reload_obsidian-cli.ejs} +0 -0
  488. /package/templates/default/scripts/{build.ts@bundler_cli-bundler@run_parcel.ejs → (build)/(cli-bundler)/build.ts@bundler_cli-bundler@run_parcel.ejs} +0 -0
  489. /package/templates/default/scripts/{build.ts@bundler_cli-bundler@run_rollup.ejs → (build)/(cli-bundler)/build.ts@bundler_cli-bundler@run_rollup.ejs} +0 -0
  490. /package/templates/default/scripts/{build.ts@bundler_cli-bundler@run_vite.ejs → (build)/(cli-bundler)/build.ts@bundler_cli-bundler@run_vite.ejs} +0 -0
  491. /package/templates/default/scripts/{build.ts@bundler_cli-bundler@run_webpack.ejs → (build)/(cli-bundler)/build.ts@bundler_cli-bundler@run_webpack.ejs} +0 -0
  492. /package/templates/default/scripts/{dev.ts@bundler_cli-bundler.ejs → (build)/(dev)/dev.ts@bundler_cli-bundler.ejs} +0 -0
  493. /package/templates/default/scripts/{dev.ts@bundler_esbuild@preset_standalone.ejs → (build)/(dev)/dev.ts@bundler_esbuild@preset_standalone.ejs} +0 -0
  494. /package/templates/default/scripts/{build.ts@bundler_esbuild@compile_svelte.ejs → (build)/(esbuild)/build.ts@bundler_esbuild@compile_svelte.ejs} +0 -0
  495. /package/templates/default/scripts/{build.ts@bundler_esbuild@fs-import_hot-reload-plugin.ejs → (build)/(esbuild)/build.ts@bundler_esbuild@fs-import_hot-reload-plugin.ejs} +0 -0
  496. /package/templates/default/scripts/{build.ts@bundler_esbuild@hot-reload_hot-reload-plugin.ejs → (build)/(esbuild)/build.ts@bundler_esbuild@hot-reload_hot-reload-plugin.ejs} +0 -0
  497. /package/templates/default/scripts/{build.ts@bundler_esbuild@import_postcss.ejs → (build)/(esbuild)/build.ts@bundler_esbuild@import_postcss.ejs} +0 -0
  498. /package/templates/default/scripts/{build.ts@bundler_esbuild@import_scss.ejs → (build)/(esbuild)/build.ts@bundler_esbuild@import_scss.ejs} +0 -0
  499. /package/templates/default/scripts/{build.ts@bundler_esbuild@import_solid.ejs → (build)/(esbuild)/build.ts@bundler_esbuild@import_solid.ejs} +0 -0
  500. /package/templates/default/scripts/{build.ts@bundler_esbuild@import_svelte.ejs → (build)/(esbuild)/build.ts@bundler_esbuild@import_svelte.ejs} +0 -0
  501. /package/templates/default/scripts/{build.ts@bundler_esbuild@import_vue.ejs → (build)/(esbuild)/build.ts@bundler_esbuild@import_vue.ejs} +0 -0
  502. /package/templates/default/scripts/{build.ts@bundler_esbuild@options_preact.ejs → (build)/(esbuild)/build.ts@bundler_esbuild@options_preact.ejs} +0 -0
  503. /package/templates/default/scripts/{build.ts@bundler_esbuild@options_react.ejs → (build)/(esbuild)/build.ts@bundler_esbuild@options_react.ejs} +0 -0
  504. /package/templates/default/scripts/{build.ts@bundler_esbuild@options_wasm.ejs → (build)/(esbuild)/build.ts@bundler_esbuild@options_wasm.ejs} +0 -0
  505. /package/templates/default/scripts/{build.ts@bundler_esbuild@plugin_postcss.ejs → (build)/(esbuild)/build.ts@bundler_esbuild@plugin_postcss.ejs} +0 -0
  506. /package/templates/default/scripts/{build.ts@bundler_esbuild@plugin_scss.ejs → (build)/(esbuild)/build.ts@bundler_esbuild@plugin_scss.ejs} +0 -0
  507. /package/templates/default/scripts/{build.ts@bundler_esbuild@plugin_solid.ejs → (build)/(esbuild)/build.ts@bundler_esbuild@plugin_solid.ejs} +0 -0
  508. /package/templates/default/scripts/{build.ts@bundler_esbuild@plugin_svelte.ejs → (build)/(esbuild)/build.ts@bundler_esbuild@plugin_svelte.ejs} +0 -0
  509. /package/templates/default/scripts/{build.ts@bundler_esbuild@plugin_vue.ejs → (build)/(esbuild)/build.ts@bundler_esbuild@plugin_vue.ejs} +0 -0
  510. /package/templates/default/scripts/{build.ts@bundler_esbuild@preset_standalone.ejs → (build)/(esbuild)/build.ts@bundler_esbuild@preset_standalone.ejs} +0 -0
  511. /package/templates/default/scripts/{build.ts@bundler_esbuild@reload_obsidian-cli.ejs → (build)/(esbuild)/build.ts@bundler_esbuild@reload_obsidian-cli.ejs} +0 -0
  512. /package/templates/default/scripts/{format-check.ts.ejs → (format)/format-check.ts.ejs} +0 -0
  513. /package/templates/default/scripts/{format-check.ts@tool_biome-formatter.ejs → (format)/format-check.ts@tool_biome-formatter@preset_standalone.ejs} +0 -0
  514. /package/templates/default/scripts/{format-check.ts@tool_dprint@preset_standalone.ejs → (format)/format-check.ts@tool_dprint@preset_standalone.ejs} +0 -0
  515. /package/templates/default/scripts/{format-check.ts@tool_prettier.ejs → (format)/format-check.ts@tool_prettier@preset_standalone.ejs} +0 -0
  516. /package/templates/default/scripts/{format.ts.ejs → (format)/format.ts.ejs} +0 -0
  517. /package/templates/default/scripts/{format.ts@tool_biome-formatter.ejs → (format)/format.ts@tool_biome-formatter@preset_standalone.ejs} +0 -0
  518. /package/templates/default/scripts/{format.ts@tool_dprint@preset_standalone.ejs → (format)/format.ts@tool_dprint@preset_standalone.ejs} +0 -0
  519. /package/templates/default/scripts/{format.ts@tool_prettier.ejs → (format)/format.ts@tool_prettier@preset_standalone.ejs} +0 -0
  520. /package/templates/default/scripts/{prettier.config.ts.ejs → (format)/prettier.config.ts.ejs} +0 -0
  521. /package/templates/default/scripts/{lint-md-fix.ts_standalone.ejs → (lint)/(markdown)/lint-md-fix.ts_standalone.ejs} +0 -0
  522. /package/templates/default/scripts/{lint-md.ts_standalone.ejs → (lint)/(markdown)/lint-md.ts_standalone.ejs} +0 -0
  523. /package/templates/default/scripts/{eslint-config.ts@extra-files_has-e2e.ejs → (lint)/eslint-config.ts@extra-files_has-e2e.ejs} +0 -0
  524. /package/templates/default/scripts/{lint-fix.ts@tool_biome-linter.ejs → (lint)/lint-fix.ts@tool_biome-linter@preset_standalone.ejs} +0 -0
  525. /package/templates/default/scripts/{lint-fix.ts@tool_eslint@preset_standalone.ejs → (lint)/lint-fix.ts@tool_eslint@preset_standalone.ejs} +0 -0
  526. /package/templates/default/scripts/{lint.ts@tool_biome-linter.ejs → (lint)/lint.ts@tool_biome-linter@preset_standalone.ejs} +0 -0
  527. /package/templates/default/scripts/{lint.ts@tool_eslint@preset_standalone.ejs → (lint)/lint.ts@tool_eslint@preset_standalone.ejs} +0 -0
  528. /package/templates/default/scripts/{rollup.config.ts@import_rollup-babel.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@import_rollup-babel.ejs} +0 -0
  529. /package/templates/default/scripts/{rollup.config.ts@import_rollup-json.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@import_rollup-json.ejs} +0 -0
  530. /package/templates/default/scripts/{rollup.config.ts@import_rollup-postcss.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@import_rollup-postcss.ejs} +0 -0
  531. /package/templates/default/scripts/{rollup.config.ts@import_scss.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@import_scss.ejs} +0 -0
  532. /package/templates/default/scripts/{rollup.config.ts@import_svelte.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@import_svelte.ejs} +0 -0
  533. /package/templates/default/scripts/{rollup.config.ts@import_vue.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@import_vue.ejs} +0 -0
  534. /package/templates/default/scripts/{rollup.config.ts@import_wasm.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@import_wasm.ejs} +0 -0
  535. /package/templates/default/scripts/{rollup.config.ts@post-plugin_preact.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@post-plugin_preact.ejs} +0 -0
  536. /package/templates/default/scripts/{rollup.config.ts@post-plugin_react.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@post-plugin_react.ejs} +0 -0
  537. /package/templates/default/scripts/{rollup.config.ts@post-plugin_rollup-json.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@post-plugin_rollup-json.ejs} +0 -0
  538. /package/templates/default/scripts/{rollup.config.ts@post-plugin_rollup-postcss.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@post-plugin_rollup-postcss.ejs} +0 -0
  539. /package/templates/default/scripts/{rollup.config.ts@post-plugin_scss.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@post-plugin_scss.ejs} +0 -0
  540. /package/templates/default/scripts/{rollup.config.ts@post-plugin_solid.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@post-plugin_solid.ejs} +0 -0
  541. /package/templates/default/scripts/{rollup.config.ts@post-plugin_wasm.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@post-plugin_wasm.ejs} +0 -0
  542. /package/templates/default/scripts/{rollup.config.ts@pre-plugin_svelte.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@pre-plugin_svelte.ejs} +0 -0
  543. /package/templates/default/scripts/{rollup.config.ts@pre-plugin_vue.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@pre-plugin_vue.ejs} +0 -0
  544. /package/templates/default/scripts/{rollup.config.ts@unwrap_rollup-babel.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@unwrap_rollup-babel.ejs} +0 -0
  545. /package/templates/default/scripts/{rollup.config.ts@unwrap_rollup-json.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@unwrap_rollup-json.ejs} +0 -0
  546. /package/templates/default/scripts/{rollup.config.ts@unwrap_rollup-postcss.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@unwrap_rollup-postcss.ejs} +0 -0
  547. /package/templates/default/scripts/{rollup.config.ts@unwrap_scss.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@unwrap_scss.ejs} +0 -0
  548. /package/templates/default/scripts/{rollup.config.ts@unwrap_svelte.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@unwrap_svelte.ejs} +0 -0
  549. /package/templates/default/scripts/{rollup.config.ts@unwrap_vue.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@unwrap_vue.ejs} +0 -0
  550. /package/templates/default/scripts/{rollup.config.ts@unwrap_wasm.ejs → (rollup)/(standalone)/rollup.config.ts_standalone@unwrap_wasm.ejs} +0 -0
  551. /package/templates/default/scripts/{babel.config.ts_rollup.ejs → (rollup)/babel.config.ts_rollup.ejs} +0 -0
  552. /package/templates/default/scripts/{babel.config.ts_rollup@babel-plugin_preact.ejs → (rollup)/babel.config.ts_rollup@babel-plugin_preact.ejs} +0 -0
  553. /package/templates/default/scripts/{babel.config.ts_rollup@babel-preset_react.ejs → (rollup)/babel.config.ts_rollup@babel-preset_react.ejs} +0 -0
  554. /package/templates/default/scripts/{babel.config.ts_rollup@babel-preset_solid.ejs → (rollup)/babel.config.ts_rollup@babel-preset_solid.ejs} +0 -0
  555. /package/templates/default/scripts/{test-e2e.ts.ejs → (test)/(e2e)/test-e2e.ts.ejs} +0 -0
  556. /package/templates/default/scripts/{test-e2e.ts@tool_obsidian-test.ejs → (test)/(e2e)/test-e2e.ts@tool_obsidian-test@preset_standalone.ejs} +0 -0
  557. /package/templates/default/scripts/{test-e2e.ts@tool_wdio-obsidian.ejs → (test)/(e2e)/test-e2e.ts@tool_wdio-obsidian@preset_standalone.ejs} +0 -0
  558. /package/templates/default/scripts/{framework-component-stub.ts.ejs → (test)/framework-component-stub.ts.ejs} +0 -0
  559. /package/templates/default/scripts/{test-watch.ts_dev-utils.ejs → (test)/test-watch.ts_framework.ejs} +0 -0
  560. /package/templates/default/scripts/{test-watch.ts_standalone.ejs → (test)/test-watch.ts_standalone.ejs} +0 -0
  561. /package/templates/default/scripts/{test-watch.ts_standalone@tool_jest.ejs → (test)/test-watch.ts_standalone@tool_jest.ejs} +0 -0
  562. /package/templates/default/scripts/{test-watch.ts_standalone@tool_vitest.ejs → (test)/test-watch.ts_standalone@tool_vitest.ejs} +0 -0
  563. /package/templates/default/scripts/{test.ts_dev-utils.ejs → (test)/test.ts_framework.ejs} +0 -0
  564. /package/templates/default/scripts/{test.ts_standalone.ejs → (test)/test.ts_standalone.ejs} +0 -0
  565. /package/templates/default/scripts/{test.ts_standalone@tool_jest.ejs → (test)/test.ts_standalone@tool_jest.ejs} +0 -0
  566. /package/templates/default/scripts/{test.ts_standalone@tool_vitest.ejs → (test)/test.ts_standalone@tool_vitest.ejs} +0 -0
  567. /package/templates/default/scripts/{wasm-module-stub.ts.ejs → (test)/wasm-module-stub.ts.ejs} +0 -0
  568. /package/templates/default/scripts/{vite.config.ts@import_preact.ejs → (vite)/vite.config.ts_standalone@import_preact.ejs} +0 -0
  569. /package/templates/default/scripts/{vite.config.ts@import_react.ejs → (vite)/vite.config.ts_standalone@import_react.ejs} +0 -0
  570. /package/templates/default/scripts/{vite.config.ts@import_solid.ejs → (vite)/vite.config.ts_standalone@import_solid.ejs} +0 -0
  571. /package/templates/default/scripts/{vite.config.ts@import_svelte.ejs → (vite)/vite.config.ts_standalone@import_svelte.ejs} +0 -0
  572. /package/templates/default/scripts/{vite.config.ts@import_vue.ejs → (vite)/vite.config.ts_standalone@import_vue.ejs} +0 -0
  573. /package/templates/default/scripts/{vite.config.ts@plugin_preact.ejs → (vite)/vite.config.ts_standalone@plugin_preact.ejs} +0 -0
  574. /package/templates/default/scripts/{vite.config.ts@plugin_react.ejs → (vite)/vite.config.ts_standalone@plugin_react.ejs} +0 -0
  575. /package/templates/default/scripts/{vite.config.ts@plugin_solid.ejs → (vite)/vite.config.ts_standalone@plugin_solid.ejs} +0 -0
  576. /package/templates/default/scripts/{vite.config.ts@plugin_svelte.ejs → (vite)/vite.config.ts_standalone@plugin_svelte.ejs} +0 -0
  577. /package/templates/default/scripts/{vite.config.ts@plugin_vue.ejs → (vite)/vite.config.ts_standalone@plugin_vue.ejs} +0 -0
  578. /package/templates/default/scripts/{webpack.config.ts@import_svelte.ejs → (webpack)/webpack.config.ts_standalone@import_svelte.ejs} +0 -0
  579. /package/templates/default/scripts/{webpack.config.ts@import_vue.ejs → (webpack)/webpack.config.ts_standalone@import_vue.ejs} +0 -0
  580. /package/templates/default/scripts/{webpack.config.ts@import_webpack-css-extract.ejs → (webpack)/webpack.config.ts_standalone@import_webpack-css-extract.ejs} +0 -0
  581. /package/templates/default/scripts/{webpack.config.ts@plugin_vue.ejs → (webpack)/webpack.config.ts_standalone@plugin_vue.ejs} +0 -0
  582. /package/templates/default/scripts/{webpack.config.ts@plugin_webpack-css-extract.ejs → (webpack)/webpack.config.ts_standalone@plugin_webpack-css-extract.ejs} +0 -0
  583. /package/templates/default/scripts/{webpack.config.ts@rule_css-modules.ejs → (webpack)/webpack.config.ts_standalone@rule_css-modules.ejs} +0 -0
  584. /package/templates/default/scripts/{webpack.config.ts@rule_css.ejs → (webpack)/webpack.config.ts_standalone@rule_css.ejs} +0 -0
  585. /package/templates/default/scripts/{webpack.config.ts@rule_postcss.ejs → (webpack)/webpack.config.ts_standalone@rule_postcss.ejs} +0 -0
  586. /package/templates/default/scripts/{webpack.config.ts@rule_scss.ejs → (webpack)/webpack.config.ts_standalone@rule_scss.ejs} +0 -0
  587. /package/templates/default/scripts/{webpack.config.ts@rule_solid.ejs → (webpack)/webpack.config.ts_standalone@rule_solid.ejs} +0 -0
  588. /package/templates/default/scripts/{webpack.config.ts@rule_svelte.ejs → (webpack)/webpack.config.ts_standalone@rule_svelte.ejs} +0 -0
  589. /package/templates/default/scripts/{webpack.config.ts@rule_tailwind.ejs → (webpack)/webpack.config.ts_standalone@rule_tailwind.ejs} +0 -0
  590. /package/templates/default/scripts/{webpack.config.ts@rule_vue.ejs → (webpack)/webpack.config.ts_standalone@rule_vue.ejs} +0 -0
  591. /package/templates/default/scripts/{webpack.config.ts@rule_wasm.ejs → (webpack)/webpack.config.ts_standalone@rule_wasm.ejs} +0 -0
  592. /package/templates/default/scripts/{webpack.config.ts@ts-loader-compiler-options_vue.ejs → (webpack)/webpack.config.ts_standalone@ts-loader-compiler-options_vue.ejs} +0 -0
  593. /package/templates/default/scripts/{webpack.config.ts@ts-loader-options_vue.ejs → (webpack)/webpack.config.ts_standalone@ts-loader-options_vue.ejs} +0 -0
  594. /package/templates/default/scripts/{commitlint-config.ts.ejs → commitlint-config.ts_standalone.ejs} +0 -0
  595. /package/templates/default/scripts/{nano-staged-config.ts.ejs → nano-staged-config.ts_inline-nano-staged.ejs} +0 -0
  596. /package/templates/default/src/{main.test.ts.ejs → (main)/main.test.ts.ejs} +0 -0
  597. /package/templates/default/src/{main.test.ts@test-imports_vitest.ejs → (main)/main.test.ts@test-imports_vitest.ejs} +0 -0
  598. /package/templates/default/src/{main.ts.ejs → (main)/main.ts.ejs} +0 -0
  599. /package/templates/default/src/{main.ts@import_css.ejs → (main)/main.ts@import_css.ejs} +0 -0
  600. /package/templates/default/src/{main.ts@import_postcss.ejs → (main)/main.ts@import_postcss.ejs} +0 -0
  601. /package/templates/default/src/{main.ts@import_scss.ejs → (main)/main.ts@import_scss.ejs} +0 -0
  602. /package/templates/default/src/{main.ts@import_tailwind.ejs → (main)/main.ts@import_tailwind@preset_standalone.ejs} +0 -0
  603. /package/templates/default/src/{plugin.ts_enhanced@import2_codemirror.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@import2_codemirror.ejs} +0 -0
  604. /package/templates/default/src/{plugin.ts_enhanced@import2_i18next.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@import2_i18next.ejs} +0 -0
  605. /package/templates/default/src/{plugin.ts_demo@import_lit.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@import2_lit.ejs} +0 -0
  606. /package/templates/default/src/{plugin.ts_demo@import_preact.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@import2_preact.ejs} +0 -0
  607. /package/templates/default/src/{plugin.ts_demo@import_react.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@import2_react.ejs} +0 -0
  608. /package/templates/default/src/{plugin.ts_demo@import_solid.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@import2_solid.ejs} +0 -0
  609. /package/templates/default/src/{plugin.ts_demo@import_svelte.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@import2_svelte.ejs} +0 -0
  610. /package/templates/default/src/{plugin.ts_enhanced@import2_typesafe-i18n.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@import2_typesafe-i18n.ejs} +0 -0
  611. /package/templates/default/src/{plugin.ts_demo@import_vue.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@import2_vue.ejs} +0 -0
  612. /package/templates/default/src/{plugin.ts_demo@import_wasm.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@import2_wasm.ejs} +0 -0
  613. /package/templates/default/src/{plugin.ts_demo@method_ui-view.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@method_ui-view.ejs} +0 -0
  614. /package/templates/default/src/{plugin.ts_enhanced@onload_codemirror.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@onload_codemirror.ejs} +0 -0
  615. /package/templates/default/src/{plugin.ts_demo@onload_i18next.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@onload_i18next.ejs} +0 -0
  616. /package/templates/default/src/{plugin.ts_demo@onload_lit.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@onload_lit.ejs} +0 -0
  617. /package/templates/default/src/{plugin.ts_demo@onload_preact.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@onload_preact.ejs} +0 -0
  618. /package/templates/default/src/{plugin.ts_demo@onload_react.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@onload_react.ejs} +0 -0
  619. /package/templates/default/src/{plugin.ts_demo@onload_solid.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@onload_solid.ejs} +0 -0
  620. /package/templates/default/src/{plugin.ts_demo@onload_svelte.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@onload_svelte.ejs} +0 -0
  621. /package/templates/default/src/{plugin.ts_demo@onload_typesafe-i18n.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@onload_typesafe-i18n.ejs} +0 -0
  622. /package/templates/default/src/{plugin.ts_demo@onload_vue.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@onload_vue.ejs} +0 -0
  623. /package/templates/default/src/{plugin.ts_demo@onload_wasm.ejs → (plugin)/(all-in-one)/plugin.ts_all-in-one@onload_wasm.ejs} +0 -0
  624. /package/templates/default/src/{plugin.ts_demo@import_i18next.ejs → (plugin)/(demo)/plugin.ts_demo@import_i18next.ejs} +0 -0
  625. /package/templates/default/src/{plugin.ts_enhanced@import2_lit.ejs → (plugin)/(demo)/plugin.ts_demo@import_lit.ejs} +0 -0
  626. /package/templates/default/src/{plugin.ts_enhanced@import2_preact.ejs → (plugin)/(demo)/plugin.ts_demo@import_preact.ejs} +0 -0
  627. /package/templates/default/src/{plugin.ts_enhanced@import2_react.ejs → (plugin)/(demo)/plugin.ts_demo@import_react.ejs} +0 -0
  628. /package/templates/default/src/{plugin.ts_enhanced@import2_solid.ejs → (plugin)/(demo)/plugin.ts_demo@import_solid.ejs} +0 -0
  629. /package/templates/default/src/{plugin.ts_enhanced@import2_svelte.ejs → (plugin)/(demo)/plugin.ts_demo@import_svelte.ejs} +0 -0
  630. /package/templates/default/src/{plugin.ts_demo@import_typesafe-i18n.ejs → (plugin)/(demo)/plugin.ts_demo@import_typesafe-i18n.ejs} +0 -0
  631. /package/templates/default/src/{plugin.ts_enhanced@import2_vue.ejs → (plugin)/(demo)/plugin.ts_demo@import_vue.ejs} +0 -0
  632. /package/templates/default/src/{plugin.ts_enhanced@import2_wasm.ejs → (plugin)/(demo)/plugin.ts_demo@import_wasm.ejs} +0 -0
  633. /package/templates/default/src/{plugin.ts_enhanced@method_ui-view.ejs → (plugin)/(demo)/plugin.ts_demo@method_ui-view.ejs} +0 -0
  634. /package/templates/default/src/{plugin.ts_enhanced@onload_i18next.ejs → (plugin)/(demo)/plugin.ts_demo@onload_i18next.ejs} +0 -0
  635. /package/templates/default/src/{plugin.ts_enhanced@onload_lit.ejs → (plugin)/(demo)/plugin.ts_demo@onload_lit.ejs} +0 -0
  636. /package/templates/default/src/{plugin.ts_enhanced@onload_preact.ejs → (plugin)/(demo)/plugin.ts_demo@onload_preact.ejs} +0 -0
  637. /package/templates/default/src/{plugin.ts_enhanced@onload_react.ejs → (plugin)/(demo)/plugin.ts_demo@onload_react.ejs} +0 -0
  638. /package/templates/default/src/{plugin.ts_enhanced@onload_solid.ejs → (plugin)/(demo)/plugin.ts_demo@onload_solid.ejs} +0 -0
  639. /package/templates/default/src/{plugin.ts_enhanced@onload_svelte.ejs → (plugin)/(demo)/plugin.ts_demo@onload_svelte.ejs} +0 -0
  640. /package/templates/default/src/{plugin.ts_enhanced@onload_typesafe-i18n.ejs → (plugin)/(demo)/plugin.ts_demo@onload_typesafe-i18n.ejs} +0 -0
  641. /package/templates/default/src/{plugin.ts_enhanced@onload_vue.ejs → (plugin)/(demo)/plugin.ts_demo@onload_vue.ejs} +0 -0
  642. /package/templates/default/src/{plugin.ts_enhanced@onload_wasm.ejs → (plugin)/(demo)/plugin.ts_demo@onload_wasm.ejs} +0 -0
  643. /package/templates/default/src/{plugin.ts_standalone@import_codemirror.ejs → (plugin)/(standalone)/plugin.ts_standalone@import_codemirror.ejs} +0 -0
  644. /package/templates/default/src/{plugin.ts_standalone@import_i18next.ejs → (plugin)/(standalone)/plugin.ts_standalone@import_i18next.ejs} +0 -0
  645. /package/templates/default/src/{plugin.ts_standalone@import_lit.ejs → (plugin)/(standalone)/plugin.ts_standalone@import_lit.ejs} +0 -0
  646. /package/templates/default/src/{plugin.ts_standalone@import_preact.ejs → (plugin)/(standalone)/plugin.ts_standalone@import_preact.ejs} +0 -0
  647. /package/templates/default/src/{plugin.ts_standalone@import_react.ejs → (plugin)/(standalone)/plugin.ts_standalone@import_react.ejs} +0 -0
  648. /package/templates/default/src/{plugin.ts_standalone@import_solid.ejs → (plugin)/(standalone)/plugin.ts_standalone@import_solid.ejs} +0 -0
  649. /package/templates/default/src/{plugin.ts_standalone@import_svelte.ejs → (plugin)/(standalone)/plugin.ts_standalone@import_svelte.ejs} +0 -0
  650. /package/templates/default/src/{plugin.ts_standalone@import_typesafe-i18n.ejs → (plugin)/(standalone)/plugin.ts_standalone@import_typesafe-i18n.ejs} +0 -0
  651. /package/templates/default/src/{plugin.ts_standalone@import_vue.ejs → (plugin)/(standalone)/plugin.ts_standalone@import_vue.ejs} +0 -0
  652. /package/templates/default/src/{plugin.ts_standalone@import_wasm.ejs → (plugin)/(standalone)/plugin.ts_standalone@import_wasm.ejs} +0 -0
  653. /package/templates/default/src/{plugin.ts_standalone@method_ui-view.ejs → (plugin)/(standalone)/plugin.ts_standalone@method_ui-view.ejs} +0 -0
  654. /package/templates/default/src/{plugin.ts_standalone@onload_codemirror.ejs → (plugin)/(standalone)/plugin.ts_standalone@onload_codemirror.ejs} +0 -0
  655. /package/templates/default/src/{plugin.ts_standalone@onload_i18next.ejs → (plugin)/(standalone)/plugin.ts_standalone@onload_i18next.ejs} +0 -0
  656. /package/templates/default/src/{plugin.ts_standalone@onload_lit.ejs → (plugin)/(standalone)/plugin.ts_standalone@onload_lit.ejs} +0 -0
  657. /package/templates/default/src/{plugin.ts_standalone@onload_preact.ejs → (plugin)/(standalone)/plugin.ts_standalone@onload_preact.ejs} +0 -0
  658. /package/templates/default/src/{plugin.ts_standalone@onload_react.ejs → (plugin)/(standalone)/plugin.ts_standalone@onload_react.ejs} +0 -0
  659. /package/templates/default/src/{plugin.ts_standalone@onload_solid.ejs → (plugin)/(standalone)/plugin.ts_standalone@onload_solid.ejs} +0 -0
  660. /package/templates/default/src/{plugin.ts_standalone@onload_svelte.ejs → (plugin)/(standalone)/plugin.ts_standalone@onload_svelte.ejs} +0 -0
  661. /package/templates/default/src/{plugin.ts_standalone@onload_typesafe-i18n.ejs → (plugin)/(standalone)/plugin.ts_standalone@onload_typesafe-i18n.ejs} +0 -0
  662. /package/templates/default/src/{plugin.ts_standalone@onload_vue.ejs → (plugin)/(standalone)/plugin.ts_standalone@onload_vue.ejs} +0 -0
  663. /package/templates/default/src/{plugin.ts_standalone@onload_wasm.ejs → (plugin)/(standalone)/plugin.ts_standalone@onload_wasm.ejs} +0 -0
  664. /package/templates/default/src/{plugin-settings-component.test.ts_demo@test-imports_vitest.ejs → (settings)/plugin-settings-component.test.ts_all-in-one@test-imports_vitest.ejs} +0 -0
  665. /package/templates/default/src/{plugin-settings-component.test.ts_enhanced@test-imports_vitest.ejs → (settings)/plugin-settings-component.test.ts_demo@test-imports_vitest.ejs} +0 -0
  666. /package/templates/default/src/{plugin-settings.test.ts_demo.ejs → (settings)/plugin-settings.test.ts_demo.ejs} +0 -0
  667. /package/templates/default/src/{plugin-settings.test.ts_demo@test-imports_vitest.ejs → (settings)/plugin-settings.test.ts_demo@test-imports_vitest.ejs} +0 -0
  668. /package/templates/default/src/{plugin-settings.ts_enhanced.ejs → (settings)/plugin-settings.ts_all-in-one.ejs} +0 -0
  669. /package/templates/default/src/{settings.ts.ejs → (settings)/settings.ts.ejs} +0 -0
  670. /package/templates/default/src/styles/{main.css_dev-utils@content_tailwind.ejs → main.css_framework@content_tailwind.ejs} +0 -0
  671. /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
  672. /package/templates/default/src/views/{sample-preact-view.tsx_standalone.ejs → sample-preact-view.tsx.ejs} +0 -0
  673. /package/templates/default/src/views/{sample-solid-view.tsx_dev-utils.ejs → sample-solid-view.tsx_framework.ejs} +0 -0
  674. /package/templates/default/src/wasm/{answer.ts_esbuild.ejs → answer.ts_wasm-esbuild.ejs} +0 -0
  675. /package/templates/default/src/wasm/{answer.ts_parcel.ejs → answer.ts_wasm-parcel.ejs} +0 -0
  676. /package/templates/default/src/wasm/{answer.ts_rollup.ejs → answer.ts_wasm-rollup.ejs} +0 -0
  677. /package/templates/default/src/wasm/{answer.ts_vite.ejs → answer.ts_wasm-vite.ejs} +0 -0
  678. /package/templates/default/src/wasm/{answer.ts_webpack.ejs → answer.ts_wasm-webpack.ejs} +0 -0
  679. /package/templates/default/src/{wasm.d.ts_esbuild.ejs → wasm.d.ts_wasm-esbuild.ejs} +0 -0
  680. /package/templates/default/src/{wasm.d.ts_parcel.ejs → wasm.d.ts_wasm-parcel.ejs} +0 -0
  681. /package/templates/default/src/{wasm.d.ts_rollup.ejs → wasm.d.ts_wasm-rollup.ejs} +0 -0
  682. /package/templates/default/src/{wasm.d.ts_vite.ejs → wasm.d.ts_wasm-vite.ejs} +0 -0
  683. /package/templates/default/src/{wasm.d.ts_webpack.ejs → wasm.d.ts_wasm-webpack.ejs} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mnaoumov/create-obsidian-plugin",
3
- "version": "1.0.2",
3
+ "version": "1.2.0",
4
4
  "description": "Create Obsidian plugin from modern templates.",
5
5
  "homepage": "https://github.com/mnaoumov/create-obsidian-plugin#readme",
6
6
  "bugs": "https://github.com/mnaoumov/create-obsidian-plugin/issues",
@@ -21,7 +21,8 @@
21
21
  "CHANGELOG.md",
22
22
  "LICENSE",
23
23
  "README.md",
24
- "package.json"
24
+ "package.json",
25
+ "upstreams.json"
25
26
  ],
26
27
  "scripts": {
27
28
  "build": "jiti scripts/build.ts",
@@ -32,11 +33,16 @@
32
33
  "lint": "jiti scripts/lint.ts",
33
34
  "lint:fix": "jiti scripts/lint-fix.ts",
34
35
  "prepare": "jiti scripts/prepare.ts",
35
- "prepublishOnly": "npm run verify:upstream-links && npm run verify:tarball",
36
+ "prepublishOnly": "npm run verify:upstream-links && npm run verify:official-sample && npm run verify:tarball",
36
37
  "render:case": "jiti scripts/render-one-case.ts",
37
38
  "spellcheck": "jiti scripts/spellcheck.ts",
39
+ "sync:docs-showcase": "jiti scripts/sync-docs-showcase.ts",
40
+ "sync:obsidian": "jiti scripts/sync-obsidian.ts",
41
+ "sync:official-sample": "jiti scripts/sync-official-sample.ts",
42
+ "sync:upstreams": "sync-upstreams",
38
43
  "test": "jiti scripts/test.ts",
39
44
  "verify:answer-space": "jiti scripts/verify-answer-space.ts",
45
+ "verify:official-sample": "jiti scripts/verify-official-sample.ts",
40
46
  "verify:plugin-drift": "jiti scripts/verify-plugin-drift.ts",
41
47
  "verify:projects": "jiti scripts/verify-generated-projects.ts",
42
48
  "verify:rendering": "jiti scripts/verify-rendering.ts",
@@ -46,6 +52,8 @@
46
52
  "overrides": {
47
53
  "eslint": "$eslint",
48
54
  "eslint-plugin-import": "npm:eslint-plugin-import-x@^4.17.1",
55
+ "katex": "^0.18.2",
56
+ "re2js": "^2.9.1",
49
57
  "typescript": "$typescript"
50
58
  },
51
59
  "dependencies": {
@@ -60,12 +68,13 @@
60
68
  "@commitlint/types": "^21.2.0",
61
69
  "@eslint-community/eslint-plugin-eslint-comments": "^4.7.2",
62
70
  "@eslint/js": "^10.0.1",
71
+ "@mnaoumov/typescript-dev-toolkit": "^5.2.0",
63
72
  "@stylistic/eslint-plugin": "^5.10.0",
64
73
  "@total-typescript/ts-reset": "^0.6.1",
65
74
  "@tsconfig/strictest": "^2.0.8",
66
75
  "@types/ejs": "^3.1.5",
67
76
  "@types/semver": "^7.8.0",
68
- "@vitest/coverage-v8": "^4.1.11",
77
+ "@vitest/coverage-v8": "^5.0.5",
69
78
  "better-typescript-lib": "^2.12.0",
70
79
  "cspell": "^10.1.1",
71
80
  "czg": "^1.14.0",
@@ -77,10 +86,11 @@
77
86
  "eslint-plugin-perfectionist": "^5.10.1",
78
87
  "globals": "^17.11.0",
79
88
  "husky": "^9.1.7",
89
+ "ignore": "^7.0.12",
80
90
  "jiti": "^2.7.0",
81
91
  "typescript": "6.0.3",
82
92
  "typescript-eslint": "^8.68.0",
83
- "vitest": "^4.1.11",
93
+ "vitest": "^5.0.5",
84
94
  "yaml": "^2.9.0"
85
95
  }
86
96
  }
package/src/main.ts CHANGED
@@ -26,9 +26,10 @@ import type {
26
26
  Answers,
27
27
  GeneratorConfig,
28
28
  PackageJson
29
- } from './answers.ts';
30
- import type { CliArgs } from './cli-args.ts';
29
+ } from './answers/answers.ts';
30
+ import type { CliArgs } from './answers/cli-args.ts';
31
31
  import type { Overlay } from './overlay.ts';
32
+ import type { UpstreamSnapshot } from './upstream-snapshot.ts';
32
33
 
33
34
  import {
34
35
  formatAnswersJson,
@@ -36,37 +37,46 @@ import {
36
37
  formatCreateScript,
37
38
  getScriptExtension,
38
39
  getShellForPlatform
39
- } from './answers-export.ts';
40
+ } from './answers/answers-export.ts';
40
41
  import {
41
42
  CONFIG_FILE_NAME,
42
43
  Mode
43
- } from './answers.ts';
44
- import { assertNotCancelled } from './clack-utils.ts';
44
+ } from './answers/answers.ts';
45
45
  import {
46
46
  getHelpText,
47
47
  parseCliArgs
48
- } from './cli-args.ts';
49
- import { findUnlistableManifestAnswers } from './directory-constraints.ts';
48
+ } from './answers/cli-args.ts';
49
+ import { findUnlistableManifestAnswers } from './directory/directory-constraints.ts';
50
50
  import {
51
51
  fetchCommunityPluginIds,
52
52
  makeUnlistedPluginIdValidator,
53
53
  validatePluginIdIsUnlisted
54
- } from './directory-registry.ts';
54
+ } from './directory/directory-registry.ts';
55
55
  import { needsInitialFormat } from './features/formatter/index.ts';
56
+ import { INITIAL_COMMIT_MESSAGE } from './features/git-hooks.ts';
56
57
  import {
57
58
  getInstallCommand,
58
59
  getRunCommand
59
60
  } from './features/package-manager/index.ts';
61
+ import { isOfficialSamplePreset } from './features/preset/official-sample.ts';
62
+ import {
63
+ copyOfficialSample,
64
+ getUpstreamsPath,
65
+ loadOfficialSampleSnapshot,
66
+ OFFICIAL_SAMPLE_PINNED_ANSWERS,
67
+ OFFICIAL_SAMPLE_UPSTREAM_NAME
68
+ } from './official-sample.ts';
60
69
  import {
61
70
  loadOverlay,
62
71
  toRecordedOverlayPath
63
72
  } from './overlay.ts';
64
73
  import { createProjectFormatter } from './project-formatter.ts';
74
+ import { assertNotCancelled } from './prompts/clack-utils.ts';
65
75
  import {
66
76
  getDefaultAnswers,
67
77
  makePluginName,
68
78
  promptAnswers
69
- } from './prompts.ts';
79
+ } from './prompts/prompts.ts';
70
80
  import {
71
81
  buildTemplate,
72
82
  copyTemplates,
@@ -74,6 +84,10 @@ import {
74
84
  loadConfig,
75
85
  recordHashesOnDisk
76
86
  } from './templates.ts';
87
+ import {
88
+ fetchUpstreamSnapshot,
89
+ readUpstream
90
+ } from './upstream-snapshot.ts';
77
91
  import {
78
92
  fetchLatestObsidianVersion,
79
93
  fetchLatestVersion,
@@ -81,21 +95,22 @@ import {
81
95
  } from './versions.ts';
82
96
 
83
97
  interface ExecError extends Error {
98
+ // eslint-disable-next-line typescript-dev-toolkit/readonly-interface-members -- The command wrapper attaches captured stderr to the thrown error.
84
99
  stderr: string;
85
100
  }
86
101
 
87
102
  interface ExecResult {
88
- stderr: string;
89
- stdout: string;
103
+ readonly stderr: string;
104
+ readonly stdout: string;
90
105
  }
91
106
 
92
107
  interface ResolvedExternalVersions {
93
- minAppVersion: string;
94
- resolvedVersions: ReadonlyMap<string, string>;
108
+ readonly minAppVersion: string;
109
+ readonly resolvedVersions: ReadonlyMap<string, string>;
95
110
  }
96
111
 
97
112
  interface SavedConfig {
98
- answers?: Answers;
113
+ readonly answers?: Answers;
99
114
  }
100
115
 
101
116
  /** Where this process's own arguments start: `node` and the script path come first. */
@@ -103,9 +118,35 @@ const ARGV_OFFSET = 2;
103
118
 
104
119
  const JSON_INDENT_SPACES = 2;
105
120
 
121
+ /** How much of a commit SHA a message names: git's own short form. */
122
+ const SHORT_SHA_LENGTH = 7;
123
+
106
124
  /** Owner-writable, everyone-executable: a script the user must `chmod` before running is a poor hand-off. */
107
125
  const SCRIPT_MODE = 0o755;
108
126
 
127
+ /**
128
+ * The answers with what the preset pins applied, refusing the two flags only one kind of preset reads.
129
+ *
130
+ * `--latest` picks which upstream tree the official sample copies, so on a template preset it would be dropped.
131
+ * `--customTemplate` layers over the built-in templates, and the official sample renders none.
132
+ */
133
+ function applyPresetFlags(answers: Answers, cliArgs: CliArgs, hasOverlay: boolean): Answers {
134
+ if (!isOfficialSamplePreset(answers.preset)) {
135
+ if (cliArgs.latest) {
136
+ exitWithUsageError(`--latest picks which upstream tree preset=official-sample copies, and the preset is ${answers.preset}.
137
+ Drop --latest, or pass --preset=official-sample.`);
138
+ }
139
+ return answers;
140
+ }
141
+
142
+ if (hasOverlay) {
143
+ exitWithUsageError(`--customTemplate layers over the built-in templates, and preset=official-sample renders none: it copies obsidianmd/obsidian-sample-plugin as it is.
144
+ Drop --customTemplate, or choose another preset.`);
145
+ }
146
+
147
+ return { ...answers, ...OFFICIAL_SAMPLE_PINNED_ANSWERS };
148
+ }
149
+
109
150
  /**
110
151
  * Refuses to scaffold a plugin the Community directory would not list, naming the flag that fixes it.
111
152
  *
@@ -272,6 +313,11 @@ function exitWithUsageError(message: string): never {
272
313
  process.exit(1);
273
314
  }
274
315
 
316
+ function hasPrepareScript(targetDir: string): boolean {
317
+ const packageJson = JSON.parse(readFileSync(join(targetDir, 'package.json'), 'utf-8')) as PackageJson;
318
+ return Object.hasOwn(packageJson.scripts ?? {}, 'prepare');
319
+ }
320
+
275
321
  /**
276
322
  * Loads the overlay or stops with the reason, the same stderr-then-exit shape as a rejected flag: an
277
323
  * overlay that does not load is a usage error, and it is found before any question is asked.
@@ -392,12 +438,41 @@ async function resolveExternalVersions(answers: Answers, overlay: null | Overlay
392
438
  return { minAppVersion, resolvedVersions };
393
439
  }
394
440
 
441
+ /**
442
+ * The upstream tree the official sample copies: the snapshot this release vendored, or under `--latest` upstream's
443
+ * tree today. A failed fetch falls back to the snapshot with a warning, for the reason `resolveVersions()` falls back
444
+ * to `latest`: generating offline must still work.
445
+ */
446
+ async function resolveOfficialSampleSnapshot(latest: boolean): Promise<UpstreamSnapshot> {
447
+ const vendored = loadOfficialSampleSnapshot();
448
+ if (!latest) {
449
+ return vendored;
450
+ }
451
+
452
+ const upstream = readUpstream(getUpstreamsPath(), OFFICIAL_SAMPLE_UPSTREAM_NAME);
453
+ const s = spinner();
454
+ s.start(`Fetching ${upstream.repo}@${upstream.ref}...`);
455
+ try {
456
+ const snapshot = await fetchUpstreamSnapshot(upstream.repo, upstream.ref);
457
+ s.stop(`Fetched ${upstream.repo} at ${snapshot.commit.slice(0, SHORT_SHA_LENGTH)}.`);
458
+ return snapshot;
459
+ } catch (error: unknown) {
460
+ s.stop(`Could not fetch ${upstream.repo}.`);
461
+ log.warn(`${error instanceof Error ? error.message : String(error)}\nUsing the snapshot this release vendored, ${vendored.commit.slice(0, SHORT_SHA_LENGTH)}.`);
462
+ return vendored;
463
+ }
464
+ }
465
+
395
466
  async function runCreate(currentVersion: string, cliArgs: CliArgs): Promise<void> {
396
467
  const { answers: suppliedAnswers, customTemplate, useDefaults } = cliArgs;
397
468
  const overlay = customTemplate ? loadOverlayOrExit(resolvePath(customTemplate)) : null;
398
- const answers = await ensurePluginIdIsUnlisted(
399
- assertManifestAnswersAreListable(useDefaults ? getDefaultAnswers(suppliedAnswers) : await promptAnswers(suppliedAnswers)),
400
- useDefaults
469
+ const answers = applyPresetFlags(
470
+ await ensurePluginIdIsUnlisted(
471
+ assertManifestAnswersAreListable(useDefaults ? getDefaultAnswers(suppliedAnswers) : await promptAnswers(suppliedAnswers)),
472
+ useDefaults
473
+ ),
474
+ cliArgs,
475
+ overlay !== null
401
476
  );
402
477
 
403
478
  // Not under `--yes`: that path is what an exported script itself runs, so offering to export from
@@ -426,15 +501,25 @@ Pass --force to scaffold into it anyway.`);
426
501
  }
427
502
  }
428
503
 
429
- const { minAppVersion, resolvedVersions } = await resolveExternalVersions(answers, overlay);
504
+ let newConfig: GeneratorConfig;
505
+ if (isOfficialSamplePreset(answers.preset)) {
506
+ // Upstream's own versions and lockfile are the point, so nothing is resolved.
507
+ const snapshot = await resolveOfficialSampleSnapshot(cliArgs.latest);
508
+ const s = spinner();
509
+ s.start('Copying the official sample plugin...');
510
+ newConfig = copyOfficialSample(answers, targetDir, currentVersion, null, snapshot);
511
+ s.stop(`Copied obsidianmd/obsidian-sample-plugin at ${snapshot.commit.slice(0, SHORT_SHA_LENGTH)}.`);
512
+ } else {
513
+ const { minAppVersion, resolvedVersions } = await resolveExternalVersions(answers, overlay);
514
+ const s = spinner();
515
+ s.start('Scaffolding plugin...');
516
+ newConfig = copyTemplates(answers, targetDir, currentVersion, null, resolvedVersions, minAppVersion, overlay);
517
+ s.stop('Plugin scaffolded.');
518
+ }
430
519
 
431
- const s = spinner();
432
- s.start('Scaffolding plugin...');
433
- const newConfig = copyTemplates(answers, targetDir, currentVersion, null, resolvedVersions, minAppVersion, overlay);
434
520
  const configPath = join(targetDir, CONFIG_FILE_NAME);
435
521
  const configWithAnswers = buildSavedConfig(newConfig, answers, overlay, targetDir);
436
522
  writeFileSync(configPath, `${JSON.stringify(configWithAnswers, null, JSON_INDENT_SPACES)}\n`);
437
- s.stop('Plugin scaffolded.');
438
523
 
439
524
  // `--yes` installs nothing and so formats nothing, which leaves a prettier or biome project failing its own
440
525
  // `format:check` until `format` runs once. It stays out of the install on purpose -- a script may want to
@@ -526,11 +611,20 @@ async function runPostScaffold(targetDir: string, answers: Answers): Promise<boo
526
611
  // `init.defaultBranch` says, which need not be the branch the generated CI workflow triggers on --
527
612
  // A mismatch produces a repo whose CI never fires. Both come from the same answer.
528
613
  await execAsync(`git init -b ${answers.defaultBranch}`, targetDir);
614
+ // The install ran before there was a `.git`, so its `prepare` installed no hooks, and Yarn 2+ never runs a
615
+ // Root `prepare` on install at all. Running it here is what makes the hooks live from the first commit on.
616
+ if (isInstalled && hasPrepareScript(targetDir)) {
617
+ await execAsync(getRunCommand(pm, 'prepare'), targetDir);
618
+ }
529
619
  await execAsync('git add -A', targetDir);
530
- await execAsync('git commit -m "Initial commit from create-obsidian-plugin"', targetDir);
620
+ // A conventional header, because the commit goes through the project's own `commit-msg` hook.
621
+ await execAsync(`git commit -m "${INITIAL_COMMIT_MESSAGE}"`, targetDir);
531
622
  s.stop('Git repository initialized with initial commit.');
532
- } catch {
623
+ } catch (error: unknown) {
533
624
  s.stop('Failed to initialize git. Run `git init` manually.');
625
+ if (error instanceof Error && 'stderr' in error) {
626
+ log.error(String(error.stderr));
627
+ }
534
628
  }
535
629
  }
536
630
 
@@ -601,7 +695,8 @@ This project records it in ${CONFIG_FILE_NAME}. Pass --customTemplate=<dir> to p
601
695
  assertNotCancelled(shouldRePrompt);
602
696
 
603
697
  if (shouldRePrompt) {
604
- answers = await promptAnswers(saved);
698
+ // The saved answers seed each prompt, and only this run's flags skip theirs.
699
+ answers = await promptAnswers(saved, suppliedAnswers);
605
700
  } else {
606
701
  answers = saved;
607
702
  }
@@ -623,6 +718,19 @@ Run without --yes to answer them again.`);
623
718
  answers = await ensurePluginIdIsUnlisted(answers, useDefaults);
624
719
  }
625
720
 
721
+ answers = applyPresetFlags(answers, cliArgs, overlay !== null);
722
+
723
+ if (isOfficialSamplePreset(answers.preset)) {
724
+ const snapshot = await resolveOfficialSampleSnapshot(cliArgs.latest);
725
+ const s = spinner();
726
+ s.start('Updating project files...');
727
+ const newConfig = copyOfficialSample(answers, targetDir, currentVersion, existingConfig, snapshot);
728
+ writeFileSync(configPath, `${JSON.stringify({ ...newConfig, answers }, null, JSON_INDENT_SPACES)}\n`);
729
+ s.stop(`Update complete: obsidianmd/obsidian-sample-plugin at ${snapshot.commit.slice(0, SHORT_SHA_LENGTH)}.`);
730
+ outro('Project updated successfully!');
731
+ return;
732
+ }
733
+
626
734
  // A project that has already released carries a `manifest.json` its own `npm run version` rewrote, so its
627
735
  // Hash no longer matches the recorded one and the updater skips it -- the freshly looked-up
628
736
  // `minAppVersion` only ever reaches a manifest nobody has touched.
@@ -6,7 +6,7 @@
6
6
  * new bundle root unconditionally, and has no option to inline one. The other bundlers each do:
7
7
  * rollup's `inlineDynamicImports`, vite's `rollupOptions.output.inlineDynamicImports`, webpack's
8
8
  * `asyncChunks: false`. This transformer is that option for Parcel, for the same reason
9
- * `parcel-resolver-obsidian.cjs` is its `external` list. obsidian-dev-utils is what needs it: it
9
+ * `parcel-resolver-obsidian.cjs` is its `external` list. obsidian-lib is what needs it: it
10
10
  * reaches its desktop-only modules through `await import(...)`.
11
11
  *
12
12
  * It runs before Parcel's own JavaScript transformer and rewrites `import('<literal>')` into a
@@ -1,6 +1,7 @@
1
1
  # Contributing
2
2
 
3
3
  Contributions are welcome! Here's how to get started.
4
+ <%- render('filing') -%>
4
5
 
5
6
  ## Prerequisites
6
7
 
@@ -7,7 +7,7 @@ When you add a user-facing feature, add or update its note in the same change.
7
7
 
8
8
  ### One-time setup before the button suite can run
9
9
 
10
- `npm run test:integration:demo-vault` opens a copy of `demo-vault/` in a real Obsidian and clicks every button in it. It needs the CodeScript Toolkit binary, which it copies out of your own `demo-vault/` to keep the run hermetic. Open `demo-vault/` in Obsidian once and let `demo-vault-helper` install CodeScript Toolkit; the installed copy is gitignored, so each machine does this for itself. Until then the suite fails with a message telling you exactly this.
10
+ `npm run test:integration:demo-vault` opens a copy of `demo-vault/` in a real Obsidian and clicks every button in it. It needs the `CodeScript Toolkit` binary, which it copies out of your own `demo-vault/` to keep the run hermetic. Open `demo-vault/` in Obsidian once and let `demo-vault-helper` install `CodeScript Toolkit`; the installed copy is gitignored, so each machine does this for itself. Until then the suite fails with a message telling you exactly this.
11
11
 
12
12
  ### Checking the vault
13
13
 
@@ -0,0 +1,6 @@
1
+
2
+ ## Filing an issue (for AI agents and humans)
3
+
4
+ Open issues through the [issue forms](https://github.com/<%= authorGitHubName %>/obsidian-<%= pluginId %>/issues/new/choose), not as blank issues.
5
+
6
+ Filing from the CLI or the API (`gh issue create --body`, or an AI agent filing for you) skips the form, and `gh issue create --template` cannot load an issue form. In that case, open the matching form in [`.github/ISSUE_TEMPLATE/`](https://github.com/<%= authorGitHubName %>/obsidian-<%= pluginId %>/tree/HEAD/.github/ISSUE_TEMPLATE), copy every field as a `### <label>` heading in the form's order, and fill in each one. Always state the plugin version, the Obsidian version and your operating system.
@@ -8,3 +8,4 @@ demo-vault
8
8
 
9
9
  # Markdown belongs to markdownlint.
10
10
  *.md
11
+ <%- render('ignores') -%>
@@ -0,0 +1,3 @@
1
+
2
+ # The developer docs' code blocks, as the docs show them. See src/docs/README.md.
3
+ src/docs
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
3
+ "extends": ["./node_modules/@mnaoumov/typescript-dev-toolkit/assets/biome.json"],
4
+ "files": {
5
+ "includes": ["**", "!**/dist", "!**/coverage", "!**/node_modules", "!**/demo-vault", "!**/*-lock.json"<%- render('excludes') %>],
6
+ },
7
+ "linter": {
8
+ "rules": {
9
+ "complexity": {
10
+ // The shared ESLint config's `unicorn/class-reference-in-static-methods` asks for `this` in a static method,
11
+ // which this rule rejects. The sample code follows the shared config and the real plugins.
12
+ "noThisInStatic": "off",
13
+ },
14
+ },
15
+ },
16
+ }
@@ -28,7 +28,7 @@
28
28
  }
29
29
  },
30
30
  "files": {
31
- "includes": ["**", "!**/dist", "!**/node_modules", "!**/demo-vault", "!**/*-lock.json"]
31
+ "includes": ["**", "!**/dist", "!**/coverage", "!**/node_modules", "!**/demo-vault", "!**/*-lock.json"]
32
32
  },
33
33
  "overrides": [
34
34
  {
@@ -0,0 +1,10 @@
1
+ {
2
+ "extends": "./node_modules/@mnaoumov/obsidian-dev-toolkit/dist/templates/dprint.json",
3
+ "excludes": [
4
+ "dist",
5
+ "**/node_modules",
6
+ "**/*-lock.json",
7
+ "**/*.md",
8
+ "demo-vault"<%- render('excludes') %>
9
+ ]
10
+ }
@@ -6,6 +6,7 @@
6
6
  "exportDeclaration.forceMultiLine": "whenMultiple",
7
7
  "functionExpression.spaceAfterFunctionKeyword": true,
8
8
  "importDeclaration.forceMultiLine": "whenMultiple",
9
+ "jsx.quoteStyle": "preferDouble",
9
10
  "lineWidth": 1000,
10
11
  "quoteStyle": "alwaysSingle",
11
12
  "trailingCommas": "never"
@@ -0,0 +1,3 @@
1
+ import { getPrettierConfig } from '@mnaoumov/typescript-dev-toolkit/formatters/prettier';
2
+
3
+ export default { ...getPrettierConfig() };
@@ -2,6 +2,9 @@
2
2
  "version": "0.2",
3
3
  "ignorePaths": [
4
4
  "**/*.wasm",
5
+ ".create-obsidian-plugin.json",
6
+ <%- render('ignore-paths') -%>
7
+ "coverage",
5
8
  "dist",
6
9
  "node_modules",
7
10
  "tsconfig.tsbuildinfo"
@@ -9,11 +12,14 @@
9
12
  "dictionaryDefinitions": [],
10
13
  "dictionaries": [],
11
14
  "words": [
12
- <%- JSON.stringify(authorGitHubName) %>,
15
+ <% _cspellIdentityWords.forEach((word) => { -%>
16
+ <%- JSON.stringify(word) %>,
17
+ <% }); -%>
13
18
  "Invocables",
14
19
  "assemblyscript",
15
20
  "autoprefixer",
16
21
  "biomejs",
22
+ "churny",
17
23
  "codicon",
18
24
  "codemirror",
19
25
  "collab",
@@ -36,15 +42,18 @@
36
42
  "lintstagedrc",
37
43
  "lucide",
38
44
  "markdownlint",
39
- "mnaoumov",
45
+ "nvmrc",
40
46
  "obsidianmd",
41
47
  "onload",
42
48
  "onunload",
43
49
  "postcss",
44
50
  "preact",
51
+ "rescanning",
52
+ "smol",
45
53
  "svelte",
46
54
  "tailwindcss",
47
55
  "tidelift",
56
+ "toolkits",
48
57
  "tsbuildinfo",
49
58
  "tseslint",
50
59
  "tslib",
@@ -97,6 +97,15 @@ export default defineConfig(
97
97
  'obsidianmd/rule-custom-message': 'off'
98
98
  }
99
99
  },
100
+ {
101
+ files: typeScriptFiles,
102
+ rules: {
103
+ // The compiler already reports an undefined name, and `no-undef` cannot see ambient types and
104
+ // Globals a test framework declares (`describe`, `browser`, `WebdriverIO`), so typescript-eslint
105
+ // Advises turning it off for TypeScript.
106
+ 'no-undef': 'off'
107
+ }
108
+ },
100
109
  {
101
110
  rules: {
102
111
  // `moment` is banned for bundle size, which does not apply here: Obsidian bundles it and
@@ -17,8 +17,6 @@
17
17
  false, which left every package a `require()` in `main.js` that nothing installs beside a plugin -- a
18
18
  build that exited 0 and a plugin that failed to load.
19
19
 
20
- `packageExports` makes the resolver read package `exports`. Without it, a subpath such as
21
- `svelte/internal/client` does not resolve once the package is bundled rather than required.
22
20
  -%>
23
21
  "targets": {
24
22
  "main": false,
@@ -31,6 +29,3 @@
31
29
  "sourceMap": false
32
30
  }
33
31
  },
34
- "@parcel/resolver-default": {
35
- "packageExports": true
36
- },
@@ -0,0 +1,5 @@
1
+ <%# `packageExports` makes the resolver read package `exports`. Without it, a subpath such as -%>
2
+ <%# `svelte/internal/client` does not resolve once the package is bundled rather than required. -%>
3
+ "@parcel/resolver-default": {
4
+ "packageExports": true
5
+ },
@@ -0,0 +1,38 @@
1
+ # <%= pluginName %>
2
+
3
+ <%- _badges.join(' ') %>
4
+
5
+ <%= pluginDescription %>
6
+ <%- render('demo-vault') -%>
7
+
8
+ ## See also
9
+
10
+ [My other Obsidian resources](https://github.com/mnaoumov/obsidian-resources)
11
+
12
+ <!-- Before publishing, search the community plugin directory (https://community.obsidian.md/plugins) and GitHub for similar plugins. Replace the null form below with a table when candidates exist. Sort rows alphabetically by plugin display name; link listed plugins to the store and unlisted ones to their repository. Add (my plugin) or (maintained by me) after the link where applicable. -->
13
+ <!-- Use these columns: Plugin | Features | How `<%= pluginName %>` differs. Keep cells short, with semicolon-separated fragments. Start each difference with the relationship to the other plugin, then what this one adds or omits. Use Supersedes for a retired or fully covered plugin, Extends for an active plugin it builds on, or a concrete relation such as Same goal as or Narrower than. -->
14
+ <!-- Close a populated table with "Last searched for similar plugins on YYYY-MM-DD." When the search finds nothing, keep the sentence below and replace its date. The resources link stays first in either case. -->
15
+
16
+ No similar plugin was found when this was last searched for, on YYYY-MM-DD.
17
+
18
+ ## Installation
19
+
20
+ The plugin is not available in [the official Community Plugins repository](https://community.obsidian.md) yet.
21
+
22
+ ### Beta versions
23
+
24
+ To install the latest beta release of this plugin (regardless if it is available in [the official Community Plugins repository](https://community.obsidian.md) or not), follow these steps:
25
+
26
+ 1. Ensure you have the [BRAT plugin](https://community.obsidian.md/plugins/obsidian42-brat) installed and enabled.
27
+ 2. Click [Install via BRAT](https://intradeus.github.io/http-protocol-redirector?r=obsidian://brat?plugin=https://github.com/<%= authorGitHubName %>/obsidian-<%= pluginId %>).
28
+ 3. An Obsidian pop-up window should appear. In the window, click the `Add plugin` button once and wait a few seconds for the plugin to install.
29
+ <%- render('preset') -%>
30
+
31
+ ## Contributing
32
+
33
+ Contributions are welcome — see [CONTRIBUTING](./CONTRIBUTING.md) to get set up.
34
+ <%- render('support') -%>
35
+
36
+ ## License
37
+
38
+ © [<%= authorName %>](https://github.com/<%= authorGitHubName %>/)
@@ -7,6 +7,6 @@
7
7
 
8
8
  A copy of the vault ships with every release. You can access it via any of the following:
9
9
 
10
- 1. Running the **<%= pluginName %>: Open demo vault** command.
10
+ 1. Running the **`<%- pluginName %>`: Open demo vault** command.
11
11
  2. Downloading `<%= pluginId %>-demo-vault.zip` from the [Releases](https://github.com/<%= authorGitHubName %>/obsidian-<%= pluginId %>/releases). It unzips into a single `<%= pluginId %>-demo-vault-<version>` folder.
12
12
  3. Browsing its source in [`demo-vault/`](./demo-vault/README.md) in this repository.
@@ -0,0 +1,4 @@
1
+
2
+ ## Developer docs showcase
3
+
4
+ Every code block of the [Obsidian developer docs](https://docs.obsidian.md) is a command of this plugin: open the command palette and type `Docs:`. [`src/docs/README.md`](./src/docs/README.md) lists every block, with its command or the reason it has none. Whatever a command shows, a Notice, a modal or a settings tab, links the docs page its code came from, and `Docs showcase: Open the docs page of a snippet` opens that page without running the snippet.
@@ -0,0 +1,6 @@
1
+
2
+ ## Debugging
3
+
4
+ By default, debug messages for this plugin (id: `<%= pluginId %>`) are hidden.
5
+
6
+ If you need to enable them refer to the [documentation](https://mnaoumov.dev/obsidian-lib/guides/debugging/).
@@ -0,0 +1,11 @@
1
+ <% if (!_hasFunding) { -%>
2
+
3
+ ## Support
4
+ <% } -%>
5
+
6
+ ### Filing an issue (for AI agents and humans)
7
+
8
+ Open issues through the [issue forms](https://github.com/<%= authorGitHubName %>/obsidian-<%= pluginId %>/issues/new/choose), not as blank issues.
9
+ <%- render('bug-report') -%>
10
+
11
+ Filing from the CLI or the API (`gh issue create --body`, or an AI agent filing for you) skips the form, and `gh issue create --template` cannot load an issue form. In that case, open the matching form in [`.github/ISSUE_TEMPLATE/`](https://github.com/<%= authorGitHubName %>/obsidian-<%= pluginId %>/tree/HEAD/.github/ISSUE_TEMPLATE), copy every field as a `### <label>` heading in the form's order, and fill in each one. Always state the plugin version, the Obsidian version and your operating system.
@@ -0,0 +1,2 @@
1
+
2
+ To report a bug from inside Obsidian, run the **`<%- pluginName %>`: Report a bug** command. It opens the bug form with the plugin version, the Obsidian version and your operating system already filled in.