mrkeyoor.com_
Sat 26 Sept 03:41 UTC
Dev Toolsevaluationupdated 25 Aug 2026

typescript-go review

TypeScript Go is the staging repository Microsoft used to build the native Go port of the TypeScript compiler and language service. That work has moved into microsoft/TypeScript, and this repository now tells developers to continue there before it is archived in September 2026.

-6stars / 7d
Verdict

Our source build stopped after 8 seconds because go was missing, and the repository itself is due for archival in September 2026, so new users should go straight to microsoft/TypeScript. Keep this checkout only for historical investigation or work tied to the old @typescript/native-preview line. The port matters, but this staging repository has finished its job.

We ran it

Lab card: what happened when we ran typescript-goScreenshot of typescript-go (github.com/microsoft/typescript-go)
Install✓ · 49s437 packages · 453 MB
Build✗ · 8s
Tests✗ · 6sran, no count parsed
Known vulns70 critical · 7 high · 0 moderate · 0 low (npm audit)
Repo136830 files~5,668,799 lines of source · 562.9 MB · 3 CI workflows

Answers from our run

Does typescript-go build from source?

Dependencies installed in 49 seconds (437 packages), and the build failed. We cloned commit 89d5d5b into a clean Debian container with 3 CPUs and no project-specific setup.

Do typescript-go's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Does typescript-go have known vulnerabilities in its dependencies?

npm audit flagged 7 known advisories in the dependency tree at the time of our run.

Who should not use typescript-go?

New TypeScript contributors: the README says development and discussion have moved to microsoft/TypeScript, while this repository will be archived in September 2026.

What are the alternatives to typescript-go?

TypeScript, SWC, Oxc. Our source build stopped after 8 seconds because go was missing, and the repository itself is due for archival in September 2026, so new users should go straight to microsoft/TypeScript.

Setup2/5npm installed, but source tasks required an undocumented Go toolchain
Docs3/5Clear move notice and preview use, sparse contributor setup
Community2/5Discussion moved, leaving one open issue about the migration
Maturity2/5Port completed, but this staging repository is closing

Discussed on

  1. hnWhy Go?130 points
  2. hnMicrosoft Rewrite Tsc in Go5 points

Who it’s for

Developers examining how Microsoft implemented the TypeScript 7 native port in Go.
Teams pinned to the @typescript/native-preview package who need its historical source and change notes.
Contributors following an old issue or commit that has not yet been mapped to microsoft/TypeScript.

Who it’s NOT for

New TypeScript contributors: the README says development and discussion have moved to microsoft/TypeScript, while this repository will be archived in September 2026.
Tool authors needing a stable public compiler API: the feature table labels the API as not ready.
Teams expecting complete editor parity with TypeScript 6.0: the README still marks the language service as in progress.
Anyone treating the npm preview as the final TypeScript 7 interface: the README says the tsgo command changes to tsc for the 7.0 RC and later.

Setup reality

Our sandbox install succeeded in 49 seconds, adding 437 packages and using 453 MB. The source build then failed in 8 seconds and tests failed in 6 seconds because both commands tried to spawn go, which was not present. npm audit reported 7 high-severity vulnerabilities and no critical, moderate, or low findings.

The README's user path is much smaller: install @typescript/native-preview and run npx tsgo, or install the preview VS Code extension and enable its experimental setting. It does not give a source-contributor setup in the main README, even though our checkout required the Go toolchain for both build and test commands.

This is a 562.9 MB staging checkout with 136,830 files and npm workspaces. Its public API is marked not ready, language-service work is still incomplete, and current development has moved to microsoft/TypeScript.

The repository has completed its one job

TypeScript Go was the workshop for Microsoft's native port of TypeScript. The project rebuilt the compiler and language-service work in Go, with a preview package named @typescript/native-preview and a tsgo command. Its feature table says parsing, type checking, JavaScript output, watch mode, project references, and incremental builds are believed done against TypeScript 6.0 behavior. The language service is still marked in progress, and the public API is marked not ready.

That description now needs a large qualifier: this repository is closed for ongoing work. Its README says the native-port process is complete, directs development and discussion to microsoft/TypeScript, and says this staging repository will be permanently archived in September 2026. The last push was August 24, 2026, but the only open issue is an August notice titled "This Repo Has Moved!" Active recent commits therefore do not make this an active destination for new adoption.

