반응형
발단
기존 tsc를 사용하다 swc로 마이그레이션 하는 작업에서 에러가 발생하였다.
failed to process input file
Caused by:
0: failed to read swcrc file (src/talk/channel/talk-channel-session.ts)
1: failed to deserialize .swcrc (json) file: unmatched data: 0:0
2: data did not match any variant of untagged enum FileMatcher
당시 .swcrc
는 다음과 같은 상태였다.
해결 방법
2번째 줄을 다음과 같이 변경한다.
exclude: ["node_modules", "dist"],
원인
다시 앞으로 돌아와서, 이 문제는 tsconfig.json
에서 .swcrc
로 "그대로" 마이그레이션 하는 과정에서 발생하였다.
필자는 exclude의 값을 그대로 swc에 적용하다가 문제가 발생 한 것이다.
가장 중요한 부분은.swcrc
와 tsconfig.json
은 exclude의 와일드카드 지원이 서로 다르다.
**/*.spec.ts
와 **/node_modules/*
의 공통점은 Glob Patterns이다.
swc는 현재 글 작성일 (23/01/07) 기준으로 아직 Glob Patterns을 지원하지 않는다.
대신, swc는 regex를 사용하도록 안내하고 있다.
공식 문서 읽기를 생활화 하자.
반응형