Enable noExplicitAny as a warning so remaining any usages are visible
in lint output. 20 warnings exist in API response handlers and Obsidian
internal type access — these are intentional and documented.
Change-Id: I96c190e594bc3391256f77a59e155f23436d3db3
Turn on noImplicitAny in tsconfig.json. Add explicit type annotations
to all 137 previously untyped parameters across main.ts, view.ts,
modal.ts, settings-tab.ts, providers.ts, cli.ts, anchor.ts, scroll.ts,
ui-helpers.ts, vault.ts, and settings.ts.
Change-Id: Icc5a69ab57113e9f6dc08dd97e3a8fa5e7e24937
Use App, TFile, PluginManifest from obsidian in PluginHost interface.
Remove `as any` cast in ParallelReaderSettingTab by accepting
Plugin & PluginHost intersection type. Add typed params to vault.ts
and modal.ts constructors.
Change-Id: I94487d2654fd829c69364dabe9fbd5dc009097b6
Install @biomejs/biome with lint and format config.
Add npm lint/lint:fix scripts. Auto-fix formatting across all source
files. Update tsconfig lib to ES2022 for Object.hasOwn support.
Change-Id: I13e3ba2f106f7e3d03349080b7ed515d427d24a1
Turn on strictNullChecks, strictFunctionTypes, strictBindCallApply,
and noImplicitThis in tsconfig.json. Fix 13 resulting type errors
across main.ts, anchor.ts, providers.ts, schema.ts, prompt.ts.
Change-Id: Ib747b9c0cb809d99a7b3d3d7b177ee5918a74dfd
Move ParallelReaderView to src/view.ts (341 lines),
CardEditModal to src/modal.ts (56 lines),
ParallelReaderSettingTab to src/settings-tab.ts (370 lines).
Add PluginHost interface in types.ts to break circular deps.
main.ts reduced from 1613 to 588 lines.
Change-Id: I90902e914f162ff92b9a7f7c190b4d397a2c8c12
Create src/types.ts with RawCard, ResolvedCard, CardPatch, CacheEntry,
PluginSettings, ApiProviderPreset, ApiFormat, GenerationPhase, ErrorKind,
and PromptPair. Update all source modules to use typed signatures,
replacing `any` with concrete interfaces.
Change-Id: I87b7dd6f3a240c95597d7a796b4d1885386aa632
Move prompt and anchor matching into dedicated modules, add Chinese/English UI translation support, and cover cache fingerprint and translation behavior with tests.
Change-Id: Ieadc2197cba31cf750b83e2893909127da8ecca5