feat: eslint 적용 및 관련 코드 일괄 수정
This commit is contained in:
@@ -4,11 +4,13 @@
|
||||
현재 운영 중인 소스는 `legacy/` 아래에 있으며, 새 런타임은 단계적으로 전환 중입니다.
|
||||
|
||||
## 목표
|
||||
|
||||
- 레거시 PHP 기반 런타임을 TypeScript 기반 모노레포로 전환
|
||||
- 게임 로직을 순수 모듈로 분리하고 API/엔진/프론트를 서비스 단위로 구성
|
||||
- 서버+시나리오 프로파일별 빌드 및 배포 흐름 정립
|
||||
|
||||
## 구조
|
||||
|
||||
- `legacy/`: 현재 운영 중인 PHP 런타임
|
||||
- `packages/common`: 공유 유틸 및 타입 정의
|
||||
- `packages/infra`: Prisma/Redis 커넥터 등 런타임 인프라
|
||||
@@ -21,34 +23,39 @@
|
||||
- `tools/build-scripts`: 빌드 및 배포 스크립트
|
||||
|
||||
## 개발 도구 및 스크립트
|
||||
|
||||
- 패키지 매니저: pnpm 워크스페이스
|
||||
- 초기 개발기간 동안 npm 패키지는 가능한 최신버전을 유지
|
||||
- 공통 스크립트
|
||||
- `pnpm install`
|
||||
- `pnpm -r lint`
|
||||
- `pnpm -r test`
|
||||
- `pnpm -r build`
|
||||
- `pnpm -r typecheck`: `tsc --noEmit` 혹은 `tsc --build` 실행
|
||||
- `pnpm -r dev`
|
||||
- `pnpm install`
|
||||
- `pnpm lint`
|
||||
- `pnpm test`
|
||||
- `pnpm build`
|
||||
- `pnpm typecheck`: 재귀적으로 `tsc --build` 실행
|
||||
- `pnpm dev`
|
||||
- 서버 빌드
|
||||
- `pnpm build:server -- --profile <server> --scenario <scenario>`
|
||||
- 예: `pnpm build:server -- --profile che --scenario default`
|
||||
- `pnpm build:server -- --profile <server> --scenario <scenario>`
|
||||
- 예: `pnpm build:server -- --profile che --scenario default`
|
||||
|
||||
## 빌드 프로파일(예정)
|
||||
|
||||
- 프로파일은 서버+시나리오 조합이며, 시나리오 파일 지정은 필수(기본값은 별도 정의).
|
||||
- 시나리오 파일에 따라 유닛 세트, DB 세팅 등의 사전 준비가 달라짐.
|
||||
- 서버 ID: `che`, `kwe`, `pwe`, `twe`, `nya`, `pya`
|
||||
- 빌드 출력: `/dist/{profileName}`
|
||||
|
||||
## 난수 정책 (Verifiable RNG)
|
||||
|
||||
게임 로직에 영향을 주는 모든 난수는 재현 가능해야 합니다.
|
||||
현 구현을 사용합니다: `packages/common/src/util/LiteHashDRBG.ts`, `packages/common/src/util/RNG.ts`.
|
||||
|
||||
## 문서
|
||||
|
||||
- `docs/architecture/overview.md`
|
||||
- `docs/architecture/legacy-engine.md`
|
||||
- `docs/architecture/rewrite-plan.md`
|
||||
- `docs/architecture/runtime.md`
|
||||
|
||||
## 참고
|
||||
|
||||
레거시 데이터(`legacy/`)는 마이그레이션용으로만 유지되며, DB 이전 이후에는 런타임 의존성을 제거합니다.
|
||||
|
||||
Reference in New Issue
Block a user