feat: 가상화 문서들 추가
This commit is contained in:
+2
-2
@@ -29,7 +29,7 @@ source:
|
||||
|
||||
포트는 네 종류를 받는다고 선언돼 있는데 구현은 세 종류만 적혀 있었다. 그 상태로 타입 검사가 통과했다.
|
||||
|
||||
CONCEPT 을 넘기면 구현의 삼항 사슬이 마지막 `else` 로 떨어뜨려 질문 삭제 경로를 부른다. 배포된 번들에서 서버 로그에 `DELETE /api/v1/studio/questions/{id} 404` 가 계속 찍혔다.
|
||||
CONCEPT 을 넘기면 구현의 삼항 사슬이 마지막 else 로 떨어뜨려 질문 삭제 경로를 부른다. 배포된 번들에서 서버 로그에 DELETE /api/v1/studio/questions/{id} 404 가 계속 찍혔다.
|
||||
|
||||
## 결론
|
||||
|
||||
@@ -40,7 +40,7 @@ TypeScript 에서 메서드 매개변수는 bivariant 다. 구현이 매개변
|
||||
타입 검사 : 통과
|
||||
실행 결과 : CONCEPT 이 질문 삭제로 나감
|
||||
|
||||
같은 병이 필터 타입에서도 났다. 포트와 정적 어댑터가 타입을 따로 들고 있어, 포트에 필터가 늘어도 어댑터는 모르는 상태가 됐다. `satisfies` 도 같은 이유로 잡지 못했다. 타입을 하나로 합쳐서 고쳤다.
|
||||
같은 병이 필터 타입에서도 났다. 포트와 정적 어댑터가 타입을 따로 들고 있어, 포트에 필터가 늘어도 어댑터는 모르는 상태가 됐다. satisfies 도 같은 이유로 잡지 못했다. 타입을 하나로 합쳐서 고쳤다.
|
||||
|
||||
## 검증 환경
|
||||
|
||||
|
||||
+6
-6
@@ -14,7 +14,7 @@ source:
|
||||
|
||||
# npx tsc --noEmit 이 한 파일도 검사하지 않고 성공했다
|
||||
|
||||
운영에서 릴리즈 목록이 `ReferenceError` 로 비었다. import 하나가 빠져 있었고 다른 변수는 아예 정의된 적이 없었다. `npx tsc --noEmit` 이 통과했기 때문에 그것을 보지 못했다. 루트 tsconfig 는 `"files": []` 에 project references 만 나열하므로 그 명령은 한 파일도 검사하지 않고 성공한다.
|
||||
운영에서 릴리즈 목록이 ReferenceError 로 비었다. import 하나가 빠져 있었고 다른 변수는 아예 정의된 적이 없었다. npx tsc --noEmit 이 통과했기 때문에 그것을 보지 못했다. 루트 tsconfig 는 "files": [] 에 project references 만 나열하므로 그 명령은 한 파일도 검사하지 않고 성공한다.
|
||||
|
||||
## 관계
|
||||
|
||||
@@ -27,15 +27,15 @@ source:
|
||||
|
||||
## 문제
|
||||
|
||||
운영에서 릴리즈 목록 화면이 비었고 콘솔에 `ReferenceError` 가 났다. 링크 컴포넌트 import 가 빠졌고, 이동 함수는 정의된 적이 없었다.
|
||||
운영에서 릴리즈 목록 화면이 비었고 콘솔에 ReferenceError 가 났다. 링크 컴포넌트 import 가 빠졌고, 이동 함수는 정의된 적이 없었다.
|
||||
|
||||
타입 검사를 돌렸을 때 통과했다. 그래서 이 오류가 배포까지 갔다.
|
||||
|
||||
## 결론
|
||||
|
||||
`npx tsc --noEmit` 은 루트 tsconfig 를 읽는다. 그 파일은 `"files": []` 에 project references 만 나열하므로 검사할 파일이 없고, 없는 채로 성공한다.
|
||||
npx tsc --noEmit 은 루트 tsconfig 를 읽는다. 그 파일은 "files": [] 에 project references 만 나열하므로 검사할 파일이 없고, 없는 채로 성공한다.
|
||||
|
||||
실제 검사는 `npm run check:types` 가 한다. 이 명령이 여섯 개 프로젝트를 돌며 검사한다.
|
||||
실제 검사는 npm run check:types 가 한다. 이 명령이 여섯 개 프로젝트를 돌며 검사한다.
|
||||
|
||||
그 명령으로 돌리자 저장소에 남아 있던 다른 오류도 함께 드러났다.
|
||||
|
||||
@@ -53,8 +53,8 @@ tsconfig : 루트가 project references 만 나열
|
||||
## 재현 조건
|
||||
|
||||
1. 어느 프로젝트 파일에 정의되지 않은 변수를 하나 넣는다
|
||||
2. `npx tsc --noEmit` 을 돌린다 — 성공한다
|
||||
3. `npm run check:types` 를 돌린다 — 그 파일에서 멈춘다
|
||||
2. npx tsc --noEmit 을 돌린다 — 성공한다
|
||||
3. npm run check:types 를 돌린다 — 그 파일에서 멈춘다
|
||||
|
||||
## 본문
|
||||
|
||||
|
||||
Reference in New Issue
Block a user