local develop kit for lemon-core
- required to install seperately
lemon-corein advance. (recommended to use4.2.xversion)
# STEP.1 install `lemon-devkit`
npm i --save-dev lemon-devkitts-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안에 공통 모델 필드 검증 자동 삽입/갱신
{
"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"
}
}npm i --save-dev lemon-devkit@0.2.1
npm run fields:migrate
npm run fields:gen
npm run fields:guard-commonnpm i --save-dev lemon-devkit@0.2.1: project에lemon-devkit0.2.1를 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에 공통 모델 필드 검증 삽입/갱신
기존 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를 참고한다.
| Version | Description |
|---|---|
| 0.2.1 | removed proxy implementation guide and its postinstall injector. |
| 0.2.1 | fields --check compares registry by checksum/entry-count (incl. schemaVersion); exec-cli import-safe. |
| 0.2.0 | optimized with lemon-core@4.2.x. |
| 0.2.0 | added proxy development documentation. |
| 0.0.6 | optimized loadProfile() w/o async. |
| 0.0.4 | initial release. |