overengineeringstudio / overengineeringstudio/effect-utils

Upgrade to tsgo (TypeScript 7)

Open
#239 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area:typescript origin:agent type:chore
Dominant language
TypeScript
Stars
82
Forks
2
Avg merge
1d 8h
Merged PRs (30d)
121

Description

Context

TypeScript 7 (tsgo) — the Go-based native rewrite of tsc — is targeting early 2026 release. It provides ~10x faster type-checking and an improved language service.

The Effect ecosystem is also preparing a tsgo-based Effect Language Service: https://github.com/mattiamanzati/effect-typescript-go (may not yet be publicly available).

Motivation

  • Significantly faster dt ts:check and dt ts:build (10x reported improvement)
  • Native --build mode support landed in tsgo (Nov 2025, microsoft/typescript-go#529)
  • The current ts:check uses tsc -p --noEmit which doesn't enforce project-reference isolation (see #222). Switching to --build --noEmit is blocked by TS#53979. tsgo may resolve this
  • New tsgo-based Effect Language Service will provide better IDE integration

Getting Started (Darwin)

pnpx https://pkg.pr.new/mattiamanzati/effect-typescript-go/@effect/language-service-tsgo@767ad30

Patch in the same folder you have dependency on @typescript/native-preview (usually project root).

To enable in editor (VSCode-based), add to settings.json:

"typescript.native-preview.tsdk": "node_modules/@typescript/native-preview"

Tasks

  • Track tsgo stable release (TypeScript 7.0)
  • Evaluate tsgo compatibility with this repo's project-references setup
  • Test tsgo --build --noEmit — verify whether the TS6310 limitation (--build --noEmit with project refs) is resolved
  • Update Nix packaging to use tsgo binary
  • Update ts:check / ts:build tasks in nix/devenv-modules/tasks/shared/ts.nix
  • Migrate to tsgo-based Effect Language Service (mattiamanzati/effect-typescript-go) once available
  • Update @effect/language-service plugin config if needed
  • Verify CI pipeline works end-to-end with tsgo

Related


Created by an AI assistant on behalf of @schickling

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading nix/devenv-modules/tasks/shared/ts.nix and reviewing related issue #222. Evaluate tsgo project-reference support with tsgo --build --noEmit, then check the Nix packaging, ts:check and ts:build tasks, language-service configuration, and CI. Done means the repository and CI work end-to-end with the supported tsgo setup.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
build-system, ci-cd, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.