The Demo Vault Helper (obsidian-dev-utils `bootstrapDemoVault`) now creates the
CodeScript Toolkit invocable-scripts folder at runtime, so the vault no longer
commits an otherwise-empty `Invocables/.gitkeep` placeholder.
CodeScript Toolkit runs the startup script via `startupScript.invoke(app)`, so a
top-level script with no `invoke` export threw `this.startupScript.invoke is not
a function` on vault open. Wrap the body in an exported `invoke(app)`. Also add an
empty `Invocables/` folder so every demo vault has the same CodeScript Toolkit
layout regardless of whether it ships invocable scripts.
Bump obsidian-dev-utils to 87.1.0, register the open demo vault command, and add
a numbered, developer-focused demo vault with a no-app coverage suite. All gates
are green and the demo vault archives cleanly.
Add a developer-focused demo vault that shows how Advanced Debug Mode enriches
the DevTools console. Notes are numbered basic to advanced and cover debug mode,
long stack traces (with a Run button that throws through async boundaries), async
long stack traces, long-running-task timeouts, mobile DevTools, debug namespaces,
and every setting. A no-app integration suite keeps the notes in sync with the
PluginSettings surface. The root README documents the three ways to open it.
Add the shared OpenDemoVaultCommandHandler to the command batch so users can open
the plugin's demo vault. The plugin test seeds the plugin notice component and
asserts the handler is constructed.
Bump obsidian-dev-utils from ^83.0.0 to ^85.0.0 and fix all migration
fallout:
- Remove eslint-disable directives now banned by the stricter
eslint-comments/no-restricted-disable rule (obsidianmd 0.3.0 -> 0.4.1)
for @typescript-eslint/no-deprecated, obsidianmd/ui/sentence-case and
obsidianmd/no-global-this, fixing the underlying code instead.
- Drop the obsolete window.app / app.obsidianDevUtilsState seeding
(setup.ts and the settings-tab test): under 85 the shared state lives
on globalThis.__obsidianDevUtils and is reset per test by the wired
obsidian-dev-utils/vitest-setup.
- Render the debug-namespaces documentation link text via appendText so
it stays lowercase without suppressing obsidianmd/ui/sentence-case.
- Add a src/**/*-desktop-component.ts override turning off the new
obsidianmd/no-nodejs-modules warning for the deliberate desktop-only
node built-in imports (the rule cannot be disabled inline).
Convert the public LongStackTracesDesktopComponent.addStackFrame and
.adjustStackLines (each three positional args) to a single params
object, and AsyncLongStackTracesComponent.asyncHookInit likewise, with a
thin adapter arrow at the createHook boundary that unpacks the async_hooks
positional args into the object call. Update all call sites across both
components and their tests. Add a test that fires the real init hook so the
adapter arrow stays covered.