본문 바로가기
github

TypeScript가 GitHub 1위 언어가 됐다, 근데 더 큰 변화가 따로 있다

by bamsik 2026. 3. 30.
반응형

TypeScript가 GitHub 1위 언어가 됐다, 근데 더 큰 변화가 따로 있다

2025년 8월, TypeScript가 GitHub에서 월간 기여자 수 기준 1위 언어가 됐다. 266만 명이 넘는 월간 기여자에 전년 대비 66% 성장. GitHub이 "10년 만에 가장 큰 언어 지각변동"이라고 불렀다.

근데 순위 얘기보다 더 중요한 게 있다. TypeScript가 지금 진짜 큰 변화를 겪고 있다.

컴파일러가 Go로 다시 쓰이고 있다

2025년 초, Microsoft가 "Project Corsa"를 발표했다. TypeScript 컴파일러와 언어 서비스를 Go로 네이티브 포팅하는 프로젝트다. 목표는 10배 빠른 빌드. 그냥 마케팅 수치가 아니라 실제 벤치마크가 있다:

  • VS Code 코드베이스: 77.8초 → 7.5초
  • Playwright: 11.1초 → 1.1초

직접 써봤냐고? 아직 preview 단계라 프로덕션에서 쓰진 못했는데, CI에서 테스트해보니 빌드 시간이 확 줄었다. 큰 프로젝트에서 타입 체크만 몇 분씩 기다리던 게 몇 초로 줄어드는 느낌은... 뭔가 세상이 달라진 것 같은 기분이 드는 게 맞다.

기존 JavaScript 기반 TypeScript는 6.0.x 시리즈까지 계속 유지된다. Microsoft 계획에 따르면 TypeScript 6.0이 JS 기반 마지막 메이저 릴리즈가 될 예정이다.

Node.js에서 TypeScript를 그냥 실행할 수 있게 됐다

또 다른 큰 변화. Node.js 22.18과 23.6부터 TypeScript 파일을 직접 실행할 수 있다. 컴파일 단계 없이.

node --experimental-strip-types server.ts

22.18.0부터는 이게 기본값이 됐다. "Type Stripping"이라고 부르는데, 타입 정보를 실행 전에 제거하고 JS로 처리하는 방식이다.

단, 주의할 게 있다. 이 방식은 "지울 수 있는(erasable)" 문법만 지원한다. 타입, 인터페이스, 제네릭은 문제없다. 하지만 enum과 namespace는 런타임 코드를 생성하기 때문에 지원 안 된다. 그래서 지금부터 enum을 as const 객체로 바꾸고, namespace를 ES 모듈로 전환하는 작업이 필요하다.

TypeScript 5.9에서 뭐가 달라졌나

2026년 1월에 5.9 stable이 나왔다. 주요 변경:

  • Import Defer Support (Stage 3): 모듈을 실제로 쓸 때까지 import를 미룰 수 있다. 번들 크기 줄이고 초기 로딩 빠르게 하는 데 유용하다.
  • tsc --init 개선: 초기 설정 파일이 더 깔끔하게 나온다. 불필요한 옵션들이 제거됐다.
  • --module node20 지원: Node.js 20 환경에 최적화된 모듈 설정.
  • 거대한 union 타입 성능 개선: 수백 개의 타입이 합쳐진 union 처리 속도가 올라갔다.

2026년 TypeScript 쓰면서 챙겨야 할 것

devnewsletter.com의 State of TypeScript 2026 보고서가 제안하는 실천 목록이 꽤 유용하다:

  1. npm 의존성 감사: 2025년 공급망 공격 여파가 아직 있다. 사용 중인 패키지 중 영향받은 게 있는지 확인.
  2. --erasableSyntaxOnly 옵션 테스트: Node.js 네이티브 TypeScript 실행 준비. enum, namespace가 있으면 에러 나서 미리 파악 가능.
  3. TypeScript 7.0 preview (@typescript/native-preview) CI 테스트: 10배 빌드 속도 미리 경험해볼 수 있다.

그래서 지금 TypeScript 배울 만한가

솔직히 이미 배워야 할 타이밍이 지났다. 2026년엔 "TypeScript도 쓸 줄 아냐"가 아니라 "TypeScript가 기본이고 JS를 쓰는 게 선택"인 상황이 됐다. 특히 빌드 속도 문제 때문에 주저하던 사람들도, 네이티브 컴파일러가 나오면 그 이유가 사라진다.

단점이라면 — 마이그레이션 비용. 기존 JS 프로젝트를 TS로 바꾸는 건 아직도 귀찮은 작업이다. 특히 타입 없는 라이브러리 쓸 때나 레거시 코드에 타입 붙이는 거. 그게 싫어서 미루는 사람들 이해한다. 근데 결국 하게 된다.


📎 참고 자료

반응형