mirror of
https://github.com/vas3k/TaxHacker.git
synced 2026-07-06 22:32:15 +08:00
* fix(lint): resolve eslint errors in lib - lib/stats.ts: replace any with unknown in extra fields access - lib/uploads.test.ts: replace any with Record<string, unknown> - lib/utils.ts: remove unused catch bindings * fix(lint): resolve all eslint errors across codebase - Replace all `any` types with proper types (Record<string,unknown>, discriminated unions, generic constraints, etc.) - Remove unused imports and variables - Escape entities in JSX text - Fix no-unused-expressions in currency-converter - Add argsIgnorePattern/varsIgnorePattern for _-prefixed unused vars - Define EmailServer and ImapSearchCriteria types in email-sync module - Extract InvoiceFormAction discriminated union for invoice reducer - Fix buildSearchCriteria return type consistency (nested arrays) - tsc --noEmit and next lint both pass clean, all 20 tests pass * ci: add pre-commit hooks and enforce lint in CI - Add .pre-commit-config.yaml with prek: lint, typecheck (pre-commit), tests (pre-push), plus basic hygiene hooks - Remove continue-on-error from CI lint job so it blocks on errors - Install prek hooks for pre-commit and pre-push * fix(lint): resolve remaining pre-existing eslint warnings - invoice-generator.tsx: include user/settings in useMemo deps for templates - invoice-pdf.tsx: suppress jsx-a11y/alt-text for react-pdf's Image (no alt prop) - currency-converter.tsx: document intentional useEffect dep omissions - simple.tsx: suppress no-img-element for client-side avatar data URL preview - llm-settings-form.tsx: remove unused idx prop from SortableProviderBlock - list.tsx: document intentional useEffect dep omission for router/searchParams These predate this branch's other lint fixes (unrelated to the cherry-picked commits) but block the zero-warnings policy enforced by .pre-commit-config.yaml. * style: strip trailing whitespace in crud.tsx