You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
1.0 KiB
JavaScript

import { defineConfig, globalIgnores } from "eslint/config";
import nextVitals from "eslint-config-next/core-web-vitals";
import nextTs from "eslint-config-next/typescript";
const eslintConfig = defineConfig([
...nextVitals,
...nextTs,
{
rules: {
// 디자인 레퍼런스(대시보드.html)의 폰트 로딩을 그대로 이식하기 위해
// App Router layout 의 <head> 에서 CDN <link> 로 폰트를 불러온다.
// no-page-custom-font 는 Pages Router 전용 규칙이라 여기선 오탐 → 비활성화.
"@next/next/no-page-custom-font": "off",
// 마운트 후 localStorage 복원 / next-themes mounted 가드는
// SSR 안정성을 위해 effect 내 setState 가 불가피한 정당 패턴 → 비활성화.
"react-hooks/set-state-in-effect": "off",
},
},
// Override default ignores of eslint-config-next.
globalIgnores([
// Default ignores of eslint-config-next:
".next/**",
"out/**",
"build/**",
"next-env.d.ts",
]),
]);
export default eslintConfig;