UncategorizedGeneral
백엔드 API 타입 배포 가이드
@types 라이브러리는 TypeScript 프로젝트에서 JavaScript 라이브러리의 타입 정보를 제공하는 역할을 함. 프론트엔드 개발 시, 타입 정보를 통해 코드 자동완성, 타입 체크, 에러 방지 등 개발 효율과 안정성을 높일 수 있다.
1.목적
@types라이브러리는 TypeScript 프로젝트에서 JavaScript 라이브러리의 타입 정보를 제공하는 역할을 함.- 프론트엔드 개발 시, 타입 정보를 통해 코드 자동완성, 타입 체크, 에러 방지 등 개발 효율과 안정성을 높일 수 있다.
- 타입 정의를 정확하게 빌드하고 관리하는 것이 유지보수와 협업에 매우 중요함.
2. 빌드 및 배포 절차
a) package.json에서 메이저 버전 업데이트 하기
# package
{
"name": "your-repository-name"
"version": "0.25.423"
}
```text
- 메이저 업데이트: 타입 업데이트 시 (ex: v0.25.526)
- 마이너 업데이트: 타입 변경 외 기능 업데이트 (ex: v0.25.526a)
### b) 타입 빌드하기
```javascript
// 타입 빌드하기
$ npm run types
> lemon-sandbox-api@0.25.526 pretypes
> rm -rf ./@types/dist && npm run prepretypes
> lemon-sandbox-api@0.25.526 prepretypes
> LS=1 ts-node @types/bin/init-package.ts
Done: lemon-sandbox-api#0.25.526
> lemon-sandbox-api@0.25.526 types
> ttsc -p ./@types/tsconfig.build.json
> lemon-sandbox-api@0.25.526 posttypes
> npm publish --dry-run ./@types
npm notice
npm notice 📦 @lemoncloud/lemon-sandbox-api@0.25.526
npm notice === Tarball Contents ===
npm notice 85B README.md
npm notice 2.3kB dist/cores/types.d.ts
npm notice 2.2kB dist/service/backend-model.d.ts
npm notice 2.9kB dist/service/backend-types.d.ts
npm notice 98.1kB dist/tsconfig.build.tsbuildinfo
npm notice 1.3kB dist/view/types.d.ts
npm notice 466B package.json
npm notice === Tarball Details ===
npm notice name: @lemoncloud/lemon-sandbox-api
npm notice version: 0.25.526
npm notice filename: lemoncloud-lemon-sandbox-api-0.25.526.tgz
npm notice package size: 36.6 kB
npm notice unpacked size: 107.4 kB
npm notice shasum: df9d9285c6b1c1b6597f8003412613dd68897313
npm notice integrity: sha512-yk645lStz6N3m[...]OVOQiPmO9hDyA==
npm notice total files: 7
npm notice
npm notice Publishing to https://registry.npmjs.org/ with tag latest and public access (dry-run)
+ @lemoncloud/lemon-sandbox-api@0.25.526
```text
- 위 명령어를 실행하면 `@types` 폴더 내 타입 정보가 담긴 파일들이 생성 된다.
---
## 3. NPM 배포
```javascript
$ npm publish ./@types
```text
- 빌드된 타입 정의를 npm에 배포한다.
- 주의: npm에 로그인되어 있어야함!! (토큰 등록 필요)
---
## 4. 트러블슈팅
- npm run types 실행 후, cores 폴더에 예상치 못한 파일이 생성되었다면, 이는 import 에러로 인한 문제일 수 있음
- @types/dist/cores 경로에 types.d.ts 파일 외 다른 파일이 있으면 안됨!!
- 이 경우, lemon-core와 관련된 import 경로를 확인하여 올바르게 수정해야 한다.노션 사용법 1 : Notion 시작하기
노션은 협업 툴로 간단하게는 아이디어를 메모하는 것에서부터 스케줄 관리 및 데이터베이스 기능까지 갖춘 자유도가 높은 업무용 툴입니다. 특히 블로그를 운영하시는 분들의 경우 노션 사용법을 익혀 두시면 글감을 탐색하거나 스크랩하는데도 매우 유용합니다.
노션 사용법 2 : Notion 페이지와 하위 페이지
노션의 워크스페이스는 회사, 사무실 같은 작업공간이라고 하면, 페이지는 작업공간에 있는 캐비넷이라고 할 수 있습니다. 이러한 페이지와 하위 페이지를 어떻게 관리 하느냐에 따라 자료를 일목요연하게 정리 할 수 있습니다. Notion의 자료정리는 Page를 만드는데서부터 출발합니다.