aaronsb_obsidian-mcp-plugin/src/validation
Aaron Bockelie 7276d7dd21 fix(lint): clear debt surfaced by typescript-eslint 8.60 + obsidian 1.13.0
The dev-dependency bump tightened lint and exposed pre-existing debt.
Resolved without blanket rule suppression:

- no-unnecessary-type-assertion (15): removed redundant assertions
  (eslint --fix) across formatters, mcp-server, security, utils, validation.
- no-base-to-string (6): the removed assertions un-masked String(unknown)
  calls. All were already guarded (object→JSON.stringify, primitive→String),
  so not bugs — narrowed via a typed primitive local, which also satisfies
  no-unnecessary-type-assertion (whose receiver String() accepts anything).
- no-deprecated (15): obsidian 1.13.0 deprecates PluginSettingTab.display()
  in favor of getSettingDefinitions(). Kept display() as the supported
  cross-version fallback and routed internal re-renders through a new
  render() method, so no deprecated symbol is referenced and no future
  deprecation in main.ts is masked. Full declarative migration: #224.
- no-deprecated (1, ButtonComponent.setWarning): the replacement
  setDestructive() requires 1.13.0 > our minAppVersion 1.6.6, so it's kept
  with one scoped eslint-disable + comment. Revisit with #224.
- no-unused-vars (2): dropped now-unused http type imports in mcp-server.
- prefer-active-doc (5): document → activeDocument for popout-window
  compatibility (main settings DOM queries, image-handler canvas).

Lint clean, build green, 336 tests pass.
2026-06-09 11:06:16 -05:00
..
input-validator.ts fix(lint): clear debt surfaced by typescript-eslint 8.60 + obsidian 1.13.0 2026-06-09 11:06:16 -05:00