cloc – Node.js 에서 모든 파일의 코드 줄 수를 확인하는 법

개요

개발을 하다 보면 내가 얼마나 코딩을 했는지, 혹은 프로젝트의 코드 줄 수가 얼마나 되는지 궁금하곤 합니다. 이 수로 나타낼 유의미한 지표는 크게 없지만, 그냥 호기심에 검색해보게 되었습니다. 그랬더니 Node.js 에는 cloc 이라는 패키지가 있다는 걸 발견했습니다.

적용과 결과

리눅스와 맥은 perl 이 내장되어 있으므로 설치할 필요는 없지만 윈도우는 별도로 설치를 해야 cloc을 이용할 수 있습니다. 윈도우 유저의 경우 Strawberry Perl 을 설치해주도록 합시다.

이제 cloc 을 global 하게 설치해줍니다.

npm install -g cloc

설치가 완료되면 가장 기본 형태의 명령어를 써봅시다.

cloc --vcs=git

공식 문서를 확인하면 사용할 수 있는 옵션이 굉장히 많습니다. package.json 에서 script 에 명령어를 추가해주면 다음 번에는 npm run cloc 으로 간단하게 이용할 수 있습니다. 저는 그 중에서 --not-match 옵션을 추가하여 package.json, package-lock.json, yarn.lock 파일을 제외하였습니다.

{
  "name": "프로젝트 이름",
  "기타등등": "기타등등", 
  "scripts": {
    "cloc": "cloc --vcs=git --not-match-f=\"(yarn\\.lock|package\\.json|package\\-lock\\.json)\" ."
  },
}

아래는 npm run cloc 한 결과입니다.


     348 text files.
     342 unique files.
      56 files ignored.

3 errors:
Unable to read:  "sopaseom/(중략...).markdown"
Unable to read:  "sopaseom/(중략...).markdown"
Unable to read:  "sopaseom/(중략...).markdown"

github.com/AlDanial/cloc v 1.86  T=1.25 s (261.3 files/s, 45512.7 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Vuejs Component                127           2018           4867          26712
JavaScript                     139           1355           3972          15246
GraphQL                         14            151             76           1000
SVG                             14              4             29            337
Pug                              9             35             19            299
Sass                             4             59             91            235
JSON                             8              0              0            140
Markdown                         2             43              0            123
HTML                             7              0              5             49
YAML                             1              0             18             32
Dockerfile                       1             20              3             23
Bourne Shell                     1              0              0              5
-------------------------------------------------------------------------------
SUM:                           327           3685           9080          44201
-------------------------------------------------------------------------------

에러가 나는 걸 보면 아마 한글명 파일은 못읽나 봅니다.

이렇게 스스로가 얼마나 코딩 노예인지를 알 수 있게 되었습니다! 축하합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

Scroll to top