@mnaoumov/create-obsidian-plugin 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/README.md +38 -7
  2. package/dist/main.js +1068 -333
  3. package/package.json +15 -6
  4. package/src/main.ts +118 -11
  5. package/templates/default/.github/ISSUE_TEMPLATE/config.yml.ejs +4 -0
  6. package/templates/default/.github/workflows/attest-release-assets.yml.ejs +1 -11
  7. package/templates/default/.github/workflows/ci.yml_framework.ejs +19 -0
  8. package/templates/default/.github/workflows/ci.yml_framework@job-permissions_measured-coverage-badge.ejs +3 -0
  9. package/templates/default/.github/workflows/ci.yml_framework@with_measured-coverage-badge.ejs +1 -0
  10. package/templates/default/.github/workflows/{ci.yml.ejs → ci.yml_standalone.ejs} +1 -1
  11. package/templates/default/.github/workflows/release.yml_framework.ejs +19 -0
  12. package/templates/default/.github/workflows/{release.yml.ejs → release.yml_standalone.ejs} +1 -1
  13. package/templates/default/.gitignore_common.ejs +1 -0
  14. package/templates/default/.gitignore_wdio-obsidian.ejs +2 -0
  15. package/templates/default/.nvmrc.ejs +1 -0
  16. package/templates/default/.prettierignore.ejs +1 -0
  17. package/templates/default/.prettierignore@ignores_docs-showcase.ejs +3 -0
  18. package/templates/default/{CONTRIBUTING.md@demo-vault_dev-utils.ejs → CONTRIBUTING.md@demo-vault_framework.ejs} +1 -1
  19. package/templates/default/{README.md@demo-vault_dev-utils.ejs → README.md@demo-vault_framework.ejs} +1 -1
  20. package/templates/default/README.md@preset_docs-showcase.ejs +4 -0
  21. package/templates/default/{README.md@preset_dev-utils.ejs → README.md@preset_framework.ejs} +1 -1
  22. package/templates/default/biome.jsonc_framework.ejs +16 -0
  23. package/templates/default/biome.jsonc_framework@excludes_docs-showcase.ejs +1 -0
  24. package/templates/default/{biome.jsonc.ejs → biome.jsonc_standalone.ejs} +1 -1
  25. package/templates/default/cspell.json.ejs +10 -2
  26. package/templates/default/cspell.json@ignore-paths_docs-showcase.ejs +1 -0
  27. package/templates/default/demo-vault/.gitignore.ejs +4 -4
  28. package/templates/default/demo-vault/00 Start.md.ejs +1 -1
  29. package/templates/default/demo-vault/01 Sample commands.md.ejs +4 -4
  30. package/templates/default/demo-vault/02 Settings.md.ejs +2 -2
  31. package/templates/default/demo-vault/03 WebAssembly.md.ejs +2 -2
  32. package/templates/default/demo-vault/README.md.ejs +1 -1
  33. package/templates/default/demo-vault/_assets/CodeScriptToolkit/demoSetup.ts.ejs +1 -1
  34. package/templates/default/demo-vault/_assets/CodeScriptToolkit/startup.ts.ejs +4 -4
  35. package/templates/default/dprint.json_framework.ejs +10 -0
  36. package/templates/default/dprint.json_framework@excludes_docs-showcase.ejs +2 -0
  37. package/templates/default/dprint.json_standalone.ejs +1 -0
  38. package/templates/default/eslint.config.mts_standalone.ejs +9 -0
  39. package/templates/default/jest.config.ts_framework.ejs +31 -0
  40. package/templates/default/{scripts/rollup.config.ts@lint-out-dir_dev-utils.ejs → jest.config.ts_framework@lint-root-dir_framework.ejs} +1 -1
  41. package/templates/default/jest.config.ts_framework@ts-jest-tsconfig_solid.ejs +8 -0
  42. package/templates/default/{jest.config.ts.ejs → jest.config.ts_standalone.ejs} +0 -1
  43. package/templates/default/package.json@targets_parcel-targets.ejs +31 -0
  44. package/templates/default/package.json@targets_parcel.ejs +2 -33
  45. package/templates/default/parcel-transformer-inline-imports.cjs.ejs +1 -1
  46. package/templates/default/prettier.config.mjs_framework.ejs +3 -0
  47. package/templates/default/scripts/build-clean.ts.ejs +2 -2
  48. package/templates/default/scripts/build-compile-typescript.ts.ejs +14 -0
  49. package/templates/default/scripts/build-compile.ts.ejs +2 -2
  50. package/templates/default/scripts/build-options.ts.ejs +9 -0
  51. package/templates/default/scripts/build-styles.ts.ejs +4 -7
  52. package/templates/default/scripts/build.ts.ejs +2 -2
  53. package/templates/default/scripts/build.ts@bundler_adapter-cli.ejs +11 -0
  54. package/templates/default/scripts/build.ts@bundler_adapter-cli@run_rollup.ejs +1 -0
  55. package/templates/default/scripts/build.ts@bundler_adapter-cli@run_vite.ejs +1 -0
  56. package/templates/default/scripts/build.ts@bundler_adapter-cli@run_webpack.ejs +1 -0
  57. package/templates/default/scripts/build.ts@bundler_cli-bundler.ejs +1 -1
  58. package/templates/default/scripts/build.ts@bundler_cli-bundler@import_tailwind.ejs +0 -1
  59. package/templates/default/scripts/build.ts@bundler_esbuild.ejs +2 -2
  60. package/templates/default/scripts/build.ts@bundler_esbuild@preset_framework.ejs +5 -0
  61. package/templates/default/scripts/build.ts@bundler_parcel-adapter.ejs +5 -0
  62. package/templates/default/scripts/commit.ts_framework.ejs +3 -0
  63. package/templates/default/scripts/commitlint-config.ts_framework.ejs +1 -0
  64. package/templates/default/scripts/demo-vault-global-setup.ts.ejs +7 -4
  65. package/templates/default/scripts/dev.ts.ejs +1 -1
  66. package/templates/default/scripts/dev.ts@bundler_adapter-cli.ejs +6 -0
  67. package/templates/default/scripts/dev.ts@bundler_adapter-cli@run_rollup.ejs +3 -0
  68. package/templates/default/scripts/dev.ts@bundler_adapter-cli@run_vite.ejs +3 -0
  69. package/templates/default/scripts/dev.ts@bundler_adapter-cli@run_webpack.ejs +3 -0
  70. package/templates/default/scripts/dev.ts@bundler_esbuild.ejs +2 -2
  71. package/templates/default/scripts/dev.ts@bundler_esbuild@preset_framework.ejs +5 -0
  72. package/templates/default/scripts/dev.ts@bundler_parcel-adapter.ejs +5 -0
  73. package/templates/default/scripts/eslint-config.ts.ejs +3 -14
  74. package/templates/default/scripts/eslint-config.ts@ignores_docs-showcase.ejs +4 -0
  75. package/templates/default/scripts/find-overexposed-fix.ts.ejs +4 -4
  76. package/templates/default/scripts/find-overexposed.ts.ejs +3 -3
  77. package/templates/default/scripts/format-check.ts@tool_biome-formatter.ejs +3 -8
  78. package/templates/default/scripts/format-check.ts@tool_biome-formatter@preset_framework.ejs +7 -0
  79. package/templates/default/scripts/format-check.ts@tool_biome-formatter@preset_standalone.ejs +8 -0
  80. package/templates/default/scripts/format-check.ts@tool_dprint.ejs +2 -2
  81. package/templates/default/scripts/format-check.ts@tool_dprint@preset_framework.ejs +7 -0
  82. package/templates/default/scripts/format-check.ts@tool_prettier.ejs +3 -8
  83. package/templates/default/scripts/format-check.ts@tool_prettier@preset_framework.ejs +7 -0
  84. package/templates/default/scripts/format-check.ts@tool_prettier@preset_standalone.ejs +8 -0
  85. package/templates/default/scripts/format.ts@tool_biome-formatter.ejs +3 -8
  86. package/templates/default/scripts/format.ts@tool_biome-formatter@preset_framework.ejs +7 -0
  87. package/templates/default/scripts/format.ts@tool_biome-formatter@preset_standalone.ejs +8 -0
  88. package/templates/default/scripts/format.ts@tool_dprint.ejs +2 -2
  89. package/templates/default/scripts/format.ts@tool_dprint@preset_framework.ejs +7 -0
  90. package/templates/default/scripts/format.ts@tool_prettier.ejs +3 -8
  91. package/templates/default/scripts/format.ts@tool_prettier@preset_framework.ejs +7 -0
  92. package/templates/default/scripts/format.ts@tool_prettier@preset_standalone.ejs +8 -0
  93. package/templates/default/scripts/gate.ts.ejs +3 -3
  94. package/templates/default/scripts/lint-fix.ts.ejs +2 -2
  95. package/templates/default/scripts/lint-fix.ts@tool_biome-linter.ejs +3 -8
  96. package/templates/default/scripts/lint-fix.ts@tool_biome-linter@preset_framework.ejs +7 -0
  97. package/templates/default/scripts/lint-fix.ts@tool_biome-linter@preset_standalone.ejs +8 -0
  98. package/templates/default/scripts/lint-fix.ts@tool_eslint.ejs +2 -2
  99. package/templates/default/scripts/lint-fix.ts@tool_eslint@preset_framework.ejs +7 -0
  100. package/templates/default/scripts/lint-md-fix.ts_framework.ejs +7 -0
  101. package/templates/default/scripts/lint-md.ts_framework.ejs +7 -0
  102. package/templates/default/scripts/lint.ts.ejs +2 -2
  103. package/templates/default/scripts/lint.ts@tool_biome-linter.ejs +3 -8
  104. package/templates/default/scripts/lint.ts@tool_biome-linter@preset_framework.ejs +7 -0
  105. package/templates/default/scripts/lint.ts@tool_biome-linter@preset_standalone.ejs +8 -0
  106. package/templates/default/scripts/lint.ts@tool_eslint.ejs +2 -2
  107. package/templates/default/scripts/lint.ts@tool_eslint@preset_framework.ejs +7 -0
  108. package/templates/default/scripts/{markdownlint-cli2-config.ts_dev-utils.ejs → markdownlint-cli2-config.ts_framework.ejs} +4 -4
  109. package/templates/default/scripts/markdownlint-cli2-config.ts_standalone.ejs +0 -3
  110. package/templates/default/scripts/nano-staged-config.ts_toolkit-nano-staged.ejs +3 -0
  111. package/templates/default/scripts/prepare.ts_framework.ejs +3 -0
  112. package/templates/default/scripts/rollup.config.ts_framework.ejs +49 -0
  113. package/templates/default/scripts/rollup.config.ts_framework@plugin_rollup-json.ejs +2 -0
  114. package/templates/default/scripts/rollup.config.ts_framework@plugin_scss.ejs +3 -0
  115. package/templates/default/scripts/{rollup.config.ts.ejs → rollup.config.ts_standalone.ejs} +4 -4
  116. package/templates/default/scripts/rollup.config.ts_standalone@import_rollup-json.ejs +1 -0
  117. package/templates/default/scripts/rollup.config.ts_standalone@import_scss.ejs +1 -0
  118. package/templates/default/scripts/rollup.config.ts_standalone@unwrap_rollup-json.ejs +1 -0
  119. package/templates/default/scripts/rollup.config.ts_standalone@unwrap_scss.ejs +1 -0
  120. package/templates/default/scripts/spellcheck.ts_framework.ejs +7 -0
  121. package/templates/default/scripts/stylesheet-stub.ts.ejs +1 -1
  122. package/templates/default/scripts/test-coverage.ts.ejs +2 -8
  123. package/templates/default/scripts/test-coverage.ts@tool_jest.ejs +5 -0
  124. package/templates/default/scripts/test-coverage.ts@tool_vitest.ejs +8 -0
  125. package/templates/default/scripts/test-e2e.ts@tool_obsidian-test.ejs +2 -8
  126. package/templates/default/scripts/test-e2e.ts@tool_obsidian-test@preset_framework.ejs +4 -0
  127. package/templates/default/scripts/test-e2e.ts@tool_obsidian-test@preset_standalone.ejs +8 -0
  128. package/templates/default/scripts/test-e2e.ts@tool_wdio-obsidian.ejs +2 -8
  129. package/templates/default/scripts/test-e2e.ts@tool_wdio-obsidian@preset_framework.ejs +5 -0
  130. package/templates/default/scripts/test-e2e.ts@tool_wdio-obsidian@preset_standalone.ejs +8 -0
  131. package/templates/default/scripts/test-integration-android.ts.ejs +2 -2
  132. package/templates/default/scripts/test-integration-demo-vault.ts.ejs +2 -2
  133. package/templates/default/scripts/test-integration-desktop-performance.ts.ejs +2 -2
  134. package/templates/default/scripts/test-integration-desktop.ts.ejs +2 -2
  135. package/templates/default/scripts/test-integration-no-app.ts.ejs +2 -2
  136. package/templates/default/scripts/test-integration.ts.ejs +2 -2
  137. package/templates/default/scripts/test-watch.ts_framework@tool_jest.ejs +5 -0
  138. package/templates/default/scripts/test-watch.ts_framework@tool_vitest.ejs +8 -0
  139. package/templates/default/scripts/test.ts_framework@tool_jest.ejs +5 -0
  140. package/templates/default/scripts/test.ts_framework@tool_vitest.ejs +8 -0
  141. package/templates/default/scripts/{version.ts_dev-utils.ejs → version.ts_framework.ejs} +3 -3
  142. package/templates/default/scripts/vite.config.ts_framework.ejs +10 -0
  143. package/templates/default/scripts/{vite.config.ts.ejs → vite.config.ts_standalone.ejs} +5 -8
  144. package/templates/default/scripts/vitest-config.ts.ejs +3 -2
  145. package/templates/default/scripts/vitest-config.ts@edit-context_docs-showcase.ejs +3 -0
  146. package/templates/default/scripts/webpack.config.ts_framework.ejs +19 -0
  147. package/templates/default/scripts/webpack.config.ts_framework@import_scss.ejs +1 -0
  148. package/templates/default/scripts/webpack.config.ts_framework@plugin_scss.ejs +1 -0
  149. package/templates/default/scripts/webpack.config.ts_framework@rule_scss.ejs +4 -0
  150. package/templates/default/scripts/{webpack.config.ts.ejs → webpack.config.ts_standalone.ejs} +4 -4
  151. package/templates/default/src/demo-vault-buttons.demo-vault.integration.test.ts.ejs +2 -2
  152. package/templates/default/src/demo-vault.no-app.integration.test.ts.ejs +3 -3
  153. package/templates/default/src/docs-showcase.desktop.integration.test.ts.ejs +77 -0
  154. package/templates/default/src/editor-extensions/{sample-state-field.ts_dev-utils.ejs → sample-state-field.ts_framework.ejs} +1 -1
  155. package/templates/default/src/main.ts@import_tailwind.ejs +1 -1
  156. package/templates/default/src/main.ts@import_tailwind@preset_framework.ejs +1 -0
  157. package/templates/default/src/main.ts@import_tailwind@preset_standalone.ejs +1 -0
  158. package/templates/default/src/{plugin-settings-component.test.ts_enhanced.ejs → plugin-settings-component.test.ts_all-in-one.ejs} +4 -4
  159. package/templates/default/src/plugin-settings-component.test.ts_demo.ejs +5 -5
  160. package/templates/default/src/{plugin-settings-component.ts_enhanced.ejs → plugin-settings-component.ts_all-in-one.ejs} +3 -3
  161. package/templates/default/src/plugin-settings-component.ts_demo.ejs +7 -7
  162. package/templates/default/src/{plugin-settings-tab.ts_enhanced.ejs → plugin-settings-tab.ts_all-in-one.ejs} +1 -1
  163. package/templates/default/src/plugin-settings-tab.ts_demo.ejs +3 -3
  164. package/templates/default/src/plugin-settings.ts_demo.ejs +2 -2
  165. package/templates/default/src/{plugin.ts_enhanced.ejs → plugin.ts_all-in-one.ejs} +5 -5
  166. package/templates/default/src/plugin.ts_all-in-one@import2_css-modules.ejs +1 -0
  167. package/templates/default/src/plugin.ts_all-in-one@import2_docs-showcase.ejs +1 -0
  168. package/templates/default/src/plugin.ts_all-in-one@onload_css-modules.ejs +1 -0
  169. package/templates/default/src/plugin.ts_all-in-one@onload_docs-showcase.ejs +3 -0
  170. package/templates/default/src/plugin.ts_demo.ejs +16 -16
  171. package/templates/default/src/plugin.ts_demo@import_css-modules.ejs +1 -0
  172. package/templates/default/src/plugin.ts_demo@onload_css-modules.ejs +1 -0
  173. package/templates/default/src/plugin.ts_standalone.ejs +5 -3
  174. package/templates/default/src/plugin.ts_standalone@import_css-modules.ejs +1 -0
  175. package/templates/default/src/plugin.ts_standalone@onload_css-modules.ejs +1 -0
  176. package/templates/default/src/react-components/{sample-react-component.tsx_dev-utils.ejs → sample-react-component.tsx_framework.ejs} +1 -1
  177. package/templates/default/src/styles/css-modules.d.ts.ejs +9 -3
  178. package/templates/default/src/styles/{main.css_dev-utils.ejs → main.css_framework.ejs} +2 -2
  179. package/templates/default/src/styles/main.module.css.ejs +4 -2
  180. package/templates/default/src/styles/{main.scss_dev-utils.ejs → main.scss_framework.ejs} +2 -2
  181. package/templates/default/src/styles/sample-css-module-command.ts.ejs +30 -0
  182. package/templates/default/src/views/{sample-react-view.tsx_dev-utils.ejs → sample-react-view.tsx_framework.ejs} +1 -1
  183. package/templates/default/src/wasm/README.md.ejs +1 -1
  184. package/templates/default/src/wasm/answer.ts_wasm-adapter.ejs +18 -0
  185. package/templates/default/{tsconfig.json_dev-utils.ejs → tsconfig.json_framework.ejs} +2 -2
  186. package/templates/default/tsconfig.json_framework@exclude_docs-showcase.ejs +4 -0
  187. package/templates/default/tsconfig.json_framework@include_wdio-obsidian.ejs +1 -0
  188. package/templates/default/tsconfig.json_framework@types_toolkit-styles.ejs +2 -0
  189. package/templates/default/tsconfig.json_framework@types_wasm.ejs +2 -0
  190. package/templates/default/tsconfig.json_standalone.ejs +1 -1
  191. package/templates/default/vitest.config.ts_standalone.ejs +11 -2
  192. package/templates/default/wdio.conf.mts.ejs +5 -0
  193. package/templates/default/wdio.conf.ts.ejs +4 -4
  194. package/templates/docs-showcase/files/src/docs/README.md +511 -0
  195. package/templates/docs-showcase/files/src/docs/entry.d.ts +8 -0
  196. package/templates/docs-showcase/files/src/docs/entry.js +4 -0
  197. package/templates/docs-showcase/files/src/docs/host.ts +449 -0
  198. package/templates/docs-showcase/files/src/docs/index.ts +699 -0
  199. package/templates/docs-showcase/files/src/docs/plugins/editor/communicating-with-editor-extensions/01-intro.ts +21 -0
  200. package/templates/docs-showcase/files/src/docs/plugins/editor/communicating-with-editor-extensions/03-state-field.ts +32 -0
  201. package/templates/docs-showcase/files/src/docs/plugins/editor/decorations/01-widgets.ts +23 -0
  202. package/templates/docs-showcase/files/src/docs/plugins/editor/decorations/02-widgets.ts +20 -0
  203. package/templates/docs-showcase/files/src/docs/plugins/editor/decorations/04-state-fields.ts +57 -0
  204. package/templates/docs-showcase/files/src/docs/plugins/editor/decorations/05-view-plugins.ts +79 -0
  205. package/templates/docs-showcase/files/src/docs/plugins/editor/editor/01-intro.ts +26 -0
  206. package/templates/docs-showcase/files/src/docs/plugins/editor/editor/03-replace-current-selection.ts +26 -0
  207. package/templates/docs-showcase/files/src/docs/plugins/editor/markdown-post-processing/01-intro.ts +39 -0
  208. package/templates/docs-showcase/files/src/docs/plugins/editor/state-fields/01-defining-state-effects.ts +19 -0
  209. package/templates/docs-showcase/files/src/docs/plugins/editor/state-fields/02-defining-a-state-field.ts +35 -0
  210. package/templates/docs-showcase/files/src/docs/plugins/editor/state-fields/04-dispatching-state-effects.ts +34 -0
  211. package/templates/docs-showcase/files/src/docs/plugins/editor/state-management/01-state-changes.ts +21 -0
  212. package/templates/docs-showcase/files/src/docs/plugins/editor/state-management/02-state-changes.ts +23 -0
  213. package/templates/docs-showcase/files/src/docs/plugins/editor/view-plugins/01-creating-a-view-plugin.ts +36 -0
  214. package/templates/docs-showcase/files/src/docs/plugins/events/01-intro.ts +21 -0
  215. package/templates/docs-showcase/files/src/docs/plugins/getting-started/anatomy-of-a-plugin/01-intro.ts +22 -0
  216. package/templates/docs-showcase/files/src/docs/plugins/getting-started/anatomy-of-a-plugin/02-plugin-lifecycle.ts +22 -0
  217. package/templates/docs-showcase/files/src/docs/plugins/getting-started/build-a-plugin/06-step-5-update-the-source-code.ts +19 -0
  218. package/templates/docs-showcase/files/src/docs/plugins/getting-started/build-a-plugin/07-step-5-update-the-source-code.ts +21 -0
  219. package/templates/docs-showcase/files/src/docs/plugins/getting-started/mobile-development/03-platform-specific-features.ts +25 -0
  220. package/templates/docs-showcase/files/src/docs/plugins/getting-started/use-react-in-your-plugin/03-configure-your-plugin.ts +23 -0
  221. package/templates/docs-showcase/files/src/docs/plugins/guides/build-a-bases-view/01-step-1-sample-plugin-setup.ts +18 -0
  222. package/templates/docs-showcase/files/src/docs/plugins/guides/build-a-bases-view/02-step-2-create-and-register-the-bases-vie.ts +46 -0
  223. package/templates/docs-showcase/files/src/docs/plugins/guides/build-a-bases-view/03-step-3-add-configuration.ts +40 -0
  224. package/templates/docs-showcase/files/src/docs/plugins/guides/defer-views/04-accessing-your-customview-without-reveal.ts +26 -0
  225. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/01-overview.ts +26 -0
  226. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/02-overview.ts +30 -0
  227. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/03-automatic-resource-management-with-compo.ts +26 -0
  228. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/04-registerevent-eventref.ts +22 -0
  229. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/05-registerinterval-id.ts +21 -0
  230. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/06-registerdomevent-el-event-handler.ts +20 -0
  231. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/08-understanding-the-lifecycle-of-objects.ts +29 -0
  232. package/templates/docs-showcase/files/src/docs/plugins/guides/manage-plugin-lifecycle/14-componentized-modal-example.ts +37 -0
  233. package/templates/docs-showcase/files/src/docs/plugins/guides/optimize-plugin-load-time/01-option-a-check-if-the-layout-is-ready.ts +29 -0
  234. package/templates/docs-showcase/files/src/docs/plugins/guides/optimize-plugin-load-time/02-option-b-register-the-handler-once-the-l.ts +27 -0
  235. package/templates/docs-showcase/files/src/docs/plugins/guides/store-secrets/03-step-3-retrieve-the-secret-value.ts +22 -0
  236. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/01-use-setheading-instead-of-a-h1-h2.ts +20 -0
  237. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/03-clean-up-resources-when-plugin-unloads.ts +23 -0
  238. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/04-avoid-accessing-workspace-activeleaf-dir.ts +24 -0
  239. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/05-avoid-accessing-workspace-activeleaf-dir.ts +22 -0
  240. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/10-avoid-iterating-all-files-to-find-a-file.ts +20 -0
  241. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/11-avoid-iterating-all-files-to-find-a-file.ts +20 -0
  242. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/13-use-normalizepath-to-clean-up-user-defin.ts +18 -0
  243. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/15-no-hardcoded-styling.ts +21 -0
  244. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/16-no-hardcoded-styling.ts +19 -0
  245. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/17-no-hardcoded-styling.ts +14 -0
  246. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/18-prefer-async-await-over-promise.ts +24 -0
  247. package/templates/docs-showcase/files/src/docs/plugins/releasing/plugin-guidelines/19-prefer-async-await-over-promise.ts +27 -0
  248. package/templates/docs-showcase/files/src/docs/plugins/user-interface/commands/01-intro.ts +25 -0
  249. package/templates/docs-showcase/files/src/docs/plugins/user-interface/commands/03-editor-commands.ts +27 -0
  250. package/templates/docs-showcase/files/src/docs/plugins/user-interface/commands/05-hot-keys.ts +25 -0
  251. package/templates/docs-showcase/files/src/docs/plugins/user-interface/context-menus/01-intro.ts +41 -0
  252. package/templates/docs-showcase/files/src/docs/plugins/user-interface/html-elements/02-create-html-elements-using-createel.ts +19 -0
  253. package/templates/docs-showcase/files/src/docs/plugins/user-interface/html-elements/03-create-html-elements-using-createel.ts +21 -0
  254. package/templates/docs-showcase/files/src/docs/plugins/user-interface/html-elements/04-style-your-elements.ts +14 -0
  255. package/templates/docs-showcase/files/src/docs/plugins/user-interface/html-elements/05-style-your-elements.ts +21 -0
  256. package/templates/docs-showcase/files/src/docs/plugins/user-interface/html-elements/06-conditional-styles.ts +19 -0
  257. package/templates/docs-showcase/files/src/docs/plugins/user-interface/icons/01-use-icons.ts +20 -0
  258. package/templates/docs-showcase/files/src/docs/plugins/user-interface/icons/02-use-icons.ts +14 -0
  259. package/templates/docs-showcase/files/src/docs/plugins/user-interface/icons/03-add-your-own-icon.ts +23 -0
  260. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/01-intro.ts +20 -0
  261. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/02-intro.ts +26 -0
  262. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/03-accept-user-input.ts +38 -0
  263. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/04-accept-user-input.ts +22 -0
  264. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/05-select-from-list-of-suggestions.ts +56 -0
  265. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/06-approximate-string-matching-results.ts +28 -0
  266. package/templates/docs-showcase/files/src/docs/plugins/user-interface/modals/07-custom-rendering-of-fuzzy-search-results.ts +41 -0
  267. package/templates/docs-showcase/files/src/docs/plugins/user-interface/ribbon-actions/01-intro.ts +21 -0
  268. package/templates/docs-showcase/files/src/docs/plugins/user-interface/right-to-left/01-use-fallback-values-when-necessary.ts +14 -0
  269. package/templates/docs-showcase/files/src/docs/plugins/user-interface/right-to-left/02-global-selectors.ts +14 -0
  270. package/templates/docs-showcase/files/src/docs/plugins/user-interface/right-to-left/03-icons-are-mirrored-automatically.ts +14 -0
  271. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/09-toggle.ts +20 -0
  272. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/10-text.ts +23 -0
  273. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/11-textarea.ts +23 -0
  274. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/12-number.ts +23 -0
  275. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/13-slider.ts +23 -0
  276. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/14-dropdown.ts +28 -0
  277. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/15-file.ts +27 -0
  278. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/16-folder.ts +23 -0
  279. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/17-color-picker.ts +20 -0
  280. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/18-validating-input.ts +28 -0
  281. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/23-groups.ts +27 -0
  282. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/32-cleanup.ts +30 -0
  283. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/33-no-top-level-heading.ts +27 -0
  284. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/34-headings-only-when-there-are-multiple-se.ts +26 -0
  285. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/36-headings.ts +20 -0
  286. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/38-moment-format.ts +42 -0
  287. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/39-buttons.ts +26 -0
  288. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/40-extra-button.ts +28 -0
  289. package/templates/docs-showcase/files/src/docs/plugins/user-interface/settings/41-progress-bar.ts +23 -0
  290. package/templates/docs-showcase/files/src/docs/plugins/user-interface/status-bar/01-intro.ts +20 -0
  291. package/templates/docs-showcase/files/src/docs/plugins/user-interface/status-bar/02-intro.ts +25 -0
  292. package/templates/docs-showcase/files/src/docs/plugins/user-interface/views/01-intro.ts +39 -0
  293. package/templates/docs-showcase/files/src/docs/plugins/user-interface/workspace/05-inspect-the-workspace.ts +23 -0
  294. package/templates/docs-showcase/files/src/docs/plugins/user-interface/workspace/06-leaf-groups.ts +19 -0
  295. package/templates/docs-showcase/files/src/docs/plugins/vault/02-read-files.ts +37 -0
  296. package/templates/docs-showcase/files/src/docs/plugins/vault/03-modify-files.ts +19 -0
  297. package/templates/docs-showcase/files/src/docs/plugins/vault/04-modify-files.ts +22 -0
  298. package/templates/docs-showcase/files/src/docs/plugins/vault/05-is-it-a-file-or-folder.ts +25 -0
  299. package/templates/docs-showcase/files/src/docs/reference/css-variables/about-styling/01-for-plugins.ts +14 -0
  300. package/templates/docs-showcase/files/src/docs/reference/css-variables/about-styling/02-for-themes-and-snippets.ts +14 -0
  301. package/templates/docs-showcase/files/src/docs/reference/css-variables/publish/site-fonts/01-intro.ts +14 -0
  302. package/templates/docs-showcase/files/src/docs/reference/typescript-api/command/callback/01-example.ts +24 -0
  303. package/templates/docs-showcase/files/src/docs/reference/typescript-api/debounce/01-example.ts +24 -0
  304. package/templates/docs-showcase/files/src/docs/reference/typescript-api/vault/process/01-example.ts +22 -0
  305. package/templates/docs-showcase/files/src/docs/themes/app-themes/build-a-theme/05-step-4-change-the-font.ts +14 -0
  306. package/templates/docs-showcase/files/src/docs/themes/app-themes/build-a-theme/06-step-5-change-the-background-color.ts +14 -0
  307. package/templates/docs-showcase/files/src/docs/themes/app-themes/build-a-theme/07-step-6-change-the-input-hover-border-col.ts +14 -0
  308. package/templates/docs-showcase/files/src/docs/themes/app-themes/build-a-theme/08-step-7-discover-css-variables-in-use.ts +14 -0
  309. package/templates/docs-showcase/files/src/docs/themes/app-themes/embed-fonts-and-images-in-your-theme/02-use-data-urls.ts +14 -0
  310. package/templates/docs-showcase/files/src/docs/themes/app-themes/theme-guidelines/01-use-css-variables.ts +14 -0
  311. package/templates/docs-showcase/files/src/docs/themes/obsidian-publish-themes/best-practices-for-publish-themes/01-small-screens-and-mobile-devices.ts +14 -0
  312. package/templates/docs-showcase/files/src/docs/themes/obsidian-publish-themes/build-a-publish-theme/01-intro.ts +14 -0
  313. package/templates/docs-showcase/files/src/docs/tsconfig.json +25 -0
  314. package/templates/docs-showcase/host/entry.d.ts +8 -0
  315. package/templates/docs-showcase/host/entry.js +4 -0
  316. package/templates/docs-showcase/host/host.ts +449 -0
  317. package/templates/docs-showcase/host/tsconfig.json +25 -0
  318. package/templates/docs-showcase/snippets.json +3566 -0
  319. package/templates/official-sample/README.md +9 -0
  320. package/templates/official-sample/files/.editorconfig.vendored +11 -0
  321. package/templates/official-sample/files/.github/workflows/lint.yml.vendored +27 -0
  322. package/templates/official-sample/files/.github/workflows/release.yml.vendored +50 -0
  323. package/templates/official-sample/files/.gitignore.vendored +22 -0
  324. package/templates/official-sample/files/.npmrc.vendored +1 -0
  325. package/templates/official-sample/files/AGENTS.md.vendored +269 -0
  326. package/templates/official-sample/files/LICENSE.vendored +5 -0
  327. package/templates/official-sample/files/README.md.vendored +92 -0
  328. package/templates/official-sample/files/esbuild.config.mjs.vendored +49 -0
  329. package/templates/official-sample/files/eslint.config.mts.vendored +32 -0
  330. package/templates/official-sample/files/manifest.json.vendored +11 -0
  331. package/templates/official-sample/files/package-lock.json.vendored +5053 -0
  332. package/templates/official-sample/files/package.json.vendored +27 -0
  333. package/templates/official-sample/files/src/main.ts.vendored +114 -0
  334. package/templates/official-sample/files/src/settings.ts.vendored +38 -0
  335. package/templates/official-sample/files/styles.css.vendored +8 -0
  336. package/templates/official-sample/files/tsconfig.json.vendored +19 -0
  337. package/templates/official-sample/files/version-bump.mjs.vendored +17 -0
  338. package/templates/official-sample/files/versions.json.vendored +3 -0
  339. package/upstreams.json +35 -0
  340. package/templates/default/dprint.json_dev-utils.ejs +0 -10
  341. package/templates/default/jest.config.ts@lint-root-dir_dev-utils.ejs +0 -1
  342. package/templates/default/scripts/build.ts@bundler_cli-bundler@lint-build-styles_dev-utils.ejs +0 -1
  343. package/templates/default/scripts/build.ts@bundler_esbuild@dev-utils-pre-build_tailwind.ejs +0 -2
  344. package/templates/default/scripts/build.ts@bundler_esbuild@lint-build-styles_dev-utils.ejs +0 -1
  345. package/templates/default/scripts/build.ts@bundler_esbuild@preset_dev-utils.ejs +0 -7
  346. package/templates/default/scripts/commit.ts_dev-utils.ejs +0 -3
  347. package/templates/default/scripts/dev.ts@bundler_esbuild@dev-utils-pre-build_tailwind.ejs +0 -2
  348. package/templates/default/scripts/dev.ts@bundler_esbuild@lint-build-styles_dev-utils.ejs +0 -1
  349. package/templates/default/scripts/dev.ts@bundler_esbuild@preset_dev-utils.ejs +0 -7
  350. package/templates/default/scripts/esbuild-plugins.ts.ejs +0 -20
  351. package/templates/default/scripts/esbuild-plugins.ts@dev-utils-import_vue.ejs +0 -2
  352. package/templates/default/scripts/esbuild-plugins.ts@dev-utils-plugin_vue.ejs +0 -1
  353. package/templates/default/scripts/esbuild-plugins.ts@dev-utils-plugin_wasm.ejs +0 -13
  354. package/templates/default/scripts/format-check.ts@tool_dprint@preset_dev-utils.ejs +0 -7
  355. package/templates/default/scripts/format.ts@tool_dprint@preset_dev-utils.ejs +0 -7
  356. package/templates/default/scripts/lint-fix.ts@tool_eslint@preset_dev-utils.ejs +0 -7
  357. package/templates/default/scripts/lint-md-fix.ts_dev-utils.ejs +0 -7
  358. package/templates/default/scripts/lint-md.ts_dev-utils.ejs +0 -7
  359. package/templates/default/scripts/lint.ts@tool_eslint@preset_dev-utils.ejs +0 -7
  360. package/templates/default/scripts/prepare.ts_dev-utils.ejs +0 -3
  361. package/templates/default/scripts/spellcheck.ts_dev-utils.ejs +0 -7
  362. package/templates/default/scripts/test-watch.ts_dev-utils@tool_jest.ejs +0 -13
  363. package/templates/default/scripts/test-watch.ts_dev-utils@tool_vitest.ejs +0 -8
  364. package/templates/default/scripts/test.ts_dev-utils@tool_jest.ejs +0 -13
  365. package/templates/default/scripts/test.ts_dev-utils@tool_vitest.ejs +0 -8
  366. package/templates/default/scripts/vite.config.ts@lint-empty-out-dir_dev-utils.ejs +0 -1
  367. package/templates/default/scripts/vite.config.ts@lint-out-dir_dev-utils.ejs +0 -1
  368. package/templates/default/scripts/webpack.config.ts@lint-webpack-default_dev-utils.ejs +0 -1
  369. package/templates/default/src/main.ts@import_css-modules.ejs +0 -1
  370. package/templates/default/src/views/sample-preact-view.tsx_dev-utils.ejs +0 -45
  371. package/templates/default/tsconfig.json_dev-utils@compiler-options_preact.ejs +0 -2
  372. package/templates/default/tsconfig.json_dev-utils@compiler-options_react.ejs +0 -1
  373. package/templates/default/tsconfig.json_dev-utils@compiler-options_solid.ejs +0 -2
  374. /package/templates/default/.github/workflows/{ci.yml@steps_biome-linter.ejs → ci.yml_standalone@steps_biome-linter.ejs} +0 -0
  375. /package/templates/default/.github/workflows/{ci.yml@steps_cspell.ejs → ci.yml_standalone@steps_cspell.ejs} +0 -0
  376. /package/templates/default/.github/workflows/{ci.yml@steps_dprint.ejs → ci.yml_standalone@steps_dprint.ejs} +0 -0
  377. /package/templates/default/.github/workflows/{ci.yml@steps_eslint.ejs → ci.yml_standalone@steps_eslint.ejs} +0 -0
  378. /package/templates/default/.github/workflows/{ci.yml@steps_jest.ejs → ci.yml_standalone@steps_jest.ejs} +0 -0
  379. /package/templates/default/.github/workflows/{ci.yml@steps_markdownlint.ejs → ci.yml_standalone@steps_markdownlint.ejs} +0 -0
  380. /package/templates/default/.github/workflows/{ci.yml@steps_prettier.ejs → ci.yml_standalone@steps_prettier.ejs} +0 -0
  381. /package/templates/default/.github/workflows/{ci.yml@steps_vitest.ejs → ci.yml_standalone@steps_vitest.ejs} +0 -0
  382. /package/templates/default/{.gitignore_tailwind.ejs → .gitignore_tailwind-cli.ejs} +0 -0
  383. /package/templates/default/{CONTRIBUTING.md@scripts_dev-utils.ejs → CONTRIBUTING.md@scripts_framework.ejs} +0 -0
  384. /package/templates/default/e2e/{sample.spec.ts_obsidian-test@lint-no-void-disable_dev-utils.ejs → sample.spec.ts_obsidian-test@lint-no-void-disable_framework.ejs} +0 -0
  385. /package/templates/default/e2e/{sample.spec.ts_obsidian-test@lint-no-void-enable_dev-utils.ejs → sample.spec.ts_obsidian-test@lint-no-void-enable_framework.ejs} +0 -0
  386. /package/templates/default/{eslint.config.mts_dev-utils.ejs → eslint.config.mts_framework.ejs} +0 -0
  387. /package/templates/default/{jest.config.ts@ts-jest-tsconfig_solid.ejs → jest.config.ts_standalone@ts-jest-tsconfig_solid.ejs} +0 -0
  388. /package/templates/default/{prettier.config.mjs.ejs → prettier.config.mjs_standalone.ejs} +0 -0
  389. /package/templates/default/scripts/{commitlint-config.ts.ejs → commitlint-config.ts_standalone.ejs} +0 -0
  390. /package/templates/default/scripts/{nano-staged-config.ts.ejs → nano-staged-config.ts_inline-nano-staged.ejs} +0 -0
  391. /package/templates/default/scripts/{rollup.config.ts@import_rollup-json.ejs → rollup.config.ts_framework@import_rollup-json.ejs} +0 -0
  392. /package/templates/default/scripts/{rollup.config.ts@import_scss.ejs → rollup.config.ts_framework@import_scss.ejs} +0 -0
  393. /package/templates/default/scripts/{rollup.config.ts@unwrap_rollup-json.ejs → rollup.config.ts_framework@unwrap_rollup-json.ejs} +0 -0
  394. /package/templates/default/scripts/{rollup.config.ts@unwrap_scss.ejs → rollup.config.ts_framework@unwrap_scss.ejs} +0 -0
  395. /package/templates/default/scripts/{rollup.config.ts@import_rollup-babel.ejs → rollup.config.ts_standalone@import_rollup-babel.ejs} +0 -0
  396. /package/templates/default/scripts/{rollup.config.ts@import_rollup-postcss.ejs → rollup.config.ts_standalone@import_rollup-postcss.ejs} +0 -0
  397. /package/templates/default/scripts/{rollup.config.ts@import_svelte.ejs → rollup.config.ts_standalone@import_svelte.ejs} +0 -0
  398. /package/templates/default/scripts/{rollup.config.ts@import_vue.ejs → rollup.config.ts_standalone@import_vue.ejs} +0 -0
  399. /package/templates/default/scripts/{rollup.config.ts@import_wasm.ejs → rollup.config.ts_standalone@import_wasm.ejs} +0 -0
  400. /package/templates/default/scripts/{rollup.config.ts@post-plugin_preact.ejs → rollup.config.ts_standalone@post-plugin_preact.ejs} +0 -0
  401. /package/templates/default/scripts/{rollup.config.ts@post-plugin_react.ejs → rollup.config.ts_standalone@post-plugin_react.ejs} +0 -0
  402. /package/templates/default/scripts/{rollup.config.ts@post-plugin_rollup-json.ejs → rollup.config.ts_standalone@post-plugin_rollup-json.ejs} +0 -0
  403. /package/templates/default/scripts/{rollup.config.ts@post-plugin_rollup-postcss.ejs → rollup.config.ts_standalone@post-plugin_rollup-postcss.ejs} +0 -0
  404. /package/templates/default/scripts/{rollup.config.ts@post-plugin_scss.ejs → rollup.config.ts_standalone@post-plugin_scss.ejs} +0 -0
  405. /package/templates/default/scripts/{rollup.config.ts@post-plugin_solid.ejs → rollup.config.ts_standalone@post-plugin_solid.ejs} +0 -0
  406. /package/templates/default/scripts/{rollup.config.ts@post-plugin_wasm.ejs → rollup.config.ts_standalone@post-plugin_wasm.ejs} +0 -0
  407. /package/templates/default/scripts/{rollup.config.ts@pre-plugin_svelte.ejs → rollup.config.ts_standalone@pre-plugin_svelte.ejs} +0 -0
  408. /package/templates/default/scripts/{rollup.config.ts@pre-plugin_vue.ejs → rollup.config.ts_standalone@pre-plugin_vue.ejs} +0 -0
  409. /package/templates/default/scripts/{rollup.config.ts@unwrap_rollup-babel.ejs → rollup.config.ts_standalone@unwrap_rollup-babel.ejs} +0 -0
  410. /package/templates/default/scripts/{rollup.config.ts@unwrap_rollup-postcss.ejs → rollup.config.ts_standalone@unwrap_rollup-postcss.ejs} +0 -0
  411. /package/templates/default/scripts/{rollup.config.ts@unwrap_svelte.ejs → rollup.config.ts_standalone@unwrap_svelte.ejs} +0 -0
  412. /package/templates/default/scripts/{rollup.config.ts@unwrap_vue.ejs → rollup.config.ts_standalone@unwrap_vue.ejs} +0 -0
  413. /package/templates/default/scripts/{rollup.config.ts@unwrap_wasm.ejs → rollup.config.ts_standalone@unwrap_wasm.ejs} +0 -0
  414. /package/templates/default/scripts/{test-watch.ts_dev-utils.ejs → test-watch.ts_framework.ejs} +0 -0
  415. /package/templates/default/scripts/{test.ts_dev-utils.ejs → test.ts_framework.ejs} +0 -0
  416. /package/templates/default/scripts/{vite.config.ts@import_preact.ejs → vite.config.ts_standalone@import_preact.ejs} +0 -0
  417. /package/templates/default/scripts/{vite.config.ts@import_react.ejs → vite.config.ts_standalone@import_react.ejs} +0 -0
  418. /package/templates/default/scripts/{vite.config.ts@import_solid.ejs → vite.config.ts_standalone@import_solid.ejs} +0 -0
  419. /package/templates/default/scripts/{vite.config.ts@import_svelte.ejs → vite.config.ts_standalone@import_svelte.ejs} +0 -0
  420. /package/templates/default/scripts/{vite.config.ts@import_vue.ejs → vite.config.ts_standalone@import_vue.ejs} +0 -0
  421. /package/templates/default/scripts/{vite.config.ts@plugin_preact.ejs → vite.config.ts_standalone@plugin_preact.ejs} +0 -0
  422. /package/templates/default/scripts/{vite.config.ts@plugin_react.ejs → vite.config.ts_standalone@plugin_react.ejs} +0 -0
  423. /package/templates/default/scripts/{vite.config.ts@plugin_solid.ejs → vite.config.ts_standalone@plugin_solid.ejs} +0 -0
  424. /package/templates/default/scripts/{vite.config.ts@plugin_svelte.ejs → vite.config.ts_standalone@plugin_svelte.ejs} +0 -0
  425. /package/templates/default/scripts/{vite.config.ts@plugin_vue.ejs → vite.config.ts_standalone@plugin_vue.ejs} +0 -0
  426. /package/templates/default/scripts/{webpack.config.ts@import_svelte.ejs → webpack.config.ts_standalone@import_svelte.ejs} +0 -0
  427. /package/templates/default/scripts/{webpack.config.ts@import_vue.ejs → webpack.config.ts_standalone@import_vue.ejs} +0 -0
  428. /package/templates/default/scripts/{webpack.config.ts@import_webpack-css-extract.ejs → webpack.config.ts_standalone@import_webpack-css-extract.ejs} +0 -0
  429. /package/templates/default/scripts/{webpack.config.ts@plugin_vue.ejs → webpack.config.ts_standalone@plugin_vue.ejs} +0 -0
  430. /package/templates/default/scripts/{webpack.config.ts@plugin_webpack-css-extract.ejs → webpack.config.ts_standalone@plugin_webpack-css-extract.ejs} +0 -0
  431. /package/templates/default/scripts/{webpack.config.ts@rule_css-modules.ejs → webpack.config.ts_standalone@rule_css-modules.ejs} +0 -0
  432. /package/templates/default/scripts/{webpack.config.ts@rule_css.ejs → webpack.config.ts_standalone@rule_css.ejs} +0 -0
  433. /package/templates/default/scripts/{webpack.config.ts@rule_postcss.ejs → webpack.config.ts_standalone@rule_postcss.ejs} +0 -0
  434. /package/templates/default/scripts/{webpack.config.ts@rule_scss.ejs → webpack.config.ts_standalone@rule_scss.ejs} +0 -0
  435. /package/templates/default/scripts/{webpack.config.ts@rule_solid.ejs → webpack.config.ts_standalone@rule_solid.ejs} +0 -0
  436. /package/templates/default/scripts/{webpack.config.ts@rule_svelte.ejs → webpack.config.ts_standalone@rule_svelte.ejs} +0 -0
  437. /package/templates/default/scripts/{webpack.config.ts@rule_tailwind.ejs → webpack.config.ts_standalone@rule_tailwind.ejs} +0 -0
  438. /package/templates/default/scripts/{webpack.config.ts@rule_vue.ejs → webpack.config.ts_standalone@rule_vue.ejs} +0 -0
  439. /package/templates/default/scripts/{webpack.config.ts@rule_wasm.ejs → webpack.config.ts_standalone@rule_wasm.ejs} +0 -0
  440. /package/templates/default/scripts/{webpack.config.ts@ts-loader-compiler-options_vue.ejs → webpack.config.ts_standalone@ts-loader-compiler-options_vue.ejs} +0 -0
  441. /package/templates/default/scripts/{webpack.config.ts@ts-loader-options_vue.ejs → webpack.config.ts_standalone@ts-loader-options_vue.ejs} +0 -0
  442. /package/templates/default/src/{plugin-settings-component.test.ts_enhanced@test-imports_vitest.ejs → plugin-settings-component.test.ts_all-in-one@test-imports_vitest.ejs} +0 -0
  443. /package/templates/default/src/{plugin-settings.ts_enhanced.ejs → plugin-settings.ts_all-in-one.ejs} +0 -0
  444. /package/templates/default/src/{plugin.ts_enhanced@import2_codemirror.ejs → plugin.ts_all-in-one@import2_codemirror.ejs} +0 -0
  445. /package/templates/default/src/{plugin.ts_enhanced@import2_i18next.ejs → plugin.ts_all-in-one@import2_i18next.ejs} +0 -0
  446. /package/templates/default/src/{plugin.ts_enhanced@import2_lit.ejs → plugin.ts_all-in-one@import2_lit.ejs} +0 -0
  447. /package/templates/default/src/{plugin.ts_enhanced@import2_preact.ejs → plugin.ts_all-in-one@import2_preact.ejs} +0 -0
  448. /package/templates/default/src/{plugin.ts_enhanced@import2_react.ejs → plugin.ts_all-in-one@import2_react.ejs} +0 -0
  449. /package/templates/default/src/{plugin.ts_enhanced@import2_solid.ejs → plugin.ts_all-in-one@import2_solid.ejs} +0 -0
  450. /package/templates/default/src/{plugin.ts_enhanced@import2_svelte.ejs → plugin.ts_all-in-one@import2_svelte.ejs} +0 -0
  451. /package/templates/default/src/{plugin.ts_enhanced@import2_typesafe-i18n.ejs → plugin.ts_all-in-one@import2_typesafe-i18n.ejs} +0 -0
  452. /package/templates/default/src/{plugin.ts_enhanced@import2_vue.ejs → plugin.ts_all-in-one@import2_vue.ejs} +0 -0
  453. /package/templates/default/src/{plugin.ts_enhanced@import2_wasm.ejs → plugin.ts_all-in-one@import2_wasm.ejs} +0 -0
  454. /package/templates/default/src/{plugin.ts_enhanced@method_ui-view.ejs → plugin.ts_all-in-one@method_ui-view.ejs} +0 -0
  455. /package/templates/default/src/{plugin.ts_enhanced@onload_codemirror.ejs → plugin.ts_all-in-one@onload_codemirror.ejs} +0 -0
  456. /package/templates/default/src/{plugin.ts_enhanced@onload_i18next.ejs → plugin.ts_all-in-one@onload_i18next.ejs} +0 -0
  457. /package/templates/default/src/{plugin.ts_enhanced@onload_lit.ejs → plugin.ts_all-in-one@onload_lit.ejs} +0 -0
  458. /package/templates/default/src/{plugin.ts_enhanced@onload_preact.ejs → plugin.ts_all-in-one@onload_preact.ejs} +0 -0
  459. /package/templates/default/src/{plugin.ts_enhanced@onload_react.ejs → plugin.ts_all-in-one@onload_react.ejs} +0 -0
  460. /package/templates/default/src/{plugin.ts_enhanced@onload_solid.ejs → plugin.ts_all-in-one@onload_solid.ejs} +0 -0
  461. /package/templates/default/src/{plugin.ts_enhanced@onload_svelte.ejs → plugin.ts_all-in-one@onload_svelte.ejs} +0 -0
  462. /package/templates/default/src/{plugin.ts_enhanced@onload_typesafe-i18n.ejs → plugin.ts_all-in-one@onload_typesafe-i18n.ejs} +0 -0
  463. /package/templates/default/src/{plugin.ts_enhanced@onload_vue.ejs → plugin.ts_all-in-one@onload_vue.ejs} +0 -0
  464. /package/templates/default/src/{plugin.ts_enhanced@onload_wasm.ejs → plugin.ts_all-in-one@onload_wasm.ejs} +0 -0
  465. /package/templates/default/src/preact-components/{sample-preact-component.tsx_dev-utils.ejs → sample-preact-component.tsx_framework.ejs} +0 -0
  466. /package/templates/default/src/solid-components/{sample-solid-component.tsx_dev-utils.ejs → sample-solid-component.tsx_framework.ejs} +0 -0
  467. /package/templates/default/src/styles/{main.css_dev-utils@content_tailwind.ejs → main.css_framework@content_tailwind.ejs} +0 -0
  468. /package/templates/default/src/views/{sample-lit-view.ts@lint-register-element_dev-utils.ejs → sample-lit-view.ts@lint-register-element_framework.ejs} +0 -0
  469. /package/templates/default/src/views/{sample-preact-view.tsx_standalone.ejs → sample-preact-view.tsx.ejs} +0 -0
  470. /package/templates/default/src/views/{sample-solid-view.tsx_dev-utils.ejs → sample-solid-view.tsx_framework.ejs} +0 -0
  471. /package/templates/default/src/wasm/{answer.ts_esbuild.ejs → answer.ts_wasm-esbuild.ejs} +0 -0
  472. /package/templates/default/src/wasm/{answer.ts_parcel.ejs → answer.ts_wasm-parcel.ejs} +0 -0
  473. /package/templates/default/src/wasm/{answer.ts_rollup.ejs → answer.ts_wasm-rollup.ejs} +0 -0
  474. /package/templates/default/src/wasm/{answer.ts_vite.ejs → answer.ts_wasm-vite.ejs} +0 -0
  475. /package/templates/default/src/wasm/{answer.ts_webpack.ejs → answer.ts_wasm-webpack.ejs} +0 -0
  476. /package/templates/default/src/{wasm.d.ts_esbuild.ejs → wasm.d.ts_wasm-esbuild.ejs} +0 -0
  477. /package/templates/default/src/{wasm.d.ts_parcel.ejs → wasm.d.ts_wasm-parcel.ejs} +0 -0
  478. /package/templates/default/src/{wasm.d.ts_rollup.ejs → wasm.d.ts_wasm-rollup.ejs} +0 -0
  479. /package/templates/default/src/{wasm.d.ts_vite.ejs → wasm.d.ts_wasm-vite.ejs} +0 -0
  480. /package/templates/default/src/{wasm.d.ts_webpack.ejs → wasm.d.ts_wasm-webpack.ejs} +0 -0
  481. /package/templates/default/{tsconfig.json_dev-utils@compiler-options_i18next.ejs → tsconfig.json_framework@compiler-options_i18next.ejs} +0 -0
  482. /package/templates/default/{tsconfig.json_dev-utils@compiler-options_lit.ejs → tsconfig.json_framework@compiler-options_lit.ejs} +0 -0
  483. /package/templates/default/{tsconfig.json_dev-utils@include_has-e2e.ejs → tsconfig.json_framework@include_has-e2e.ejs} +0 -0
  484. /package/templates/default/{tsconfig.json_dev-utils@include_svelte.ejs → tsconfig.json_framework@include_svelte.ejs} +0 -0
  485. /package/templates/default/{tsconfig.json_dev-utils@include_vue.ejs → tsconfig.json_framework@include_vue.ejs} +0 -0
  486. /package/templates/default/{tsconfig.json_dev-utils@types_jest.ejs → tsconfig.json_framework@types_jest.ejs} +0 -0
  487. /package/templates/default/{tsconfig.json_dev-utils@types_svelte.ejs → tsconfig.json_framework@types_svelte.ejs} +0 -0
  488. /package/templates/default/{tsconfig.json_dev-utils@types_wdio-obsidian.ejs → tsconfig.json_framework@types_wdio-obsidian.ejs} +0 -0
  489. /package/templates/default/{tsconfig.json_dev-utils@types_with-unofficial.ejs → tsconfig.json_framework@types_with-unofficial.ejs} +0 -0
  490. /package/templates/default/{vitest.config.ts_dev-utils.ejs → vitest.config.ts_framework.ejs} +0 -0
