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
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;
|