arsenije_Uru/src
Damir Krstanović e6c78a7d72 fix: reproduce Obsidian plugin-review lint locally and clear false unsafe warnings
The Obsidian community reviewer runs eslint-plugin-obsidianmd, which bundles
typescript-eslint's recommendedTypeChecked — the source of the 175+
no-unsafe-* warnings on our Node builtin calls (join, existsSync, execFile…).
Those were false positives: with Node's ambient types unresolved in the
reviewer's program, TypeScript falls back to the `error` type ("acts as any")
and every builtin call is flagged. Our old toolchain (ESLint 8.57 /
typescript-eslint 5.29 / TS 4.7) couldn't reproduce any of it.

Changes:
- Add eslint.config.mjs (flat) mirroring the reviewer's toolchain, and bump
  devDeps to eslint 9 / typescript-eslint 8 / eslint-plugin-obsidianmd / TS 5 /
  @types/node 18. `npm run lint` now runs exactly what the reviewer runs.
- tsconfig: add `types: ["node"]` + `skipLibCheck`, widen lib to DOM/ES2018 so
  Node builtins always resolve and obsidian.d.ts's missing-@codemirror errors
  don't cascade into `error`-typed fallout. Kills all ~396 unsafe warnings.
- client.ts: replace fetch() with Obsidian's requestUrl() per plugin guidelines.
  requestUrl buffers, so chat NDJSON events now arrive together rather than
  token-by-token; the event-driven consumer and chatSync fallback are unchanged.
- main.ts: reword an interrupted-index Notice to sentence case.
- Remove .eslintrc.json (replaced by the flat config).

Kept minAppVersion at 1.7.2 to preserve Obsidian 1.12 support, so the settings
tab stays on the imperative display()/setWarning() API. The 6 remaining lint
warnings (no-deprecated / prefer-setting-definitions) are advisory and only
apply to the 1.13+ declarative settings API we deliberately did not adopt.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 19:28:34 +02:00
..
bootstrap fix: require macOS 13.3+ with a clear reason 2026-07-15 19:00:09 +02:00
indexing fix: resolve Obsidian plugin-review lint findings 2026-07-16 00:08:18 +02:00
sidecar fix: reproduce Obsidian plugin-review lint locally and clear false unsafe warnings 2026-07-20 19:28:34 +02:00
types feat: prepare Uru for the Obsidian community-plugin directory 2026-07-14 21:47:35 +02:00
views fix: reproduce Obsidian plugin-review lint locally and clear false unsafe warnings 2026-07-20 19:28:34 +02:00
paths.ts Fix "Remove Uru completely" blocked by stale same-path registry entry 2026-07-03 10:27:48 +02:00
settings.ts fix: address Obsidian plugin-review failures — minAppVersion/revealLeaf, attestations, warning cleanups 2026-07-14 23:18:57 +02:00
vaultRegistry.ts fix: resolve Obsidian plugin-review lint findings 2026-07-16 00:08:18 +02:00