eslint 2

typescript + eslint

배경 typescript는 javascript의 대부분의 기능을 포함하고있는 javascript의 범위를 감싸는 상위집합이다. 때문에 typescript를 사용하면 javascript의 모든 기능과 최신 ECMAScript 문법을 지원하면서 타입 지원까지 된다고 보면 된다. javascript 프로젝트에서는 eslint를 사용하고, typescript 프로젝트에서는 tsconfig.json 설정을 통해 자체적으로 타입 체크가 지원 된다. 둘 다 소스코드 작성중이거나 트랜스파일 시점에 소스코드를 체크한다는 점에서는 닮은 점이 있지만 eslint는 소스코드 컨벤션과 관련이 있고, typescript는 개발자들의 실수 방지를 위한 목적이 크다는 점에서 둘은 목적이 다른 도구라고 할 수 있다. 아무튼 types..

monorepo에서 eslint 동작방식 정리

monorepo의 디렉터리구조 eslint 동작방식 설명에 앞서 monorepo 디렉터리 구조를 짚고 넘어가자. monorepo라 하면 루트 프로젝트 하위에 여러 패키지가 존재하여, 패키지가 각 패키지에 의존하고 재사용 할 수 있는 단일 웍스페이스라고 볼 수 있다. 개발자가 알아보기 쉽게 디렉터리 구조로 설명하자면 다음과 같다. /package.json /yarn.lock /node_modules /node_modules/cross-env /node_modules/workspace-a -> /workspace-a /workspace-a/package.json /workspace-b/package.json 여기서 루트에 위치한 package.json 파일이 workspaces 프로퍼티를 가진다면, 패키지 ..