The distinction matters because 26,227 stars can make the repository look like a current standalone compiler project. It is better read as a completed migration workspace. The July 8 release tagged typescript/v7.0.2 is useful history, while current TypeScript releases, bug reports, and contributions belong in the original repository.

The preview is easier than building the source

For someone testing the compiler, the README offers a short route: install @typescript/native-preview, then run npx tsgo as you would run tsc. VS Code users can install the native preview extension and set js/ts.experimental.useTsgo to true. The command is transitional, since TypeScript 7.0 RC and later use tsc.

That quick start is about consuming a packaged preview. It is not a contributor guide for this 562.9 MB source tree. The main README does not list the toolchains or commands needed to build and test the checkout. Our run makes one missing prerequisite plain: both source tasks invoke Go. A developer arriving with only Node 22 can install the JavaScript dependencies but cannot compile or test the port.

The repository also contains 136,830 files and about 5,668,799 lines of source in a workspace layout. Those figures describe a substantial compiler staging tree, not a small replacement binary that most application teams should vendor or fork. If you only want TypeScript 7, use the supported package path from the active TypeScript project.

What happened when we ran it

Our sandbox installed 437 npm packages in 49 seconds, leaving 453 MB of dependencies on disk. Installation completed successfully. The build failed 8 seconds later when the task runner started go build and received spawn go ENOENT, which means the executable was unavailable in that environment.

Tests reached the same boundary in 6 seconds. The task attempted go test ./... --timeout=45m, then stopped with spawn go ENOENT. The log does not show a compiler defect or a failing assertion, so it would be wrong to call this a TypeScript correctness failure. It shows that a fresh Debian container based on the supplied Node image did not contain a required system tool, and the main README did not prepare a source builder for that requirement.

The npm audit found 7 known high-severity vulnerabilities, with zero findings at the other listed severities. That result applies to the dependency tree we installed at commit 89d5d5b. Given that the repository is moving into archival status, anyone retaining this checkout should decide whether those dependencies need remediation or whether moving to the active repository is the cleaner answer.

Feature parity still has explicit boundaries

The feature table is refreshingly specific about what "done" means: the maintainers believe no major deficits remain and invite bug reports. It does not promise byte-for-byte sameness everywhere. Error type printouts may differ, tsconfig errors may be less helpful, JavaScript declaration emit intentionally differs, and not every module-resolution mode is supported.

Editor and tool authors face the larger limits. The language service is only nearly complete, while the API is not ready. Those labels are enough reason to avoid building a new integration against this repository's internal shape. An application team evaluating compile behavior can try the preview, but an extension author needs the current contracts and issue tracker in microsoft/TypeScript.

The README points readers to CHANGES.md for intentional differences from TypeScript 6.0. That is essential reading for migrations because a native rewrite can be useful and still behave differently at the edges. Do not infer compatibility from the completed rows alone.

Use the destination, keep this for archaeology

Microsoft has removed the hardest strategic uncertainty: the Go port is part of TypeScript's future, but this repository is not its permanent home. New bug reports here would land beside a single migration notice, and new contribution work would have to move again when archival arrives in September 2026.

Use microsoft/TypeScript for current releases and development. Choose SWC when the job is fast transformation without TypeScript's own checker, or Oxc when you want modular parser and linter components. Keep typescript-go bookmarked when a preview regression, old commit, or design decision requires the staging history. That is a narrow use, but it is the honest one.

Alternatives

ProjectWhat it isPick it when
TypeScript gh↗The active home of TypeScript, including ongoing work on the native compiler.pick this instead when you want current releases, active development, support, or a place to contribute.
SWC gh↗A Rust-based compiler platform commonly used for fast TypeScript and JavaScript transforms.pick this instead when fast transpilation matters more than TypeScript's own type-checking behavior.
Oxc gh↗A collection of high-performance JavaScript and TypeScript parser, linter, and transform tools written in Rust.pick this instead when you need a modular parser or linter toolchain rather than Microsoft's compiler implementation.

What people are saying

  1. [github-trending] microsoft/typescript-go

Sources

  1. TypeScript Go README
  2. TypeScript Go repository
  3. TypeScript Go latest release
  4. Repository move issue

More dev tools reviews

microservices-demo · Claude-Code-Usage-Monitor · pyxel · dust · kubernetes-the-hard-way · wifit3 · the whole board →