From 3a29294f9607af31864a1d9bb8f5967416cfdc07 Mon Sep 17 00:00:00 2001 From: patrick Date: Mon, 17 Aug 2026 17:55:21 -0400 Subject: [PATCH] chore: clear the mechanical lint and type findings Dead imports and locals removed, each blocks keyed, `any` narrowed to unknown. Two context setters kept their calls and lost only the unused binding; the settings redirect no longer awaits a parent whose data it discards. A leading underscore now marks a binding that only holds a position. --- frontend/eslint.config.js | 13 +++++++- frontend/src/lib/api/auth.remote.ts | 2 +- frontend/src/lib/api/library.remote.ts | 2 +- .../lib/components/forms/book-delete.svelte | 5 ---- .../forms/device-create-form.svelte | 2 +- .../forms/edit-book/edit-metadata.svelte | 30 +++++++++---------- .../forms/library-create-form.svelte | 8 ++--- .../lib/components/forms/login-form.svelte | 4 +-- .../lib/components/forms/signup-form.svelte | 6 ++-- .../components/layout/library-switcher.svelte | 2 +- .../lib/components/layout/search-form.svelte | 10 +++---- .../src/lib/components/view/book-grid.svelte | 1 - .../src/lib/components/view/book-image.svelte | 6 ++-- .../src/lib/components/view/book-table.svelte | 1 - .../lib/components/view/book-thumbnail.svelte | 5 ++-- .../src/lib/components/view/filters.svelte | 2 +- .../lib/components/view/sort-button.svelte | 2 +- frontend/src/lib/schema/auth.ts | 2 -- frontend/src/lib/schema/author.ts | 4 +-- frontend/src/lib/schema/book.ts | 2 +- frontend/src/lib/schema/publisher.ts | 2 -- frontend/src/lib/schema/tag.ts | 2 -- frontend/src/lib/server/api.ts | 6 ++-- .../src/lib/state/bookCollection.svelte.ts | 2 +- .../src/lib/state/bookOperations.svelte.ts | 2 +- frontend/src/lib/state/bookshelf.svelte.ts | 8 ++--- frontend/src/lib/state/library.svelte.ts | 2 +- .../routes/(root)/(library)/+layout.svelte | 2 +- .../(library)/book/[bookId]/+page.svelte | 12 ++------ frontend/src/routes/(root)/+layout.svelte | 6 ++-- .../src/routes/(root)/settings/+layout.svelte | 2 +- frontend/src/routes/(root)/settings/+page.ts | 4 +-- .../(root)/settings/devices/+page.svelte | 2 +- .../(root)/settings/libraries/+page.svelte | 2 +- frontend/src/routes/api/[...path]/+server.ts | 2 +- frontend/src/routes/login/+page.svelte | 2 -- 36 files changed, 76 insertions(+), 91 deletions(-) diff --git a/frontend/eslint.config.js b/frontend/eslint.config.js index 3d7c2e7..dc597a2 100644 --- a/frontend/eslint.config.js +++ b/frontend/eslint.config.js @@ -28,7 +28,18 @@ export default defineConfig( rules: { // typescript-eslint strongly recommend that you do not use the no-undef lint rule on TypeScript projects. // see: https://typescript-eslint.io/troubleshooting/faqs/eslint/#i-get-errors-from-the-no-undef-rule-about-global-variables-not-being-defined-even-though-there-are-no-typescript-errors - 'no-undef': 'off' + 'no-undef': 'off', + // A leading underscore marks a binding that exists to hold a position — a callback + // parameter the signature requires, or the discarded half of a destructure. + '@typescript-eslint/no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^_', + destructuredArrayIgnorePattern: '^_' + } + ] } }, { diff --git a/frontend/src/lib/api/auth.remote.ts b/frontend/src/lib/api/auth.remote.ts index 807347d..a147fb9 100644 --- a/frontend/src/lib/api/auth.remote.ts +++ b/frontend/src/lib/api/auth.remote.ts @@ -4,7 +4,7 @@ import { BACKEND_API_URL } from '$lib/server/config'; import { invalid, redirect } from '@sveltejs/kit'; export const login = form(loginSchema, async (data, issue) => { - const { cookies, locals } = getRequestEvent(); + const { cookies } = getRequestEvent(); // Create URL-encoded form data const formData = new URLSearchParams(); diff --git a/frontend/src/lib/api/library.remote.ts b/frontend/src/lib/api/library.remote.ts index eeb119e..9e097fd 100644 --- a/frontend/src/lib/api/library.remote.ts +++ b/frontend/src/lib/api/library.remote.ts @@ -25,6 +25,6 @@ export const createLibrary = form(libraryCreateSchema, async (data) => { return await response.json(); }); -export const deleteLibrary = query('unchecked', async (data) => { +export const deleteLibrary = query('unchecked', async (_data) => { throw new Error('Not implemented'); }); diff --git a/frontend/src/lib/components/forms/book-delete.svelte b/frontend/src/lib/components/forms/book-delete.svelte index ffc91ce..134f207 100644 --- a/frontend/src/lib/components/forms/book-delete.svelte +++ b/frontend/src/lib/components/forms/book-delete.svelte @@ -3,8 +3,6 @@ import { Checkbox } from '$lib/components/ui/checkbox/index.js'; import { Button } from '$lib/components/ui/button/index.js'; import * as Dialog from '$lib/components/ui/dialog/index.js'; - import { getBookSelectionState } from '$lib/state/bookSelection.svelte'; - import { getBookOperationsState } from '$lib/state/bookOperations.svelte'; let { open = $bindable(), @@ -16,9 +14,6 @@ deleteFn: (deleteFiles: boolean) => void | Promise; } = $props(); - const selectedState = getBookSelectionState(); - const bookOps = getBookOperationsState(); - let deleteFiles = $state(false); diff --git a/frontend/src/lib/components/forms/device-create-form.svelte b/frontend/src/lib/components/forms/device-create-form.svelte index f1811c4..9860119 100644 --- a/frontend/src/lib/components/forms/device-create-form.svelte +++ b/frontend/src/lib/components/forms/device-create-form.svelte @@ -39,7 +39,7 @@ Device name - {#each createDevice.fields.name.issues() ?? [] as issue} + {#each createDevice.fields.name.issues() ?? [] as issue, i (i)} {issue.message} {/each} diff --git a/frontend/src/lib/components/forms/edit-book/edit-metadata.svelte b/frontend/src/lib/components/forms/edit-book/edit-metadata.svelte index 45e149f..95e0654 100644 --- a/frontend/src/lib/components/forms/edit-book/edit-metadata.svelte +++ b/frontend/src/lib/components/forms/edit-book/edit-metadata.svelte @@ -128,7 +128,7 @@ Title - {#each updateBookMetadata.fields.title.issues() ?? [] as issue} + {#each updateBookMetadata.fields.title.issues() ?? [] as issue, i (i)} {issue.message} {/each} @@ -136,7 +136,7 @@ Subtitle - {#each updateBookMetadata.fields.subtitle.issues() ?? [] as issue} + {#each updateBookMetadata.fields.subtitle.issues() ?? [] as issue, i (i)} {issue.message} {/each} @@ -144,7 +144,7 @@ Edition - {#each updateBookMetadata.fields.edition.issues() ?? [] as issue} + {#each updateBookMetadata.fields.edition.issues() ?? [] as issue, i (i)} {issue.message} {/each} @@ -152,7 +152,7 @@ Series - {#each updateBookMetadata.fields.series.issues() ?? [] as issue} + {#each updateBookMetadata.fields.series.issues() ?? [] as issue, i (i)} {issue.message} {/each} @@ -161,7 +161,7 @@ No. - {#each updateBookMetadata.fields.series_position.issues() ?? [] as issue} + {#each updateBookMetadata.fields.series_position.issues() ?? [] as issue, i (i)} {issue.message} {/each} @@ -169,7 +169,7 @@ Language - {#each updateBookMetadata.fields.language.issues() ?? [] as issue} + {#each updateBookMetadata.fields.language.issues() ?? [] as issue, i (i)} {issue.message} {/each} @@ -185,10 +185,10 @@ placeholder="Add an author" class="min-h-10 p-2 text-sm" /> - {#each authors as author} + {#each authors as author, i (i)} {/each} - {#each updateBookMetadata.fields.authors.issues() ?? [] as issue} + {#each updateBookMetadata.fields.authors.issues() ?? [] as issue, i (i)} {issue.message} {/each} @@ -201,10 +201,10 @@ placeholder="Add a tag" class="min-h-10 p-2 text-sm" /> - {#each tags as tag} + {#each tags as tag, i (i)} {/each} - {#each updateBookMetadata.fields.tags.issues() ?? [] as issue} + {#each updateBookMetadata.fields.tags.issues() ?? [] as issue, i (i)} {issue.message} {/each} @@ -214,7 +214,7 @@ Publisher - {#each updateBookMetadata.fields.publisher.issues() ?? [] as issue} + {#each updateBookMetadata.fields.publisher.issues() ?? [] as issue, i (i)} {issue.message} {/each} @@ -223,7 +223,7 @@ Published - {#each updateBookMetadata.fields.published_date.issues() ?? [] as issue} + {#each updateBookMetadata.fields.published_date.issues() ?? [] as issue, i (i)} {issue.message} {/each} @@ -231,7 +231,7 @@ Pages - {#each updateBookMetadata.fields.pages.issues() ?? [] as issue} + {#each updateBookMetadata.fields.pages.issues() ?? [] as issue, i (i)} {issue.message} {/each} @@ -240,7 +240,7 @@ Identifiers
- {#each identifierKeys as _, idx} + {#each identifierKeys as _, idx (idx)}
@@ -271,7 +271,7 @@ Description