@@ -1,8 +1,3 @@
1
- import { execSync } from 'node:child_process';
2
- import process from 'node:process';
3
-
4
- try {
5
- execSync('biome format --write .', { stdio: 'inherit' });
6
- } catch {
7
- process.exit(1);
8
- }
1
+ <%# The framework presets go through the toolkit runner, which takes the staged paths; standalone has no -%>
2
+ <%# framework and shells out directly. -%>
3
+ <%- render('preset') -%>
@@ -0,0 +1,7 @@
1
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
2
+ import { format } from '@mnaoumov/typescript-dev-toolkit/formatters/biome';
3
+ import process from 'node:process';
4
+
5
+ const [, , ...paths] = process.argv;
6
+
7
+ await wrapCliTask(() => format({ paths }));
@@ -0,0 +1,8 @@
1
+ import { execSync } from 'node:child_process';
2
+ import process from 'node:process';
3
+
4
+ try {
5
+ execSync('biome format --write .', { stdio: 'inherit' });
6
+ } catch {
7
+ process.exit(1);
8
+ }
@@ -1,3 +1,3 @@
1
- <%# The dev-utils presets go through the dev-utils runner, which resolves `dprint.json` from the repo root -%>
2
- <%# and falls back to the bundled one; standalone has no dev-utils and shells out directly. -%>
1
+ <%# The framework presets go through the framework runner, which resolves `dprint.json` from the repo root -%>
2
+ <%# and falls back to the bundled one; standalone has no framework and shells out directly. -%>
3
3
  <%- render('preset') -%>
