tsrs.run
Arena 열기
RUST + WASM · 전부 브라우저에서 실행

tsrs — 브라우저에서 동작하는 TypeScript 타입 현미경. 타입을 읽으세요.
생략은 가짜.

IDE는 정작 필요한 타입을 “...”로 접어 버립니다. 파일을 여기에 붙여넣으면 tsrs.run이 모든 노드를 펼치고, TS2322를 줄 단위 diff로 바꾸며, 입력하는 동안 Rust 컴파일러와 tsc를 경쟁시킵니다.

멀티 파일 · 0.2 s 만에 열림 · 브라우저 밖으로 나가지 않음
1,412개 타입, 한 화면에 잘림 없음, 설치 없음, 업로드 없음
IDE에서
type UserSchema = { id: string; profile: Simplify<Merge<Extract< UserSchema, "profile">>>; … 12 more}

툴팁은 흥미로운 부분이 시작되는 곳에서 포기합니다. 복사해도 소용없습니다. 이미 접혀 있으니까요.

tsrs.run에서
0.38 ms · 24개 노드
▾ UserSchema :
id : string
▾ profile : {
age : number
tags : Array<{ id: number }> ⚠ 실제: string · 30:18
▾ meta : {
locale : 'en-GB' | 'de-DE'
status : 'active' | 'invited'

같은 타입의 모든 노드를 0.31 ms에 출력하고 충돌도 이미 표시했습니다.

0 잘린 노드
4 스트레스 프리셋
0.2 s 공유 링크 로드
3.2 ms 패키지 검사당
01 · 계측기

하나의 타입 문제.
세 가지 렌즈.

IDE 호버에 담을 수 없는 모든 것: 전체 타입 트리, 차이나는 단 하나의 리프로 축약한 오류, 그리고 모든 제네릭의 비용을 각 줄 끝에 표시합니다.

A TYPE X-RAY

심볼을 클릭하면 원시 타입, 유니온, 배열, 그리고 선언 위치까지 모든 노드가 열립니다. 요약도, 생략도 없습니다.

24개 노드 · 0.31 ms

B ERROR DIFF

TS2322가 구조적 diff로 바뀝니다. 동일한 필드는 한 줄로 접히고, 불일치하는 단 하나의 리프에는 실제 타입과 예상 타입이 함께 표시됩니다.

6단계 · 1개 변경

C COST LENS

모든 타입 정의에 파싱 시간과 인스턴스화 횟수라는 청구서가 인라인으로 붙습니다. 2 ms를 넘으면 번개 대신 불꽃이 표시됩니다.

0.38 ms 일반 · 6.40 ms 최악

02 · 프리셋 샘플 실행, 로컬에서 재계산

컴파일러를 괴롭히는 네 가지 방법.

각 프리셋에는 자체 tsconfig와 가상 파일 트리가 포함됩니다. 공유 링크에는 파일, 설정, 검사 중이던 노드까지 전체 세트가 담깁니다.

03 · NPM 검사

패키지를 확인하세요
설치하기 전에.

Bundlephobia는 JavaScript를 측정합니다. 패키지가 타입 검사기에 어떤 부담을 주는지 측정하는 도구는 없습니다. 이름을 입력하면 워커가 jsdelivr에서 .d.ts 트리를 가져와 두 엔진으로 파싱하고 등급을 매깁니다.

시간 tsrs와 tsc의 검사 시간을 나란히
무게 선언 크기, 파일 수, 내보낸 심볼
등급 한 글자: A+ 초경량부터 F 타입 폭탄까지
tsrs.run/npm/
NPM 타입 리포트 [email protected]
초경량 A+
타입 검사
tsrs 3.20 ms / tsc 28.40 ms
선언 1.4 MB
내보내기 412
tsrs 검사 · 3.20 ms · A+ README 배지
전체 리포트 · 64개 파일 열기
04 · 재현 공유

재현 자체가 링크입니다.

멀티 파일 플레이그라운드는 GitHub 이슈에서 살아남지 못합니다. 공유를 누르면 모든 파일, tsconfig, 검사 중이던 정확한 노드까지 에디터 상태가 프래그먼트로 압축됩니다. 2주 뒤에 열어도 두 엔진이 그 자리에서 다시 경쟁합니다.

01 파일 붙여넣기 원하는 만큼의 파일과 tsconfig.
02 노드 지정하기 검사한 타입도 해시에 함께 담깁니다.
03 이슈에 붙여넣기 0.2s 만에 열립니다. 계정도 업로드도 필요 없습니다.
tsrs.run/#c= N4IgbiBcCMA0IDMCWAbApgZygbWyJAdgCZoAeAdAC5bx…
나 방금 댓글 작성
재현

타입 'InputUser'를 'UserSchema'에 할당할 수 없습니다. 네 단계 안쪽에서 리프 하나가 다릅니다.

tags: Array<{
- id: string;
+ id: number;
}>
https://tsrs.run/#c=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
412줄 · 3개 파일 · 0.2 s 만에 열림 Arena에서 열기

파일을 붙여넣으세요.
타입 전체를 보세요.

계정, 업로드, 설치가 필요 없습니다. 두 컴파일러가 이미 탭 안에 있습니다.

Arena 열기
tsrs.run

TypeScript를 위한 타입 현미경. X-Ray 트리, 구조적 오류 diff, 두 엔진 속도계를 모두 브라우저에서.

독립 커뮤니티 프로젝트로 @tsrs/wasm과 oxc-project가 지원합니다. TypeScript는 Microsoft Corporation의 상표입니다. 벤치마크와 리포트 수치는 샘플 실행에서 가져온 것이며 사용자 기기에서 다시 계산됩니다.

© 2026 TSRS.RUN · 로컬에서 실행