TypeScript 7.0 정식 출시, Go로 옮긴 네이티브 컴파일러

요약

Microsoft TypeScript 팀이 TypeScript 7.0을 정식 출시했다.
지난 1년간 기존 컴파일러 코드베이스를 Go로 옮긴 네이티브 포트로, 팀은 6.0보다 대체로 약 10배 빠르다고 밝혔다.
새로 작성한 것이 아니라 그대로 이식한 것이어서 타입 검사 로직은 6.0과 구조적으로 같고, 6.0에서 경고 없이 컴파일되던 코드는 7.0에서도 같은 결과를 내도록 설계됐다.
다만 프로그래매틱 API는 이번 버전에 빠졌고, 새 API는 7.1에서 제공될 예정이다.

주요 내용

  • 전체 빌드는 보통 8~12배 빨라졌다. VS Code 코드베이스 기준으로 125.7초에서 10.6초로 줄었고, 에디터에서 첫 오류가 표시되기까지의 시간도 약 17.5초에서 1.3초 미만으로 단축됐다고 소개했다.
  • 설치는 기존과 같이 npm install -D typescript로 하며, 6.0이 필요한 도구를 위해 tsc6 실행 파일을 담은 @typescript/typescript6 패키지를 함께 제공한다.
  • 실험적 병렬화 옵션 --checkers(기본값 4)와 --builders가 추가됐고, watch 모드는 폴링 방식 대신 Parcel 파일 감시기의 Go 포트로 다시 구현됐다.
  • 기본값이 바뀌어 strict가 기본으로 켜지고 module의 기본값은 esnext가 됐다.
  • target: es5, baseUrl, moduleResolution의 node10·classic, AMD·UMD·SystemJS 모듈 등 지원 중단이 예고됐던 옵션은 이제 오류로 처리된다.
  • 에디터 기능은 LSP 기반으로 제공되지만 Vue·Svelte·Astro·MDX·Angular 템플릿 같은 임베디드 언어는 아직 지원하지 않아, 해당 환경은 당분간 에디터용으로 6.0을 유지하라고 권했다.

왜 중요한가

대형 모노레포일수록 타입 검사와 에디터 응답 시간이 크게 줄어 개발 루프 전체가 빨라질 수 있다. 반면 기본값 변경과 옵션 제거, 컴파일러 API 부재 때문에 webpack 로더나 린터처럼 API에 의존하는 도구는 7.1이 나올 때까지 6.0과 병행 운용이 필요할 수 있다.

TypeScriptAnnouncing TypeScript 7.0 - TypeScriptToday we are proud to announce the availability of TypeScript 7, a 10x faster native port of TypeScript! Since its early days, TypeScript has promised to

AI와 함께 작성한 글이에요.

0

댓글 0

아직 댓글이 없어요. 첫 댓글을 남겨보세요.

glegam은 서비스 개선과 이용 분석을 위해 쿠키를 사용해요. 자세한 내용은 개인정보처리방침을 확인하세요.