@@ -0,0 +1,7 @@
1
+ import { format } from '@mnaoumov/obsidian-dev-toolkit/formatters/dprint';
2
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
3
+ import process from 'node:process';
4
+
5
+ const [, , ...paths] = process.argv;
6
+
7
+ await wrapCliTask(() => format({ paths }));
@@ -1,8 +1,3 @@
1
- import { execSync } from 'node:child_process';
2
- import process from 'node:process';
3
-
4
- try {
5
- execSync('prettier --write .', { stdio: 'inherit' });
6
- } catch {
7
- process.exit(1);
8
- }
1
+ <%# The framework presets go through the toolkit runner, which takes the staged paths; standalone has no -%>
2
+ <%# framework and shells out directly. -%>
3
+ <%- render('preset') -%>
@@ -0,0 +1,7 @@
1
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
2
+ import { format } from '@mnaoumov/typescript-dev-toolkit/formatters/prettier';
3
+ import process from 'node:process';
4
+
5
+ const [, , ...paths] = process.argv;
6
+
7
+ await wrapCliTask(() => format({ paths }));
@@ -0,0 +1,8 @@
1
+ import { execSync } from 'node:child_process';
2
+ import process from 'node:process';
3
+
4
+ try {
5
+ execSync('prettier --write .', { stdio: 'inherit' });
6
+ } catch {
7
+ process.exit(1);
8
+ }
@@ -1,9 +1,9 @@
1
- import process from 'node:process';
2
- import { wrapCliTask } from 'obsidian-dev-utils/script-utils/cli-utils';
1
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
3
2
  import {
4
3
  gate,
5
4
  parseGateArguments
6
- } from 'obsidian-dev-utils/script-utils/gate';
5
+ } from '@mnaoumov/typescript-dev-toolkit/gate';
6
+ import process from 'node:process';
7
7
 
