diff --git a/web/eslint.config.mjs b/web/eslint.config.mjs new file mode 100644 index 0000000..c85fb67 --- /dev/null +++ b/web/eslint.config.mjs @@ -0,0 +1,16 @@ +import { dirname } from "path"; +import { fileURLToPath } from "url"; +import { FlatCompat } from "@eslint/eslintrc"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +const compat = new FlatCompat({ + baseDirectory: __dirname, +}); + +const eslintConfig = [ + ...compat.extends("next/core-web-vitals", "next/typescript"), +]; + +export default eslintConfig; diff --git a/web/package.json b/web/package.json index 8d81912..ac161bf 100644 --- a/web/package.json +++ b/web/package.json @@ -13,15 +13,18 @@ "@emotion/styled": "^11.14.0", "@mui/icons-material": "^6.1.10", "@mui/material": "^6.1.10", - "next": "15.0.4", + "next": "^15.1.0", "react": "^19.0.0", "react-dom": "^19.0.0", "sass": "^1.82.0" }, "devDependencies": { + "typescript": "^5.7.2", "@types/node": "^20.17.9", "@types/react": "^19.0.1", "@types/react-dom": "^19.0.2", - "typescript": "^5.7.2" + "eslint": "^9.16.0", + "eslint-config-next": "15.1.0", + "@eslint/eslintrc": "^3.2.0" } } diff --git a/web/tsconfig.json b/web/tsconfig.json index 633783e..d0a9bc2 100644 --- a/web/tsconfig.json +++ b/web/tsconfig.json @@ -6,13 +6,13 @@ "skipLibCheck": true, "strict": true, "noEmit": true, + "noImplicitAny": true, "esModuleInterop": true, "module": "esnext", "moduleResolution": "bundler", "resolveJsonModule": true, "isolatedModules": true, "jsx": "preserve", - "noImplicitAny": true, "incremental": true, "plugins": [ {