Nestia - sdk 주의사항

00_8_3·2023년 9월 26일
0

nestjs

목록 보기
3/3

NestJS의 헬퍼 라이브러리 Nestia를 사용하면

컨트롤러의 input output에 관한 sdk를 생성해준다.

참고 : https://nestia.io/docs/sdk/sdk/

이 sdk를 사용하면 자바스크립트 클라이언트 개발자들이 조금 더 편한 환경에서 개발할 수 있어보여
알아보는 중에 알게된 주의사항을 적어본다.

1. type은 export

export 하지 않은 type (또는 interface)를 사용하면
sdk에서 타입추론을 하지 못한다.
왜인가 하니... sdk 내에서도 export를 하지 않아서 가져오지 못했다.

2. type 정의를 하자.

원시타입을 제외한,
input: { name: string; email: string }
과 같이 직접 타입 정의를 하는 경우 __type과 같이 생성된 타입을 sdk에 만들어 주는데
1번과 같이 export가 되어 있지 않기 때문에 추론이 안된다.

type User = { name: string; email: string } 처럼 따로 빼서 정의를 해주어야 한다.

3. 타입 정의는 src/api 폴더 안으로

타입 정의를 내가 원하는 위치에 구현해 놓으면
packages/api 폴더에서 sdk deploy를 할 때 에러가 발생한다.

nestia.config.ts 설정 파일에 clone 옵션이 기본으로 false 값을 갖는데
true로 설정을 해주면 structures 폴더에 사용되는 모든 타입들이 clone되어 잘 tsc가 된다.

4. packages/api 패키지 제이슨 정의

npx nestia sdk를 사용해서 생성된 패키지 제이슨의 name, repository 등 기본 값이 정의되어 있어
내 설정에 맞게 따로 수정해주어야 한다.

레파지토리 루트의 패키지 제이슨을 바라보지 않는 것 같다.

0개의 댓글