본문 바로가기

typescript

(3)
[ESLint] imports/exports 구문의 순서 자동 정렬하기 이 글은 ESLint를 통해 typescript(혹은 javascript)의 imports/exports 구문을 정렬하는 방법에 대해 공부하며 작성한 글이다. ESLint에 관심이 있거나, imports를 자동으로 정렬하는 방법을 찾고 고민하고 계신 분들이 읽으면 좋을 글이다. 사건의 발단 여러 명이서 작업하고 있는 Angular 프로젝트가 있었다. 요즘에는 개발을 시작할 때, 초기 세팅(tsconfig, eslint, babel, webpack 등등)을 다 한 상태에서 작업을 하지만(심지어 boilerplate도 너무 잘 나와있다.) 사건의 발단이 된 프로젝트는 그렇지 않았다. Linter 설정이 되어있지 않아서 사람마다 코드 스타일도 달랐고, 무엇보다 코드 리뷰할 때 PR 작업과 전혀 관련없는 오로지..
[DefinitelyTyped] 내가 쓰고있는 패키지의 타입 고치기! 최근에 오픈소스 컨트리뷰션에 참가하게되면서 TypeScript 번역을 집중적으로 하고있다. (관련해서는 활동이 끝나면 글을 써볼까 한다.) TypeScript로 개발하다보니, type definition은 이제 나에겐 없어서는 안될 존재가 되었고, 마침! 사용하던 패키지에서 타입을 고쳐야함을 발견했다. node-schedule이라는 패키지를 사용하고있는데 워낙 패키지가 업데이트도 느리고 (글 쓴 시점 기준, 가장 최근 버전 업데이트가 2019년 2월...) PR과 issue는 쌓여가는데 메인테이너들이 잘 안봐주는 것 같다. 아무튼, 이걸 쓰다가 타입을 고쳐야함을 알게되었는데, 타입을 고쳐 PR을 받아내기까지에는 시간이 걸릴 것 같아서 해당 코드에서는 일단 내가 타입을 직접 따로 정의해서 사용했었다. 그렇..
[Node.js][Log] console.log말고 winston으로 log를 기록해보자! 항상 console.log에 익숙해져 있었다. 사실 혼자서 무언가를 만들다 보면 (대부분 작은 규모이다 보니) 콘솔에서만 찍어보고 직접 남겨본 적이 없었다. 하지만 대형 프로젝트에 참여하게 되면서 logging에 대해 배우게 되었다. 큰 프로젝트이다 보니 왜 로그를 남기는지 조금은 알 것 같았다. JS에서 가장 많이 쓰이는 logging 모듈인 winston에 대해서 글을 작성해보았다. Winston 설치하기현재(20년 06월) 기준으로 winston의 가장 최신 버전은 3.2.1이다. 버전 3이 나오면서 버전 2와 다른 점이 많으니, 처음 시작하는 사람들이라면 3 이상 버전을 설치하는 걸 추천한다. (2.@ 버전도 사용해봤는데 공식 문서가 있음에도 불구하고 잘 안 되는 것들이 몇 가지 있었다.)[win..