mirror of
https://github.com/arsenije/Uru.git
synced 2026-07-22 08:28:21 +00:00
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>
|
||
|---|---|---|
| .. | ||
| bootstrap | ||
| indexing | ||
| sidecar | ||
| types | ||
| views | ||
| paths.ts | ||
| settings.ts | ||
| vaultRegistry.ts | ||