obsidian-dev-utils 92.0.0 → 93.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/CHANGELOG.md +11 -0
- package/dist/demo-vault-helper/main.js +30 -44
- package/dist/integration-test-plugin/main.js +10029 -9743
- package/dist/lib/cjs/__merged.cjs +9 -1
- package/dist/lib/cjs/__merged.d.cts +2 -2
- package/dist/lib/cjs/generated-during-build.cjs +1 -1
- package/dist/lib/cjs/obsidian/components/monkey-around-component.cjs +1 -1
- package/dist/lib/cjs/obsidian/components/monkey-around-component.d.cts +5 -0
- package/dist/lib/cjs/obsidian/components/plugin-notice-component.cjs +118 -36
- package/dist/lib/cjs/obsidian/components/plugin-notice-component.d.cts +88 -19
- package/dist/lib/cjs/obsidian/demo-vault-helper-settings.cjs +120 -0
- package/dist/lib/cjs/obsidian/demo-vault-helper-settings.d.cts +29 -0
- package/dist/lib/cjs/obsidian/demo-vault-helper.cjs +31 -32
- package/dist/lib/cjs/obsidian/demo-vault-helper.d.cts +7 -3
- package/dist/lib/cjs/obsidian/desktop-demo-vault-opener.cjs +4 -2
- package/dist/lib/cjs/obsidian/index.cjs +4 -1
- package/dist/lib/cjs/obsidian/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/vault.cjs +1 -1
- package/dist/lib/cjs/obsidian/vault.d.cts +3 -0
- package/dist/lib/cjs/obsidian/workspace.cjs +28 -3
- package/dist/lib/cjs/obsidian/workspace.d.cts +50 -0
- package/dist/lib/cjs/script-utils/demo-vault.cjs +8 -3
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.cjs +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.d.cts +3 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-unused-params-members.cjs +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-unused-params-members.d.cts +3 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.cjs +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.d.cts +3 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.d.cts +3 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/params-options-name-match.cjs +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/params-options-name-match.d.cts +3 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/prefer-noop-async.cjs +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/prefer-noop-async.d.cts +3 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/readonly-params-options-result-members.cjs +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/readonly-params-options-result-members.d.cts +3 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.cjs +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.d.cts +3 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-method-template.cjs +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-method-template.d.cts +3 -0
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-super-call.cjs +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-super-call.d.cts +3 -0
- package/dist/lib/cjs/script-utils/linters/over-exposure.cjs +1 -1
- package/dist/lib/cjs/script-utils/linters/over-exposure.d.cts +12 -0
- package/dist/lib/esm/__merged.d.mts +2 -2
- package/dist/lib/esm/__merged.mjs +13 -3
- package/dist/lib/esm/generated-during-build.mjs +1 -1
- package/dist/lib/esm/obsidian/components/monkey-around-component.d.mts +5 -0
- package/dist/lib/esm/obsidian/components/monkey-around-component.mjs +1 -1
- package/dist/lib/esm/obsidian/components/plugin-notice-component.d.mts +88 -19
- package/dist/lib/esm/obsidian/components/plugin-notice-component.mjs +116 -35
- package/dist/lib/esm/obsidian/demo-vault-helper-settings.d.mts +29 -0
- package/dist/lib/esm/obsidian/demo-vault-helper-settings.mjs +24 -0
- package/dist/lib/esm/obsidian/demo-vault-helper.d.mts +7 -3
- package/dist/lib/esm/obsidian/demo-vault-helper.mjs +32 -36
- package/dist/lib/esm/obsidian/desktop-demo-vault-opener.mjs +4 -2
- package/dist/lib/esm/obsidian/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/index.mjs +3 -1
- package/dist/lib/esm/obsidian/vault.d.mts +3 -0
- package/dist/lib/esm/obsidian/vault.mjs +1 -1
- package/dist/lib/esm/obsidian/workspace.d.mts +50 -0
- package/dist/lib/esm/obsidian/workspace.mjs +24 -2
- package/dist/lib/esm/script-utils/demo-vault.mjs +10 -4
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.d.mts +3 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.mjs +1 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-unused-params-members.d.mts +3 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-unused-params-members.mjs +1 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-variables.d.mts +3 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-variables.mjs +1 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.d.mts +3 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +1 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/params-options-name-match.d.mts +3 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/params-options-name-match.mjs +1 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/prefer-noop-async.d.mts +3 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/prefer-noop-async.mjs +1 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/readonly-params-options-result-members.d.mts +3 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/readonly-params-options-result-members.mjs +1 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.d.mts +3 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.mjs +1 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-method-template.d.mts +3 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-method-template.mjs +1 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-super-call.d.mts +3 -0
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-super-call.mjs +1 -1
- package/dist/lib/esm/script-utils/linters/over-exposure.d.mts +12 -0
- package/dist/lib/esm/script-utils/linters/over-exposure.mjs +1 -1
- package/obsidian/demo-vault-helper-settings/package.json +6 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
+
## 93.0.0
|
|
4
|
+
|
|
5
|
+
- feat(demo-vault)!: name the demonstrated plugin in the helper settings
|
|
6
|
+
- fix(demo-vault): keep the opener progress notice out of the shared slot
|
|
7
|
+
- feat(notices)!: replace isReusable with a notice mode, adding append
|
|
8
|
+
- feat(workspace): add main-window helpers and scoped window switching
|
|
9
|
+
|
|
10
|
+
## 92.1.0
|
|
11
|
+
|
|
12
|
+
- docs: missing descriptions
|
|
13
|
+
|
|
3
14
|
## 92.0.0
|
|
4
15
|
|
|
5
16
|
- test(modals): click the mock modal backdrop instead of a hand-built one
|
|
@@ -460,21 +460,8 @@ function noop() {
|
|
|
460
460
|
}
|
|
461
461
|
var noopAsyncSingletonPromise = Promise.resolve();
|
|
462
462
|
|
|
463
|
-
// src/type-guards.ts
|
|
464
|
-
function assertNonNullable(value, errorOrMessage) {
|
|
465
|
-
if (value !== null && value !== void 0) {
|
|
466
|
-
return;
|
|
467
|
-
}
|
|
468
|
-
errorOrMessage ??= value === null ? "Value is null" : "Value is undefined";
|
|
469
|
-
const error = typeof errorOrMessage === "string" ? new Error(errorOrMessage) : errorOrMessage;
|
|
470
|
-
throw error;
|
|
471
|
-
}
|
|
472
|
-
function ensureNonNullable(value, errorOrMessage) {
|
|
473
|
-
assertNonNullable(value, errorOrMessage);
|
|
474
|
-
return value;
|
|
475
|
-
}
|
|
476
|
-
|
|
477
463
|
// src/string.ts
|
|
464
|
+
var EMPTY = "";
|
|
478
465
|
var ESCAPE_MAP = {
|
|
479
466
|
"\n": String.raw`\n`,
|
|
480
467
|
"\r": String.raw`\r`,
|
|
@@ -674,6 +661,8 @@ var CODE_SCRIPT_TOOLKIT_SETTINGS = {
|
|
|
674
661
|
};
|
|
675
662
|
var DEMO_VAULT_HELPER_PLUGIN_ID = "demo-vault-helper";
|
|
676
663
|
var PLUGINS_FOLDER_NAME = "plugins";
|
|
664
|
+
var DATA_JSON_FILE_NAME = "data.json";
|
|
665
|
+
var INVALID_DEMO_VAULT_ERROR_MESSAGE = "Invalid demo vault";
|
|
677
666
|
var OPEN_DEMO_VAULT_COMMAND_NAME = "Open demo vault";
|
|
678
667
|
var SANDBOX_NOTICE_DURATION_IN_MILLISECONDS = 0;
|
|
679
668
|
async function bootstrapDemoVault(params) {
|
|
@@ -694,23 +683,17 @@ async function bootstrapDemoVault(params) {
|
|
|
694
683
|
}
|
|
695
684
|
showSandboxNotice(app, demoedPluginId);
|
|
696
685
|
}
|
|
697
|
-
function buildSandboxNoticeFragment(pluginName
|
|
686
|
+
function buildSandboxNoticeFragment(pluginName) {
|
|
698
687
|
return createFragment((fragment) => {
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
fragment.
|
|
707
|
-
|
|
708
|
-
fragment.appendText(" at ");
|
|
709
|
-
fragment.createEl("code", { text: basePath });
|
|
710
|
-
}
|
|
711
|
-
fragment.appendText(", cleaned up automatically about a day after you last use it \u2014 copy anything you want to keep into your own vault. Running ");
|
|
712
|
-
fragment.createEl("b", { text: pluginName === null ? OPEN_DEMO_VAULT_COMMAND_NAME : `${pluginName}: ${OPEN_DEMO_VAULT_COMMAND_NAME}` });
|
|
713
|
-
fragment.appendText(" again creates a new copy with the latest plugin version, so your notes will not appear in it.");
|
|
688
|
+
fragment.appendText("This is a demo vault for ");
|
|
689
|
+
fragment.createEl("b", { text: pluginName });
|
|
690
|
+
fragment.appendText(".");
|
|
691
|
+
fragment.createEl("br");
|
|
692
|
+
fragment.appendText("It is a temporary sandbox, cleaned up automatically about a day after you last use it.");
|
|
693
|
+
fragment.createEl("br");
|
|
694
|
+
fragment.appendText("Executing ");
|
|
695
|
+
fragment.createEl("b", { text: `${pluginName}: ${OPEN_DEMO_VAULT_COMMAND_NAME}` });
|
|
696
|
+
fragment.appendText(" command again creates a new copy with the latest plugin version, so your notes will not appear in it.");
|
|
714
697
|
});
|
|
715
698
|
}
|
|
716
699
|
async function ensureInvocableScriptsFolder(app) {
|
|
@@ -720,23 +703,26 @@ async function ensureInvocableScriptsFolder(app) {
|
|
|
720
703
|
}
|
|
721
704
|
}
|
|
722
705
|
async function getDemoedPluginId(app) {
|
|
723
|
-
const
|
|
724
|
-
if (!await app.vault.adapter.exists(
|
|
725
|
-
|
|
706
|
+
const settingsPath = join(app.vault.configDir, PLUGINS_FOLDER_NAME, DEMO_VAULT_HELPER_PLUGIN_ID, DATA_JSON_FILE_NAME);
|
|
707
|
+
if (!await app.vault.adapter.exists(settingsPath)) {
|
|
708
|
+
throw new Error(INVALID_DEMO_VAULT_ERROR_MESSAGE);
|
|
726
709
|
}
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
}
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
710
|
+
let parsed;
|
|
711
|
+
try {
|
|
712
|
+
parsed = JSON.parse(await app.vault.adapter.read(settingsPath));
|
|
713
|
+
} catch (error) {
|
|
714
|
+
throw new Error(INVALID_DEMO_VAULT_ERROR_MESSAGE, { cause: error });
|
|
715
|
+
}
|
|
716
|
+
const demoedPluginId = parsed?.demoedPluginId;
|
|
717
|
+
if (typeof demoedPluginId !== "string" || demoedPluginId === EMPTY) {
|
|
718
|
+
throw new Error(INVALID_DEMO_VAULT_ERROR_MESSAGE);
|
|
719
|
+
}
|
|
720
|
+
return demoedPluginId;
|
|
736
721
|
}
|
|
737
722
|
function showSandboxNotice(app, demoedPluginId) {
|
|
738
|
-
const pluginName =
|
|
739
|
-
const fragment = buildSandboxNoticeFragment(pluginName
|
|
723
|
+
const pluginName = app.plugins.manifests[demoedPluginId]?.name ?? demoedPluginId;
|
|
724
|
+
const fragment = buildSandboxNoticeFragment(pluginName);
|
|
725
|
+
app.setting.close();
|
|
740
726
|
new import_obsidian2.Notice(fragment, SANDBOX_NOTICE_DURATION_IN_MILLISECONDS);
|
|
741
727
|
}
|
|
742
728
|
|