개요
Monorepo 환경에서는 여러 패키지를 하나의 리포지토리에 관리하기 때문에, 각 패키지마다 개별적인 ESLint 설정이 필요할 때가 있습니다. 이때 ESLint가 어느 디렉터리를 기준으로 작동할지 결정하는 것이 중요합니다.
이번 블로그 포스트에서는 Visual Studio Code(VSCode)에서 Monorepo 프로젝트에서 ESLint의 Current Working Directory(CWD)를 설정하는 방법을 알아보겠습니다.
VSCode의 Current working directory
VSCode에서 특별한 설정을 하지 않는다면, ESLint는 루트 폴더에 있는 ESLint 설정 파일을 기준으로 동작합니다. 하지만, Monorepo 프로젝트에서는 각각의 프로젝트마다 ESLint 설정 파일이 있을 수 있습니다.
이때, VSCode에서 ESLint의 Current Working Directory(CWD)를 설정하면, ESLint가 해당 디렉터리를 기준으로 동작하게 됩니다.
.vscode/settings.json 파일 수정
다음은 VSCode에서 ESLint의 Current Working Directory(CWD)를 설정하는 방법입니다.
- mode 설정
{
...
"eslint.workingDirectories": [{ "mode": "auto" }]
}
이렇게 설정하면, VSCode는 ESLint 설정 파일이 있는 디렉터리를 자동으로 찾아서 CWD로 설정합니다.
- pattern 설정
{
...
"eslint.workingDirectories": [{ "pattern": "./packages/*/" }]
}
Glob
패턴으로 CWD가 될 디렉터리를 설정할 수도 있습니다.
- 디렉토리 지정 설정
{
...
"eslint.workingDirectories": ["./packages/package1", "./packages/package2"]
}
이와 같이 배열로 특정 디렉터리를 지정할 수도 있습니다.
완료
이것으로 VSCode에서 Monorepo 프로젝트를 개발할 떄, ESLint의 Current Working Directory(CWD)를 설정하는 방법에 대해서 알아보았습니다.
저는 "mode": "auto"
를 설정하여 사용하고 있습니다. 특별한 문제가 없다면 이 설정을 사용하는 것을 추천합니다.
제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!
앱 홍보
Deku
가 개발한 앱을 한번 사용해보세요.Deku
가 개발한 앱은 Flutter로 개발되었습니다.관심있으신 분들은 앱을 다운로드하여 사용해 주시면 정말 감사하겠습니다.