타입스크립트 7.1 베타, 컴파일러 API 복원

2분 타입스크립트컴파일러 APIVueSvelte
최근 30일 조회수 — 좋아요 —

핵심 요약

컴파일러 API와 단일 파일 컴포넌트 지원을 복원·확장했지만 안정화 전까지 병행 사용이 권고된다.

타입스크립트 7.1 베타, 컴파일러 API 복원 — 기사 주제를 표현한 AI 생성 개념 삽화
AI 생성 개념 삽화 · 실제 사건을 촬영한 사진이 아닙니다.

마이크로소프트가 Go 기반 네이티브 컴파일러에 프로그래밍 API를 되돌리고 Vue·Svelte 같은 단일 파일 컴포넌트를 정식 확장 지점으로 지원하는 타입스크립트(TypeScript) 7.1 베타를 공개했다. 7월 나온 7.0 이후 첫 업데이트다. 10월 20일 발표됐으며, 릴리스 후보를 거쳐 안정판은 11월 말 출시가 잠정 목표다.1

가장 큰 변화는 7.0에서 빠졌던 컴파일러 API의 복원이다. API가 사라진 지난 석 달 동안 컴파일러를 내부에 넣어 쓰던 Vue의 볼라(Volar), Svelte, Astro, ts-morph, 타입 인식 린터는 타입스크립트 6에 머물러야 했다. 7.1은 과거의 단일 모듈을 그대로 되살리는 대신 typescript/sync, typescript/async, typescript/fs, typescript/ast처럼 용도별 진입점으로 나눴다. 편집기의 부분 수정을 이전 상태에서 파생할 수 있도록 재사용 가능한 스냅숏도 도입했다. 마이크로소프트는 안정판 출시 뒤 이 API가 7.x 전반에서 하위 호환성을 유지한다고 밝혔다.1

그 위에 콘텐츠 매퍼(content mapper)가 추가됐다. 패키지가 .vue나 .svelte 파일을 타입스크립트가 이해할 수 있는 가상 코드로 변환하고, 진단 결과를 원본 줄에 다시 연결하는 공식 플러그인 방식이다. 매퍼는 별도 프로세스로 실행되며 사용자가 명시적으로 켜야 한다. 마이크로소프트는 빌드 플러그인과 마찬가지로 신뢰할 수 있는 매퍼만 활성화하라고 경고했다.1

Vue 진영은 이미 이 구조로 옮겨가고 있다. Vue Language Tools v4 알파는 별도 vue-tsc 실행 파일 대신 @vue/content-mapper를 tsc 안에서 구동한다. InfoQ가 인용한 Directus 관리자 앱 사례에서는 Vue 컴포넌트 581개와 타입스크립트 파일 882개의 검사 시간이 vue-tsc 3의 14.19초에서 7.1과 매퍼 조합의 3.10초로 줄어 4.6배 빨라졌다. MUI 문서 벤치마크도 22.2초에서 11.9초로 단축되고 메모리는 약 절반이 됐지만, VS Code처럼 무거운 코드베이스의 향상 폭은 약 1.2배에 그쳤다.1

아직 안정판은 아니다. 특정 편집기 작업에서 매퍼가 감시하는 설정 파일을 저장하면 언어 서버를 재시작할 때까지 타입 정보가 갱신되지 않는다는 공개 이슈가 남아 있다. Vue 도구가 안정화되기 전에는 CI에서 7.1을 시험하되 편집기에는 이전 버전을 병행해야 한다는 지적도 나왔다. Vue·Svelte·Angular 프로젝트에는 프레임워크 도구가 7.1 대응판을 내놓을 때까지 타입스크립트 6과 7의 이중 설치가 권고된다.1

Footnotes

  1. InfoQ, “TypeScript 7.1 Beta: Restores the Compiler API and Makes Vue and Svelte First-Class” ↩ ↩2 ↩3 ↩4 ↩5

읽기 목록은 이 브라우저에 저장됩니다.

출처

  1. TypeScript 7.1 Beta: Restores the Compiler API and Makes Vue and Svelte First-Class — InfoQ

이 글은 위 출처를 근거로 자동 생성된 뒤 발행됐습니다. 원문을 함께 확인해 주세요. 교차 보도 없이 단독 출처로 작성됐습니다.