갑자기 yarn build 에서 문제 발생!

nest build & tsc-alias

node_modules/@types/cacheable-request/index.d.ts:118:60 - error TS2709: Cannot use namespace 'ResponseLike' as a type.

118         emit(event: 'response', response: ServerResponse | ResponseLike): boolean;

이런 식의 에러가 수두둑… ResponseLike가 문제라고 표시

cacheable-request 가 문제인 것으로 보였는데….

node_modules의 파일을 실제로 열어보면, ResponseLike를 responselike 라는 패키지에서 가져오는걸 알 수 있다.

serverless ← got ← cacheable-request ← responselike

좀 더 정확하게는 @types/cacheable-request@^6.0.1 ← "@types/responselike" "” ← "@types/responselike" "” 의 형태였는데,

이때 "@types/responselike" "*” 의 버전이 3.0.0 으로 되어서 문제가 발생했다.

responselike 버전을 2.0.0 으로 고정해주면 문제가 생기지 않음.

"resolutions": {
    "responselike": "2.0.0"
},

got 의 버전이 11.8.5 였는데, got 의 최신버전을 쓰면 문제가 없는 듯.

serverless에서 got 의 버전을 올려줘야 문제가 해결될 듯 하다.

그래서 결론,

  1. yarn.lock 을 열어서 보면, 패키지들의 디펜던시를 확인할 수 있다.