lemon-devkit
v0.0.15
Published
Lemon Serverless Micro-Service Platform for local development
Maintainers
Readme
lemon-devkit
local develop kit for lemon-core
Usage
- required to install seperately
lemon-corein advance.
# STEP.1 install `lemon-devkit`
npm i --save-dev lemon-devkitlemon-fields
ts-transformer-keys의 keys<T>()를 generated registry 방식으로 교체하는 CLI 도구이다.
migrate: 기존keys<T>()호출을fieldKeys.<name><T>()로 변환gen: TypeScript checker로 field 목록을 읽고src/generated/field-registry.ts생성--check: generated registry가 source와 같은지 확인guard-common: transformer spec의checkAllKeys안에 공통 모델 필드 검증 자동 삽입/갱신
적용 순서
1. project package.json에 script 추가
{
"scripts": {
"fields:migrate": "lemon-fields migrate --report --update-tsconfig",
"fields:gen": "lemon-fields gen --report",
"fields:check": "lemon-fields --check",
"fields:guard-common": "lemon-fields guard-common --report"
}
}2. migration 명령어 실행
npm i --save-dev [email protected]
npm run fields:migrate
npm run fields:gen
npm run fields:guard-commonnpm i --save-dev [email protected]: project에lemon-devkit0.0.13를 dev dependency로 설치npm run fields:migrate: 기존keys<T>()호출을fieldKeys.<name><T>()로 변환하고ts-transformer-keystransformer plugin 제거npm run fields:gen: TypeScript checker로 field 목록을 읽어src/generated/field-registry.ts생성npm run fields:guard-common: transformer spec의checkAllKeys에 공통 모델 필드 검증 삽입/갱신
3. test와 build에 추가
기존 project의 build나 test:watch가 이미 있으면 명령 전체를 바꾸지 말고 앞에 npm run fields:gen && 또는 npm run fields:guard-common &&만 붙인다.
{
"scripts": {
"build": "npm run fields:gen && tsc",
"test:watch": "npm run fields:guard-common && LS=1 jest --config=jest.config.json --watchAll"
}
}CI에는 npm run fields:check를 추가하는 것을 권장한다.
src/generated/field-registry.ts는 source가 직접 import하는 파일이므로 commit 대상이다.
자세한 사용법은 lemon-fields README를 참고한다.
Proxy
[email protected]부터 install/upgrade 시 consumer project의 docs/proxy-implementation-guide.md와 README.md에 proxy 구현 가이드를 자동 반영한다.
Proxy 기능을 추가하거나 변경할 때는 proxy implementation guide를 먼저 확인한다.
BackendProxy, ManagerProxy, guardProxy() 계열 동작과 프로젝트 적용 절차를 이 문서 기준으로 맞춘다.
VERSION INFO
| Version | Description
|-- |--
| 0.0.13 | added proxy development documentation.
| 0.0.6 | optimized loadProfile() w/o async.
| 0.0.4 | initial release.
