VSCode에서 Monorepo를 위한 ESLint 설정하기

2024-08-27 hit count image

Monorepo 프로젝트를 개발할 때, VSCode에서 ESLint를 설정하는 방법에 대해서 알아보겠습니다.

개요

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)를 설정하는 방법입니다.

  1. mode 설정
{
  ...
  "eslint.workingDirectories": [{ "mode": "auto" }]
}

이렇게 설정하면, VSCode는 ESLint 설정 파일이 있는 디렉터리를 자동으로 찾아서 CWD로 설정합니다.

  1. pattern 설정
{
  ...
  "eslint.workingDirectories": [{ "pattern": "./packages/*/" }]
}

Glob 패턴으로 CWD가 될 디렉터리를 설정할 수도 있습니다.

  1. 디렉토리 지정 설정
{
  ...
  "eslint.workingDirectories": ["./packages/package1", "./packages/package2"]
}

이와 같이 배열로 특정 디렉터리를 지정할 수도 있습니다.

완료

이것으로 VSCode에서 Monorepo 프로젝트를 개발할 떄, ESLint의 Current Working Directory(CWD)를 설정하는 방법에 대해서 알아보았습니다.

저는 "mode": "auto"를 설정하여 사용하고 있습니다. 특별한 문제가 없다면 이 설정을 사용하는 것을 추천합니다.

제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!

앱 홍보

책 홍보

블로그를 운영하면서 좋은 기회가 생겨 책을 출판하게 되었습니다.

아래 링크를 통해 제가 쓴 책을 구매하실 수 있습니다.
많은 분들에게 도움이 되면 좋겠네요.

스무디 한 잔 마시며 끝내는 React Native, 비제이퍼블릭
스무디 한 잔 마시며 끝내는 리액트 + TDD, 비제이퍼블릭
[심통]현장에서 바로 써먹는 리액트 with 타입스크립트 : 리액트와 스토리북으로 배우는 컴포넌트 주도 개발, 심통
Posts