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.
- Delete PluginTypes.ts and remove generic from PluginBase
- Convert PluginSettingsManager to PluginSettingsComponent with DI params
- Use constructor registerComponent() pattern for settings and settings tab
- Replace onSaveSettings override with event subscription on settings component
- Rename all source files to kebab-case (Plugin.ts -> plugin.ts, etc.)
- Add vitest test infrastructure with jsdom environment and obsidian-test-mocks
- Add 14 tests covering settings defaults, component creation, and plugin construction
- Update tsconfig: remove allowJs, svelte types; add vitest.config.ts to include
- Add obsidian-test-mocks, sass-embedded, vitest, jsdom as dev dependencies
BREAKING CHANGE: Requires obsidian-dev-utils v2 (component architecture).