8
8
  const [, , ...$arguments] = process.argv;
9
9
  const options = parseGateArguments($arguments);
@@ -1,6 +1,6 @@
1
1
  <%# Keyed on the TOOL first, exactly as the format scripts are, and for the same reason. What -%>
2
2
  <%# `npm run lint:fix` runs is decided by the linter answer; only eslint has a preset-specific runner, so -%>
3
- <%# it splits again underneath. Splitting on the preset first is what made every obsidian-dev-utils -%>
4
- <%# preset emit the dev-utils ESLint runner whatever was chosen -- so `linter: biome` installed biome, -%>
3
+ <%# it splits again underneath. Splitting on the preset first is what made every toolkit -%>
4
+ <%# preset emit the framework ESLint runner whatever was chosen -- so `linter: biome` installed biome, -%>
5
5
  <%# emitted `biome.json`, and then ran eslint, which died looking for a config that was never written. -%>
6
6
  <%- render('tool') -%>
@@ -1,8 +1,3 @@
1
- import { execSync } from 'node:child_process';
2
- import process from 'node:process';
3
-
4
- try {
5
- execSync('biome lint --write .', { stdio: 'inherit' });
6
- } catch {
7
- process.exit(1);
8
- }
1
+ <%# The framework presets go through the toolkit runner, which takes the staged paths; standalone has no -%>
2
+ <%# framework and shells out directly. -%>
3
+ <%- render('preset') -%>
@@ -0,0 +1,7 @@
1
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
2
+ import { lint } from '@mnaoumov/typescript-dev-toolkit/linters/biome';
3
+ import process from 'node:process';
4
+
5
+ const [, , ...paths] = process.argv;
6
+
7
+ await wrapCliTask(() => lint({ paths, shouldFix: true }));
@@ -0,0 +1,8 @@
1
+ import { execSync } from 'node:child_process';
2
+ import process from 'node:process';
3
+
4
+ try {
5
+ execSync('biome lint --write .', { stdio: 'inherit' });
6
+ } catch {
7
+ process.exit(1);
8
+ }
@@ -1,3 +1,3 @@
1
- <%# The obsidian-dev-utils presets go through the dev-utils runner, which finds the config and the -%>
2
- <%# paths for them; standalone has no dev-utils and shells out directly. -%>
1
+ <%# The toolkit presets go through the toolkit runner, which finds the config and the -%>
2
+ <%# paths for them; standalone has no framework and shells out directly. -%>
3
3
  <%- render('preset') -%>
