@mnaoumov/obsidian-dev-toolkit 0.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +15 -1
- package/bundlers/esbuild/package.json +6 -0
- package/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin/package.json +6 -0
- package/bundlers/esbuild-impl/dependency/package.json +6 -0
- package/bundlers/esbuild-impl/fix-source-maps-plugin/package.json +6 -0
- package/bundlers/esbuild-impl/index/package.json +6 -0
- package/bundlers/esbuild-impl/obsidian-plugin-builder/package.json +6 -0
- package/bundlers/esbuild-impl/package.json +6 -0
- package/bundlers/esbuild-impl/preprocess-plugin/package.json +6 -0
- package/bundlers/esbuild-impl/rename-css-plugin/package.json +6 -0
- package/bundlers/index/package.json +6 -0
- package/bundlers/package.json +6 -0
- package/dist/demo-vault-helper/main.js +1264 -0
- package/dist/demo-vault-helper/manifest.json +9 -0
- package/dist/integration-test-plugin/main.js +54167 -0
- package/dist/integration-test-plugin/manifest.json +8 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +322 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.cts +38 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/dependency.cjs +240 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/dependency.d.cts +20 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +213 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/fix-source-maps-plugin.d.cts +34 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/index.cjs +179 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/index.d.cts +7 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +362 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.d.cts +98 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.cjs +234 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.d.cts +30 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/rename-css-plugin.cjs +171 -0
- package/dist/lib/cjs/bundlers/esbuild-impl/rename-css-plugin.d.cts +14 -0
- package/dist/lib/cjs/bundlers/esbuild.cjs +164 -0
- package/dist/lib/cjs/bundlers/esbuild.d.cts +11 -0
- package/dist/lib/cjs/bundlers/index.cjs +167 -0
- package/dist/lib/cjs/bundlers/index.d.cts +3 -0
- package/dist/lib/cjs/demo-vault-app-json.cjs +186 -0
- package/dist/lib/cjs/demo-vault-app-json.d.cts +93 -0
- package/dist/lib/cjs/demo-vault-buttons.cjs +567 -0
- package/dist/lib/cjs/demo-vault-buttons.d.cts +259 -0
- package/dist/lib/cjs/demo-vault-coverage.cjs +713 -0
- package/dist/lib/cjs/demo-vault-coverage.d.cts +533 -0
- package/dist/lib/cjs/demo-vault.cjs +296 -0
- package/dist/lib/cjs/demo-vault.d.cts +33 -0
- package/dist/lib/cjs/formatters/dprint.cjs +160 -0
- package/dist/lib/cjs/formatters/dprint.d.cts +15 -0
- package/dist/lib/cjs/formatters/index.cjs +164 -0
- package/dist/lib/cjs/formatters/index.d.cts +2 -0
- package/dist/lib/cjs/index.cjs +194 -0
- package/dist/lib/cjs/index.d.cts +16 -0
- package/dist/lib/cjs/integration-test-setup.cjs +129 -0
- package/dist/lib/cjs/integration-test-setup.d.cts +33 -0
- package/dist/lib/cjs/integration-test-vitest-global-setup.cjs +163 -0
- package/dist/lib/cjs/integration-test-vitest-global-setup.d.cts +39 -0
- package/dist/lib/cjs/jest-setup.cjs +134 -0
- package/dist/lib/cjs/jest-setup.d.cts +13 -0
- package/dist/lib/cjs/linters/eslint-config.cjs +403 -0
- package/dist/lib/cjs/linters/eslint-config.d.cts +25 -0
- package/dist/lib/cjs/linters/eslint-rules/index.cjs +200 -0
- package/dist/lib/cjs/linters/eslint-rules/index.d.cts +14 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-description.cjs +255 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-description.d.cts +54 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-helpers.cjs +218 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-helpers.d.cts +141 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-id.cjs +215 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-id.d.cts +32 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-name.cjs +216 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-name.d.cts +30 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-schema.cjs +316 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-schema.d.cts +45 -0
- package/dist/lib/cjs/linters/eslint-rules/no-local-obsidian-internals.cjs +259 -0
- package/dist/lib/cjs/linters/eslint-rules/no-local-obsidian-internals.d.cts +10 -0
- package/dist/lib/cjs/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.cjs +657 -0
- package/dist/lib/cjs/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.d.cts +10 -0
- package/dist/lib/cjs/linters/eslint-rules/no-untrusted-input-events.cjs +247 -0
- package/dist/lib/cjs/linters/eslint-rules/no-untrusted-input-events.d.cts +10 -0
- package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +181 -0
- package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-utils-plugin.d.cts +13 -0
- package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code-in-ui.cjs +263 -0
- package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code-in-ui.d.cts +30 -0
- package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code.cjs +215 -0
- package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code.d.cts +29 -0
- package/dist/lib/cjs/linters/eslint-rules/require-component-suffix.cjs +278 -0
- package/dist/lib/cjs/linters/eslint-rules/require-component-suffix.d.cts +18 -0
- package/dist/lib/cjs/linters/eslint-rules/require-plugin-api-contract-schemas.cjs +306 -0
- package/dist/lib/cjs/linters/eslint-rules/require-plugin-api-contract-schemas.d.cts +10 -0
- package/dist/lib/cjs/linters/eslint.cjs +160 -0
- package/dist/lib/cjs/linters/eslint.d.cts +15 -0
- package/dist/lib/cjs/linters/index.cjs +185 -0
- package/dist/lib/cjs/linters/index.d.cts +9 -0
- package/dist/lib/cjs/linters/markdownlint-cli2-config.cjs +171 -0
- package/dist/lib/cjs/linters/markdownlint-cli2-config.d.cts +12 -0
- package/dist/lib/cjs/linters/markdownlint-rules/index.cjs +164 -0
- package/dist/lib/cjs/linters/markdownlint-rules/index.d.cts +2 -0
- package/dist/lib/cjs/linters/markdownlint-rules/plugin-name-as-code.cjs +246 -0
- package/dist/lib/cjs/linters/markdownlint-rules/plugin-name-as-code.d.cts +32 -0
- package/dist/lib/cjs/linters/markdownlint.cjs +160 -0
- package/dist/lib/cjs/linters/markdownlint.d.cts +15 -0
- package/dist/lib/cjs/linters/obsidianmd-rule-custom-message.cjs +176 -0
- package/dist/lib/cjs/linters/obsidianmd-rule-custom-message.d.cts +40 -0
- package/dist/lib/cjs/linters/plugin-names.cjs +249 -0
- package/dist/lib/cjs/linters/plugin-names.d.cts +81 -0
- package/dist/lib/cjs/obsidian-plugin-repo-paths.cjs +216 -0
- package/dist/lib/cjs/obsidian-plugin-repo-paths.d.cts +253 -0
- package/dist/lib/cjs/setup.cjs +163 -0
- package/dist/lib/cjs/setup.d.cts +21 -0
- package/dist/lib/cjs/templates.cjs +172 -0
- package/dist/lib/cjs/templates.d.cts +13 -0
- package/dist/lib/cjs/test-runners/index.cjs +170 -0
- package/dist/lib/cjs/test-runners/index.d.cts +4 -0
- package/dist/lib/cjs/test-runners/integration-test-plugin.cjs +211 -0
- package/dist/lib/cjs/test-runners/integration-test-plugin.d.cts +44 -0
- package/dist/lib/cjs/test-runners/performance-eval-cap.cjs +157 -0
- package/dist/lib/cjs/test-runners/performance-eval-cap.d.cts +27 -0
- package/dist/lib/cjs/test-runners/stale-build-global-setup.cjs +217 -0
- package/dist/lib/cjs/test-runners/stale-build-global-setup.d.cts +86 -0
- package/dist/lib/cjs/test-runners/vitest-config.cjs +484 -0
- package/dist/lib/cjs/test-runners/vitest-config.d.cts +200 -0
- package/dist/lib/cjs/version.cjs +262 -0
- package/dist/lib/cjs/version.d.cts +92 -0
- package/dist/lib/cjs/vitest-setup.cjs +134 -0
- package/dist/lib/cjs/vitest-setup.d.cts +11 -0
- package/dist/lib/esm/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.mts +38 -0
- package/dist/lib/esm/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +218 -0
- package/dist/lib/esm/bundlers/esbuild-impl/dependency.d.mts +20 -0
- package/dist/lib/esm/bundlers/esbuild-impl/dependency.mjs +130 -0
- package/dist/lib/esm/bundlers/esbuild-impl/fix-source-maps-plugin.d.mts +34 -0
- package/dist/lib/esm/bundlers/esbuild-impl/fix-source-maps-plugin.mjs +108 -0
- package/dist/lib/esm/bundlers/esbuild-impl/index.d.mts +7 -0
- package/dist/lib/esm/bundlers/esbuild-impl/index.mjs +56 -0
- package/dist/lib/esm/bundlers/esbuild-impl/obsidian-plugin-builder.d.mts +98 -0
- package/dist/lib/esm/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +247 -0
- package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.d.mts +30 -0
- package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.mjs +126 -0
- package/dist/lib/esm/bundlers/esbuild-impl/rename-css-plugin.d.mts +14 -0
- package/dist/lib/esm/bundlers/esbuild-impl/rename-css-plugin.mjs +63 -0
- package/dist/lib/esm/bundlers/esbuild.d.mts +11 -0
- package/dist/lib/esm/bundlers/esbuild.mjs +58 -0
- package/dist/lib/esm/bundlers/index.d.mts +3 -0
- package/dist/lib/esm/bundlers/index.mjs +48 -0
- package/dist/lib/esm/demo-vault-app-json.d.mts +93 -0
- package/dist/lib/esm/demo-vault-app-json.mjs +75 -0
- package/dist/lib/esm/demo-vault-buttons.d.mts +259 -0
- package/dist/lib/esm/demo-vault-buttons.mjs +452 -0
- package/dist/lib/esm/demo-vault-coverage.d.mts +533 -0
- package/dist/lib/esm/demo-vault-coverage.mjs +619 -0
- package/dist/lib/esm/demo-vault.d.mts +33 -0
- package/dist/lib/esm/demo-vault.mjs +197 -0
- package/dist/lib/esm/formatters/dprint.d.mts +15 -0
- package/dist/lib/esm/formatters/dprint.mjs +52 -0
- package/dist/lib/esm/formatters/index.d.mts +2 -0
- package/dist/lib/esm/formatters/index.mjs +46 -0
- package/dist/lib/esm/index.d.mts +16 -0
- package/dist/lib/esm/index.mjs +66 -0
- package/dist/lib/esm/integration-test-setup.d.mts +33 -0
- package/dist/lib/esm/integration-test-setup.mjs +44 -0
- package/dist/lib/esm/integration-test-vitest-global-setup.d.mts +39 -0
- package/dist/lib/esm/integration-test-vitest-global-setup.mjs +57 -0
- package/dist/lib/esm/jest-setup.d.mts +13 -0
- package/dist/lib/esm/jest-setup.mjs +53 -0
- package/dist/lib/esm/linters/eslint-config.d.mts +25 -0
- package/dist/lib/esm/linters/eslint-config.mjs +290 -0
- package/dist/lib/esm/linters/eslint-rules/index.d.mts +14 -0
- package/dist/lib/esm/linters/eslint-rules/index.mjs +70 -0
- package/dist/lib/esm/linters/eslint-rules/manifest-description.d.mts +54 -0
- package/dist/lib/esm/linters/eslint-rules/manifest-description.mjs +146 -0
- package/dist/lib/esm/linters/eslint-rules/manifest-helpers.d.mts +141 -0
- package/dist/lib/esm/linters/eslint-rules/manifest-helpers.mjs +90 -0
- package/dist/lib/esm/linters/eslint-rules/manifest-id.d.mts +32 -0
- package/dist/lib/esm/linters/eslint-rules/manifest-id.mjs +109 -0
- package/dist/lib/esm/linters/eslint-rules/manifest-name.d.mts +30 -0
- package/dist/lib/esm/linters/eslint-rules/manifest-name.mjs +110 -0
- package/dist/lib/esm/linters/eslint-rules/manifest-schema.d.mts +45 -0
- package/dist/lib/esm/linters/eslint-rules/manifest-schema.mjs +212 -0
- package/dist/lib/esm/linters/eslint-rules/no-local-obsidian-internals.d.mts +10 -0
- package/dist/lib/esm/linters/eslint-rules/no-local-obsidian-internals.mjs +150 -0
- package/dist/lib/esm/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.d.mts +10 -0
- package/dist/lib/esm/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.mjs +551 -0
- package/dist/lib/esm/linters/eslint-rules/no-untrusted-input-events.d.mts +10 -0
- package/dist/lib/esm/linters/eslint-rules/no-untrusted-input-events.mjs +138 -0
- package/dist/lib/esm/linters/eslint-rules/obsidian-dev-utils-plugin.d.mts +13 -0
- package/dist/lib/esm/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +73 -0
- package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code-in-ui.d.mts +30 -0
- package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code-in-ui.mjs +157 -0
- package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code.d.mts +29 -0
- package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code.mjs +108 -0
- package/dist/lib/esm/linters/eslint-rules/require-component-suffix.d.mts +18 -0
- package/dist/lib/esm/linters/eslint-rules/require-component-suffix.mjs +167 -0
- package/dist/lib/esm/linters/eslint-rules/require-plugin-api-contract-schemas.d.mts +10 -0
- package/dist/lib/esm/linters/eslint-rules/require-plugin-api-contract-schemas.mjs +197 -0
- package/dist/lib/esm/linters/eslint.d.mts +15 -0
- package/dist/lib/esm/linters/eslint.mjs +52 -0
- package/dist/lib/esm/linters/index.d.mts +9 -0
- package/dist/lib/esm/linters/index.mjs +60 -0
- package/dist/lib/esm/linters/markdownlint-cli2-config.d.mts +12 -0
- package/dist/lib/esm/linters/markdownlint-cli2-config.mjs +66 -0
- package/dist/lib/esm/linters/markdownlint-rules/index.d.mts +2 -0
- package/dist/lib/esm/linters/markdownlint-rules/index.mjs +46 -0
- package/dist/lib/esm/linters/markdownlint-rules/plugin-name-as-code.d.mts +32 -0
- package/dist/lib/esm/linters/markdownlint-rules/plugin-name-as-code.mjs +130 -0
- package/dist/lib/esm/linters/markdownlint.d.mts +15 -0
- package/dist/lib/esm/linters/markdownlint.mjs +52 -0
- package/dist/lib/esm/linters/obsidianmd-rule-custom-message.d.mts +40 -0
- package/dist/lib/esm/linters/obsidianmd-rule-custom-message.mjs +67 -0
- package/dist/lib/esm/linters/plugin-names.d.mts +81 -0
- package/dist/lib/esm/linters/plugin-names.mjs +141 -0
- package/dist/lib/esm/obsidian-plugin-repo-paths.d.mts +253 -0
- package/dist/lib/esm/obsidian-plugin-repo-paths.mjs +108 -0
- package/dist/lib/esm/setup.d.mts +21 -0
- package/dist/lib/esm/setup.mjs +55 -0
- package/dist/lib/esm/templates.d.mts +13 -0
- package/dist/lib/esm/templates.mjs +57 -0
- package/dist/lib/esm/test-runners/index.d.mts +4 -0
- package/dist/lib/esm/test-runners/index.mjs +50 -0
- package/dist/lib/esm/test-runners/integration-test-plugin.d.mts +44 -0
- package/dist/lib/esm/test-runners/integration-test-plugin.mjs +94 -0
- package/dist/lib/esm/test-runners/performance-eval-cap.d.mts +27 -0
- package/dist/lib/esm/test-runners/performance-eval-cap.mjs +48 -0
- package/dist/lib/esm/test-runners/stale-build-global-setup.d.mts +86 -0
- package/dist/lib/esm/test-runners/stale-build-global-setup.mjs +115 -0
- package/dist/lib/esm/test-runners/vitest-config.d.mts +200 -0
- package/dist/lib/esm/test-runners/vitest-config.mjs +369 -0
- package/dist/lib/esm/version.d.mts +92 -0
- package/dist/lib/esm/version.mjs +160 -0
- package/dist/lib/esm/vitest-setup.d.mts +11 -0
- package/dist/lib/esm/vitest-setup.mjs +53 -0
- package/dist/templates/.markdownlint-cli2.mjs +4 -0
- package/dist/templates/.nano-staged.mjs +4 -0
- package/dist/templates/commitlint.config.ts +3 -0
- package/dist/templates/dprint.json +26 -0
- package/dist/templates/eslint.config.mts +3 -0
- package/dist/templates/scripts/build/build-clean.ts +4 -0
- package/dist/templates/scripts/build/build-compile-svelte.ts +4 -0
- package/dist/templates/scripts/build/build-compile-typescript.ts +4 -0
- package/dist/templates/scripts/build/build-compile.ts +4 -0
- package/dist/templates/scripts/build/build-templates.ts +4 -0
- package/dist/templates/scripts/bundlers/esbuild/build.ts +4 -0
- package/dist/templates/scripts/bundlers/esbuild/dev.ts +4 -0
- package/dist/templates/scripts/commitlint-config.ts +3 -0
- package/dist/templates/scripts/eslint-config.ts +10 -0
- package/dist/templates/scripts/formatters/dprint/format-check.ts +8 -0
- package/dist/templates/scripts/formatters/dprint/format.ts +8 -0
- package/dist/templates/scripts/gate/gate.ts +10 -0
- package/dist/templates/scripts/linters/cspell/spellcheck.ts +8 -0
- package/dist/templates/scripts/linters/eslint/lint-fix.ts +8 -0
- package/dist/templates/scripts/linters/eslint/lint.ts +8 -0
- package/dist/templates/scripts/linters/markdownlint/lint-md-fix.ts +8 -0
- package/dist/templates/scripts/linters/markdownlint/lint-md.ts +8 -0
- package/dist/templates/scripts/linters/over-exposure/find-overexposed-fix.ts +25 -0
- package/dist/templates/scripts/linters/over-exposure/find-overexposed.ts +15 -0
- package/dist/templates/scripts/markdownlint-cli2-config.ts +3 -0
- package/dist/templates/scripts/nano-staged-config.ts +3 -0
- package/dist/templates/scripts/test-runners/vitest/test-coverage.ts +4 -0
- package/dist/templates/scripts/test-runners/vitest/test-watch.ts +4 -0
- package/dist/templates/scripts/test-runners/vitest/test.ts +4 -0
- package/dist/templates/scripts/version/version.ts +10 -0
- package/dist/templates/scripts/vitest-config.ts +3 -0
- package/dist/templates/vitest.config.ts +3 -0
- package/formatters/dprint/package.json +6 -0
- package/formatters/index/package.json +6 -0
- package/formatters/package.json +6 -0
- package/linters/eslint/package.json +6 -0
- package/linters/eslint-config/package.json +6 -0
- package/linters/eslint-rules/index/package.json +6 -0
- package/linters/eslint-rules/manifest-description/package.json +6 -0
- package/linters/eslint-rules/manifest-helpers/package.json +6 -0
- package/linters/eslint-rules/manifest-id/package.json +6 -0
- package/linters/eslint-rules/manifest-name/package.json +6 -0
- package/linters/eslint-rules/manifest-schema/package.json +6 -0
- package/linters/eslint-rules/no-local-obsidian-internals/package.json +6 -0
- package/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian/package.json +6 -0
- package/linters/eslint-rules/no-untrusted-input-events/package.json +6 -0
- package/linters/eslint-rules/obsidian-dev-utils-plugin/package.json +6 -0
- package/linters/eslint-rules/package.json +6 -0
- package/linters/eslint-rules/plugin-name-as-code/package.json +6 -0
- package/linters/eslint-rules/plugin-name-as-code-in-ui/package.json +6 -0
- package/linters/eslint-rules/require-component-suffix/package.json +6 -0
- package/linters/eslint-rules/require-plugin-api-contract-schemas/package.json +6 -0
- package/linters/index/package.json +6 -0
- package/linters/markdownlint/package.json +6 -0
- package/linters/markdownlint-cli2-config/package.json +6 -0
- package/linters/markdownlint-rules/index/package.json +6 -0
- package/linters/markdownlint-rules/package.json +6 -0
- package/linters/markdownlint-rules/plugin-name-as-code/package.json +6 -0
- package/linters/obsidianmd-rule-custom-message/package.json +6 -0
- package/linters/package.json +6 -0
- package/linters/plugin-names/package.json +6 -0
- package/package.json +302 -13
- package/test-runners/index/package.json +6 -0
- package/test-runners/integration-test-plugin/package.json +6 -0
- package/test-runners/package.json +6 -0
- package/test-runners/performance-eval-cap/package.json +6 -0
- package/test-runners/stale-build-global-setup/package.json +6 -0
- package/test-runners/vitest-config/package.json +6 -0
|
@@ -0,0 +1,1264 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
9
|
+
try {
|
|
10
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
11
|
+
} catch (e) {
|
|
12
|
+
throw mod = 0, e;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
var __export = (target, all) => {
|
|
16
|
+
for (var name in all)
|
|
17
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
18
|
+
};
|
|
19
|
+
var __copyProps = (to, from, except, desc) => {
|
|
20
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
21
|
+
for (let key of __getOwnPropNames(from))
|
|
22
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
23
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
24
|
+
}
|
|
25
|
+
return to;
|
|
26
|
+
};
|
|
27
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
28
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
29
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
30
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
31
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
32
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
33
|
+
mod
|
|
34
|
+
));
|
|
35
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
36
|
+
|
|
37
|
+
// node_modules/path-browserify/index.js
|
|
38
|
+
var require_path_browserify = __commonJS({
|
|
39
|
+
"node_modules/path-browserify/index.js"(exports2, module2) {
|
|
40
|
+
"use strict";
|
|
41
|
+
function assertPath(path) {
|
|
42
|
+
if (typeof path !== "string") {
|
|
43
|
+
throw new TypeError("Path must be a string. Received " + JSON.stringify(path));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function normalizeStringPosix(path, allowAboveRoot) {
|
|
47
|
+
var res = "";
|
|
48
|
+
var lastSegmentLength = 0;
|
|
49
|
+
var lastSlash = -1;
|
|
50
|
+
var dots = 0;
|
|
51
|
+
var code;
|
|
52
|
+
for (var i = 0; i <= path.length; ++i) {
|
|
53
|
+
if (i < path.length)
|
|
54
|
+
code = path.charCodeAt(i);
|
|
55
|
+
else if (code === 47)
|
|
56
|
+
break;
|
|
57
|
+
else
|
|
58
|
+
code = 47;
|
|
59
|
+
if (code === 47) {
|
|
60
|
+
if (lastSlash === i - 1 || dots === 1) {
|
|
61
|
+
} else if (lastSlash !== i - 1 && dots === 2) {
|
|
62
|
+
if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 || res.charCodeAt(res.length - 2) !== 46) {
|
|
63
|
+
if (res.length > 2) {
|
|
64
|
+
var lastSlashIndex = res.lastIndexOf("/");
|
|
65
|
+
if (lastSlashIndex !== res.length - 1) {
|
|
66
|
+
if (lastSlashIndex === -1) {
|
|
67
|
+
res = "";
|
|
68
|
+
lastSegmentLength = 0;
|
|
69
|
+
} else {
|
|
70
|
+
res = res.slice(0, lastSlashIndex);
|
|
71
|
+
lastSegmentLength = res.length - 1 - res.lastIndexOf("/");
|
|
72
|
+
}
|
|
73
|
+
lastSlash = i;
|
|
74
|
+
dots = 0;
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
} else if (res.length === 2 || res.length === 1) {
|
|
78
|
+
res = "";
|
|
79
|
+
lastSegmentLength = 0;
|
|
80
|
+
lastSlash = i;
|
|
81
|
+
dots = 0;
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (allowAboveRoot) {
|
|
86
|
+
if (res.length > 0)
|
|
87
|
+
res += "/..";
|
|
88
|
+
else
|
|
89
|
+
res = "..";
|
|
90
|
+
lastSegmentLength = 2;
|
|
91
|
+
}
|
|
92
|
+
} else {
|
|
93
|
+
if (res.length > 0)
|
|
94
|
+
res += "/" + path.slice(lastSlash + 1, i);
|
|
95
|
+
else
|
|
96
|
+
res = path.slice(lastSlash + 1, i);
|
|
97
|
+
lastSegmentLength = i - lastSlash - 1;
|
|
98
|
+
}
|
|
99
|
+
lastSlash = i;
|
|
100
|
+
dots = 0;
|
|
101
|
+
} else if (code === 46 && dots !== -1) {
|
|
102
|
+
++dots;
|
|
103
|
+
} else {
|
|
104
|
+
dots = -1;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return res;
|
|
108
|
+
}
|
|
109
|
+
function _format(sep, pathObject) {
|
|
110
|
+
var dir = pathObject.dir || pathObject.root;
|
|
111
|
+
var base = pathObject.base || (pathObject.name || "") + (pathObject.ext || "");
|
|
112
|
+
if (!dir) {
|
|
113
|
+
return base;
|
|
114
|
+
}
|
|
115
|
+
if (dir === pathObject.root) {
|
|
116
|
+
return dir + base;
|
|
117
|
+
}
|
|
118
|
+
return dir + sep + base;
|
|
119
|
+
}
|
|
120
|
+
var posix2 = {
|
|
121
|
+
// path.resolve([from ...], to)
|
|
122
|
+
resolve: function resolve() {
|
|
123
|
+
var resolvedPath = "";
|
|
124
|
+
var resolvedAbsolute = false;
|
|
125
|
+
var cwd;
|
|
126
|
+
for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
|
|
127
|
+
var path;
|
|
128
|
+
if (i >= 0)
|
|
129
|
+
path = arguments[i];
|
|
130
|
+
else {
|
|
131
|
+
if (cwd === void 0)
|
|
132
|
+
cwd = process.cwd();
|
|
133
|
+
path = cwd;
|
|
134
|
+
}
|
|
135
|
+
assertPath(path);
|
|
136
|
+
if (path.length === 0) {
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
resolvedPath = path + "/" + resolvedPath;
|
|
140
|
+
resolvedAbsolute = path.charCodeAt(0) === 47;
|
|
141
|
+
}
|
|
142
|
+
resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute);
|
|
143
|
+
if (resolvedAbsolute) {
|
|
144
|
+
if (resolvedPath.length > 0)
|
|
145
|
+
return "/" + resolvedPath;
|
|
146
|
+
else
|
|
147
|
+
return "/";
|
|
148
|
+
} else if (resolvedPath.length > 0) {
|
|
149
|
+
return resolvedPath;
|
|
150
|
+
} else {
|
|
151
|
+
return ".";
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
normalize: function normalize(path) {
|
|
155
|
+
assertPath(path);
|
|
156
|
+
if (path.length === 0) return ".";
|
|
157
|
+
var isAbsolute = path.charCodeAt(0) === 47;
|
|
158
|
+
var trailingSeparator = path.charCodeAt(path.length - 1) === 47;
|
|
159
|
+
path = normalizeStringPosix(path, !isAbsolute);
|
|
160
|
+
if (path.length === 0 && !isAbsolute) path = ".";
|
|
161
|
+
if (path.length > 0 && trailingSeparator) path += "/";
|
|
162
|
+
if (isAbsolute) return "/" + path;
|
|
163
|
+
return path;
|
|
164
|
+
},
|
|
165
|
+
isAbsolute: function isAbsolute(path) {
|
|
166
|
+
assertPath(path);
|
|
167
|
+
return path.length > 0 && path.charCodeAt(0) === 47;
|
|
168
|
+
},
|
|
169
|
+
join: function join2() {
|
|
170
|
+
if (arguments.length === 0)
|
|
171
|
+
return ".";
|
|
172
|
+
var joined;
|
|
173
|
+
for (var i = 0; i < arguments.length; ++i) {
|
|
174
|
+
var arg = arguments[i];
|
|
175
|
+
assertPath(arg);
|
|
176
|
+
if (arg.length > 0) {
|
|
177
|
+
if (joined === void 0)
|
|
178
|
+
joined = arg;
|
|
179
|
+
else
|
|
180
|
+
joined += "/" + arg;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
if (joined === void 0)
|
|
184
|
+
return ".";
|
|
185
|
+
return posix2.normalize(joined);
|
|
186
|
+
},
|
|
187
|
+
relative: function relative(from, to) {
|
|
188
|
+
assertPath(from);
|
|
189
|
+
assertPath(to);
|
|
190
|
+
if (from === to) return "";
|
|
191
|
+
from = posix2.resolve(from);
|
|
192
|
+
to = posix2.resolve(to);
|
|
193
|
+
if (from === to) return "";
|
|
194
|
+
var fromStart = 1;
|
|
195
|
+
for (; fromStart < from.length; ++fromStart) {
|
|
196
|
+
if (from.charCodeAt(fromStart) !== 47)
|
|
197
|
+
break;
|
|
198
|
+
}
|
|
199
|
+
var fromEnd = from.length;
|
|
200
|
+
var fromLen = fromEnd - fromStart;
|
|
201
|
+
var toStart = 1;
|
|
202
|
+
for (; toStart < to.length; ++toStart) {
|
|
203
|
+
if (to.charCodeAt(toStart) !== 47)
|
|
204
|
+
break;
|
|
205
|
+
}
|
|
206
|
+
var toEnd = to.length;
|
|
207
|
+
var toLen = toEnd - toStart;
|
|
208
|
+
var length = fromLen < toLen ? fromLen : toLen;
|
|
209
|
+
var lastCommonSep = -1;
|
|
210
|
+
var i = 0;
|
|
211
|
+
for (; i <= length; ++i) {
|
|
212
|
+
if (i === length) {
|
|
213
|
+
if (toLen > length) {
|
|
214
|
+
if (to.charCodeAt(toStart + i) === 47) {
|
|
215
|
+
return to.slice(toStart + i + 1);
|
|
216
|
+
} else if (i === 0) {
|
|
217
|
+
return to.slice(toStart + i);
|
|
218
|
+
}
|
|
219
|
+
} else if (fromLen > length) {
|
|
220
|
+
if (from.charCodeAt(fromStart + i) === 47) {
|
|
221
|
+
lastCommonSep = i;
|
|
222
|
+
} else if (i === 0) {
|
|
223
|
+
lastCommonSep = 0;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
break;
|
|
227
|
+
}
|
|
228
|
+
var fromCode = from.charCodeAt(fromStart + i);
|
|
229
|
+
var toCode = to.charCodeAt(toStart + i);
|
|
230
|
+
if (fromCode !== toCode)
|
|
231
|
+
break;
|
|
232
|
+
else if (fromCode === 47)
|
|
233
|
+
lastCommonSep = i;
|
|
234
|
+
}
|
|
235
|
+
var out = "";
|
|
236
|
+
for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {
|
|
237
|
+
if (i === fromEnd || from.charCodeAt(i) === 47) {
|
|
238
|
+
if (out.length === 0)
|
|
239
|
+
out += "..";
|
|
240
|
+
else
|
|
241
|
+
out += "/..";
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
if (out.length > 0)
|
|
245
|
+
return out + to.slice(toStart + lastCommonSep);
|
|
246
|
+
else {
|
|
247
|
+
toStart += lastCommonSep;
|
|
248
|
+
if (to.charCodeAt(toStart) === 47)
|
|
249
|
+
++toStart;
|
|
250
|
+
return to.slice(toStart);
|
|
251
|
+
}
|
|
252
|
+
},
|
|
253
|
+
_makeLong: function _makeLong(path) {
|
|
254
|
+
return path;
|
|
255
|
+
},
|
|
256
|
+
dirname: function dirname2(path) {
|
|
257
|
+
assertPath(path);
|
|
258
|
+
if (path.length === 0) return ".";
|
|
259
|
+
var code = path.charCodeAt(0);
|
|
260
|
+
var hasRoot = code === 47;
|
|
261
|
+
var end = -1;
|
|
262
|
+
var matchedSlash = true;
|
|
263
|
+
for (var i = path.length - 1; i >= 1; --i) {
|
|
264
|
+
code = path.charCodeAt(i);
|
|
265
|
+
if (code === 47) {
|
|
266
|
+
if (!matchedSlash) {
|
|
267
|
+
end = i;
|
|
268
|
+
break;
|
|
269
|
+
}
|
|
270
|
+
} else {
|
|
271
|
+
matchedSlash = false;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
if (end === -1) return hasRoot ? "/" : ".";
|
|
275
|
+
if (hasRoot && end === 1) return "//";
|
|
276
|
+
return path.slice(0, end);
|
|
277
|
+
},
|
|
278
|
+
basename: function basename2(path, ext) {
|
|
279
|
+
if (ext !== void 0 && typeof ext !== "string") throw new TypeError('"ext" argument must be a string');
|
|
280
|
+
assertPath(path);
|
|
281
|
+
var start = 0;
|
|
282
|
+
var end = -1;
|
|
283
|
+
var matchedSlash = true;
|
|
284
|
+
var i;
|
|
285
|
+
if (ext !== void 0 && ext.length > 0 && ext.length <= path.length) {
|
|
286
|
+
if (ext.length === path.length && ext === path) return "";
|
|
287
|
+
var extIdx = ext.length - 1;
|
|
288
|
+
var firstNonSlashEnd = -1;
|
|
289
|
+
for (i = path.length - 1; i >= 0; --i) {
|
|
290
|
+
var code = path.charCodeAt(i);
|
|
291
|
+
if (code === 47) {
|
|
292
|
+
if (!matchedSlash) {
|
|
293
|
+
start = i + 1;
|
|
294
|
+
break;
|
|
295
|
+
}
|
|
296
|
+
} else {
|
|
297
|
+
if (firstNonSlashEnd === -1) {
|
|
298
|
+
matchedSlash = false;
|
|
299
|
+
firstNonSlashEnd = i + 1;
|
|
300
|
+
}
|
|
301
|
+
if (extIdx >= 0) {
|
|
302
|
+
if (code === ext.charCodeAt(extIdx)) {
|
|
303
|
+
if (--extIdx === -1) {
|
|
304
|
+
end = i;
|
|
305
|
+
}
|
|
306
|
+
} else {
|
|
307
|
+
extIdx = -1;
|
|
308
|
+
end = firstNonSlashEnd;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
if (start === end) end = firstNonSlashEnd;
|
|
314
|
+
else if (end === -1) end = path.length;
|
|
315
|
+
return path.slice(start, end);
|
|
316
|
+
} else {
|
|
317
|
+
for (i = path.length - 1; i >= 0; --i) {
|
|
318
|
+
if (path.charCodeAt(i) === 47) {
|
|
319
|
+
if (!matchedSlash) {
|
|
320
|
+
start = i + 1;
|
|
321
|
+
break;
|
|
322
|
+
}
|
|
323
|
+
} else if (end === -1) {
|
|
324
|
+
matchedSlash = false;
|
|
325
|
+
end = i + 1;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
if (end === -1) return "";
|
|
329
|
+
return path.slice(start, end);
|
|
330
|
+
}
|
|
331
|
+
},
|
|
332
|
+
extname: function extname2(path) {
|
|
333
|
+
assertPath(path);
|
|
334
|
+
var startDot = -1;
|
|
335
|
+
var startPart = 0;
|
|
336
|
+
var end = -1;
|
|
337
|
+
var matchedSlash = true;
|
|
338
|
+
var preDotState = 0;
|
|
339
|
+
for (var i = path.length - 1; i >= 0; --i) {
|
|
340
|
+
var code = path.charCodeAt(i);
|
|
341
|
+
if (code === 47) {
|
|
342
|
+
if (!matchedSlash) {
|
|
343
|
+
startPart = i + 1;
|
|
344
|
+
break;
|
|
345
|
+
}
|
|
346
|
+
continue;
|
|
347
|
+
}
|
|
348
|
+
if (end === -1) {
|
|
349
|
+
matchedSlash = false;
|
|
350
|
+
end = i + 1;
|
|
351
|
+
}
|
|
352
|
+
if (code === 46) {
|
|
353
|
+
if (startDot === -1)
|
|
354
|
+
startDot = i;
|
|
355
|
+
else if (preDotState !== 1)
|
|
356
|
+
preDotState = 1;
|
|
357
|
+
} else if (startDot !== -1) {
|
|
358
|
+
preDotState = -1;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
if (startDot === -1 || end === -1 || // We saw a non-dot character immediately before the dot
|
|
362
|
+
preDotState === 0 || // The (right-most) trimmed path component is exactly '..'
|
|
363
|
+
preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
|
|
364
|
+
return "";
|
|
365
|
+
}
|
|
366
|
+
return path.slice(startDot, end);
|
|
367
|
+
},
|
|
368
|
+
format: function format2(pathObject) {
|
|
369
|
+
if (pathObject === null || typeof pathObject !== "object") {
|
|
370
|
+
throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof pathObject);
|
|
371
|
+
}
|
|
372
|
+
return _format("/", pathObject);
|
|
373
|
+
},
|
|
374
|
+
parse: function parse2(path) {
|
|
375
|
+
assertPath(path);
|
|
376
|
+
var ret = { root: "", dir: "", base: "", ext: "", name: "" };
|
|
377
|
+
if (path.length === 0) return ret;
|
|
378
|
+
var code = path.charCodeAt(0);
|
|
379
|
+
var isAbsolute = code === 47;
|
|
380
|
+
var start;
|
|
381
|
+
if (isAbsolute) {
|
|
382
|
+
ret.root = "/";
|
|
383
|
+
start = 1;
|
|
384
|
+
} else {
|
|
385
|
+
start = 0;
|
|
386
|
+
}
|
|
387
|
+
var startDot = -1;
|
|
388
|
+
var startPart = 0;
|
|
389
|
+
var end = -1;
|
|
390
|
+
var matchedSlash = true;
|
|
391
|
+
var i = path.length - 1;
|
|
392
|
+
var preDotState = 0;
|
|
393
|
+
for (; i >= start; --i) {
|
|
394
|
+
code = path.charCodeAt(i);
|
|
395
|
+
if (code === 47) {
|
|
396
|
+
if (!matchedSlash) {
|
|
397
|
+
startPart = i + 1;
|
|
398
|
+
break;
|
|
399
|
+
}
|
|
400
|
+
continue;
|
|
401
|
+
}
|
|
402
|
+
if (end === -1) {
|
|
403
|
+
matchedSlash = false;
|
|
404
|
+
end = i + 1;
|
|
405
|
+
}
|
|
406
|
+
if (code === 46) {
|
|
407
|
+
if (startDot === -1) startDot = i;
|
|
408
|
+
else if (preDotState !== 1) preDotState = 1;
|
|
409
|
+
} else if (startDot !== -1) {
|
|
410
|
+
preDotState = -1;
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
if (startDot === -1 || end === -1 || // We saw a non-dot character immediately before the dot
|
|
414
|
+
preDotState === 0 || // The (right-most) trimmed path component is exactly '..'
|
|
415
|
+
preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
|
|
416
|
+
if (end !== -1) {
|
|
417
|
+
if (startPart === 0 && isAbsolute) ret.base = ret.name = path.slice(1, end);
|
|
418
|
+
else ret.base = ret.name = path.slice(startPart, end);
|
|
419
|
+
}
|
|
420
|
+
} else {
|
|
421
|
+
if (startPart === 0 && isAbsolute) {
|
|
422
|
+
ret.name = path.slice(1, startDot);
|
|
423
|
+
ret.base = path.slice(1, end);
|
|
424
|
+
} else {
|
|
425
|
+
ret.name = path.slice(startPart, startDot);
|
|
426
|
+
ret.base = path.slice(startPart, end);
|
|
427
|
+
}
|
|
428
|
+
ret.ext = path.slice(startDot, end);
|
|
429
|
+
}
|
|
430
|
+
if (startPart > 0) ret.dir = path.slice(0, startPart - 1);
|
|
431
|
+
else if (isAbsolute) ret.dir = "/";
|
|
432
|
+
return ret;
|
|
433
|
+
},
|
|
434
|
+
sep: "/",
|
|
435
|
+
delimiter: ":",
|
|
436
|
+
win32: null,
|
|
437
|
+
posix: null
|
|
438
|
+
};
|
|
439
|
+
posix2.posix = posix2;
|
|
440
|
+
module2.exports = posix2;
|
|
441
|
+
}
|
|
442
|
+
});
|
|
443
|
+
|
|
444
|
+
// demo-vault-helper/main.ts
|
|
445
|
+
var main_exports = {};
|
|
446
|
+
__export(main_exports, {
|
|
447
|
+
default: () => DemoVaultHelperPlugin
|
|
448
|
+
});
|
|
449
|
+
module.exports = __toCommonJS(main_exports);
|
|
450
|
+
var import_obsidian3 = require("obsidian");
|
|
451
|
+
|
|
452
|
+
// node_modules/@mnaoumov/typescript-lib/dist/lib/esm/path.mjs
|
|
453
|
+
var import_path_browserify = __toESM(require_path_browserify(), 1);
|
|
454
|
+
|
|
455
|
+
// node_modules/@mnaoumov/typescript-lib/dist/lib/esm/aggregate-error.mjs
|
|
456
|
+
(function() {
|
|
457
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
458
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
459
|
+
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
460
|
+
}
|
|
461
|
+
function ensureBrowserProcess() {
|
|
462
|
+
const browserProcess = {
|
|
463
|
+
browser: true,
|
|
464
|
+
cwd() {
|
|
465
|
+
return "/";
|
|
466
|
+
},
|
|
467
|
+
env: {},
|
|
468
|
+
platform: "android"
|
|
469
|
+
};
|
|
470
|
+
const existingProcess = globalThis.process;
|
|
471
|
+
if (!existingProcess) {
|
|
472
|
+
globalThis.process = browserProcess;
|
|
473
|
+
return;
|
|
474
|
+
}
|
|
475
|
+
if (existingProcess.versions?.node) {
|
|
476
|
+
return;
|
|
477
|
+
}
|
|
478
|
+
const existingProcessRecord = existingProcess;
|
|
479
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
480
|
+
existingProcessRecord[key] ??= value;
|
|
481
|
+
}
|
|
482
|
+
existingProcessRecord["browser"] = true;
|
|
483
|
+
}
|
|
484
|
+
(function initEsm() {
|
|
485
|
+
ensureDisposeSymbols();
|
|
486
|
+
ensureBrowserProcess();
|
|
487
|
+
})();
|
|
488
|
+
})();
|
|
489
|
+
|
|
490
|
+
// node_modules/@mnaoumov/typescript-lib/dist/lib/esm/function.mjs
|
|
491
|
+
(function() {
|
|
492
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
493
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
494
|
+
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
495
|
+
}
|
|
496
|
+
function ensureBrowserProcess() {
|
|
497
|
+
const browserProcess = {
|
|
498
|
+
browser: true,
|
|
499
|
+
cwd() {
|
|
500
|
+
return "/";
|
|
501
|
+
},
|
|
502
|
+
env: {},
|
|
503
|
+
platform: "android"
|
|
504
|
+
};
|
|
505
|
+
const existingProcess = globalThis.process;
|
|
506
|
+
if (!existingProcess) {
|
|
507
|
+
globalThis.process = browserProcess;
|
|
508
|
+
return;
|
|
509
|
+
}
|
|
510
|
+
if (existingProcess.versions?.node) {
|
|
511
|
+
return;
|
|
512
|
+
}
|
|
513
|
+
const existingProcessRecord = existingProcess;
|
|
514
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
515
|
+
existingProcessRecord[key] ??= value;
|
|
516
|
+
}
|
|
517
|
+
existingProcessRecord["browser"] = true;
|
|
518
|
+
}
|
|
519
|
+
(function initEsm() {
|
|
520
|
+
ensureDisposeSymbols();
|
|
521
|
+
ensureBrowserProcess();
|
|
522
|
+
})();
|
|
523
|
+
})();
|
|
524
|
+
function noop() {
|
|
525
|
+
}
|
|
526
|
+
var noopAsyncSingletonPromise = Promise.resolve();
|
|
527
|
+
|
|
528
|
+
// node_modules/@mnaoumov/typescript-lib/dist/lib/esm/type-guards.mjs
|
|
529
|
+
(function() {
|
|
530
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
531
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
532
|
+
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
533
|
+
}
|
|
534
|
+
function ensureBrowserProcess() {
|
|
535
|
+
const browserProcess = {
|
|
536
|
+
browser: true,
|
|
537
|
+
cwd() {
|
|
538
|
+
return "/";
|
|
539
|
+
},
|
|
540
|
+
env: {},
|
|
541
|
+
platform: "android"
|
|
542
|
+
};
|
|
543
|
+
const existingProcess = globalThis.process;
|
|
544
|
+
if (!existingProcess) {
|
|
545
|
+
globalThis.process = browserProcess;
|
|
546
|
+
return;
|
|
547
|
+
}
|
|
548
|
+
if (existingProcess.versions?.node) {
|
|
549
|
+
return;
|
|
550
|
+
}
|
|
551
|
+
const existingProcessRecord = existingProcess;
|
|
552
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
553
|
+
existingProcessRecord[key] ??= value;
|
|
554
|
+
}
|
|
555
|
+
existingProcessRecord["browser"] = true;
|
|
556
|
+
}
|
|
557
|
+
(function initEsm() {
|
|
558
|
+
ensureDisposeSymbols();
|
|
559
|
+
ensureBrowserProcess();
|
|
560
|
+
})();
|
|
561
|
+
})();
|
|
562
|
+
|
|
563
|
+
// node_modules/@mnaoumov/typescript-lib/dist/lib/esm/disposable.mjs
|
|
564
|
+
(function() {
|
|
565
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
566
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
567
|
+
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
568
|
+
}
|
|
569
|
+
function ensureBrowserProcess() {
|
|
570
|
+
const browserProcess = {
|
|
571
|
+
browser: true,
|
|
572
|
+
cwd() {
|
|
573
|
+
return "/";
|
|
574
|
+
},
|
|
575
|
+
env: {},
|
|
576
|
+
platform: "android"
|
|
577
|
+
};
|
|
578
|
+
const existingProcess = globalThis.process;
|
|
579
|
+
if (!existingProcess) {
|
|
580
|
+
globalThis.process = browserProcess;
|
|
581
|
+
return;
|
|
582
|
+
}
|
|
583
|
+
if (existingProcess.versions?.node) {
|
|
584
|
+
return;
|
|
585
|
+
}
|
|
586
|
+
const existingProcessRecord = existingProcess;
|
|
587
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
588
|
+
existingProcessRecord[key] ??= value;
|
|
589
|
+
}
|
|
590
|
+
existingProcessRecord["browser"] = true;
|
|
591
|
+
}
|
|
592
|
+
(function initEsm() {
|
|
593
|
+
ensureDisposeSymbols();
|
|
594
|
+
ensureBrowserProcess();
|
|
595
|
+
})();
|
|
596
|
+
})();
|
|
597
|
+
|
|
598
|
+
// node_modules/@mnaoumov/typescript-lib/dist/lib/esm/value-wrapper.mjs
|
|
599
|
+
(function() {
|
|
600
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
601
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
602
|
+
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
603
|
+
}
|
|
604
|
+
function ensureBrowserProcess() {
|
|
605
|
+
const browserProcess = {
|
|
606
|
+
browser: true,
|
|
607
|
+
cwd() {
|
|
608
|
+
return "/";
|
|
609
|
+
},
|
|
610
|
+
env: {},
|
|
611
|
+
platform: "android"
|
|
612
|
+
};
|
|
613
|
+
const existingProcess = globalThis.process;
|
|
614
|
+
if (!existingProcess) {
|
|
615
|
+
globalThis.process = browserProcess;
|
|
616
|
+
return;
|
|
617
|
+
}
|
|
618
|
+
if (existingProcess.versions?.node) {
|
|
619
|
+
return;
|
|
620
|
+
}
|
|
621
|
+
const existingProcessRecord = existingProcess;
|
|
622
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
623
|
+
existingProcessRecord[key] ??= value;
|
|
624
|
+
}
|
|
625
|
+
existingProcessRecord["browser"] = true;
|
|
626
|
+
}
|
|
627
|
+
(function initEsm() {
|
|
628
|
+
ensureDisposeSymbols();
|
|
629
|
+
ensureBrowserProcess();
|
|
630
|
+
})();
|
|
631
|
+
})();
|
|
632
|
+
var ValueWrapper = class _ValueWrapper {
|
|
633
|
+
/**
|
|
634
|
+
* Gets the wrapped value.
|
|
635
|
+
*
|
|
636
|
+
* @returns The wrapped value.
|
|
637
|
+
* @throws An {@link Error} if the value has not been set.
|
|
638
|
+
*/
|
|
639
|
+
get value() {
|
|
640
|
+
if (!this.hasValue) {
|
|
641
|
+
throw new Error("Value is not set");
|
|
642
|
+
}
|
|
643
|
+
return this._value;
|
|
644
|
+
}
|
|
645
|
+
/**
|
|
646
|
+
* Sets the wrapped value.
|
|
647
|
+
*
|
|
648
|
+
* @param value - The value to wrap.
|
|
649
|
+
*/
|
|
650
|
+
set value(value) {
|
|
651
|
+
this._value = value;
|
|
652
|
+
this.hasValue = true;
|
|
653
|
+
}
|
|
654
|
+
_value = null;
|
|
655
|
+
hasValue = false;
|
|
656
|
+
/**
|
|
657
|
+
* Creates a new value wrapper. Use {@link ValueWrapper.of} or {@link ValueWrapper.unset} instead.
|
|
658
|
+
*/
|
|
659
|
+
constructor() {
|
|
660
|
+
noop();
|
|
661
|
+
}
|
|
662
|
+
/**
|
|
663
|
+
* Make wrapper from the value.
|
|
664
|
+
*
|
|
665
|
+
* @typeParam T - Type of the value to wrap.
|
|
666
|
+
* @param value - The value to wrap.
|
|
667
|
+
* @returns The wrapper.
|
|
668
|
+
*/
|
|
669
|
+
static of(value) {
|
|
670
|
+
const wrapper = new _ValueWrapper();
|
|
671
|
+
wrapper.value = value;
|
|
672
|
+
return wrapper;
|
|
673
|
+
}
|
|
674
|
+
/**
|
|
675
|
+
* Make the wrapper with unset value.
|
|
676
|
+
*
|
|
677
|
+
* @typeParam T - Type of the value to wrap.
|
|
678
|
+
* @returns The wrapper.
|
|
679
|
+
*/
|
|
680
|
+
static unset() {
|
|
681
|
+
return new _ValueWrapper();
|
|
682
|
+
}
|
|
683
|
+
};
|
|
684
|
+
|
|
685
|
+
// node_modules/@mnaoumov/typescript-lib/dist/lib/esm/typescript-lib-state.mjs
|
|
686
|
+
(function() {
|
|
687
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
688
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
689
|
+
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
690
|
+
}
|
|
691
|
+
function ensureBrowserProcess() {
|
|
692
|
+
const browserProcess = {
|
|
693
|
+
browser: true,
|
|
694
|
+
cwd() {
|
|
695
|
+
return "/";
|
|
696
|
+
},
|
|
697
|
+
env: {},
|
|
698
|
+
platform: "android"
|
|
699
|
+
};
|
|
700
|
+
const existingProcess = globalThis.process;
|
|
701
|
+
if (!existingProcess) {
|
|
702
|
+
globalThis.process = browserProcess;
|
|
703
|
+
return;
|
|
704
|
+
}
|
|
705
|
+
if (existingProcess.versions?.node) {
|
|
706
|
+
return;
|
|
707
|
+
}
|
|
708
|
+
const existingProcessRecord = existingProcess;
|
|
709
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
710
|
+
existingProcessRecord[key] ??= value;
|
|
711
|
+
}
|
|
712
|
+
existingProcessRecord["browser"] = true;
|
|
713
|
+
}
|
|
714
|
+
(function initEsm() {
|
|
715
|
+
ensureDisposeSymbols();
|
|
716
|
+
ensureBrowserProcess();
|
|
717
|
+
})();
|
|
718
|
+
})();
|
|
719
|
+
|
|
720
|
+
// node_modules/@mnaoumov/typescript-lib/dist/lib/esm/abort-controller.mjs
|
|
721
|
+
(function() {
|
|
722
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
723
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
724
|
+
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
725
|
+
}
|
|
726
|
+
function ensureBrowserProcess() {
|
|
727
|
+
const browserProcess = {
|
|
728
|
+
browser: true,
|
|
729
|
+
cwd() {
|
|
730
|
+
return "/";
|
|
731
|
+
},
|
|
732
|
+
env: {},
|
|
733
|
+
platform: "android"
|
|
734
|
+
};
|
|
735
|
+
const existingProcess = globalThis.process;
|
|
736
|
+
if (!existingProcess) {
|
|
737
|
+
globalThis.process = browserProcess;
|
|
738
|
+
return;
|
|
739
|
+
}
|
|
740
|
+
if (existingProcess.versions?.node) {
|
|
741
|
+
return;
|
|
742
|
+
}
|
|
743
|
+
const existingProcessRecord = existingProcess;
|
|
744
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
745
|
+
existingProcessRecord[key] ??= value;
|
|
746
|
+
}
|
|
747
|
+
existingProcessRecord["browser"] = true;
|
|
748
|
+
}
|
|
749
|
+
(function initEsm() {
|
|
750
|
+
ensureDisposeSymbols();
|
|
751
|
+
ensureBrowserProcess();
|
|
752
|
+
})();
|
|
753
|
+
})();
|
|
754
|
+
|
|
755
|
+
// node_modules/@mnaoumov/typescript-lib/dist/lib/esm/reg-exp.mjs
|
|
756
|
+
(function() {
|
|
757
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
758
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
759
|
+
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
760
|
+
}
|
|
761
|
+
function ensureBrowserProcess() {
|
|
762
|
+
const browserProcess = {
|
|
763
|
+
browser: true,
|
|
764
|
+
cwd() {
|
|
765
|
+
return "/";
|
|
766
|
+
},
|
|
767
|
+
env: {},
|
|
768
|
+
platform: "android"
|
|
769
|
+
};
|
|
770
|
+
const existingProcess = globalThis.process;
|
|
771
|
+
if (!existingProcess) {
|
|
772
|
+
globalThis.process = browserProcess;
|
|
773
|
+
return;
|
|
774
|
+
}
|
|
775
|
+
if (existingProcess.versions?.node) {
|
|
776
|
+
return;
|
|
777
|
+
}
|
|
778
|
+
const existingProcessRecord = existingProcess;
|
|
779
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
780
|
+
existingProcessRecord[key] ??= value;
|
|
781
|
+
}
|
|
782
|
+
existingProcessRecord["browser"] = true;
|
|
783
|
+
}
|
|
784
|
+
(function initEsm() {
|
|
785
|
+
ensureDisposeSymbols();
|
|
786
|
+
ensureBrowserProcess();
|
|
787
|
+
})();
|
|
788
|
+
})();
|
|
789
|
+
|
|
790
|
+
// node_modules/@mnaoumov/typescript-lib/dist/lib/esm/value-provider.mjs
|
|
791
|
+
(function() {
|
|
792
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
793
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
794
|
+
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
795
|
+
}
|
|
796
|
+
function ensureBrowserProcess() {
|
|
797
|
+
const browserProcess = {
|
|
798
|
+
browser: true,
|
|
799
|
+
cwd() {
|
|
800
|
+
return "/";
|
|
801
|
+
},
|
|
802
|
+
env: {},
|
|
803
|
+
platform: "android"
|
|
804
|
+
};
|
|
805
|
+
const existingProcess = globalThis.process;
|
|
806
|
+
if (!existingProcess) {
|
|
807
|
+
globalThis.process = browserProcess;
|
|
808
|
+
return;
|
|
809
|
+
}
|
|
810
|
+
if (existingProcess.versions?.node) {
|
|
811
|
+
return;
|
|
812
|
+
}
|
|
813
|
+
const existingProcessRecord = existingProcess;
|
|
814
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
815
|
+
existingProcessRecord[key] ??= value;
|
|
816
|
+
}
|
|
817
|
+
existingProcessRecord["browser"] = true;
|
|
818
|
+
}
|
|
819
|
+
(function initEsm() {
|
|
820
|
+
ensureDisposeSymbols();
|
|
821
|
+
ensureBrowserProcess();
|
|
822
|
+
})();
|
|
823
|
+
})();
|
|
824
|
+
|
|
825
|
+
// node_modules/@mnaoumov/typescript-lib/dist/lib/esm/string.mjs
|
|
826
|
+
(function() {
|
|
827
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
828
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
829
|
+
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
830
|
+
}
|
|
831
|
+
function ensureBrowserProcess() {
|
|
832
|
+
const browserProcess = {
|
|
833
|
+
browser: true,
|
|
834
|
+
cwd() {
|
|
835
|
+
return "/";
|
|
836
|
+
},
|
|
837
|
+
env: {},
|
|
838
|
+
platform: "android"
|
|
839
|
+
};
|
|
840
|
+
const existingProcess = globalThis.process;
|
|
841
|
+
if (!existingProcess) {
|
|
842
|
+
globalThis.process = browserProcess;
|
|
843
|
+
return;
|
|
844
|
+
}
|
|
845
|
+
if (existingProcess.versions?.node) {
|
|
846
|
+
return;
|
|
847
|
+
}
|
|
848
|
+
const existingProcessRecord = existingProcess;
|
|
849
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
850
|
+
existingProcessRecord[key] ??= value;
|
|
851
|
+
}
|
|
852
|
+
existingProcessRecord["browser"] = true;
|
|
853
|
+
}
|
|
854
|
+
(function initEsm() {
|
|
855
|
+
ensureDisposeSymbols();
|
|
856
|
+
ensureBrowserProcess();
|
|
857
|
+
})();
|
|
858
|
+
})();
|
|
859
|
+
var EMPTY = "";
|
|
860
|
+
var ESCAPE_MAP = {
|
|
861
|
+
"\n": String.raw`\n`,
|
|
862
|
+
"\r": String.raw`\r`,
|
|
863
|
+
" ": String.raw`\t`,
|
|
864
|
+
"\b": String.raw`\b`,
|
|
865
|
+
"\f": String.raw`\f`,
|
|
866
|
+
"'": String.raw`\'`,
|
|
867
|
+
'"': String.raw`\"`,
|
|
868
|
+
"\\": "\\\\"
|
|
869
|
+
};
|
|
870
|
+
var UNESCAPE_MAP = {};
|
|
871
|
+
for (const [key, value] of Object.entries(ESCAPE_MAP)) {
|
|
872
|
+
UNESCAPE_MAP[value] = key;
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
// node_modules/@mnaoumov/typescript-lib/dist/lib/esm/path.mjs
|
|
876
|
+
(function() {
|
|
877
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
878
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
879
|
+
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
880
|
+
}
|
|
881
|
+
function ensureBrowserProcess() {
|
|
882
|
+
const browserProcess = {
|
|
883
|
+
browser: true,
|
|
884
|
+
cwd() {
|
|
885
|
+
return "/";
|
|
886
|
+
},
|
|
887
|
+
env: {},
|
|
888
|
+
platform: "android"
|
|
889
|
+
};
|
|
890
|
+
const existingProcess = globalThis.process;
|
|
891
|
+
if (!existingProcess) {
|
|
892
|
+
globalThis.process = browserProcess;
|
|
893
|
+
return;
|
|
894
|
+
}
|
|
895
|
+
if (existingProcess.versions?.node) {
|
|
896
|
+
return;
|
|
897
|
+
}
|
|
898
|
+
const existingProcessRecord = existingProcess;
|
|
899
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
900
|
+
existingProcessRecord[key] ??= value;
|
|
901
|
+
}
|
|
902
|
+
existingProcessRecord["browser"] = true;
|
|
903
|
+
}
|
|
904
|
+
(function initEsm() {
|
|
905
|
+
ensureDisposeSymbols();
|
|
906
|
+
ensureBrowserProcess();
|
|
907
|
+
})();
|
|
908
|
+
})();
|
|
909
|
+
var posix = import_path_browserify.default.posix;
|
|
910
|
+
var delimiter = posix.delimiter;
|
|
911
|
+
var separator = import_path_browserify.default.posix.sep;
|
|
912
|
+
var basename = posix.basename;
|
|
913
|
+
var dirname = posix.dirname;
|
|
914
|
+
var extname = posix.extname;
|
|
915
|
+
var format = posix.format;
|
|
916
|
+
var join = posix.join;
|
|
917
|
+
var normalizePath = posix.normalize;
|
|
918
|
+
var parse = posix.parse;
|
|
919
|
+
|
|
920
|
+
// node_modules/@mnaoumov/obsidian-lib/dist/lib/esm/demo-vault-helper.mjs
|
|
921
|
+
var import_obsidian2 = require("obsidian");
|
|
922
|
+
|
|
923
|
+
// node_modules/@mnaoumov/obsidian-lib/dist/lib/esm/community-plugins.mjs
|
|
924
|
+
var import_obsidian = require("obsidian");
|
|
925
|
+
|
|
926
|
+
// node_modules/@mnaoumov/obsidian-lib/dist/lib/esm/obsidian-dev-utils-state.mjs
|
|
927
|
+
(function() {
|
|
928
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
929
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
930
|
+
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
931
|
+
}
|
|
932
|
+
function ensureBrowserProcess() {
|
|
933
|
+
const browserProcess = {
|
|
934
|
+
browser: true,
|
|
935
|
+
cwd() {
|
|
936
|
+
return "/";
|
|
937
|
+
},
|
|
938
|
+
env: {},
|
|
939
|
+
platform: "android"
|
|
940
|
+
};
|
|
941
|
+
const existingProcess = globalThis.process;
|
|
942
|
+
if (!existingProcess) {
|
|
943
|
+
globalThis.process = browserProcess;
|
|
944
|
+
return;
|
|
945
|
+
}
|
|
946
|
+
if (existingProcess.versions?.node) {
|
|
947
|
+
return;
|
|
948
|
+
}
|
|
949
|
+
const existingProcessRecord = existingProcess;
|
|
950
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
951
|
+
existingProcessRecord[key] ??= value;
|
|
952
|
+
}
|
|
953
|
+
existingProcessRecord["browser"] = true;
|
|
954
|
+
}
|
|
955
|
+
(function initEsm() {
|
|
956
|
+
ensureDisposeSymbols();
|
|
957
|
+
ensureBrowserProcess();
|
|
958
|
+
})();
|
|
959
|
+
})();
|
|
960
|
+
function getObsidianDevUtilsState(key, defaultValue) {
|
|
961
|
+
return getObsidianDevUtilsBag()[key] ??= ValueWrapper.of(defaultValue);
|
|
962
|
+
}
|
|
963
|
+
function getObsidianDevUtilsBag() {
|
|
964
|
+
const wrapper = globalThis;
|
|
965
|
+
wrapper.__obsidianDevUtils ??= {};
|
|
966
|
+
return wrapper.__obsidianDevUtils;
|
|
967
|
+
}
|
|
968
|
+
|
|
969
|
+
// node_modules/@mnaoumov/obsidian-lib/dist/lib/esm/community-plugins.mjs
|
|
970
|
+
(function() {
|
|
971
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
972
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
973
|
+
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
974
|
+
}
|
|
975
|
+
function ensureBrowserProcess() {
|
|
976
|
+
const browserProcess = {
|
|
977
|
+
browser: true,
|
|
978
|
+
cwd() {
|
|
979
|
+
return "/";
|
|
980
|
+
},
|
|
981
|
+
env: {},
|
|
982
|
+
platform: "android"
|
|
983
|
+
};
|
|
984
|
+
const existingProcess = globalThis.process;
|
|
985
|
+
if (!existingProcess) {
|
|
986
|
+
globalThis.process = browserProcess;
|
|
987
|
+
return;
|
|
988
|
+
}
|
|
989
|
+
if (existingProcess.versions?.node) {
|
|
990
|
+
return;
|
|
991
|
+
}
|
|
992
|
+
const existingProcessRecord = existingProcess;
|
|
993
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
994
|
+
existingProcessRecord[key] ??= value;
|
|
995
|
+
}
|
|
996
|
+
existingProcessRecord["browser"] = true;
|
|
997
|
+
}
|
|
998
|
+
(function initEsm() {
|
|
999
|
+
ensureDisposeSymbols();
|
|
1000
|
+
ensureBrowserProcess();
|
|
1001
|
+
})();
|
|
1002
|
+
})();
|
|
1003
|
+
var COMMUNITY_PLUGINS_STATE_KEY = "communityPluginEntriesPromise";
|
|
1004
|
+
var COMMUNITY_PLUGINS_URL = "https://raw.githubusercontent.com/obsidianmd/obsidian-releases/HEAD/community-plugins.json";
|
|
1005
|
+
var DATA_JSON_INDENT = 2;
|
|
1006
|
+
var ConfigureCommunityPluginResult = /* @__PURE__ */ ((ConfigureCommunityPluginResult2) => {
|
|
1007
|
+
ConfigureCommunityPluginResult2["AppliedLive"] = "appliedLive";
|
|
1008
|
+
ConfigureCommunityPluginResult2["Skipped"] = "skipped";
|
|
1009
|
+
ConfigureCommunityPluginResult2["Success"] = "success";
|
|
1010
|
+
return ConfigureCommunityPluginResult2;
|
|
1011
|
+
})(ConfigureCommunityPluginResult || {});
|
|
1012
|
+
async function configureCommunityPlugin(params) {
|
|
1013
|
+
const { app, settings } = params;
|
|
1014
|
+
const pluginId = await resolveCommunityPluginId(params);
|
|
1015
|
+
const settingsComponent = getSettingsComponent(app.plugins.plugins[pluginId]);
|
|
1016
|
+
if (checkHasEditAndSave(settingsComponent)) {
|
|
1017
|
+
await settingsComponent.editAndSave((pluginSettings) => {
|
|
1018
|
+
Object.assign(pluginSettings, settings);
|
|
1019
|
+
});
|
|
1020
|
+
return "appliedLive";
|
|
1021
|
+
}
|
|
1022
|
+
const dataPath = `${app.vault.configDir}/plugins/${pluginId}/data.json`;
|
|
1023
|
+
let data = {};
|
|
1024
|
+
if (await app.vault.adapter.exists(dataPath)) {
|
|
1025
|
+
const parsed = JSON.parse(await app.vault.adapter.read(dataPath));
|
|
1026
|
+
if (parsed !== null && typeof parsed === "object") {
|
|
1027
|
+
data = parsed;
|
|
1028
|
+
}
|
|
1029
|
+
}
|
|
1030
|
+
const serializedBefore = JSON.stringify(data);
|
|
1031
|
+
Object.assign(data, settings);
|
|
1032
|
+
if (JSON.stringify(data) === serializedBefore) {
|
|
1033
|
+
return "skipped";
|
|
1034
|
+
}
|
|
1035
|
+
const serialized = String(JSON.stringify(data, null, DATA_JSON_INDENT));
|
|
1036
|
+
await app.vault.adapter.write(dataPath, `${serialized}
|
|
1037
|
+
`);
|
|
1038
|
+
return "success";
|
|
1039
|
+
}
|
|
1040
|
+
async function disableCommunityPlugin(params) {
|
|
1041
|
+
const { app } = params;
|
|
1042
|
+
const pluginId = await resolveCommunityPluginId(params);
|
|
1043
|
+
if (!app.plugins.enabledPlugins.has(pluginId)) {
|
|
1044
|
+
return;
|
|
1045
|
+
}
|
|
1046
|
+
await app.plugins.disablePluginAndSave(pluginId);
|
|
1047
|
+
}
|
|
1048
|
+
async function enableCommunityPlugin(params) {
|
|
1049
|
+
const { app } = params;
|
|
1050
|
+
const pluginId = await resolveCommunityPluginId(params);
|
|
1051
|
+
if (app.plugins.enabledPlugins.has(pluginId)) {
|
|
1052
|
+
return;
|
|
1053
|
+
}
|
|
1054
|
+
await app.plugins.enablePluginAndSave(pluginId);
|
|
1055
|
+
}
|
|
1056
|
+
async function getCommunityPluginRepo(pluginId) {
|
|
1057
|
+
const entries = await getCommunityPluginEntries();
|
|
1058
|
+
const entry = entries.find((candidate) => candidate.id === pluginId);
|
|
1059
|
+
return entry?.repo ?? null;
|
|
1060
|
+
}
|
|
1061
|
+
async function getLatestReleaseVersion(repo) {
|
|
1062
|
+
const response = await (0, import_obsidian.requestUrl)(`https://api.github.com/repos/${repo}/releases/latest`);
|
|
1063
|
+
const release = response.json;
|
|
1064
|
+
return release.tag_name;
|
|
1065
|
+
}
|
|
1066
|
+
async function installCommunityPlugin(params) {
|
|
1067
|
+
const { app } = params;
|
|
1068
|
+
const pluginId = await resolveCommunityPluginId(params);
|
|
1069
|
+
if (Object.hasOwn(app.plugins.manifests, pluginId)) {
|
|
1070
|
+
return;
|
|
1071
|
+
}
|
|
1072
|
+
const repo = await getCommunityPluginRepo(pluginId);
|
|
1073
|
+
if (!repo) {
|
|
1074
|
+
throw new Error(`Plugin '${pluginId}' was not found in the Obsidian community plugins registry.`);
|
|
1075
|
+
}
|
|
1076
|
+
const version = await getLatestReleaseVersion(repo);
|
|
1077
|
+
const manifest = await getPluginManifest(repo, version);
|
|
1078
|
+
await app.plugins.installPlugin(repo, version, manifest);
|
|
1079
|
+
}
|
|
1080
|
+
async function installConfigureEnableCommunityPlugin(params) {
|
|
1081
|
+
const { app, settings } = params;
|
|
1082
|
+
await installCommunityPlugin(params);
|
|
1083
|
+
const didSettingsChange = settings ? await configureCommunityPlugin({ ...params, settings }) === "success" : false;
|
|
1084
|
+
const pluginId = await resolveCommunityPluginId(params);
|
|
1085
|
+
if (!app.plugins.enabledPlugins.has(pluginId)) {
|
|
1086
|
+
await enableCommunityPlugin(params);
|
|
1087
|
+
} else if (didSettingsChange) {
|
|
1088
|
+
await disableCommunityPlugin(params);
|
|
1089
|
+
await enableCommunityPlugin(params);
|
|
1090
|
+
}
|
|
1091
|
+
}
|
|
1092
|
+
function checkHasEditAndSave(settingsComponent) {
|
|
1093
|
+
return typeof settingsComponent === "object" && settingsComponent !== null && "editAndSave" in settingsComponent && typeof settingsComponent.editAndSave === "function";
|
|
1094
|
+
}
|
|
1095
|
+
async function fetchCommunityPluginEntries() {
|
|
1096
|
+
const response = await (0, import_obsidian.requestUrl)(COMMUNITY_PLUGINS_URL);
|
|
1097
|
+
return response.json;
|
|
1098
|
+
}
|
|
1099
|
+
async function getCommunityPluginEntries() {
|
|
1100
|
+
const cache = getObsidianDevUtilsState(COMMUNITY_PLUGINS_STATE_KEY, null);
|
|
1101
|
+
cache.value ??= fetchCommunityPluginEntries();
|
|
1102
|
+
try {
|
|
1103
|
+
return await cache.value;
|
|
1104
|
+
} catch (error) {
|
|
1105
|
+
cache.value = null;
|
|
1106
|
+
throw error;
|
|
1107
|
+
}
|
|
1108
|
+
}
|
|
1109
|
+
async function getPluginManifest(repo, version) {
|
|
1110
|
+
const response = await (0, import_obsidian.requestUrl)(`https://github.com/${repo}/releases/download/${version}/manifest.json`);
|
|
1111
|
+
return response.json;
|
|
1112
|
+
}
|
|
1113
|
+
function getSettingsComponent(plugin) {
|
|
1114
|
+
return typeof plugin !== "object" || plugin === null || !("pluginSettingsComponent" in plugin) ? null : plugin.pluginSettingsComponent;
|
|
1115
|
+
}
|
|
1116
|
+
async function resolveCommunityPluginId(reference) {
|
|
1117
|
+
if ("pluginId" in reference) {
|
|
1118
|
+
return reference.pluginId;
|
|
1119
|
+
}
|
|
1120
|
+
const entries = await getCommunityPluginEntries();
|
|
1121
|
+
const entry = entries.find((candidate) => candidate.name === reference.pluginName);
|
|
1122
|
+
if (!entry) {
|
|
1123
|
+
throw new Error(`Plugin named '${reference.pluginName}' was not found in the Obsidian community plugins registry.`);
|
|
1124
|
+
}
|
|
1125
|
+
return entry.id;
|
|
1126
|
+
}
|
|
1127
|
+
|
|
1128
|
+
// node_modules/@mnaoumov/obsidian-lib/dist/lib/esm/demo-vault-helper.mjs
|
|
1129
|
+
(function() {
|
|
1130
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
1131
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
1132
|
+
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
1133
|
+
}
|
|
1134
|
+
function ensureBrowserProcess() {
|
|
1135
|
+
const browserProcess = {
|
|
1136
|
+
browser: true,
|
|
1137
|
+
cwd() {
|
|
1138
|
+
return "/";
|
|
1139
|
+
},
|
|
1140
|
+
env: {},
|
|
1141
|
+
platform: "android"
|
|
1142
|
+
};
|
|
1143
|
+
const existingProcess = globalThis.process;
|
|
1144
|
+
if (!existingProcess) {
|
|
1145
|
+
globalThis.process = browserProcess;
|
|
1146
|
+
return;
|
|
1147
|
+
}
|
|
1148
|
+
if (existingProcess.versions?.node) {
|
|
1149
|
+
return;
|
|
1150
|
+
}
|
|
1151
|
+
const existingProcessRecord = existingProcess;
|
|
1152
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
1153
|
+
existingProcessRecord[key] ??= value;
|
|
1154
|
+
}
|
|
1155
|
+
existingProcessRecord["browser"] = true;
|
|
1156
|
+
}
|
|
1157
|
+
(function initEsm() {
|
|
1158
|
+
ensureDisposeSymbols();
|
|
1159
|
+
ensureBrowserProcess();
|
|
1160
|
+
})();
|
|
1161
|
+
})();
|
|
1162
|
+
var CODE_SCRIPT_TOOLKIT_PLUGIN_ID = "fix-require-modules";
|
|
1163
|
+
var CODE_SCRIPT_TOOLKIT_MODULES_ROOT = "_assets/CodeScriptToolkit";
|
|
1164
|
+
var CODE_SCRIPT_TOOLKIT_SETTINGS = {
|
|
1165
|
+
defaultCodeButtonConfig: "---\nsourceVisibility: collapsed\n---",
|
|
1166
|
+
invocableScriptsFolder: "Invocables",
|
|
1167
|
+
modulesRoot: CODE_SCRIPT_TOOLKIT_MODULES_ROOT,
|
|
1168
|
+
shouldHandleProtocolUrls: true,
|
|
1169
|
+
startupScriptPath: "startup.ts"
|
|
1170
|
+
};
|
|
1171
|
+
var FOLDER_NOTES_PLUGIN_ID = "folder-notes";
|
|
1172
|
+
var FOLDER_NOTES_SETTINGS = {
|
|
1173
|
+
folderNoteName: "README",
|
|
1174
|
+
hideFolderNote: true,
|
|
1175
|
+
storageLocation: "insideFolder"
|
|
1176
|
+
};
|
|
1177
|
+
var DEMO_VAULT_HELPER_PLUGIN_ID = "demo-vault-helper";
|
|
1178
|
+
var PLUGINS_FOLDER_NAME = "plugins";
|
|
1179
|
+
var DATA_JSON_FILE_NAME = "data.json";
|
|
1180
|
+
var INVALID_DEMO_VAULT_ERROR_MESSAGE = "Invalid demo vault";
|
|
1181
|
+
var OPEN_DEMO_VAULT_COMMAND_NAME = "Open demo vault";
|
|
1182
|
+
var SANDBOX_NOTICE_DURATION_IN_MILLISECONDS = 0;
|
|
1183
|
+
async function bootstrapDemoVault(params) {
|
|
1184
|
+
const { app } = params;
|
|
1185
|
+
const demoedPluginId = await getDemoedPluginId(app);
|
|
1186
|
+
await installCommunityPlugin({ app, pluginId: CODE_SCRIPT_TOOLKIT_PLUGIN_ID });
|
|
1187
|
+
const result = await configureCommunityPlugin({
|
|
1188
|
+
app,
|
|
1189
|
+
pluginId: CODE_SCRIPT_TOOLKIT_PLUGIN_ID,
|
|
1190
|
+
settings: CODE_SCRIPT_TOOLKIT_SETTINGS
|
|
1191
|
+
});
|
|
1192
|
+
await ensureInvocableScriptsFolder(app);
|
|
1193
|
+
if (!app.plugins.enabledPlugins.has(CODE_SCRIPT_TOOLKIT_PLUGIN_ID)) {
|
|
1194
|
+
await enableCommunityPlugin({ app, pluginId: CODE_SCRIPT_TOOLKIT_PLUGIN_ID });
|
|
1195
|
+
} else if (result === ConfigureCommunityPluginResult.Success) {
|
|
1196
|
+
await disableCommunityPlugin({ app, pluginId: CODE_SCRIPT_TOOLKIT_PLUGIN_ID });
|
|
1197
|
+
await enableCommunityPlugin({ app, pluginId: CODE_SCRIPT_TOOLKIT_PLUGIN_ID });
|
|
1198
|
+
}
|
|
1199
|
+
await installConfigureEnableCommunityPlugin({
|
|
1200
|
+
app,
|
|
1201
|
+
pluginId: FOLDER_NOTES_PLUGIN_ID,
|
|
1202
|
+
settings: FOLDER_NOTES_SETTINGS
|
|
1203
|
+
});
|
|
1204
|
+
showSandboxNotice(app, demoedPluginId);
|
|
1205
|
+
}
|
|
1206
|
+
function buildSandboxNoticeFragment(pluginName) {
|
|
1207
|
+
return createFragment((fragment) => {
|
|
1208
|
+
fragment.appendText("This is a demo vault for ");
|
|
1209
|
+
fragment.createEl("b", { text: pluginName });
|
|
1210
|
+
fragment.appendText(".");
|
|
1211
|
+
fragment.createEl("br");
|
|
1212
|
+
fragment.appendText("It is a temporary sandbox, cleaned up automatically about a day after you last use it.");
|
|
1213
|
+
fragment.createEl("br");
|
|
1214
|
+
fragment.appendText("Executing ");
|
|
1215
|
+
fragment.createEl("b", { text: `${pluginName}: ${OPEN_DEMO_VAULT_COMMAND_NAME}` });
|
|
1216
|
+
fragment.appendText(" command again creates a new copy with the latest plugin version, so your notes will not appear in it.");
|
|
1217
|
+
});
|
|
1218
|
+
}
|
|
1219
|
+
async function ensureInvocableScriptsFolder(app) {
|
|
1220
|
+
const invocableScriptsFolderPath = join(CODE_SCRIPT_TOOLKIT_MODULES_ROOT, CODE_SCRIPT_TOOLKIT_SETTINGS.invocableScriptsFolder);
|
|
1221
|
+
if (!await app.vault.adapter.exists(invocableScriptsFolderPath)) {
|
|
1222
|
+
await app.vault.adapter.mkdir(invocableScriptsFolderPath);
|
|
1223
|
+
}
|
|
1224
|
+
}
|
|
1225
|
+
async function getDemoedPluginId(app) {
|
|
1226
|
+
const settingsPath = join(app.vault.configDir, PLUGINS_FOLDER_NAME, DEMO_VAULT_HELPER_PLUGIN_ID, DATA_JSON_FILE_NAME);
|
|
1227
|
+
if (!await app.vault.adapter.exists(settingsPath)) {
|
|
1228
|
+
throw new Error(INVALID_DEMO_VAULT_ERROR_MESSAGE);
|
|
1229
|
+
}
|
|
1230
|
+
let parsed;
|
|
1231
|
+
try {
|
|
1232
|
+
parsed = JSON.parse(await app.vault.adapter.read(settingsPath));
|
|
1233
|
+
} catch (error) {
|
|
1234
|
+
throw new Error(INVALID_DEMO_VAULT_ERROR_MESSAGE, { cause: error });
|
|
1235
|
+
}
|
|
1236
|
+
const demoedPluginId = parsed?.demoedPluginId;
|
|
1237
|
+
if (typeof demoedPluginId !== "string" || demoedPluginId === EMPTY) {
|
|
1238
|
+
throw new Error(INVALID_DEMO_VAULT_ERROR_MESSAGE);
|
|
1239
|
+
}
|
|
1240
|
+
return demoedPluginId;
|
|
1241
|
+
}
|
|
1242
|
+
function showSandboxNotice(app, demoedPluginId) {
|
|
1243
|
+
const pluginName = app.plugins.manifests[demoedPluginId]?.name ?? demoedPluginId;
|
|
1244
|
+
const fragment = buildSandboxNoticeFragment(pluginName);
|
|
1245
|
+
app.setting.close();
|
|
1246
|
+
new import_obsidian2.Notice(fragment, SANDBOX_NOTICE_DURATION_IN_MILLISECONDS);
|
|
1247
|
+
}
|
|
1248
|
+
|
|
1249
|
+
// demo-vault-helper/main.ts
|
|
1250
|
+
var DemoVaultHelperPlugin = class extends import_obsidian3.Plugin {
|
|
1251
|
+
onload() {
|
|
1252
|
+
this.app.workspace.onLayoutReady(() => {
|
|
1253
|
+
void this.bootstrap();
|
|
1254
|
+
});
|
|
1255
|
+
}
|
|
1256
|
+
async bootstrap() {
|
|
1257
|
+
try {
|
|
1258
|
+
await bootstrapDemoVault({ app: this.app });
|
|
1259
|
+
} catch (error) {
|
|
1260
|
+
new import_obsidian3.Notice(`Demo Vault Helper failed to bootstrap: ${String(error)}`);
|
|
1261
|
+
console.error(error);
|
|
1262
|
+
}
|
|
1263
|
+
}
|
|
1264
|
+
};
|