TypeScript 7.0 Beta, Go 기반으로 컴파일 속도 10배 향상!

by DD
1개월 전
조회수 6

TypeScript 7.0 Beta 출시, Go 언어 기반으로 코드베이스를 전면 재구축하여 컴파일 속도 10배 향상

대규모 코드베이스(Multi-million line-of-code)에서 빌드 시간 단축 및 편집 경험 개선 효과

@typescript/native-preview 패키지를 통해 VS Code에서 즉시 사용 가능하며, 기존 tsc와 병행 사용 지원

넥스트.js(Next.js) 등 프레임워크 의존성 증가에 따른 타입스크립트(TypeScript) 성능 저하에 대한 우려 제기

Go 기반 컴파일러의 성능 향상

TypeScript 7.0은 기존 TypeScript 코드베이스를 Go로 포팅(Porting)하여 컴파일 속도(Compilation Speed)를 획기적으로 개선했다. 특히, 병렬 처리(Parallelism)를 통해 파싱(Parsing), 타입 검사(Type-checking), 코드 생성(Emitting) 등 여러 단계를 동시에 수행하여 대규모 코드베이스에서 빌드 시간(Build Time)을 대폭 단축했다. 이는 개발 생산성 향상에 기여할 것으로 예상된다.

VS Code 확장 기능 및 편집 경험 개선

TypeScript 7.0은 VS Code용 TypeScript Native Preview 확장 기능을 통해 편집기(Editor) 환경에서도 성능 향상을 제공한다. 자동 임포트(Auto-imports), 확장 가능한 호버(Expandable Hovers), 인레이 힌트(Inlay Hints), 코드 렌즈(Code Lenses) 등 다양한 기능을 지원하며, 언어 서버 프로토콜(Language Server Protocol)을 기반으로 구축되어 있어 다양한 편집기에서 활용 가능하다. 이는 개발자의 코드 작성(Code Writing) 경험을 향상시킨다.

기존 TypeScript 6.0과의 호환성

TypeScript 7.0은 TypeScript 6.0과의 호환성을 유지하며, 기존 코드를 문제없이 컴파일할 수 있도록 설계되었다. 이를 위해 @typescript/native-preview 패키지를 통해 tsgo를 tsc와 병행하여 사용할 수 있도록 지원하며, @typescript/typescript6 패키지를 통해 TypeScript 6.0 API를 사용할 수 있도록 지원한다. 이는 기존 프로젝트의 점진적인 마이그레이션(Gradual Migration)을 용이하게 한다.

TypeScript 7.0의 새로운 기능 및 변경 사항

TypeScript 7.0은 strict 모드 활성화(Strict Mode Activation), 모듈 기본값 변경(Module Defaults), ECMAScript 버전 기본값 설정 등 다양한 설정 변경 사항을 도입했다. 또한, es5 지원 중단, downlevelIteration 지원 중단 등 구현 세부 사항(Implementation Details)에 대한 변경 사항도 포함되었다. 이러한 변경 사항은 기존 코드베이스에 영향을 미칠 수 있으므로, 마이그레이션(Migration) 시 주의가 필요하다.

Announcing TypeScript 7.0 Beta