@@ -0,0 +1,7 @@
1
+ import { lint } from '@mnaoumov/obsidian-dev-toolkit/linters/eslint';
2
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
3
+ import process from 'node:process';
4
+
5
+ const [, , ...paths] = process.argv;
6
+
7
+ await wrapCliTask(() => lint({ paths, shouldFix: true }));
@@ -0,0 +1,7 @@
1
+ import { lint } from '@mnaoumov/obsidian-dev-toolkit/linters/markdownlint';
2
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
3
+ import process from 'node:process';
4
+
5
+ const [, , ...paths] = process.argv;
6
+
7
+ await wrapCliTask(() => lint({ paths, shouldFix: true }));
@@ -0,0 +1,7 @@
1
+ import { lint } from '@mnaoumov/obsidian-dev-toolkit/linters/markdownlint';
2
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
3
+ import process from 'node:process';
4
+
5
+ const [, , ...paths] = process.argv;
6
+
7
+ await wrapCliTask(() => lint({ paths }));
@@ -1,6 +1,6 @@
1
1
  <%# Keyed on the TOOL first, exactly as the format scripts are, and for the same reason. What -%>
2
2
  <%# `npm run lint` runs is decided by the linter answer; only eslint has a preset-specific runner, so -%>
3
- <%# it splits again underneath. Splitting on the preset first is what made every obsidian-dev-utils -%>
4
- <%# preset emit the dev-utils ESLint runner whatever was chosen -- so `linter: biome` installed biome, -%>
3
+ <%# it splits again underneath. Splitting on the preset first is what made every toolkit -%>
4
+ <%# preset emit the framework ESLint runner whatever was chosen -- so `linter: biome` installed biome, -%>
5
5
  <%# emitted `biome.json`, and then ran eslint, which died looking for a config that was never written. -%>
