인프런 커뮤니티 질문&답변

기본은하고싶다님의 프로필 이미지
기본은하고싶다

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

Link와 eslint

에러가 떠도 컴파일 수행이 됩니다. (Eslint 관련 질문)

해결된 질문

작성

·

955

0

제로초님, 안녕하세요, 개인 프로젝트를 하는 도중에 막힘이 있어 도움을 구하고자 글을 올리게 되었습니다.

일단 제 개인 프로젝트는 next.js(react) + typescript로 구성하였고 eslint를 적용했습니다.

개인 프로젝트이긴 하지만 eslint의 내용은 해당 강의를 많이 참조하여서 크게 다른 부분은 없다고 생각합니다.

먼저 제 프로젝트 루트 폴더에 저장한 eslintrc.json 파일 입니다.

[.eslintrc.json]

그리고 아래는 문제의 코드입니다. 114번째 줄 함수의 파라미터에 타입을 지정해주지 않아 빨간줄이 쫙 그어진 모습입니다.

eslint가 아닌 ts로 타입 체크를 하는 모습이긴 하지만 확실히 파일이 빨간색으로 뜨는 등 문제를 표시해주는 모습입니다.

[terminal]

그런데 컴파일은 ? 무사히 됩니다.

[eslintrc.json]

eslintrc.json 64번째 줄: react/prop-types를 off로 해두어서 eslint가 적용되지 않고 ts로 대충 주의만 주고 컴파일 시켜주는 건가 해서

off-> on으로 바꾸었는데도

그것과 상관없이 컴파일은 잘 됩니다. 문제가 생겼는데 컴파일이 되는게 고민입니다

저는 eslint 에러가 발생하면 컴파일이 안되게 하고 싶은데 혹시 어떻게 설정해야하는지 알 수 있을까요? 아래처럼요..

다음은 혹시 몰라 올리는 tsconfig.json과 package.json scripts 부분입니다.

[package.json]

[tsconfig.json]

extension인 ESLint도 설치한 상태입니다.

답변 2

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

일단 eslint랑 tsc 타입 체크 둘 다 강제는 아니라서 컴파일은 됩니다. tsc에 에러가 있을 때 컴파일을 막으려면 tsc --noEmitOnError 해야 합니다. tsconfig.json의 compilerOptions 안에 noEmitOnError: true 하세요.

0

먼저 질문 읽어주시고, 답변 해주셔서 정말 감사합니다. 

음.. 코드 추가를 했는데도 컴파일이 여전히 되고 있습니다.

 

'noemitonerror not working' 으로 구글링을 해보니

특정한 tsc 명령문이 나와서 터미널에 입력해보았는데요

```

tsc --p ./tsconfig.json

or

tsc --noEmitOnError ~.ts

```

Error가 뜹니다. command not found: tsc 입니다. 

tsc을 다시 설치하고?  위의 tsc --p ./tsconfig.json을 수행하면 해결이 될까요??

 

npx --package typescript tsc --version 을 하니 버전은 뜨고

npx tsc를 하니 일시적이지만 에러 구문을 표시해줍니다.

말씀해주신 tsc 설정이 제가 원하는 결과값을 주는 건 확실한 것 같습니다.

 

외람되지만 제가 좀 오래전에 설정해둔 내용들이라 기억이 가물가물하네요..
typescript가 package.json에 추가되어 있고, tsconfig.json도 잘 있는 상황에서
tsc를 찾을 수 없다고 한다는 건 처음 설정 때부터 문제가 있었던 걸까요.. 아님 별개인 걸까요 
아니면 터미널에 명령어를 저렇게 날리면 안되는 걸까요ㅜㅜ

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

tsc 명령은 npm i -g typescript를 해야 할 수 있는데요. 요즘은 -g로 설치 안 하고 npx tsc로 명령어 쓰는 추세입니다. npx tsc --p ./tsconfig.json 하시면 될듯합니다.

기본은하고싶다님의 프로필 이미지
기본은하고싶다

작성한 질문수

질문하기