refactor(frontend): improve type safety and migrate to ESLint 9

Migrate the frontend to ESLint 9, add `eslint.config.mjs`, and replace various `any` types with more specific or safer alternatives across the codebase.

- Update `package.json` with new ESLint and TypeScript-ESLint dependencies
- Replace `any` with `Record<string, unknown>` or specific types in `TemplatePicker`, `Editor`, and `FileBrowser`
- Improve error handling in `TeamSettings` and `Templates` using type guards
- Add explicit type imports for Excalidraw elements in `Editor.tsx`
- Refactor `Modal.tsx` for cleaner conditional logic
- Add `check` script to `package.json` for type checking
This commit is contained in:
Tomas Dvorak
2026-04-29 13:30:24 +02:00
parent ef0b519058
commit f3f9e99a97
11 changed files with 3189 additions and 59 deletions
+5 -1
View File
@@ -6,8 +6,9 @@
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"check": "tsc --noEmit",
"preview": "vite preview",
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"lint": "eslint .",
"typecheck": "tsc --noEmit",
"test": "vitest",
"test:ui": "vitest --ui",
@@ -37,9 +38,12 @@
"@types/react": "^18.3.18",
"@types/react-dom": "^18.3.5",
"@vitejs/plugin-react": "^4.3.0",
"eslint": "^9.0.0",
"eslint-plugin-react": "^7.37.0",
"jsdom": "^25.0.0",
"sass": "^1.81.0",
"typescript": "^5.6.0",
"typescript-eslint": "^8.0.0",
"vite": "^6.0.0",
"vitest": "^3.0.0"
}