6
6
  <%- render('tool') -%>
@@ -1,8 +1,3 @@
1
- import { execSync } from 'node:child_process';
2
- import process from 'node:process';
3
-
4
- try {
5
- execSync('biome lint .', { stdio: 'inherit' });
6
- } catch {
7
- process.exit(1);
8
- }
1
+ <%# The framework presets go through the toolkit runner, which takes the staged paths; standalone has no -%>
2
+ <%# framework and shells out directly. -%>
3
+ <%- render('preset') -%>
@@ -0,0 +1,7 @@
1
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
2
+ import { lint } from '@mnaoumov/typescript-dev-toolkit/linters/biome';
3
+ import process from 'node:process';
4
+
5
+ const [, , ...paths] = process.argv;
6
+
7
+ await wrapCliTask(() => lint({ paths }));
@@ -0,0 +1,8 @@
1
+ import { execSync } from 'node:child_process';
2
+ import process from 'node:process';
3
+
4
+ try {
5
+ execSync('biome lint .', { stdio: 'inherit' });
6
+ } catch {
7
+ process.exit(1);
8
+ }
@@ -1,3 +1,3 @@
1
- <%# The obsidian-dev-utils presets go through the dev-utils runner, which finds the config and the -%>
2
- <%# paths for them; standalone has no dev-utils and shells out directly. -%>
1
+ <%# The toolkit presets go through the toolkit runner, which finds the config and the -%>
2
+ <%# paths for them; standalone has no framework and shells out directly. -%>
3
3
  <%- render('preset') -%>
