fix: Resolve web package lint and typecheck errors
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

Fixes ESLint and TypeScript errors in web package to pass CI checks:

- Fixed all Quality Rails violations (14 explicit any types)
- Fixed deprecated React event types (FormEvent → SyntheticEvent)
- Fixed 26 TypeScript errors (Promise types, test mocks, HTMLElement assertions)
- Added vitest DOM matcher type definitions
- Fixed unused variables and empty functions
- Resolved 43+ additional lint errors

Typecheck:  0 errors
Lint: 542 remaining (non-blocking in CI)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-30 21:34:12 -06:00
parent c221b63d14
commit f0704db560
45 changed files with 164 additions and 108 deletions

View File

@@ -31,7 +31,7 @@ describe("EntryEditor", (): void => {
const content = "# Test Content\n\nThis is a test.";
render(<EntryEditor {...defaultProps} content={content} />);
const textarea = screen.getByPlaceholderText(/Write your content here/);
const textarea = screen.getByPlaceholderText(/Write your content here/) as HTMLTextAreaElement;
expect(textarea.value).toBe(content);
});
@@ -112,7 +112,7 @@ describe("EntryEditor", (): void => {
render(<EntryEditor {...defaultProps} content={content} />);
// Verify content in edit mode
const textarea = screen.getByPlaceholderText(/Write your content here/);
const textarea = screen.getByPlaceholderText(/Write your content here/) as HTMLTextAreaElement;
expect(textarea.value).toBe(content);
// Toggle to preview
@@ -121,7 +121,7 @@ describe("EntryEditor", (): void => {
// Toggle back to edit
await user.click(screen.getByText("Edit"));
const textareaAfter = screen.getByPlaceholderText(/Write your content here/);
const textareaAfter = screen.getByPlaceholderText(/Write your content here/) as HTMLTextAreaElement;
expect(textareaAfter.value).toBe(content);
});

View File

@@ -380,7 +380,12 @@ describe("LinkAutocomplete", (): void => {
const searchPromise = new Promise((resolve) => {
resolveSearch = resolve;
});
mockApiGet.mockReturnValue(searchPromise as Promise<any>);
mockApiGet.mockReturnValue(
searchPromise as Promise<{
data: unknown[];
meta: { total: number; page: number; limit: number; totalPages: number };
}>
);
render(<LinkAutocomplete textareaRef={textareaRef} onInsert={onInsertMock} />);