본문 바로가기

TIL ( CODESTATES)

Linting

sprint repository에서 npm run lint 라고 입력하니까 lint 가 실행되면서 어떤 파일에서 어떤 에러가 있는지 자세히 나왔다.

무려 113 errors

 

1. no-undef 에러가 대부분이니까 여기서부터 해결해야겠다.

먼저, no-undef 에러는 mocha 에서 사용하는 함수 관련 에러라고 한다.

no-undef 에러가 발생하는 이유 

The no-undef rule will warn on variables that are accessed but not defined within the same file. If you are using global variables inside of a file then it's worthwhile to define those globals so that ESLint will not warn about their usage. 

You can define global variables either using comments inside of a file or in the configuration file.

 

나는 configuration file에 글로벌로 정의하는 것을 선택했다.

왜냐면 내 생각엔 file 안에 코멘트로 넣는다고 하면 각 과제의 js 파일에서 각자 정의해 줘야할 것 같아서.

(이게 맞는지는 나중에 office hour 때 확인해봐야겠다.)

 

sprint 디렉토리에서 code.eslintrc.js 입력하면 vs code 가 해당 파일을 연다.

여기에서 CLI에서 no-undef 라고 떴던 단어들을 global로 정의해주었다.

 

이후 24 error 로 현저히 적어졌다.

 

아직까지 남아 있는 no-undef 에러 중 __dirname도 있었는데 이건 node.js 에서 사용하는 변수라고 한다.

우리가 브라우저 및 노드를 사용하고 있다고 알려줌으로써 에러를 없앨 수 있다고 한다.

 

마찬가지로 configuration file에서 해결할 수 있었는데 env 에 'node'를 true 로 입력해주니 

에러가 17 error 로 줄어들었다.

 

2. no-unused-vars 에러

no-unused-vars 에러가 발생하는 이유

사용되지 않은 변수에 대해서 에러를 발생시시키는 rule 이었다.

과제에서 작성해야하는 함수는 정의만 될 뿐 index.js 에서 실행되지 않는 내용이므로 에러가 발생한다고 한다.

 

검사 조건을 완화해주는 설정을 해야 하는데 이 문제 역시 configuration file 에 있는 rule 에서 정의해 줄 수 있었다.

특정 에러 메시지를 에러로 처리하지 않고, 경고로 처리하거나, 아예 무시하는 옵션을 줄 수가 있는데 나는 off 로 설정해 주었다.

configuring rules

 

여기까지 하고 나니 CLI에 npm run lint 를 입력해도 아무런 에러 메세지가 뜨지 않았다.

음 근데 에러가 113개 있다가 갑자기 없으니까 잘 된 건가 좀 의심스럽네 쩝...

 

오늘은 여기까지.