TypeScript 코딩
워크플로우
-
파악하기. 코드를 작성하기 전에 프로젝트의 정보 출처를 읽습니다:
package.json(type,engines,packageManager,exports,scripts, 설치된 메이저 버전), 잠금 파일, 모든tsconfig*.json과 그extends체인, 루트의 워크스페이스, 프레임워크, 린트 및 포맷 설정 (pnpm-workspace.yaml,turbo.json,next.config.ts,biome.json,.oxlintrc.json), 그리고 정식 검사 명령어를 위한 CI 설정.tsc --showConfig를 실행하여extends체인을 확인합니다. 이 명령은 기본값으로 남겨진 옵션은 생략하므로references/modules.md에서 기본값을 읽습니다 (TypeScript 6과 7에서 변경되었습니다). 변경할 모듈과 그 주변 모듈을 읽고, 그들의 헬퍼, 오류 타입, 스키마, 패턴을 재사용합니다. 완료 조건: 패키지 매니저, TypeScript 메이저 버전,module및moduleResolution,strict이상의 엄격함 플래그 (noUncheckedIndexedAccess,exactOptionalPropertyTypes,erasableSyntaxOnly), 린트 및 포맷 도구 체인, 프로젝트의 검사 명령어를 말할 수 있어야 합니다. -
타입 모델링하기. 타입을 따라, 제어 흐름보다 먼저 데이터를 설계합니다. 프로세스 외부에서 입력을 받는 경우:
references/zod.md를 읽습니다. 패키지의 공개 API를 변경하는 경우:references/api.md를 읽습니다. 완료 조건: 변경 사항이 의존하는 모든 불변 조건이 타입으로 인코딩되고, 신뢰 경계를 넘는 모든 값이 사용 전에 스키마로 파싱되어야 합니다. -
빠른 반복 주기로 구현하기. 작은 단계로 작업하고 각 단계 후
tsc --noEmit(tsc -b(프로젝트 참조 사용 시))을 실행합니다. 진단 전체를 읽습니다. 진단 코드 (TS2742)는references/modules.md와references/types.md테이블의 검색 키입니다. 의존성의 API는 설치된 버전의node_modules/<pkg>/아래.d.ts파일에서 읽습니다. 버그 수정: 먼저 회귀 테스트를 작성하고 빨간색이 되는지 확인합니다. 완료 조건: 변경 사항이 새로운 진단 없이 타입 검사를 통과하고, 모든 회귀 테스트가 수정 전에는 빨간색, 수정 후에는 초록색이어야 합니다. -
검증하기. 1단계의 프로젝트 명령어를 패키지 매니저 (
pnpm exec,npx,bunx)를 통해 실행합니다. 그렇지 않으면 프로젝트가 사용하는 도구 체인에 대해 다음을 실행합니다:tsc --noEmit # tsc -b (tsconfig.json이 참조만 나열할 때) biome ci # Biome oxfmt --check && oxlint --type-aware --deny-warnings # oxlint + oxfmt vitest run --typecheck # 또는 프로젝트의 테스트 러너- `