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.
Bumps obsidian-dev-utils across the 86->87 major (no source fallout), registers
the Open demo vault command, and ships a curated demo-vault/ where three same-named
notes make the full-path Backlinks feature visible, with a static demo-vault
coverage suite. Bootstrapped by the release-injected demo-vault-helper.
Ship a curated demo-vault/ for Backlink Full Path, bootstrapped by the
release-injected obsidian-dev-utils demo-vault-helper. Three same-named Meeting
notes in different folders link to a shared note so the Backlinks pane shows each
one's full path; a Settings note documents every option. Add a static
registerDemoVaultCoverageSuite no-app test, the project dprint.json (excludes
demo-vault), and the README demo vault access section.
Add OpenDemoVaultCommandHandler (87.0.3 pluginId/pluginVersion signature) so the
plugin exposes the "Open demo vault" command; assert it is registered in the
plugin test.
Bump across the 86 -> 87 major with no source fallout; unlocks the S2 demo-vault
mechanism (release-injected helper, coverage suite, demo-vault-safe lint runner).
Bump obsidian-dev-utils ^75.0.0 -> ^76.1.0 and obsidian-integration-testing ^4.3.0 ->
^4.4.0. No new lint/type errors surfaced from the 76.x breaking changes.
Rewrite backlink-full-path-component.test.ts to drive the real
LayoutReadyComponent lifecycle and add real-MonkeyAroundComponent tests
for the extracted patch components, replacing the stale, mock-based suite
left behind by the monkey-around refactor. Restores 100% coverage.
Lint, format, and spellcheck no longer fail: obsidian-dev-utils is now
installed from npm (^72.0.0) rather than via the `file:` protocol, so the
transitive tool dependencies are hoisted correctly. All three checks pass.
The "new template" refactor moved the backlink logic out of `Plugin` into
`BacklinkFullPathComponent`, but the tests still targeted the old `Plugin` API,
leaving 46 failing tests and broken coverage. Realign the suite with the
component architecture and the canonical template test layout.
- rewrite plugin.test.ts to verify onloadImpl wiring (mocked children)
- add backlink-full-path-component.test.ts covering the moved backlink logic
- add plugin-settings-component.test.ts
- rewrite plugin-settings-tab.test.ts using the bind-spy pattern
Coverage: 100% statements/branches/functions/lines.