{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"prettier.requireConfig": true,
"eslint.enable": true,
"eslint.useFlatConfig": true,
"eslint.validate": ["javascript", "typescript", "javascriptreact", "html", "typescriptreact"],
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"eslint.workingDirectories": [{ "mode": "auto" }]
}
eslint 규칙을 어겨도 vscode editor에 빨간 줄이 뜨지 않는다.
eslint는 current working directory에 있는 eslint.config.js
> eslint.config.mjs
>eslint.config.cjs
순으로 파일을 우선 찾고 없다면 루트 디렉토리를 만날 때까지 부모 디렉토리로 올라가서 파일을 찾게 된다.
현재 프로젝트의 폴더 구조는 아래와 같다.
project/
├── apps/ # 애플리케이션을 모아두는 폴더
│ ├── client/ # 프론트엔드
│ └── server/ # 백엔드
├── packages/ # 공유 패키지
│ ├── eslint/ # eslint 설정
│ └── tsconfig/ # typescript 설정
├── .prettierrc # prettier는 전역으로 설정
└── package.json
현재는 eslint.config.js
파일이 project 루트에 위치한 것이 아니라 apps/client/
밑에 있어서 VS Code의 ESLint 플러그인이 eslint.config.js
파일을 자동으로 찾지 못해 ESLint 규칙 위반에 대한 경고나 에러 표시가 나타나지 않았던 것이다.
디렉토리별로 사용하는 eslint.config.js 파일을 지정해줬다.
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"prettier.requireConfig": true,
"eslint.enable": true,
"eslint.useFlatConfig": true,
"eslint.validate": ["javascript", "typescript", "javascriptreact", "html", "typescriptreact"],
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"eslint.workingDirectories": [
{
"directory": "apps/client",
"!cwd": true,
"changeProcessCWD": true,
"configFile": "eslint.config.js"
},
{
"directory": "apps/server",
"!cwd": true,
"changeProcessCWD": true,
"configFile": "eslint.config.js"
}
]
}
https://eslint.org/docs/latest/use/configure/configuration-files#configuration-file-resolution