-
Go와 TS간 비즈니스 로직 공유를 목표로 개발된 AST 기반 트랜스파일러
- Go 언어의 알고리듬, 데이터 구조, 동시성 로직을 TypeScript로 변환해 백엔드와 프론트엔드 간 코드 재사용 지원
-
Struct, Interface, Channel, Goroutine, Pointer, Slice, Map 등 Go의 주요 기능을 TypeScript 문법으로 매핑
- Goroutine은 async/await 기반 비동기 처리로 변환되어 브라우저 환경에서도 실행 가능
-
VarRef 시스템을 통해 포인터 참조와 값 전달을 구현
-
Generics, Reflection, Closure, 익명 함수 등 고급 언어 기능 지원
-
encoding/json 등 표준 라이브러리를 대부분 호환하며, Reflection 및 일부 표준 라이브러리 확장은 진행 중
-
CLI와 API 모두 제공
- CLI:
goscript compile --package . --output ./dist 형태로 Go 패키지를 TypeScript로 컴파일
- Go API 및 Node.js API를 통해 프로그램 내 직접 변환 호출 가능
- Go의 간결한 동시성 모델과 타입 안정성을 TypeScript 생태계로 확장하는 실험적 접근
- MIT 라이선스