Some checks failed
Deploy with Docker Compose / deploy (push) Failing after 48s
- Add LIBRARY_SERIES_CACHE_TAG to getLibrarySeries fetch - Revalidate library-series tag in updateReadProgress and deleteReadProgress - Add eslint ignores for temp/, .next/, node_modules/ Made-with: Cursor
98 lines
2.8 KiB
JavaScript
98 lines
2.8 KiB
JavaScript
import { defineConfig } from "eslint/config";
|
|
import nextCoreWebVitals from "eslint-config-next/core-web-vitals";
|
|
import nextTypescript from "eslint-config-next/typescript";
|
|
import unusedImports from "eslint-plugin-unused-imports";
|
|
|
|
export default defineConfig([
|
|
{ ignores: ["temp/**", ".next/**", "node_modules/**"] },
|
|
...nextCoreWebVitals,
|
|
...nextTypescript,
|
|
{
|
|
plugins: {
|
|
"unused-imports": unusedImports,
|
|
},
|
|
rules: {
|
|
"@typescript-eslint/no-unused-vars": [
|
|
"warn",
|
|
{
|
|
argsIgnorePattern: "^_",
|
|
varsIgnorePattern: "^_",
|
|
caughtErrorsIgnorePattern: "^_",
|
|
},
|
|
],
|
|
"no-console": [
|
|
"warn",
|
|
{
|
|
allow: ["warn", "error"],
|
|
},
|
|
],
|
|
"@next/next/no-html-link-for-pages": "off",
|
|
"react/no-unescaped-entities": "off",
|
|
"no-unreachable": "error",
|
|
"no-unused-expressions": "warn",
|
|
"no-unused-private-class-members": "warn",
|
|
"unused-imports/no-unused-imports": "warn",
|
|
"unused-imports/no-unused-vars": [
|
|
"warn",
|
|
{
|
|
vars: "all",
|
|
varsIgnorePattern: "^_",
|
|
args: "after-used",
|
|
argsIgnorePattern: "^_",
|
|
caughtErrors: "all",
|
|
caughtErrorsIgnorePattern: "^_",
|
|
},
|
|
],
|
|
"no-empty-function": "warn",
|
|
"no-empty": ["warn", { allowEmptyCatch: true }],
|
|
"@typescript-eslint/no-explicit-any": "warn",
|
|
"@typescript-eslint/no-empty-object-type": "warn",
|
|
"@typescript-eslint/no-require-imports": "warn",
|
|
"react-hooks/error-boundaries": "warn",
|
|
"react-hooks/set-state-in-effect": "warn",
|
|
"react-hooks/refs": "warn",
|
|
"react-hooks/purity": "warn",
|
|
},
|
|
},
|
|
{
|
|
files: ["scripts/**/*.{js,mjs,cjs}"],
|
|
rules: {
|
|
"no-console": "off",
|
|
"@typescript-eslint/no-require-imports": "off",
|
|
},
|
|
},
|
|
{
|
|
files: ["src/app/**/*.tsx"],
|
|
rules: {
|
|
"react-hooks/error-boundaries": "off",
|
|
},
|
|
},
|
|
{
|
|
files: [
|
|
"src/components/layout/ClientLayout.tsx",
|
|
"src/components/layout/Sidebar.tsx",
|
|
"src/components/library/LibraryHeader.tsx",
|
|
"src/components/reader/components/PageDisplay.tsx",
|
|
"src/components/reader/components/Thumbnail.tsx",
|
|
"src/components/reader/hooks/useThumbnails.ts",
|
|
"src/components/ui/InstallPWA.tsx",
|
|
"src/components/ui/cover-client.tsx",
|
|
"src/components/series/BookGrid.tsx",
|
|
"src/components/series/BookList.tsx",
|
|
"src/contexts/ServiceWorkerContext.tsx",
|
|
"src/hooks/useNetworkStatus.ts",
|
|
],
|
|
rules: {
|
|
"react-hooks/set-state-in-effect": "off",
|
|
"react-hooks/refs": "off",
|
|
"react-hooks/purity": "off",
|
|
},
|
|
},
|
|
{
|
|
files: ["src/components/ui/cover-client.tsx"],
|
|
rules: {
|
|
"@next/next/no-img-element": "off",
|
|
},
|
|
},
|
|
]);
|