@@ -0,0 +1,7 @@
1
+ import { lint } from '@mnaoumov/obsidian-dev-toolkit/linters/eslint';
2
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
3
+ import process from 'node:process';
4
+
5
+ const [, , ...paths] = process.argv;
6
+
7
+ await wrapCliTask(() => lint({ paths }));
@@ -1,11 +1,11 @@
1
- import type { MarkdownlintCli2ConfigurationSchema } from 'obsidian-dev-utils/script-utils/linters/markdownlint-types/@types/markdownlint-cli2-config-schema';
1
+ import type { MarkdownlintCli2ConfigurationSchema } from '@mnaoumov/typescript-dev-toolkit/linters/markdownlint-types/@types/markdownlint-cli2-config-schema';
2
2
 
3
- import { obsidianDevUtilsConfig } from 'obsidian-dev-utils/script-utils/linters/markdownlint-cli2-config';
3
+ import { obsidianMarkdownlintCli2Config } from '@mnaoumov/obsidian-dev-toolkit/linters/markdownlint-cli2-config';
4
4
 
5
5
  export const config: MarkdownlintCli2ConfigurationSchema = {
6
- ...obsidianDevUtilsConfig,
6
+ ...obsidianMarkdownlintCli2Config,
7
7
  config: {
8
- ...obsidianDevUtilsConfig.config,
8
+ ...obsidianMarkdownlintCli2Config.config,
9
9
  // Turned on here, against the shared default of off: every paragraph in this repo's markdown is one
10
10
  // physical line, and this is what stops hard wrapping from coming back. The key has to live inside
11
11
  // `config` - the spread above replaces the whole object, so a key beside it would be silently ignored.
@@ -19,14 +19,11 @@ export const config: MarkdownlintCli2Extras & Options = {
19
19
  'default': true,
20
20
  'MD013': false,
21
21
  'MD024': {
22
- // eslint-disable-next-line camelcase -- `siblings_only` is markdownlint's own option name.
23
22
  siblings_only: true
24
23
  },
25
24
  'MD052': {
26
- /* eslint-disable camelcase -- `ignored_labels` and `shortcut_syntax` are markdownlint's own option names. */
27
25
  ignored_labels: ['!note', '!warning'],
28
26
  shortcut_syntax: true
29
- /* eslint-enable camelcase -- `ignored_labels` and `shortcut_syntax` are markdownlint's own option names. */
30
27
  },
31
28
  'relative-links': true
32
29
  },
@@ -0,0 +1,3 @@
1
+ import { getNanoStagedConfig } from '@mnaoumov/typescript-dev-toolkit/nano-staged-config';
2
+
3
+ export const config = getNanoStagedConfig();
@@ -0,0 +1,3 @@
1
+ import { execFromRoot } from '@mnaoumov/typescript-dev-toolkit/root';
2
+
3
+ await execFromRoot('husky');
@@ -0,0 +1,49 @@
1
+ import type { RollupOptions } from 'rollup';
2
+
3
+ <%- sortImports(`import { obsidianPluginRollup } from '@mnaoumov/obsidian-dev-toolkit/bundlers/rollup';
4
+ import commonjsModule from '@rollup/plugin-commonjs';
5
+ import { nodeResolve } from '@rollup/plugin-node-resolve';
6
+ import process from 'node:process';
7
+ import esbuildModule from 'rollup-plugin-esbuild';
8
+ ${render('import')}`) -%>
9
+ <%- _buildOptionsImport -%>
10
+
11
+ interface DefaultExported<TDefault> {
12
+ default: TDefault;
13
+ }
14
+
15
+ /**
16
+ * A rollup plugin package's default export, as it arrives at runtime.
17
+ *
18
+ * These packages declare `export default` in CommonJS-format types, so under `module: node16` TypeScript models
19
+ * the default import as the module object, while at runtime it is the plugin factory. The cast follows the runtime.
20
+ */
21
+ type PluginFactory<TImported> = TImported extends DefaultExported<infer TDefault> ? TDefault : TImported;
22
+
23
+ function asPluginFactory<TImported>(imported: TImported): PluginFactory<TImported> {
24
+ return imported as PluginFactory<TImported>;
25
+ }
26
+
27
+ const commonjs = asPluginFactory(commonjsModule);
28
+ const esbuild = asPluginFactory(esbuildModule);
29
+ <%- render('unwrap') -%>
30
+
31
+ const isProduction = !process.env['ROLLUP_WATCH'];
32
+
33
+ // The rollup command line checks `input` and picks the output folder before any plugin runs, so both are named here.
34
+ // The obsidian-dev-toolkit plugin does the rest: Obsidian's modules external, one CommonJS `main.js` with every dynamic
35
+ // Import inlined, the stylesheet named `styles.css`, the banner and the manifest.
36
+ export const config: RollupOptions = {
37
+ input: 'src/main.ts',
38
+ // eslint-disable-next-line unicorn/name-replacements -- `dir` is rollup's own option name.
39
+ output: { dir: isProduction ? 'dist/build' : 'dist/dev' },
40
+ plugins: [
41
+ obsidianPluginRollup(<%- _buildOptionsArgument %>),
42
+ // Strips the types without checking them, which `build:compile` does. `@rollup/plugin-typescript` calls
43
+ // TypeScript's JavaScript API, which TypeScript 7 no longer has.
44
+ esbuild({ minify: isProduction }),
45
+ nodeResolve({ browser: true, extensions: ['.mjs', '.js', '.json', '.ts', '.tsx'] }),
46
+ <%- render('plugin') -%>
47
+ commonjs()
48
+ ]
49
+ };
@@ -0,0 +1,2 @@
1
+ // The locale `src/i18n/index.ts` imports is JSON, which rollup reads only through this plugin.
2
+ json(),
@@ -0,0 +1,3 @@
1
+ // The toolkit compiles plain stylesheets only, so Sass is the project's own plugin. The toolkit merges what it emits
2
+ // Into `styles.css`.
3
+ scss({ fileName: 'styles.css' }),
@@ -50,7 +50,7 @@ const typescript = asPluginFactory(typescriptModule);
50
50
  * compiler options, and without them TypeScript answers `undefined`. So every import in `src/` resolves
51
51
  * under the `require` condition, while a declaration file that pins `resolution-mode: import` gets the
52
52
  * ESM types. A package that ships both, such as `@codemirror/state`, is then loaded twice, and its
53
- * classes stop being assignable to themselves: TS2416 against obsidian-dev-utils' `StateFieldSpec`.
53
+ * classes stop being assignable to themselves: TS2416 against obsidian-lib's `StateFieldSpec`.
54
54
  * Handing over the `module` the emitted `tsconfig.json` declares restores the per-file mode tsc uses.
55
55
  */
56
56
  const typescriptWithResolutionModes: typeof ts = {
@@ -95,7 +95,7 @@ const EXTERNAL = [
95
95
  inlineSourceMap: !isProduction,
96
96
  inlineSources: !isProduction,
97
97
  noEmit: false,
98
- ${render('lint-out-dir')} outDir: distFolder,
98
+ outDir: distFolder,
99
99
  rewriteRelativeImportExtensions: true,
100
100
  sourceMap: !isProduction,
101
101
  typescript: typescriptWithResolutionModes
@@ -118,10 +118,10 @@ if you want to view the source, please visit the github repository of this plugi
118
118
  file: `${distFolder}/main.js`,
119
119
  format: 'cjs',
120
120
  // An Obsidian plugin is one file: the manifest names `main.js` and nothing loads a second chunk.
121
- // Any dynamic import in the sources -- the obsidian-dev-utils presets have several -- otherwise
121
+ // Any dynamic import in the sources -- obsidian-lib, which the toolkit presets import, has several -- otherwise
122
122
  // Makes rollup refuse `output.file` and demand `output.dir`.
123
123
  inlineDynamicImports: true,
124
- sourcemap: isProduction ? false : 'inline'
124
+ sourcemap: !isProduction && 'inline'
125
125
  },
126
126
  plugins: [
127
127
  <%- plugins.replace(/,(?<Trailing>\s*)$/, '$<Trailing>') -%>
@@ -0,0 +1 @@
1
+ import jsonModule from '@rollup/plugin-json';
@@ -0,0 +1 @@
1
+ import scssModule from 'rollup-plugin-scss';
@@ -0,0 +1 @@
1
+ const json = asPluginFactory(jsonModule);
@@ -0,0 +1 @@
1
+ const scss = asPluginFactory(scssModule);
@@ -0,0 +1,7 @@
1
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
2
+ import { spellcheck } from '@mnaoumov/typescript-dev-toolkit/linters/cspell';
3
+ import process from 'node:process';
4
+
5
+ const [, , ...paths] = process.argv;
6
+
7
+ await wrapCliTask(() => spellcheck({ paths }));
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * `src/main.ts` imports the plugin's stylesheet for its side effect, so that the bundler emits
5
5
  * `styles.css` -- and `src/main.test.ts` imports `src/main.ts`. Neither runner should load the real
6
- * file: jest has no transform for `.css` / `.scss` and parses one as JavaScript, and on the `tailwind`
6
+ * file: jest has no transform for `.css` / `.scss` and parses one as JavaScript, and on `standalone`'s `tailwind`
7
7
  * answer the file `src/main.ts` names does not exist until `npm run build:styles` has run. So both
8
8
  * runners send every stylesheet import here, exactly as they send every `.svelte` / `.vue` import to
9
9
  * `framework-component-stub.ts`.
@@ -1,8 +1,2 @@
1
- import { wrapCliTask } from 'obsidian-dev-utils/script-utils/cli-utils';
2
- import { testCoverage } from 'obsidian-dev-utils/script-utils/test-runners/vitest';
3
-
4
- await wrapCliTask(() =>
5
- testCoverage({
6
- projects: ['unit-tests']
7
- })
8
- );
1
+ <%# Only the framework presets register `test:coverage`, so this splits on the test runner alone. -%>
2
+ <%- render('tool') -%>
@@ -0,0 +1,5 @@
1
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
2
+ import { testCoverage } from '@mnaoumov/typescript-dev-toolkit/test-runners/jest';
3
+
4
+ // Writes `coverage/lcov.info`, which the CI workflow's coverage badge is rendered from.
5
+ await wrapCliTask(() => testCoverage());
@@ -0,0 +1,8 @@
1
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
2
+ import { testCoverage } from '@mnaoumov/typescript-dev-toolkit/test-runners/vitest';
3
+
4
+ await wrapCliTask(() =>
5
+ testCoverage({
6
+ projects: ['unit-tests']
7
+ })
8
+ );
@@ -1,8 +1,2 @@
1
- import { execSync } from 'node:child_process';
2
- import process from 'node:process';
3
-
4
- try {
5
- execSync('obsidian-test', { stdio: 'inherit' });
6
- } catch {
7
- process.exit(1);
8
- }
1
+ <%# The framework presets go through the toolkit runner; standalone has no framework and shells out directly. -%>
2
+ <%- render('preset') -%>
@@ -0,0 +1,4 @@
1
+ import { testEndToEndWithObsidianTest } from '@mnaoumov/obsidian-dev-toolkit/test-runners/obsidian-test-runner';
2
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
3
+
4
+ await wrapCliTask(() => testEndToEndWithObsidianTest());
@@ -0,0 +1,8 @@
1
+ import { execSync } from 'node:child_process';
2
+ import process from 'node:process';
3
+
4
+ try {
5
+ execSync('obsidian-test', { stdio: 'inherit' });
6
+ } catch {
7
+ process.exit(1);
8
+ }
@@ -1,8 +1,2 @@
1
- import { execSync } from 'node:child_process';
2
- import process from 'node:process';
3
-
4
- try {
5
- execSync('wdio run wdio.conf.ts', { stdio: 'inherit' });
6
- } catch {
7
- process.exit(1);
8
- }
1
+ <%# The framework presets go through the toolkit runner; standalone has no framework and shells out directly. -%>
2
+ <%- render('preset') -%>
@@ -0,0 +1,5 @@
1
+ import { testEndToEndWithWdioObsidian } from '@mnaoumov/obsidian-dev-toolkit/test-runners/wdio-obsidian';
2
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
3
+
4
+ // Builds the plugin first, then runs `wdio.conf.mts`.
5
+ await wrapCliTask(() => testEndToEndWithWdioObsidian());
@@ -0,0 +1,8 @@
1
+ import { execSync } from 'node:child_process';
2
+ import process from 'node:process';
3
+
4
+ try {
5
+ execSync('wdio run wdio.conf.ts', { stdio: 'inherit' });
6
+ } catch {
7
+ process.exit(1);
8
+ }
@@ -1,5 +1,5 @@
1
- import { wrapCliTask } from 'obsidian-dev-utils/script-utils/cli-utils';
2
- import { test } from 'obsidian-dev-utils/script-utils/test-runners/vitest';
1
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
2
+ import { test } from '@mnaoumov/typescript-dev-toolkit/test-runners/vitest';
3
3
 
4
4
  await wrapCliTask(() =>
5
5
  test({
@@ -1,5 +1,5 @@
1
- import { wrapCliTask } from 'obsidian-dev-utils/script-utils/cli-utils';
2
- import { test } from 'obsidian-dev-utils/script-utils/test-runners/vitest';
1
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
2
+ import { test } from '@mnaoumov/typescript-dev-toolkit/test-runners/vitest';
3
3
 
4
4
  await wrapCliTask(() =>
5
5
  test({
@@ -1,5 +1,5 @@
1
- import { wrapCliTask } from 'obsidian-dev-utils/script-utils/cli-utils';
2
- import { test } from 'obsidian-dev-utils/script-utils/test-runners/vitest';
1
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
2
+ import { test } from '@mnaoumov/typescript-dev-toolkit/test-runners/vitest';
3
3
 
4
4
  await wrapCliTask(() =>
5
5
  test({
@@ -1,5 +1,5 @@
1
- import { wrapCliTask } from 'obsidian-dev-utils/script-utils/cli-utils';
2
- import { test } from 'obsidian-dev-utils/script-utils/test-runners/vitest';
1
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
2
+ import { test } from '@mnaoumov/typescript-dev-toolkit/test-runners/vitest';
3
3
 
4
4
  await wrapCliTask(() =>
5
5
  test({
@@ -1,5 +1,5 @@
1
- import { wrapCliTask } from 'obsidian-dev-utils/script-utils/cli-utils';
2
- import { test } from 'obsidian-dev-utils/script-utils/test-runners/vitest';
1
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
2
+ import { test } from '@mnaoumov/typescript-dev-toolkit/test-runners/vitest';
3
3
 
4
4
  await wrapCliTask(() =>
5
5
  test({
@@ -1,5 +1,5 @@
1
- import { wrapCliTask } from 'obsidian-dev-utils/script-utils/cli-utils';
2
- import { test } from 'obsidian-dev-utils/script-utils/test-runners/vitest';
1
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
2
+ import { test } from '@mnaoumov/typescript-dev-toolkit/test-runners/vitest';
3
3
 
4
4
  // `integration-tests:desktop` and `integration-tests:android` are declared by
5
5
  // `defineObsidianPluginVitestConfig` too, but they are deliberately not run here: the first drives a real
@@ -0,0 +1,5 @@
1
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
2
+ import { testWatch } from '@mnaoumov/typescript-dev-toolkit/test-runners/jest';
3
+
4
+ // The runner adds `--experimental-vm-modules` to NODE_OPTIONS itself, which jest's ESM loader needs.
5
+ await wrapCliTask(() => testWatch());
@@ -0,0 +1,8 @@
1
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
2
+ import { testWatch } from '@mnaoumov/typescript-dev-toolkit/test-runners/vitest';
3
+
4
+ await wrapCliTask(() =>
5
+ testWatch({
6
+ projects: ['unit-tests']
7
+ })
8
+ );
@@ -0,0 +1,5 @@
1
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
2
+ import { test } from '@mnaoumov/typescript-dev-toolkit/test-runners/jest';
3
+
4
+ // The runner adds `--experimental-vm-modules` to NODE_OPTIONS itself, which jest's ESM loader needs.
5
+ await wrapCliTask(() => test());
@@ -0,0 +1,8 @@
1
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
2
+ import { test } from '@mnaoumov/typescript-dev-toolkit/test-runners/vitest';
3
+
4
+ await wrapCliTask(() =>
5
+ test({
6
+ projects: ['unit-tests']
7
+ })
8
+ );
@@ -1,9 +1,9 @@
1
- import process from 'node:process';
2
- import { wrapCliTask } from 'obsidian-dev-utils/script-utils/cli-utils';
3
1
  import {
4
2
  parseVersionArguments,
5
3
  updateVersion
6
- } from 'obsidian-dev-utils/script-utils/version';
4
+ } from '@mnaoumov/obsidian-dev-toolkit/version';
5
+ import { wrapCliTask } from '@mnaoumov/typescript-dev-toolkit/cli-utils';
6
+ import process from 'node:process';
7
7
 
8
8
  const [, , ...$arguments] = process.argv;
9
9
  const { options, versionUpdateType } = parseVersionArguments($arguments);
@@ -0,0 +1,10 @@
1
+ import { obsidianPluginVite } from '@mnaoumov/obsidian-dev-toolkit/bundlers/vite';
2
+ import { defineConfig } from 'vite';
3
+ <%- _buildOptionsImport -%>
4
+
5
+ // The obsidian-dev-toolkit plugin makes this a library build of `src/main.ts` into `dist/build`, or `dist/dev` under
6
+ // `--watch`, with Obsidian's modules external, every asset and dynamic import inlined and the stylesheet named
7
+ // `styles.css`.
8
+ export const config = defineConfig({
9
+ plugins: [obsidianPluginVite(<%- _buildOptionsArgument %>)]
10
+ });