obsidian-dev-utils 85.1.0 → 86.0.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/@types/obsidian-integration-testing/package.json +4 -0
- package/CHANGELOG.md +16 -0
- package/README.md +1 -0
- package/dist/dev/main.js +9138 -4743
- package/dist/lib/cjs/@types/obsidian-integration-testing.d.cts +18 -0
- package/dist/lib/cjs/__merged.cjs +1291 -0
- package/dist/lib/cjs/__merged.d.cts +165 -0
- package/dist/lib/cjs/abort-controller.cjs +3 -4
- package/dist/lib/cjs/async.cjs +13 -7
- package/dist/lib/cjs/async.d.cts +6 -0
- package/dist/lib/cjs/disposable.cjs +224 -3
- package/dist/lib/cjs/disposable.d.cts +222 -2
- package/dist/lib/cjs/error.cjs +41 -3
- package/dist/lib/cjs/error.d.cts +50 -1
- package/dist/lib/cjs/generated-during-build.cjs +2 -2
- package/dist/lib/cjs/index.cjs +4 -1
- package/dist/lib/cjs/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/attachment-path.cjs +3 -3
- package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.cjs +27 -11
- package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.d.cts +14 -9
- package/dist/lib/cjs/obsidian/command-handlers/index.cjs +4 -1
- package/dist/lib/cjs/obsidian/command-handlers/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/command-handlers/open-demo-vault-command-handler.cjs +195 -0
- package/dist/lib/cjs/obsidian/command-handlers/open-demo-vault-command-handler.d.cts +65 -0
- package/dist/lib/cjs/obsidian/community-plugins.cjs +156 -0
- package/dist/lib/cjs/obsidian/community-plugins.d.cts +22 -0
- package/dist/lib/cjs/obsidian/components/disposable-component.cjs +8 -8
- package/dist/lib/cjs/obsidian/components/disposable-component.d.cts +9 -3
- package/dist/lib/cjs/obsidian/components/monkey-around-component.cjs +17 -2
- package/dist/lib/cjs/obsidian/components/monkey-around-component.d.cts +17 -0
- package/dist/lib/cjs/obsidian/components/plugin-notice-component.cjs +161 -22
- package/dist/lib/cjs/obsidian/components/plugin-notice-component.d.cts +81 -8
- package/dist/lib/cjs/obsidian/css-class.cjs +4 -1
- package/dist/lib/cjs/obsidian/css-class.d.cts +13 -0
- package/dist/lib/cjs/obsidian/desktop-demo-vault-opener.cjs +239 -0
- package/dist/lib/cjs/obsidian/desktop-demo-vault-opener.d.cts +45 -0
- package/dist/lib/cjs/obsidian/desktop-trusted-input.cjs +215 -0
- package/dist/lib/cjs/obsidian/desktop-trusted-input.d.cts +135 -0
- package/dist/lib/cjs/obsidian/i18n/locales/en.cjs +3 -1
- package/dist/lib/cjs/obsidian/i18n/locales/en.d.cts +2 -0
- package/dist/lib/cjs/obsidian/i18n/locales/translations-map.d.cts +2 -0
- package/dist/lib/cjs/obsidian/index.cjs +10 -1
- package/dist/lib/cjs/obsidian/index.d.cts +3 -0
- package/dist/lib/cjs/obsidian/link.cjs +2 -2
- package/dist/lib/cjs/obsidian/modals/index.cjs +4 -1
- package/dist/lib/cjs/obsidian/modals/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/modals/minimizable-modal.cjs +15 -2
- package/dist/lib/cjs/obsidian/modals/minimizable-modal.d.cts +18 -3
- package/dist/lib/cjs/obsidian/modals/select-option.cjs +182 -0
- package/dist/lib/cjs/obsidian/modals/select-option.d.cts +65 -0
- package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.cjs +4 -1
- package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.d.cts +6 -0
- package/dist/lib/cjs/obsidian/plugin/plugin.cjs +50 -3
- package/dist/lib/cjs/obsidian/plugin/plugin.d.cts +17 -0
- package/dist/lib/cjs/obsidian/workspace.cjs +8 -1
- package/dist/lib/cjs/obsidian/workspace.d.cts +10 -0
- package/dist/lib/cjs/path.cjs +4 -4
- package/dist/lib/cjs/path.d.cts +1 -1
- package/dist/lib/cjs/script-utils/demo-vault.cjs +177 -0
- package/dist/lib/cjs/script-utils/demo-vault.d.cts +23 -0
- package/dist/lib/cjs/script-utils/exec.cjs +27 -5
- package/dist/lib/cjs/script-utils/exec.d.cts +20 -0
- package/dist/lib/cjs/script-utils/index.cjs +9 -3
- package/dist/lib/cjs/script-utils/index.d.cts +2 -0
- package/dist/lib/cjs/script-utils/linters/eslint-no-restricted-syntax.cjs +1 -5
- package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.cjs +2 -1
- package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.d.cts +2 -0
- package/dist/lib/cjs/script-utils/version.cjs +8 -1
- package/dist/lib/cjs/script-utils/version.d.cts +8 -0
- package/dist/lib/cjs/script-utils/warnings-as-errors.cjs +157 -0
- package/dist/lib/cjs/script-utils/warnings-as-errors.d.cts +27 -0
- package/dist/lib/cjs/setup.cjs +75 -4
- package/dist/lib/cjs/setup.d.cts +29 -7
- package/dist/lib/cjs/string.cjs +7 -4
- package/dist/lib/cjs/string.d.cts +11 -1
- package/dist/lib/esm/@types/obsidian-integration-testing.d.mts +18 -0
- package/dist/lib/esm/__merged.d.mts +165 -0
- package/dist/lib/esm/__merged.mjs +1134 -0
- package/dist/lib/esm/abort-controller.mjs +7 -5
- package/dist/lib/esm/async.d.mts +6 -0
- package/dist/lib/esm/async.mjs +13 -7
- package/dist/lib/esm/disposable.d.mts +222 -2
- package/dist/lib/esm/disposable.mjs +215 -2
- package/dist/lib/esm/error.d.mts +50 -1
- package/dist/lib/esm/error.mjs +41 -4
- package/dist/lib/esm/generated-during-build.mjs +2 -2
- package/dist/lib/esm/index.d.mts +1 -0
- package/dist/lib/esm/index.mjs +3 -1
- package/dist/lib/esm/obsidian/attachment-path.mjs +4 -4
- package/dist/lib/esm/obsidian/command-handlers/command-handler-component.d.mts +14 -9
- package/dist/lib/esm/obsidian/command-handlers/command-handler-component.mjs +31 -11
- package/dist/lib/esm/obsidian/command-handlers/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/command-handlers/index.mjs +3 -1
- package/dist/lib/esm/obsidian/command-handlers/open-demo-vault-command-handler.d.mts +65 -0
- package/dist/lib/esm/obsidian/command-handlers/open-demo-vault-command-handler.mjs +77 -0
- package/dist/lib/esm/obsidian/community-plugins.d.mts +22 -0
- package/dist/lib/esm/obsidian/community-plugins.mjs +48 -0
- package/dist/lib/esm/obsidian/components/disposable-component.d.mts +9 -3
- package/dist/lib/esm/obsidian/components/disposable-component.mjs +8 -8
- package/dist/lib/esm/obsidian/components/monkey-around-component.d.mts +17 -0
- package/dist/lib/esm/obsidian/components/monkey-around-component.mjs +17 -2
- package/dist/lib/esm/obsidian/components/plugin-notice-component.d.mts +81 -8
- package/dist/lib/esm/obsidian/components/plugin-notice-component.mjs +163 -23
- package/dist/lib/esm/obsidian/css-class.d.mts +13 -0
- package/dist/lib/esm/obsidian/css-class.mjs +4 -1
- package/dist/lib/esm/obsidian/desktop-demo-vault-opener.d.mts +45 -0
- package/dist/lib/esm/obsidian/desktop-demo-vault-opener.mjs +121 -0
- package/dist/lib/esm/obsidian/desktop-trusted-input.d.mts +135 -0
- package/dist/lib/esm/obsidian/desktop-trusted-input.mjs +103 -0
- package/dist/lib/esm/obsidian/i18n/locales/en.d.mts +2 -0
- package/dist/lib/esm/obsidian/i18n/locales/en.mjs +3 -1
- package/dist/lib/esm/obsidian/i18n/locales/translations-map.d.mts +2 -0
- package/dist/lib/esm/obsidian/index.d.mts +3 -0
- package/dist/lib/esm/obsidian/index.mjs +7 -1
- package/dist/lib/esm/obsidian/link.mjs +3 -3
- package/dist/lib/esm/obsidian/modals/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/modals/index.mjs +3 -1
- package/dist/lib/esm/obsidian/modals/minimizable-modal.d.mts +18 -3
- package/dist/lib/esm/obsidian/modals/minimizable-modal.mjs +17 -3
- package/dist/lib/esm/obsidian/modals/select-option.d.mts +65 -0
- package/dist/lib/esm/obsidian/modals/select-option.mjs +77 -0
- package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.d.mts +6 -0
- package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.mjs +4 -1
- package/dist/lib/esm/obsidian/plugin/plugin.d.mts +17 -0
- package/dist/lib/esm/obsidian/plugin/plugin.mjs +50 -3
- package/dist/lib/esm/obsidian/workspace.d.mts +10 -0
- package/dist/lib/esm/obsidian/workspace.mjs +7 -1
- package/dist/lib/esm/path.d.mts +1 -1
- package/dist/lib/esm/path.mjs +3 -3
- package/dist/lib/esm/script-utils/demo-vault.d.mts +23 -0
- package/dist/lib/esm/script-utils/demo-vault.mjs +63 -0
- package/dist/lib/esm/script-utils/exec.d.mts +20 -0
- package/dist/lib/esm/script-utils/exec.mjs +25 -5
- package/dist/lib/esm/script-utils/index.d.mts +2 -0
- package/dist/lib/esm/script-utils/index.mjs +6 -2
- package/dist/lib/esm/script-utils/linters/eslint-no-restricted-syntax.mjs +1 -5
- package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.d.mts +2 -0
- package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.mjs +2 -1
- package/dist/lib/esm/script-utils/version.d.mts +8 -0
- package/dist/lib/esm/script-utils/version.mjs +8 -1
- package/dist/lib/esm/script-utils/warnings-as-errors.d.mts +27 -0
- package/dist/lib/esm/script-utils/warnings-as-errors.mjs +38 -0
- package/dist/lib/esm/setup.d.mts +29 -7
- package/dist/lib/esm/setup.mjs +78 -4
- package/dist/lib/esm/string.d.mts +11 -1
- package/dist/lib/esm/string.mjs +5 -3
- package/dist/styles.css +33 -3
- package/obsidian/command-handlers/open-demo-vault-command-handler/package.json +6 -0
- package/obsidian/community-plugins/package.json +6 -0
- package/obsidian/desktop-demo-vault-opener/package.json +6 -0
- package/obsidian/desktop-trusted-input/package.json +6 -0
- package/obsidian/modals/select-option/package.json +6 -0
- package/package.json +6 -7
- package/script-utils/demo-vault/package.json +6 -0
- package/script-utils/warnings-as-errors/package.json +6 -0
- /package/obsidian/@types/{Dataview → dataview}/api/data-array/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/api/extensions/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/api/inline-api/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/api/plugin-api/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/api/result/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/data-import/common/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/data-import/csv/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/data-import/inline-field/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/data-import/markdown-file/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/data-import/persister/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/data-import/web-worker/import-entry/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/data-import/web-worker/import-impl/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/data-import/web-worker/import-manager/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/data-index/index/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/data-index/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/data-index/resolver/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/data-index/source/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/data-model/markdown/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/data-model/serialized/markdown/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/data-model/transferable/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/data-model/value/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/expression/binaryop/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/expression/context/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/expression/field/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/expression/functions/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/expression/parse/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/index/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/main/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/query/engine/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/query/parse/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/query/query/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/settings/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/typings/obsidian-ex/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/typings/workers/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/ui/export/markdown/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/ui/lp-render/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/ui/markdown/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/ui/refreshable-view/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/ui/render/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/ui/views/calendar-view/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/ui/views/inline-field-live-preview/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/ui/views/inline-view/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/ui/views/js-view/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/ui/views/list-view/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/ui/views/table-view/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/ui/views/task-view/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/util/hash/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/util/locale/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/util/media/package.json +0 -0
- /package/obsidian/@types/{Dataview → dataview}/util/normalize/package.json +0 -0
- /package/obsidian/{App → app}/package.json +0 -0
- /package/obsidian/{Backlink → backlink}/package.json +0 -0
- /package/obsidian/{Callout → callout}/package.json +0 -0
- /package/obsidian/{Components → components}/abort-signal-component/package.json +0 -0
- /package/obsidian/{Components → components}/all-windows-event-component/package.json +0 -0
- /package/obsidian/{Components → components}/async-error-handler-component/package.json +0 -0
- /package/obsidian/{Components → components}/async-events-component/package.json +0 -0
- /package/obsidian/{Components → components}/case-insensitive-file-index-component/package.json +0 -0
- /package/obsidian/{Components → components}/component-ex/package.json +0 -0
- /package/obsidian/{Components → components}/console-debug-component/package.json +0 -0
- /package/obsidian/{Components → components}/disposable-component/package.json +0 -0
- /package/obsidian/{Components → components}/embed-extensions-component/package.json +0 -0
- /package/obsidian/{Components → components}/generate-markdown-link-default-params-component/package.json +0 -0
- /package/obsidian/{Components → components}/index/package.json +0 -0
- /package/obsidian/{Components → components}/layout-ready-component/package.json +0 -0
- /package/obsidian/{Components → components}/menu-event-registrar-component/package.json +0 -0
- /package/obsidian/{Components → components}/monkey-around-component/package.json +0 -0
- /package/obsidian/{Components → components}/package.json +0 -0
- /package/obsidian/{Components → components}/plugin-context-component/package.json +0 -0
- /package/obsidian/{Components → components}/plugin-notice-component/package.json +0 -0
- /package/obsidian/{Components → components}/plugin-settings-component/package.json +0 -0
- /package/obsidian/{Components → components}/plugin-settings-tab-component/package.json +0 -0
- /package/obsidian/{Components → components}/registry-component/package.json +0 -0
- /package/obsidian/{Components → components}/rename-delete-handler-component/package.json +0 -0
- /package/obsidian/{Dataview → dataview}/package.json +0 -0
- /package/obsidian/{Editor → editor}/package.json +0 -0
- /package/obsidian/{Frontmatter → frontmatter}/package.json +0 -0
- /package/obsidian/{Link → link}/package.json +0 -0
- /package/obsidian/{Logger → logger}/package.json +0 -0
- /package/obsidian/{Loop → loop}/package.json +0 -0
- /package/obsidian/{Markdown → markdown}/package.json +0 -0
- /package/obsidian/{Modals/Alert → modals/alert}/package.json +0 -0
- /package/obsidian/{Modals/Confirm → modals/confirm}/package.json +0 -0
- /package/obsidian/{Modals → modals}/index/package.json +0 -0
- /package/obsidian/{Modals → modals}/minimizable-modal/package.json +0 -0
- /package/obsidian/{Modals → modals}/modal/package.json +0 -0
- /package/obsidian/{Modals → modals}/package.json +0 -0
- /package/obsidian/{Modals/Prompt → modals/prompt}/package.json +0 -0
- /package/obsidian/{Modals → modals}/select-item/package.json +0 -0
- /package/obsidian/{Modals → modals}/suggest-modal-command-builder/package.json +0 -0
- /package/obsidian/{Pdf → pdf}/package.json +0 -0
- /package/obsidian/{Plugin → plugin}/index/package.json +0 -0
- /package/obsidian/{Plugin → plugin}/obsidian-plugin-repo-paths/package.json +0 -0
- /package/obsidian/{Plugin → plugin}/package.json +0 -0
- /package/obsidian/{Plugin/Plugin → plugin/plugin}/package.json +0 -0
- /package/obsidian/{Plugin → plugin}/plugin-context/package.json +0 -0
- /package/obsidian/{Plugin → plugin}/plugin-event-source/package.json +0 -0
- /package/obsidian/{Plugin → plugin}/plugin-settings-tab/package.json +0 -0
- /package/obsidian/{Queue → queue}/package.json +0 -0
- /package/obsidian/{React → react}/app-context/package.json +0 -0
- /package/obsidian/{React → react}/index/package.json +0 -0
- /package/obsidian/{React → react}/package.json +0 -0
- /package/obsidian/{Reference → reference}/package.json +0 -0
- /package/obsidian/{Validation → validation}/package.json +0 -0
- /package/obsidian/{Vault → vault}/package.json +0 -0
- /package/obsidian/{Workspace → workspace}/package.json +0 -0
- /package/{Transformers → transformers}/date-transformer/package.json +0 -0
- /package/{Transformers → transformers}/duration-transformer/package.json +0 -0
- /package/{Transformers → transformers}/group-transformer/package.json +0 -0
- /package/{Transformers → transformers}/index/package.json +0 -0
- /package/{Transformers → transformers}/map-transformer/package.json +0 -0
- /package/{Transformers → transformers}/package.json +0 -0
- /package/{Transformers → transformers}/set-transformer/package.json +0 -0
- /package/{Transformers → transformers}/skip-private-property-transformer/package.json +0 -0
- /package/{Transformers/Transformer → transformers/transformer}/package.json +0 -0
- /package/{Transformers → transformers}/two-way-map-transformer/package.json +0 -0
- /package/{Transformers → transformers}/typed-transformer/package.json +0 -0
|
@@ -128,16 +128,14 @@ __export(command_handler_component_exports, {
|
|
|
128
128
|
CommandHandlerComponent: () => CommandHandlerComponent
|
|
129
129
|
});
|
|
130
130
|
module.exports = __toCommonJS(command_handler_component_exports);
|
|
131
|
+
var import_async = require('../../async.cjs');
|
|
132
|
+
var import_disposable = require('../../disposable.cjs');
|
|
131
133
|
var import_component_ex = require('../components/component-ex.cjs');
|
|
132
134
|
class CommandHandlerComponent extends import_component_ex.ComponentEx {
|
|
133
135
|
/**
|
|
134
136
|
* Provider for accessing the currently active file.
|
|
135
137
|
*/
|
|
136
138
|
activeFileProvider;
|
|
137
|
-
/**
|
|
138
|
-
* The command handlers to register with Obsidian.
|
|
139
|
-
*/
|
|
140
|
-
commandHandlers;
|
|
141
139
|
/**
|
|
142
140
|
* Registrar used to add and remove commands with Obsidian.
|
|
143
141
|
*/
|
|
@@ -157,33 +155,51 @@ class CommandHandlerComponent extends import_component_ex.ComponentEx {
|
|
|
157
155
|
*/
|
|
158
156
|
constructor(params) {
|
|
159
157
|
super();
|
|
160
|
-
this.commandHandlers = params.commandHandlers;
|
|
161
158
|
this.activeFileProvider = params.activeFileProvider;
|
|
162
159
|
this.menuEventRegistrar = params.menuEventRegistrar;
|
|
163
160
|
this.commandRegistrar = params.commandRegistrar;
|
|
164
161
|
this.pluginName = params.pluginName;
|
|
165
162
|
}
|
|
166
163
|
/**
|
|
167
|
-
* Registers the command with Obsidian and provides
|
|
164
|
+
* Registers the given command handlers with Obsidian and provides each its runtime registration
|
|
165
|
+
* context. Each handler's command is added immediately; the returned {@link Disposable} removes the
|
|
166
|
+
* commands registered by this call when disposed. Any command still registered when the component
|
|
167
|
+
* unloads is removed automatically.
|
|
168
|
+
*
|
|
169
|
+
* @param commandHandlers - The command handlers to register.
|
|
170
|
+
* @returns A {@link Disposable} that unregisters the handlers passed to this call.
|
|
168
171
|
*/
|
|
169
|
-
|
|
172
|
+
registerCommandHandlers(commandHandlers) {
|
|
170
173
|
const context = {
|
|
171
174
|
activeFileProvider: this.activeFileProvider,
|
|
172
175
|
menuEventRegistrar: this.menuEventRegistrar,
|
|
173
176
|
pluginName: this.pluginName
|
|
174
177
|
};
|
|
175
|
-
|
|
178
|
+
const disposables = [];
|
|
179
|
+
for (const commandHandler of commandHandlers) {
|
|
176
180
|
const command = commandHandler.buildCommand();
|
|
181
|
+
const commandId = command.id;
|
|
177
182
|
this.commandRegistrar.addCommand(command);
|
|
183
|
+
const disposable = new import_disposable.CallbackDisposable({
|
|
184
|
+
callback: () => {
|
|
185
|
+
this.commandRegistrar.removeCommand(commandId);
|
|
186
|
+
},
|
|
187
|
+
multipleDisposeBehavior: import_disposable.MultipleDisposeBehavior.Ignore
|
|
188
|
+
});
|
|
189
|
+
disposables.push(disposable);
|
|
178
190
|
this.register(() => {
|
|
179
|
-
|
|
191
|
+
disposable.dispose();
|
|
180
192
|
});
|
|
181
|
-
|
|
193
|
+
(0, import_async.invokeAsyncSafely)(() => commandHandler.onRegistered(context));
|
|
182
194
|
}
|
|
195
|
+
return new import_disposable.CombineDisposable({
|
|
196
|
+
disposables,
|
|
197
|
+
multipleDisposeBehavior: import_disposable.MultipleDisposeBehavior.Ignore
|
|
198
|
+
});
|
|
183
199
|
}
|
|
184
200
|
}
|
|
185
201
|
// Annotate the CommonJS export names for ESM import in node:
|
|
186
202
|
0 && (module.exports = {
|
|
187
203
|
CommandHandlerComponent
|
|
188
204
|
});
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbW1hbmQtaGFuZGxlcnMvY29tbWFuZC1oYW5kbGVyLWNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbXBvbmVudCB0aGF0IHJlZ2lzdGVycyB7QGxpbmsgQ29tbWFuZEhhbmRsZXJ9cyB3aXRoIE9ic2lkaWFuIGFuZCB0aWVzIHRoZWlyIHJlbW92YWwgdG8gaXRzIGxpZmVjeWNsZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFjdGl2ZUZpbGVQcm92aWRlciB9IGZyb20gJy4uL2FjdGl2ZS1maWxlLXByb3ZpZGVyLnRzJztcbmltcG9ydCB0eXBlIHsgQ29tbWFuZFJlZ2lzdHJhciB9IGZyb20gJy4uL2NvbW1hbmQtcmVnaXN0cmFyLnRzJztcbmltcG9ydCB0eXBlIHsgTWVudUV2ZW50UmVnaXN0cmFyIH0gZnJvbSAnLi4vbWVudS1ldmVudC1yZWdpc3RyYXIudHMnO1xuaW1wb3J0IHR5cGUge1xuICBDb21tYW5kSGFuZGxlcixcbiAgQ29tbWFuZEhhbmRsZXJSZWdpc3RyYXRpb25Db250ZXh0XG59IGZyb20gJy4vY29tbWFuZC1oYW5kbGVyLnRzJztcblxuaW1wb3J0IHsgaW52b2tlQXN5bmNTYWZlbHkgfSBmcm9tICcuLi8uLi9hc3luYy50cyc7XG5pbXBvcnQge1xuICBDYWxsYmFja0Rpc3Bvc2FibGUsXG4gIENvbWJpbmVEaXNwb3NhYmxlLFxuICBNdWx0aXBsZURpc3Bvc2VCZWhhdmlvclxufSBmcm9tICcuLi8uLi9kaXNwb3NhYmxlLnRzJztcbmltcG9ydCB7IENvbXBvbmVudEV4IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb21wb25lbnQtZXgudHMnO1xuXG5pbnRlcmZhY2UgQ29tbWFuZEhhbmRsZXJDb21wb25lbnRDb25zdHJ1Y3RvclBhcmFtcyB7XG4gIHJlYWRvbmx5IGFjdGl2ZUZpbGVQcm92aWRlcjogQWN0aXZlRmlsZVByb3ZpZGVyO1xuICByZWFkb25seSBjb21tYW5kUmVnaXN0cmFyOiBDb21tYW5kUmVnaXN0cmFyO1xuICByZWFkb25seSBtZW51RXZlbnRSZWdpc3RyYXI6IE1lbnVFdmVudFJlZ2lzdHJhcjtcbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB7QGxpbmsgQ29tbWFuZEhhbmRsZXJ9cyB3aXRoIE9ic2lkaWFuIGFuZCBtYW5hZ2VzIHRoZWlyIGxpZmVjeWNsZS5cbiAqXG4gKiBDYWxsIHtAbGluayByZWdpc3RlckNvbW1hbmRIYW5kbGVyc30gdG8gcmVnaXN0ZXIgYSBiYXRjaCBvZiBoYW5kbGVycyBvbiBkZW1hbmQgKGFzIG1hbnkgdGltZXMgYXNcbiAqIG5lZWRlZCB3aGlsZSB0aGUgY29tcG9uZW50IGlzIGFsaXZlKTsgZGlzcG9zZSB0aGUgcmV0dXJuZWQge0BsaW5rIERpc3Bvc2FibGV9IHRvIHVucmVnaXN0ZXIgZXhhY3RseVxuICogdGhvc2UgaGFuZGxlcnMsIG9yIGxldCB0aGUgY29tcG9uZW50IHVubG9hZCB0byByZW1vdmUgZXZlcnkgY29tbWFuZCBzdGlsbCByZWdpc3RlcmVkIHRocm91Z2ggaXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb21tYW5kSGFuZGxlckNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEV4IHtcbiAgLyoqXG4gICAqIFByb3ZpZGVyIGZvciBhY2Nlc3NpbmcgdGhlIGN1cnJlbnRseSBhY3RpdmUgZmlsZS5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBhY3RpdmVGaWxlUHJvdmlkZXI6IEFjdGl2ZUZpbGVQcm92aWRlcjtcblxuICAvKipcbiAgICogUmVnaXN0cmFyIHVzZWQgdG8gYWRkIGFuZCByZW1vdmUgY29tbWFuZHMgd2l0aCBPYnNpZGlhbi5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBjb21tYW5kUmVnaXN0cmFyOiBDb21tYW5kUmVnaXN0cmFyO1xuXG4gIC8qKlxuICAgKiBSZWdpc3RyYXIgZm9yIG1lbnUgZXZlbnQgaGFuZGxlcnMuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWVudUV2ZW50UmVnaXN0cmFyOiBNZW51RXZlbnRSZWdpc3RyYXI7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBwbHVnaW4gdGhhdCBvd25zIHRoZSBjb21tYW5kcy5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBwbHVnaW5OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgY29tbWFuZCBoYW5kbGVyIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXJzLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBhcmFtczogQ29tbWFuZEhhbmRsZXJDb21wb25lbnRDb25zdHJ1Y3RvclBhcmFtcykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hY3RpdmVGaWxlUHJvdmlkZXIgPSBwYXJhbXMuYWN0aXZlRmlsZVByb3ZpZGVyO1xuICAgIHRoaXMubWVudUV2ZW50UmVnaXN0cmFyID0gcGFyYW1zLm1lbnVFdmVudFJlZ2lzdHJhcjtcbiAgICB0aGlzLmNvbW1hbmRSZWdpc3RyYXIgPSBwYXJhbXMuY29tbWFuZFJlZ2lzdHJhcjtcbiAgICB0aGlzLnBsdWdpbk5hbWUgPSBwYXJhbXMucGx1Z2luTmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgdGhlIGdpdmVuIGNvbW1hbmQgaGFuZGxlcnMgd2l0aCBPYnNpZGlhbiBhbmQgcHJvdmlkZXMgZWFjaCBpdHMgcnVudGltZSByZWdpc3RyYXRpb25cbiAgICogY29udGV4dC4gRWFjaCBoYW5kbGVyJ3MgY29tbWFuZCBpcyBhZGRlZCBpbW1lZGlhdGVseTsgdGhlIHJldHVybmVkIHtAbGluayBEaXNwb3NhYmxlfSByZW1vdmVzIHRoZVxuICAgKiBjb21tYW5kcyByZWdpc3RlcmVkIGJ5IHRoaXMgY2FsbCB3aGVuIGRpc3Bvc2VkLiBBbnkgY29tbWFuZCBzdGlsbCByZWdpc3RlcmVkIHdoZW4gdGhlIGNvbXBvbmVudFxuICAgKiB1bmxvYWRzIGlzIHJlbW92ZWQgYXV0b21hdGljYWxseS5cbiAgICpcbiAgICogQHBhcmFtIGNvbW1hbmRIYW5kbGVycyAtIFRoZSBjb21tYW5kIGhhbmRsZXJzIHRvIHJlZ2lzdGVyLlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBEaXNwb3NhYmxlfSB0aGF0IHVucmVnaXN0ZXJzIHRoZSBoYW5kbGVycyBwYXNzZWQgdG8gdGhpcyBjYWxsLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyQ29tbWFuZEhhbmRsZXJzKGNvbW1hbmRIYW5kbGVyczogQ29tbWFuZEhhbmRsZXJbXSk6IERpc3Bvc2FibGUge1xuICAgIGNvbnN0IGNvbnRleHQ6IENvbW1hbmRIYW5kbGVyUmVnaXN0cmF0aW9uQ29udGV4dCA9IHtcbiAgICAgIGFjdGl2ZUZpbGVQcm92aWRlcjogdGhpcy5hY3RpdmVGaWxlUHJvdmlkZXIsXG4gICAgICBtZW51RXZlbnRSZWdpc3RyYXI6IHRoaXMubWVudUV2ZW50UmVnaXN0cmFyLFxuICAgICAgcGx1Z2luTmFtZTogdGhpcy5wbHVnaW5OYW1lXG4gICAgfTtcblxuICAgIGNvbnN0IGRpc3Bvc2FibGVzOiBEaXNwb3NhYmxlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGNvbW1hbmRIYW5kbGVyIG9mIGNvbW1hbmRIYW5kbGVycykge1xuICAgICAgY29uc3QgY29tbWFuZCA9IGNvbW1hbmRIYW5kbGVyLmJ1aWxkQ29tbWFuZCgpO1xuICAgICAgLy8gQ2FwdHVyZSB0aGUgaWQgYmVmb3JlIHJlZ2lzdGVyaW5nLiBgUGx1Z2luLmFkZENvbW1hbmRgIG11dGF0ZXMgYGNvbW1hbmQuaWRgIChwcmVmaXhpbmcgaXQgd2l0aFxuICAgICAgLy8gYHRoaXMubWFuaWZlc3QuaWRgKSwgd2hpbGUgYFBsdWdpbi5yZW1vdmVDb21tYW5kYCByZS1wcmVmaXhlcyBcdTIwMTQgc28gcmVtb3ZhbCBuZWVkcyB0aGUgb3JpZ2luYWwgaWQuXG4gICAgICAvLyBSZWFkaW5nIGBjb21tYW5kLmlkYCBhZnRlciBgYWRkQ29tbWFuZGAgd291bGQgZG91YmxlLXByZWZpeCBpdCwgc28gdGhlIGNvbW1hbmQgaXMgbmV2ZXIgcmVtb3ZlZC5cbiAgICAgIGNvbnN0IGNvbW1hbmRJZCA9IGNvbW1hbmQuaWQ7XG4gICAgICB0aGlzLmNvbW1hbmRSZWdpc3RyYXIuYWRkQ29tbWFuZChjb21tYW5kKTtcbiAgICAgIGNvbnN0IGRpc3Bvc2FibGUgPSBuZXcgQ2FsbGJhY2tEaXNwb3NhYmxlKHtcbiAgICAgICAgY2FsbGJhY2s6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICB0aGlzLmNvbW1hbmRSZWdpc3RyYXIucmVtb3ZlQ29tbWFuZChjb21tYW5kSWQpO1xuICAgICAgICB9LFxuICAgICAgICBtdWx0aXBsZURpc3Bvc2VCZWhhdmlvcjogTXVsdGlwbGVEaXNwb3NlQmVoYXZpb3IuSWdub3JlXG4gICAgICB9KTtcbiAgICAgIGRpc3Bvc2FibGVzLnB1c2goZGlzcG9zYWJsZSk7XG4gICAgICAvLyBUaWUgcmVtb3ZhbCB0byB0aGUgY29tcG9uZW50J3MgdW5sb2FkLCBzbyBhIGNvbW1hbmQgbmV2ZXIgb3V0bGl2ZXMgdGhlIGNvbXBvbmVudC5cbiAgICAgIHRoaXMucmVnaXN0ZXIoKCkgPT4ge1xuICAgICAgICBkaXNwb3NhYmxlLmRpc3Bvc2UoKTtcbiAgICAgIH0pO1xuICAgICAgaW52b2tlQXN5bmNTYWZlbHkoKCkgPT4gY29tbWFuZEhhbmRsZXIub25SZWdpc3RlcmVkKGNvbnRleHQpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IENvbWJpbmVEaXNwb3NhYmxlKHtcbiAgICAgIGRpc3Bvc2FibGVzLFxuICAgICAgbXVsdGlwbGVEaXNwb3NlQmVoYXZpb3I6IE11bHRpcGxlRGlzcG9zZUJlaGF2aW9yLklnbm9yZVxuICAgIH0pO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFjQSxtQkFBa0M7QUFDbEMsd0JBSU87QUFDUCwwQkFBNEI7QUFnQnJCLE1BQU0sZ0NBQWdDLGdDQUFZO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJcEM7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPWixZQUFZLFFBQWtEO0FBQ25FLFVBQU07QUFDTixTQUFLLHFCQUFxQixPQUFPO0FBQ2pDLFNBQUsscUJBQXFCLE9BQU87QUFDakMsU0FBSyxtQkFBbUIsT0FBTztBQUMvQixTQUFLLGFBQWEsT0FBTztBQUFBLEVBQzNCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXTyx3QkFBd0IsaUJBQStDO0FBQzVFLFVBQU0sVUFBNkM7QUFBQSxNQUNqRCxvQkFBb0IsS0FBSztBQUFBLE1BQ3pCLG9CQUFvQixLQUFLO0FBQUEsTUFDekIsWUFBWSxLQUFLO0FBQUEsSUFDbkI7QUFFQSxVQUFNLGNBQTRCLENBQUM7QUFDbkMsZUFBVyxrQkFBa0IsaUJBQWlCO0FBQzVDLFlBQU0sVUFBVSxlQUFlLGFBQWE7QUFJNUMsWUFBTSxZQUFZLFFBQVE7QUFDMUIsV0FBSyxpQkFBaUIsV0FBVyxPQUFPO0FBQ3hDLFlBQU0sYUFBYSxJQUFJLHFDQUFtQjtBQUFBLFFBQ3hDLFVBQVUsTUFBWTtBQUNwQixlQUFLLGlCQUFpQixjQUFjLFNBQVM7QUFBQSxRQUMvQztBQUFBLFFBQ0EseUJBQXlCLDBDQUF3QjtBQUFBLE1BQ25ELENBQUM7QUFDRCxrQkFBWSxLQUFLLFVBQVU7QUFFM0IsV0FBSyxTQUFTLE1BQU07QUFDbEIsbUJBQVcsUUFBUTtBQUFBLE1BQ3JCLENBQUM7QUFDRCwwQ0FBa0IsTUFBTSxlQUFlLGFBQWEsT0FBTyxDQUFDO0FBQUEsSUFDOUQ7QUFFQSxXQUFPLElBQUksb0NBQWtCO0FBQUEsTUFDM0I7QUFBQSxNQUNBLHlCQUF5QiwwQ0FBd0I7QUFBQSxJQUNuRCxDQUFDO0FBQUEsRUFDSDtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* @file
|
|
4
4
|
*
|
|
5
|
-
* Component that
|
|
5
|
+
* Component that registers {@link CommandHandler}s with Obsidian and ties their removal to its lifecycle.
|
|
6
6
|
*/
|
|
7
7
|
import type { ActiveFileProvider } from '../active-file-provider.cjs';
|
|
8
8
|
import type { CommandRegistrar } from '../command-registrar.cjs';
|
|
@@ -11,23 +11,22 @@ import type { CommandHandler } from './command-handler.cjs';
|
|
|
11
11
|
import { ComponentEx } from '../components/component-ex.cjs';
|
|
12
12
|
interface CommandHandlerComponentConstructorParams {
|
|
13
13
|
readonly activeFileProvider: ActiveFileProvider;
|
|
14
|
-
readonly commandHandlers: CommandHandler[];
|
|
15
14
|
readonly commandRegistrar: CommandRegistrar;
|
|
16
15
|
readonly menuEventRegistrar: MenuEventRegistrar;
|
|
17
16
|
readonly pluginName: string;
|
|
18
17
|
}
|
|
19
18
|
/**
|
|
20
|
-
*
|
|
19
|
+
* Registers {@link CommandHandler}s with Obsidian and manages their lifecycle.
|
|
20
|
+
*
|
|
21
|
+
* Call {@link registerCommandHandlers} to register a batch of handlers on demand (as many times as
|
|
22
|
+
* needed while the component is alive); dispose the returned {@link Disposable} to unregister exactly
|
|
23
|
+
* those handlers, or let the component unload to remove every command still registered through it.
|
|
21
24
|
*/
|
|
22
25
|
export declare class CommandHandlerComponent extends ComponentEx {
|
|
23
26
|
/**
|
|
24
27
|
* Provider for accessing the currently active file.
|
|
25
28
|
*/
|
|
26
29
|
protected readonly activeFileProvider: ActiveFileProvider;
|
|
27
|
-
/**
|
|
28
|
-
* The command handlers to register with Obsidian.
|
|
29
|
-
*/
|
|
30
|
-
protected readonly commandHandlers: CommandHandler[];
|
|
31
30
|
/**
|
|
32
31
|
* Registrar used to add and remove commands with Obsidian.
|
|
33
32
|
*/
|
|
@@ -47,8 +46,14 @@ export declare class CommandHandlerComponent extends ComponentEx {
|
|
|
47
46
|
*/
|
|
48
47
|
constructor(params: CommandHandlerComponentConstructorParams);
|
|
49
48
|
/**
|
|
50
|
-
* Registers the command with Obsidian and provides
|
|
49
|
+
* Registers the given command handlers with Obsidian and provides each its runtime registration
|
|
50
|
+
* context. Each handler's command is added immediately; the returned {@link Disposable} removes the
|
|
51
|
+
* commands registered by this call when disposed. Any command still registered when the component
|
|
52
|
+
* unloads is removed automatically.
|
|
53
|
+
*
|
|
54
|
+
* @param commandHandlers - The command handlers to register.
|
|
55
|
+
* @returns A {@link Disposable} that unregisters the handlers passed to this call.
|
|
51
56
|
*/
|
|
52
|
-
|
|
57
|
+
registerCommandHandlers(commandHandlers: CommandHandler[]): Disposable;
|
|
53
58
|
}
|
|
54
59
|
export {};
|
|
@@ -142,6 +142,7 @@ __export(command_handlers_exports, {
|
|
|
142
142
|
"file-command-handler": () => file_command_handler,
|
|
143
143
|
"folder-command-handler": () => folder_command_handler,
|
|
144
144
|
"global-command-handler": () => global_command_handler,
|
|
145
|
+
"open-demo-vault-command-handler": () => open_demo_vault_command_handler,
|
|
145
146
|
"open-settings-command-handler": () => open_settings_command_handler,
|
|
146
147
|
"unlock-active-note-command-handler": () => unlock_active_note_command_handler
|
|
147
148
|
});
|
|
@@ -153,6 +154,7 @@ var editor_command_handler = __toESM(__extractDefault(require('./editor-command-
|
|
|
153
154
|
var file_command_handler = __toESM(__extractDefault(require('./file-command-handler.cjs')), 1);
|
|
154
155
|
var folder_command_handler = __toESM(__extractDefault(require('./folder-command-handler.cjs')), 1);
|
|
155
156
|
var global_command_handler = __toESM(__extractDefault(require('./global-command-handler.cjs')), 1);
|
|
157
|
+
var open_demo_vault_command_handler = __toESM(__extractDefault(require('./open-demo-vault-command-handler.cjs')), 1);
|
|
156
158
|
var open_settings_command_handler = __toESM(__extractDefault(require('./open-settings-command-handler.cjs')), 1);
|
|
157
159
|
var unlock_active_note_command_handler = __toESM(__extractDefault(require('./unlock-active-note-command-handler.cjs')), 1);
|
|
158
160
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -164,7 +166,8 @@ var unlock_active_note_command_handler = __toESM(__extractDefault(require('./unl
|
|
|
164
166
|
"file-command-handler": null,
|
|
165
167
|
"folder-command-handler": null,
|
|
166
168
|
"global-command-handler": null,
|
|
169
|
+
"open-demo-vault-command-handler": null,
|
|
167
170
|
"open-settings-command-handler": null,
|
|
168
171
|
"unlock-active-note-command-handler": null
|
|
169
172
|
});
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbW1hbmQtaGFuZGxlcnMvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qIFRISVMgSVMgQSBHRU5FUkFURUQvQlVORExFRCBGSUxFIEJZIEJVSUxEIFNDUklQVCAqL1xuXG5leHBvcnQgKiBhcyAnYWJzdHJhY3QtZmlsZS1jb21tYW5kLWhhbmRsZXInIGZyb20gJy4vYWJzdHJhY3QtZmlsZS1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0ICogYXMgJ2NvbW1hbmQtaGFuZGxlci1jb21wb25lbnQnIGZyb20gJy4vY29tbWFuZC1oYW5kbGVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnY29tbWFuZC1oYW5kbGVyJyBmcm9tICcuL2NvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgKiBhcyAnZWRpdG9yLWNvbW1hbmQtaGFuZGxlcicgZnJvbSAnLi9lZGl0b3ItY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCAqIGFzICdmaWxlLWNvbW1hbmQtaGFuZGxlcicgZnJvbSAnLi9maWxlLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgKiBhcyAnZm9sZGVyLWNvbW1hbmQtaGFuZGxlcicgZnJvbSAnLi9mb2xkZXItY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCAqIGFzICdnbG9iYWwtY29tbWFuZC1oYW5kbGVyJyBmcm9tICcuL2dsb2JhbC1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0ICogYXMgJ29wZW4tZGVtby12YXVsdC1jb21tYW5kLWhhbmRsZXInIGZyb20gJy4vb3Blbi1kZW1vLXZhdWx0LWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgKiBhcyAnb3Blbi1zZXR0aW5ncy1jb21tYW5kLWhhbmRsZXInIGZyb20gJy4vb3Blbi1zZXR0aW5ncy1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0ICogYXMgJ3VubG9jay1hY3RpdmUtbm90ZS1jb21tYW5kLWhhbmRsZXInIGZyb20gJy4vdW5sb2NrLWFjdGl2ZS1ub3RlLWNvbW1hbmQtaGFuZGxlci50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUEseUNBQUFBO0FBQUEsRUFBQSx5QkFBQUM7QUFBQSxFQUFBLG1DQUFBQztBQUFBLEVBQUEsZ0NBQUFDO0FBQUEsRUFBQSw4QkFBQUM7QUFBQSxFQUFBLGdDQUFBQztBQUFBLEVBQUEsZ0NBQUFDO0FBQUEsRUFBQSx5Q0FBQUM7QUFBQSxFQUFBLHVDQUFBQztBQUFBLEVBQUEsNENBQUFDO0FBQUE7QUFBQTtBQUVBLElBQUFULGdDQUFpRDtBQUNqRCxJQUFBRSw0QkFBNkM7QUFDN0MsSUFBQUQsa0JBQW1DO0FBQ25DLElBQUFFLHlCQUEwQztBQUMxQyxJQUFBQyx1QkFBd0M7QUFDeEMsSUFBQUMseUJBQTBDO0FBQzFDLElBQUFDLHlCQUEwQztBQUMxQyxJQUFBQyxrQ0FBbUQ7QUFDbkQsSUFBQUMsZ0NBQWlEO0FBQ2pELElBQUFDLHFDQUFzRDsiLAogICJuYW1lcyI6IFsiYWJzdHJhY3QtZmlsZS1jb21tYW5kLWhhbmRsZXIiLCAiY29tbWFuZC1oYW5kbGVyIiwgImNvbW1hbmQtaGFuZGxlci1jb21wb25lbnQiLCAiZWRpdG9yLWNvbW1hbmQtaGFuZGxlciIsICJmaWxlLWNvbW1hbmQtaGFuZGxlciIsICJmb2xkZXItY29tbWFuZC1oYW5kbGVyIiwgImdsb2JhbC1jb21tYW5kLWhhbmRsZXIiLCAib3Blbi1kZW1vLXZhdWx0LWNvbW1hbmQtaGFuZGxlciIsICJvcGVuLXNldHRpbmdzLWNvbW1hbmQtaGFuZGxlciIsICJ1bmxvY2stYWN0aXZlLW5vdGUtY29tbWFuZC1oYW5kbGVyIl0KfQo=
|
|
@@ -6,5 +6,6 @@ export * as 'editor-command-handler' from './editor-command-handler.cjs';
|
|
|
6
6
|
export * as 'file-command-handler' from './file-command-handler.cjs';
|
|
7
7
|
export * as 'folder-command-handler' from './folder-command-handler.cjs';
|
|
8
8
|
export * as 'global-command-handler' from './global-command-handler.cjs';
|
|
9
|
+
export * as 'open-demo-vault-command-handler' from './open-demo-vault-command-handler.cjs';
|
|
9
10
|
export * as 'open-settings-command-handler' from './open-settings-command-handler.cjs';
|
|
10
11
|
export * as 'unlock-active-note-command-handler' from './unlock-active-note-command-handler.cjs';
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
(function initCjs() {
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
|
+
const globalThisRecord = globalThis;
|
|
9
|
+
globalThisRecord['__name'] ??= name;
|
|
10
|
+
const originalRequire = require;
|
|
11
|
+
if (originalRequire && !originalRequire.__isPatched) {
|
|
12
|
+
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
|
|
13
|
+
require = Object.assign(
|
|
14
|
+
(id) => requirePatched(id),
|
|
15
|
+
originalRequire,
|
|
16
|
+
{
|
|
17
|
+
__isPatched: true
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const newFuncs = {
|
|
23
|
+
__extractDefault() {
|
|
24
|
+
return extractDefault;
|
|
25
|
+
},
|
|
26
|
+
process() {
|
|
27
|
+
const browserProcess = {
|
|
28
|
+
browser: true,
|
|
29
|
+
cwd() {
|
|
30
|
+
return '/';
|
|
31
|
+
},
|
|
32
|
+
env: {},
|
|
33
|
+
platform: 'android'
|
|
34
|
+
};
|
|
35
|
+
return browserProcess;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
for (const key of Object.keys(newFuncs)) {
|
|
40
|
+
globalThisRecord[key] ??= newFuncs[key]?.();
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function name(obj) {
|
|
44
|
+
return obj;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function extractDefault(module) {
|
|
48
|
+
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
52
|
+
'obsidian',
|
|
53
|
+
'@codemirror/autocomplete',
|
|
54
|
+
'@codemirror/collab',
|
|
55
|
+
'@codemirror/commands',
|
|
56
|
+
'@codemirror/language',
|
|
57
|
+
'@codemirror/lint',
|
|
58
|
+
'@codemirror/search',
|
|
59
|
+
'@codemirror/state',
|
|
60
|
+
'@codemirror/text',
|
|
61
|
+
'@codemirror/view',
|
|
62
|
+
'@lezer/common',
|
|
63
|
+
'@lezer/lr',
|
|
64
|
+
'@lezer/highlight'];
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
68
|
+
'@codemirror/closebrackets',
|
|
69
|
+
'@codemirror/comment',
|
|
70
|
+
'@codemirror/fold',
|
|
71
|
+
'@codemirror/gutter',
|
|
72
|
+
'@codemirror/highlight',
|
|
73
|
+
'@codemirror/history',
|
|
74
|
+
'@codemirror/matchbrackets',
|
|
75
|
+
'@codemirror/panel',
|
|
76
|
+
'@codemirror/rangeset',
|
|
77
|
+
'@codemirror/rectangular-selection',
|
|
78
|
+
'@codemirror/stream-parser',
|
|
79
|
+
'@codemirror/tooltip'];
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
function requirePatched(id) {
|
|
83
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id)) {
|
|
84
|
+
return originalRequire?.(id);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
|
+
if (globalThis.app.isMobile) {
|
|
89
|
+
if (id === 'process' || id === 'node:process') {
|
|
90
|
+
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
|
+
return globalThis.process;
|
|
94
|
+
}
|
|
95
|
+
} else {
|
|
96
|
+
const module = originalRequire?.(id);
|
|
97
|
+
if (module) {
|
|
98
|
+
return extractDefault(module);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// eslint-disable-next-line no-console -- Valid usage.
|
|
103
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
104
|
+
return {};
|
|
105
|
+
}
|
|
106
|
+
})();
|
|
107
|
+
|
|
108
|
+
"use strict";
|
|
109
|
+
var __create = Object.create;
|
|
110
|
+
var __defProp = Object.defineProperty;
|
|
111
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
112
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
113
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
114
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
115
|
+
var __export = (target, all) => {
|
|
116
|
+
for (var name in all)
|
|
117
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
118
|
+
};
|
|
119
|
+
var __copyProps = (to, from, except, desc) => {
|
|
120
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
121
|
+
for (let key of __getOwnPropNames(from))
|
|
122
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
123
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
124
|
+
}
|
|
125
|
+
return to;
|
|
126
|
+
};
|
|
127
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
128
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
129
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
130
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
131
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
132
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
133
|
+
mod
|
|
134
|
+
));
|
|
135
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
136
|
+
var open_demo_vault_command_handler_exports = {};
|
|
137
|
+
__export(open_demo_vault_command_handler_exports, {
|
|
138
|
+
OpenDemoVaultCommandHandler: () => OpenDemoVaultCommandHandler
|
|
139
|
+
});
|
|
140
|
+
module.exports = __toCommonJS(open_demo_vault_command_handler_exports);
|
|
141
|
+
var import_obsidian = require('obsidian');
|
|
142
|
+
var import_global_command_handler = require('./global-command-handler.cjs');
|
|
143
|
+
class OpenDemoVaultCommandHandler extends import_global_command_handler.GlobalCommandHandler {
|
|
144
|
+
/**
|
|
145
|
+
* The Obsidian app instance.
|
|
146
|
+
*/
|
|
147
|
+
app;
|
|
148
|
+
/**
|
|
149
|
+
* The manifest of the plugin whose demo vault the command opens.
|
|
150
|
+
*/
|
|
151
|
+
manifest;
|
|
152
|
+
/**
|
|
153
|
+
* The notice component used to report problems while opening the demo vault.
|
|
154
|
+
*/
|
|
155
|
+
pluginNoticeComponent;
|
|
156
|
+
/**
|
|
157
|
+
* Constructs a new instance.
|
|
158
|
+
*
|
|
159
|
+
* @param params - Constructor parameters.
|
|
160
|
+
*/
|
|
161
|
+
constructor(params) {
|
|
162
|
+
super({
|
|
163
|
+
icon: "download",
|
|
164
|
+
id: "open-demo-vault",
|
|
165
|
+
name: "Open demo vault"
|
|
166
|
+
});
|
|
167
|
+
this.app = params.app;
|
|
168
|
+
this.manifest = params.manifest;
|
|
169
|
+
this.pluginNoticeComponent = params.pluginNoticeComponent;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Executes the command, opening the plugin's demo vault.
|
|
173
|
+
*/
|
|
174
|
+
async execute() {
|
|
175
|
+
const { openDemoVault } = await import("../desktop-demo-vault-opener.ts");
|
|
176
|
+
await openDemoVault({
|
|
177
|
+
app: this.app,
|
|
178
|
+
manifest: this.manifest,
|
|
179
|
+
pluginNoticeComponent: this.pluginNoticeComponent
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Checks whether the command can currently execute: only on desktop.
|
|
184
|
+
*
|
|
185
|
+
* @returns Whether the app is running on desktop.
|
|
186
|
+
*/
|
|
187
|
+
canExecute() {
|
|
188
|
+
return import_obsidian.Platform.isDesktopApp;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
192
|
+
0 && (module.exports = {
|
|
193
|
+
OpenDemoVaultCommandHandler
|
|
194
|
+
});
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbW1hbmQtaGFuZGxlcnMvb3Blbi1kZW1vLXZhdWx0LWNvbW1hbmQtaGFuZGxlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEhhbmRsZXMgdGhlIFwiT3BlbiBkZW1vIHZhdWx0XCIgY29tbWFuZC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEFwcCxcbiAgUGx1Z2luTWFuaWZlc3Rcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBQbHVnaW5Ob3RpY2VDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL3BsdWdpbi1ub3RpY2UtY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHsgR2xvYmFsQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2dsb2JhbC1jb21tYW5kLWhhbmRsZXIudHMnO1xuXG4vKipcbiAqIENvbnN0cnVjdG9yIHBhcmFtZXRlcnMgZm9yIHtAbGluayBPcGVuRGVtb1ZhdWx0Q29tbWFuZEhhbmRsZXJ9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZW5EZW1vVmF1bHRDb21tYW5kSGFuZGxlckNvbnN0cnVjdG9yUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIG1hbmlmZXN0IG9mIHRoZSBwbHVnaW4gd2hvc2UgZGVtbyB2YXVsdCB0aGUgY29tbWFuZCBvcGVucy5cbiAgICovXG4gIHJlYWRvbmx5IG1hbmlmZXN0OiBQbHVnaW5NYW5pZmVzdDtcblxuICAvKipcbiAgICogVGhlIG5vdGljZSBjb21wb25lbnQgdXNlZCB0byByZXBvcnQgcHJvYmxlbXMgd2hpbGUgb3BlbmluZyB0aGUgZGVtbyB2YXVsdC5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbk5vdGljZUNvbXBvbmVudDogUGx1Z2luTm90aWNlQ29tcG9uZW50O1xufVxuXG4vKipcbiAqIEEgY29tbWFuZCBoYW5kbGVyIHRoYXQgZG93bmxvYWRzIGFuZCBvcGVucyB0aGUgcGx1Z2luJ3Mgc2hpcHBlZCBkZW1vIHZhdWx0IGluIGEgbmV3IHdpbmRvdy4gT25seVxuICogYXZhaWxhYmxlIG9uIGRlc2t0b3AgXHUyMDE0IHtAbGluayBjYW5FeGVjdXRlfSByZXR1cm5zIGBmYWxzZWAgb24gbW9iaWxlLCBzbyB0aGUgY29tbWFuZCBpcyBoaWRkZW4gdGhlcmVcbiAqIChubyBtb2JpbGUgbm90aWNlKS5cbiAqXG4gKiBUaGlzIG1vZHVsZSBzdGF5cyBjcm9zcy1wbGF0Zm9ybS1sb2FkYWJsZSBzbyBhIHBsdWdpbiBjYW4gcmVnaXN0ZXIgaXQgZGlyZWN0bHkgd2l0aG91dCBhIHBsYXRmb3JtXG4gKiBndWFyZDogdGhlIGRlc2t0b3Atb25seSBvcGVuZXIgKHdoaWNoIHN0YXRpY2FsbHkgaW1wb3J0cyBOb2RlIGJ1aWx0aW5zKSBpcyBsb2FkZWQgdmlhIGEgZHluYW1pY1xuICogYGltcG9ydCgpYCBpbnNpZGUge0BsaW5rIGV4ZWN1dGV9LCB3aGljaCBvbmx5IGV2ZXIgcnVucyBvbiBkZXNrdG9wLlxuICovXG5leHBvcnQgY2xhc3MgT3BlbkRlbW9WYXVsdENvbW1hbmRIYW5kbGVyIGV4dGVuZHMgR2xvYmFsQ29tbWFuZEhhbmRsZXIge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIG1hbmlmZXN0IG9mIHRoZSBwbHVnaW4gd2hvc2UgZGVtbyB2YXVsdCB0aGUgY29tbWFuZCBvcGVucy5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBtYW5pZmVzdDogUGx1Z2luTWFuaWZlc3Q7XG5cbiAgLyoqXG4gICAqIFRoZSBub3RpY2UgY29tcG9uZW50IHVzZWQgdG8gcmVwb3J0IHByb2JsZW1zIHdoaWxlIG9wZW5pbmcgdGhlIGRlbW8gdmF1bHQuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGx1Z2luTm90aWNlQ29tcG9uZW50OiBQbHVnaW5Ob3RpY2VDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBuZXcgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBDb25zdHJ1Y3RvciBwYXJhbWV0ZXJzLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBhcmFtczogT3BlbkRlbW9WYXVsdENvbW1hbmRIYW5kbGVyQ29uc3RydWN0b3JQYXJhbXMpIHtcbiAgICBzdXBlcih7XG4gICAgICBpY29uOiAnZG93bmxvYWQnLFxuICAgICAgaWQ6ICdvcGVuLWRlbW8tdmF1bHQnLFxuICAgICAgbmFtZTogJ09wZW4gZGVtbyB2YXVsdCdcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwID0gcGFyYW1zLmFwcDtcbiAgICB0aGlzLm1hbmlmZXN0ID0gcGFyYW1zLm1hbmlmZXN0O1xuICAgIHRoaXMucGx1Z2luTm90aWNlQ29tcG9uZW50ID0gcGFyYW1zLnBsdWdpbk5vdGljZUNvbXBvbmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyB0aGUgY29tbWFuZCwgb3BlbmluZyB0aGUgcGx1Z2luJ3MgZGVtbyB2YXVsdC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBleGVjdXRlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIENvbmRpdGlvbmFsIGltcG9ydCBvZiB0aGUgZGVza3RvcC1vbmx5IG9wZW5lcjsgdGhpcyBydW5zIG9ubHkgb24gZGVza3RvcCAoZ2F0ZWQgYnkgYGNhbkV4ZWN1dGVgKSwga2VlcGluZyBpdHMgc3RhdGljIE5vZGUtYnVpbHRpbiBpbXBvcnRzIG9mZiB0aGUgbW9iaWxlIGxvYWQgcGF0aC5cbiAgICBjb25zdCB7IG9wZW5EZW1vVmF1bHQgfSA9IGF3YWl0IGltcG9ydCgnLi4vZGVza3RvcC1kZW1vLXZhdWx0LW9wZW5lci50cycpO1xuICAgIGF3YWl0IG9wZW5EZW1vVmF1bHQoe1xuICAgICAgYXBwOiB0aGlzLmFwcCxcbiAgICAgIG1hbmlmZXN0OiB0aGlzLm1hbmlmZXN0LFxuICAgICAgcGx1Z2luTm90aWNlQ29tcG9uZW50OiB0aGlzLnBsdWdpbk5vdGljZUNvbXBvbmVudFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBjb21tYW5kIGNhbiBjdXJyZW50bHkgZXhlY3V0ZTogb25seSBvbiBkZXNrdG9wLlxuICAgKlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBhcHAgaXMgcnVubmluZyBvbiBkZXNrdG9wLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGNhbkV4ZWN1dGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFBsYXRmb3JtLmlzRGVza3RvcEFwcDtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBLHNCQUF5QjtBQUl6QixvQ0FBcUM7QUErQjlCLE1BQU0sb0NBQW9DLG1EQUFxQjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSWpEO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPWixZQUFZLFFBQXNEO0FBQ3ZFLFVBQU07QUFBQSxNQUNKLE1BQU07QUFBQSxNQUNOLElBQUk7QUFBQSxNQUNKLE1BQU07QUFBQSxJQUNSLENBQUM7QUFFRCxTQUFLLE1BQU0sT0FBTztBQUNsQixTQUFLLFdBQVcsT0FBTztBQUN2QixTQUFLLHdCQUF3QixPQUFPO0FBQUEsRUFDdEM7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBLE1BQXNCLFVBQXlCO0FBRTdDLFVBQU0sRUFBRSxjQUFjLElBQUksTUFBTSxPQUFPLGlDQUFpQztBQUN4RSxVQUFNLGNBQWM7QUFBQSxNQUNsQixLQUFLLEtBQUs7QUFBQSxNQUNWLFVBQVUsS0FBSztBQUFBLE1BQ2YsdUJBQXVCLEtBQUs7QUFBQSxJQUM5QixDQUFDO0FBQUEsRUFDSDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9tQixhQUFzQjtBQUN2QyxXQUFPLHlCQUFTO0FBQUEsRUFDbEI7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/// <reference path="../../library.d.cts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* Handles the "Open demo vault" command.
|
|
6
|
+
*/
|
|
7
|
+
import type { App, PluginManifest } from 'obsidian' with { 'resolution-mode': 'import' };
|
|
8
|
+
import type { PluginNoticeComponent } from '../components/plugin-notice-component.cjs';
|
|
9
|
+
import { GlobalCommandHandler } from './global-command-handler.cjs';
|
|
10
|
+
/**
|
|
11
|
+
* Constructor parameters for {@link OpenDemoVaultCommandHandler}.
|
|
12
|
+
*/
|
|
13
|
+
export interface OpenDemoVaultCommandHandlerConstructorParams {
|
|
14
|
+
/**
|
|
15
|
+
* The Obsidian app instance.
|
|
16
|
+
*/
|
|
17
|
+
readonly app: App;
|
|
18
|
+
/**
|
|
19
|
+
* The manifest of the plugin whose demo vault the command opens.
|
|
20
|
+
*/
|
|
21
|
+
readonly manifest: PluginManifest;
|
|
22
|
+
/**
|
|
23
|
+
* The notice component used to report problems while opening the demo vault.
|
|
24
|
+
*/
|
|
25
|
+
readonly pluginNoticeComponent: PluginNoticeComponent;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A command handler that downloads and opens the plugin's shipped demo vault in a new window. Only
|
|
29
|
+
* available on desktop — {@link canExecute} returns `false` on mobile, so the command is hidden there
|
|
30
|
+
* (no mobile notice).
|
|
31
|
+
*
|
|
32
|
+
* This module stays cross-platform-loadable so a plugin can register it directly without a platform
|
|
33
|
+
* guard: the desktop-only opener (which statically imports Node builtins) is loaded via a dynamic
|
|
34
|
+
* `import()` inside {@link execute}, which only ever runs on desktop.
|
|
35
|
+
*/
|
|
36
|
+
export declare class OpenDemoVaultCommandHandler extends GlobalCommandHandler {
|
|
37
|
+
/**
|
|
38
|
+
* The Obsidian app instance.
|
|
39
|
+
*/
|
|
40
|
+
protected readonly app: App;
|
|
41
|
+
/**
|
|
42
|
+
* The manifest of the plugin whose demo vault the command opens.
|
|
43
|
+
*/
|
|
44
|
+
protected readonly manifest: PluginManifest;
|
|
45
|
+
/**
|
|
46
|
+
* The notice component used to report problems while opening the demo vault.
|
|
47
|
+
*/
|
|
48
|
+
protected readonly pluginNoticeComponent: PluginNoticeComponent;
|
|
49
|
+
/**
|
|
50
|
+
* Constructs a new instance.
|
|
51
|
+
*
|
|
52
|
+
* @param params - Constructor parameters.
|
|
53
|
+
*/
|
|
54
|
+
constructor(params: OpenDemoVaultCommandHandlerConstructorParams);
|
|
55
|
+
/**
|
|
56
|
+
* Executes the command, opening the plugin's demo vault.
|
|
57
|
+
*/
|
|
58
|
+
execute(): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Checks whether the command can currently execute: only on desktop.
|
|
61
|
+
*
|
|
62
|
+
* @returns Whether the app is running on desktop.
|
|
63
|
+
*/
|
|
64
|
+
protected canExecute(): boolean;
|
|
65
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
(function initCjs() {
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
|
+
const globalThisRecord = globalThis;
|
|
9
|
+
globalThisRecord['__name'] ??= name;
|
|
10
|
+
const originalRequire = require;
|
|
11
|
+
if (originalRequire && !originalRequire.__isPatched) {
|
|
12
|
+
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
|
|
13
|
+
require = Object.assign(
|
|
14
|
+
(id) => requirePatched(id),
|
|
15
|
+
originalRequire,
|
|
16
|
+
{
|
|
17
|
+
__isPatched: true
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const newFuncs = {
|
|
23
|
+
__extractDefault() {
|
|
24
|
+
return extractDefault;
|
|
25
|
+
},
|
|
26
|
+
process() {
|
|
27
|
+
const browserProcess = {
|
|
28
|
+
browser: true,
|
|
29
|
+
cwd() {
|
|
30
|
+
return '/';
|
|
31
|
+
},
|
|
32
|
+
env: {},
|
|
33
|
+
platform: 'android'
|
|
34
|
+
};
|
|
35
|
+
return browserProcess;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
for (const key of Object.keys(newFuncs)) {
|
|
40
|
+
globalThisRecord[key] ??= newFuncs[key]?.();
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function name(obj) {
|
|
44
|
+
return obj;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function extractDefault(module) {
|
|
48
|
+
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
52
|
+
'obsidian',
|
|
53
|
+
'@codemirror/autocomplete',
|
|
54
|
+
'@codemirror/collab',
|
|
55
|
+
'@codemirror/commands',
|
|
56
|
+
'@codemirror/language',
|
|
57
|
+
'@codemirror/lint',
|
|
58
|
+
'@codemirror/search',
|
|
59
|
+
'@codemirror/state',
|
|
60
|
+
'@codemirror/text',
|
|
61
|
+
'@codemirror/view',
|
|
62
|
+
'@lezer/common',
|
|
63
|
+
'@lezer/lr',
|
|
64
|
+
'@lezer/highlight'];
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
68
|
+
'@codemirror/closebrackets',
|
|
69
|
+
'@codemirror/comment',
|
|
70
|
+
'@codemirror/fold',
|
|
71
|
+
'@codemirror/gutter',
|
|
72
|
+
'@codemirror/highlight',
|
|
73
|
+
'@codemirror/history',
|
|
74
|
+
'@codemirror/matchbrackets',
|
|
75
|
+
'@codemirror/panel',
|
|
76
|
+
'@codemirror/rangeset',
|
|
77
|
+
'@codemirror/rectangular-selection',
|
|
78
|
+
'@codemirror/stream-parser',
|
|
79
|
+
'@codemirror/tooltip'];
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
function requirePatched(id) {
|
|
83
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id)) {
|
|
84
|
+
return originalRequire?.(id);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
|
+
if (globalThis.app.isMobile) {
|
|
89
|
+
if (id === 'process' || id === 'node:process') {
|
|
90
|
+
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
|
+
return globalThis.process;
|
|
94
|
+
}
|
|
95
|
+
} else {
|
|
96
|
+
const module = originalRequire?.(id);
|
|
97
|
+
if (module) {
|
|
98
|
+
return extractDefault(module);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// eslint-disable-next-line no-console -- Valid usage.
|
|
103
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
104
|
+
return {};
|
|
105
|
+
}
|
|
106
|
+
})();
|
|
107
|
+
|
|
108
|
+
"use strict";
|
|
109
|
+
var __defProp = Object.defineProperty;
|
|
110
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
111
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
112
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
113
|
+
var __export = (target, all) => {
|
|
114
|
+
for (var name in all)
|
|
115
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
116
|
+
};
|
|
117
|
+
var __copyProps = (to, from, except, desc) => {
|
|
118
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
119
|
+
for (let key of __getOwnPropNames(from))
|
|
120
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
121
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
122
|
+
}
|
|
123
|
+
return to;
|
|
124
|
+
};
|
|
125
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
126
|
+
var community_plugins_exports = {};
|
|
127
|
+
__export(community_plugins_exports, {
|
|
128
|
+
getCommunityPluginRepo: () => getCommunityPluginRepo
|
|
129
|
+
});
|
|
130
|
+
module.exports = __toCommonJS(community_plugins_exports);
|
|
131
|
+
var import_obsidian = require('obsidian');
|
|
132
|
+
var import_obsidian_dev_utils_state = require('../obsidian-dev-utils-state.cjs');
|
|
133
|
+
const COMMUNITY_PLUGINS_STATE_KEY = "communityPluginEntriesPromise";
|
|
134
|
+
const COMMUNITY_PLUGINS_URL = "https://raw.githubusercontent.com/obsidianmd/obsidian-releases/HEAD/community-plugins.json";
|
|
135
|
+
async function getCommunityPluginRepo(pluginId) {
|
|
136
|
+
const cache = (0, import_obsidian_dev_utils_state.getObsidianDevUtilsState)(COMMUNITY_PLUGINS_STATE_KEY, null);
|
|
137
|
+
cache.value ??= fetchCommunityPluginEntries();
|
|
138
|
+
let entries;
|
|
139
|
+
try {
|
|
140
|
+
entries = await cache.value;
|
|
141
|
+
} catch (error) {
|
|
142
|
+
cache.value = null;
|
|
143
|
+
throw error;
|
|
144
|
+
}
|
|
145
|
+
const entry = entries.find((candidate) => candidate.id === pluginId);
|
|
146
|
+
return entry?.repo ?? null;
|
|
147
|
+
}
|
|
148
|
+
async function fetchCommunityPluginEntries() {
|
|
149
|
+
const response = await (0, import_obsidian.requestUrl)(COMMUNITY_PLUGINS_URL);
|
|
150
|
+
return response.json;
|
|
151
|
+
}
|
|
152
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
153
|
+
0 && (module.exports = {
|
|
154
|
+
getCommunityPluginRepo
|
|
155
|
+
});
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbW11bml0eS1wbHVnaW5zLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUmVzb2x2ZXMgYSBjb21tdW5pdHkgcGx1Z2luJ3MgR2l0SHViIHJlcG9zaXRvcnkgZnJvbSBPYnNpZGlhbidzIHB1YmxpYyBwbHVnaW4gcmVnaXN0cnkuXG4gKlxuICogT2JzaWRpYW4ncyBgY29tbXVuaXR5LXBsdWdpbnMuanNvbmAgaXMgdGhlIGF1dGhvcml0YXRpdmUgc291cmNlIHRoYXQgbWFwcyBhIHBsdWdpbiBgaWRgIHRvIGl0c1xuICogYG93bmVyL25hbWVgIEdpdEh1YiByZXBvc2l0b3J5IFx1MjAxNCB0aGUgcGx1Z2luIG1hbmlmZXN0IGl0c2VsZiBjYXJyaWVzIG5vIHJlcG9zaXRvcnkuIFRoaXMgaXMgdXNlZCB0b1xuICogbG9jYXRlIGEgcGx1Z2luJ3MgR2l0SHViIHJlbGVhc2VzIChlLmcuIHRvIGRvd25sb2FkIGl0cyBzaGlwcGVkIGRlbW8tdmF1bHQgYXJjaGl2ZSkuXG4gKi9cblxuaW1wb3J0IHsgcmVxdWVzdFVybCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlIH0gZnJvbSAnLi4vb2JzaWRpYW4tZGV2LXV0aWxzLXN0YXRlLnRzJztcblxuLyoqXG4gKiBBIHNpbmdsZSBlbnRyeSBpbiBPYnNpZGlhbidzIGBjb21tdW5pdHktcGx1Z2lucy5qc29uYCByZWdpc3RyeS5cbiAqL1xuaW50ZXJmYWNlIENvbW11bml0eVBsdWdpbkVudHJ5IHtcbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gYXV0aG9yLlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gZGVzY3JpcHRpb24uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGx1Z2luIGlkLlxuICAgKi9cbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBsdWdpbiBkaXNwbGF5IG5hbWUuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4ncyBgb3duZXIvbmFtZWAgR2l0SHViIHJlcG9zaXRvcnkuXG4gICAqL1xuICByZWFkb25seSByZXBvOiBzdHJpbmc7XG59XG5cbmNvbnN0IENPTU1VTklUWV9QTFVHSU5TX1NUQVRFX0tFWSA9ICdjb21tdW5pdHlQbHVnaW5FbnRyaWVzUHJvbWlzZSc7XG5jb25zdCBDT01NVU5JVFlfUExVR0lOU19VUkwgPSAnaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL29ic2lkaWFubWQvb2JzaWRpYW4tcmVsZWFzZXMvSEVBRC9jb21tdW5pdHktcGx1Z2lucy5qc29uJztcblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgYG93bmVyL25hbWVgIEdpdEh1YiByZXBvc2l0b3J5IG9mIGEgY29tbXVuaXR5IHBsdWdpbiBmcm9tIE9ic2lkaWFuJ3MgcHVibGljXG4gKiBgY29tbXVuaXR5LXBsdWdpbnMuanNvbmAgcmVnaXN0cnkuXG4gKlxuICogVGhlIHJlZ2lzdHJ5IGlzIGZldGNoZWQgb25jZSBhbmQgY2FjaGVkIG9uIHRoZSBzaGFyZWQgcGx1Z2luIHN0YXRlIGZvciBzdWJzZXF1ZW50IGNhbGxzOyBhIGZhaWxlZFxuICogZmV0Y2ggaXMgbm90IGNhY2hlZCwgc28gYSBsYXRlciBjYWxsIHJldHJpZXMuXG4gKlxuICogQHBhcmFtIHBsdWdpbklkIC0gVGhlIHBsdWdpbiBpZCB0byBsb29rIHVwLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gcmVzb2x2aW5nIHRvIHRoZSBwbHVnaW4ncyBgb3duZXIvbmFtZWAgcmVwb3NpdG9yeSwgb3IgYG51bGxgIGlmIHRoZVxuICogcGx1Z2luIGlzIG5vdCBsaXN0ZWQgaW4gdGhlIHJlZ2lzdHJ5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Q29tbXVuaXR5UGx1Z2luUmVwbyhwbHVnaW5JZDogc3RyaW5nKTogUHJvbWlzZTxudWxsIHwgc3RyaW5nPiB7XG4gIGNvbnN0IGNhY2hlID0gZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlPG51bGwgfCBQcm9taXNlPENvbW11bml0eVBsdWdpbkVudHJ5W10+PihDT01NVU5JVFlfUExVR0lOU19TVEFURV9LRVksIG51bGwpO1xuICBjYWNoZS52YWx1ZSA/Pz0gZmV0Y2hDb21tdW5pdHlQbHVnaW5FbnRyaWVzKCk7XG5cbiAgbGV0IGVudHJpZXM6IENvbW11bml0eVBsdWdpbkVudHJ5W107XG4gIHRyeSB7XG4gICAgZW50cmllcyA9IGF3YWl0IGNhY2hlLnZhbHVlO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNhY2hlLnZhbHVlID0gbnVsbDtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxuXG4gIGNvbnN0IGVudHJ5ID0gZW50cmllcy5maW5kKChjYW5kaWRhdGUpID0+IGNhbmRpZGF0ZS5pZCA9PT0gcGx1Z2luSWQpO1xuICByZXR1cm4gZW50cnk/LnJlcG8gPz8gbnVsbDtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hDb21tdW5pdHlQbHVnaW5FbnRyaWVzKCk6IFByb21pc2U8Q29tbXVuaXR5UGx1Z2luRW50cnlbXT4ge1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3RVcmwoQ09NTVVOSVRZX1BMVUdJTlNfVVJMKTtcbiAgcmV0dXJuIHJlc3BvbnNlLmpzb24gYXMgQ29tbXVuaXR5UGx1Z2luRW50cnlbXTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBLHNCQUEyQjtBQUUzQixzQ0FBeUM7QUFnQ3pDLE1BQU0sOEJBQThCO0FBQ3BDLE1BQU0sd0JBQXdCO0FBYTlCLGVBQXNCLHVCQUF1QixVQUEwQztBQUNyRixRQUFNLFlBQVEsMERBQWlFLDZCQUE2QixJQUFJO0FBQ2hILFFBQU0sVUFBVSw0QkFBNEI7QUFFNUMsTUFBSTtBQUNKLE1BQUk7QUFDRixjQUFVLE1BQU0sTUFBTTtBQUFBLEVBQ3hCLFNBQVMsT0FBTztBQUNkLFVBQU0sUUFBUTtBQUNkLFVBQU07QUFBQSxFQUNSO0FBRUEsUUFBTSxRQUFRLFFBQVEsS0FBSyxDQUFDLGNBQWMsVUFBVSxPQUFPLFFBQVE7QUFDbkUsU0FBTyxPQUFPLFFBQVE7QUFDeEI7QUFFQSxlQUFlLDhCQUErRDtBQUM1RSxRQUFNLFdBQVcsVUFBTSw0QkFBVyxxQkFBcUI7QUFDdkQsU0FBTyxTQUFTO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/// <reference path="../library.d.cts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* Resolves a community plugin's GitHub repository from Obsidian's public plugin registry.
|
|
6
|
+
*
|
|
7
|
+
* Obsidian's `community-plugins.json` is the authoritative source that maps a plugin `id` to its
|
|
8
|
+
* `owner/name` GitHub repository — the plugin manifest itself carries no repository. This is used to
|
|
9
|
+
* locate a plugin's GitHub releases (e.g. to download its shipped demo-vault archive).
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Resolves the `owner/name` GitHub repository of a community plugin from Obsidian's public
|
|
13
|
+
* `community-plugins.json` registry.
|
|
14
|
+
*
|
|
15
|
+
* The registry is fetched once and cached on the shared plugin state for subsequent calls; a failed
|
|
16
|
+
* fetch is not cached, so a later call retries.
|
|
17
|
+
*
|
|
18
|
+
* @param pluginId - The plugin id to look up.
|
|
19
|
+
* @returns A {@link Promise} resolving to the plugin's `owner/name` repository, or `null` if the
|
|
20
|
+
* plugin is not listed in the registry.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getCommunityPluginRepo(pluginId: string): Promise<null | string>;
|