Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/clarkmcc/go-typescript

Compile and run Typescript code natively in Go
https://github.com/clarkmcc/go-typescript

amd evaluate goja module-loader typescript

Last synced: 2 months ago
JSON representation

Compile and run Typescript code natively in Go

Awesome Lists containing this project

README

        

![](assets/banner.png)

This package provides a thin wrapper around [goja](https://github.com/dop251/goja) (a native Javascript runtime for Go). There are no direct dependencies besides goja, and [testify](https://github.com/stretchr/testify) (for testing only). This package supports the following features:
* Typescript compilation and evaluation.
* A context-aware evaluation API to support cancellation.
* AMD-style modules using the built-in [Almond module loader](https://github.com/requirejs/almond).
* Custom Typescript version registration with built-in support for versions 3.8.3, 3.9.9, 4.1.2, 4.1.3, 4.1.4, 4.1.5, 4.2.2, 4.2.3, 4.2.4, and 4.7.2.
* 90%+ test coverage
* Used in production world-wide (sponsoring company has evaluated over 1 billion scripts using this runtime)

## Installation

go get github.com/clarkmcc/go-typescript

## Examples
* [Transpile Typescript](examples/typescript_test.go)
* [Transpile and Evaluate Typescript](examples/typescript_evaluate_test.go)
* [AMD Modules](examples/typescript_amd_modules_test.go)
* [Context Cancellation](examples/typescript_context_test.go)