diff --git a/eslint.config.js b/eslint.config.js index 5e6b472f..b50d4e1f 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -6,7 +6,7 @@ import tseslint from 'typescript-eslint' import { defineConfig, globalIgnores } from 'eslint/config' export default defineConfig([ - globalIgnores(['dist']), + globalIgnores(['dist', 'coverage']), { files: ['**/*.{ts,tsx}'], extends: [ diff --git a/src/components/NoteList.tsx b/src/components/NoteList.tsx index 0180b6a0..be1500a8 100644 --- a/src/components/NoteList.tsx +++ b/src/components/NoteList.tsx @@ -188,7 +188,7 @@ function useNoteListData({ entries, selection, allContent, query, listSort, modi const searched = useMemo(() => { if (isEntityView) return [] - const sorted = [...filterEntries(entries, selection, modifiedFiles)].sort(getSortComparator(listSort)) + const sorted = [...filterEntries(entries, selection)].sort(getSortComparator(listSort)) return filterByQuery(sorted, query) }, [entries, selection, modifiedFiles, isEntityView, listSort, query]) @@ -219,7 +219,7 @@ function NoteListInner({ entries, selection, selectedNote, allContent, modifiedF }, []) const toggleGroup = useCallback((label: string) => { - setCollapsedGroups((prev) => { const next = new Set(prev); next.has(label) ? next.delete(label) : next.add(label); return next }) + setCollapsedGroups((prev) => { const next = new Set(prev); if (next.has(label)) next.delete(label); else next.add(label); return next }) }, []) const typeEntryMap = useTypeEntryMap(entries) diff --git a/src/hooks/useTabManagement.ts b/src/hooks/useTabManagement.ts index c62fe05f..c6e8b7a0 100644 --- a/src/hooks/useTabManagement.ts +++ b/src/hooks/useTabManagement.ts @@ -154,7 +154,6 @@ export function useTabManagement() { if (savedOrder.length > 0) { setTabs((prev) => restoreOrder(prev, savedOrder)) } - // eslint-disable-next-line react-hooks/exhaustive-deps }, []) return { diff --git a/src/utils/ai-chat.ts b/src/utils/ai-chat.ts index df789e76..6966e693 100644 --- a/src/utils/ai-chat.ts +++ b/src/utils/ai-chat.ts @@ -25,7 +25,7 @@ export function estimateTokens(text: string | number): number { const DEFAULT_CONTEXT_LIMIT = 180_000 -export function getContextLimit(_model: string): number { +export function getContextLimit(): number { return DEFAULT_CONTEXT_LIMIT } @@ -41,7 +41,7 @@ export function buildSystemPrompt( return { prompt: '', totalTokens: 0, truncated: false } } - const contextBudget = Math.floor(getContextLimit(model) * 0.6) + const contextBudget = Math.floor(getContextLimit() * 0.6) const preamble = [ 'You are a helpful AI assistant integrated into Laputa, a personal knowledge management app.', 'The user has selected the following notes as context. Use them to answer questions accurately.', diff --git a/src/utils/frontmatter.ts b/src/utils/frontmatter.ts index 6d0f77b4..bea126c7 100644 --- a/src/utils/frontmatter.ts +++ b/src/utils/frontmatter.ts @@ -40,7 +40,7 @@ export function parseFrontmatter(content: string | null): ParsedFrontmatter { let inList = false for (const line of match[1].split('\n')) { - const listMatch = line.match(/^ - (.*)$/) + const listMatch = line.match(/^ {2}- (.*)$/) if (listMatch && currentKey) { inList = true currentList.push(unquote(listMatch[1])) diff --git a/src/utils/noteListHelpers.ts b/src/utils/noteListHelpers.ts index 8c2271ba..2d9edbb6 100644 --- a/src/utils/noteListHelpers.ts +++ b/src/utils/noteListHelpers.ts @@ -1,4 +1,4 @@ -import type { VaultEntry, SidebarSelection, ModifiedFile } from '../types' +import type { VaultEntry, SidebarSelection } from '../types' export interface RelationshipGroup { label: string @@ -196,6 +196,6 @@ function filterByFilterType(entries: VaultEntry[], filter: string): VaultEntry[] return [] } -export function filterEntries(entries: VaultEntry[], selection: SidebarSelection, _modifiedFiles?: ModifiedFile[]): VaultEntry[] { +export function filterEntries(entries: VaultEntry[], selection: SidebarSelection): VaultEntry[] { return filterByKind(entries, selection) } diff --git a/src/utils/wikilinks.ts b/src/utils/wikilinks.ts index 2fafa685..26f7bf2d 100644 --- a/src/utils/wikilinks.ts +++ b/src/utils/wikilinks.ts @@ -62,7 +62,7 @@ export function splitFrontmatter(content: string): [string, string] { export function countWords(content: string): number { const [, body] = splitFrontmatter(content) - const text = body.replace(/[#*_\[\]`>~\-|]/g, '').trim() + const text = body.replace(/[#*_[\]`>~\-|]/g, '').trim() if (!text) return 0 return text.split(/\s+/).filter(Boolean).length }