TypeScript Language Server

Loogv0.1.2Apache-2.0

The TypeScript Language Server language server.

InstallOpens in Loog

Details

The TypeScript Language Server language server.

Extension package: 0.2.4. Upstream program: 6.0.2 (TypeScript 5.9.3).

Serves

  • TypeScript Language Server: javascript, typescript

Requires: loog.runtime.node@^0.1.0.

License: Apache-2.0. Platform: every supported platform.

The extension's Rust WASM implements the JavaScript/TypeScript language client, capability negotiation, document synchronization, requests and server lifecycle. JavaScript and TypeScript have separate acceptance fixtures; JSX/TSX use their corresponding server language IDs. The client is in this extension repository under language-clients/rust/.

Execution follows project trust. The extension draws its status color block before the cursor-position component through Loog 0.1.10's general UI tree API. It uses the locked TypeScript dependency bundled beside the server when the workspace has no compatible TypeScript installation.

Set LOOG_SOURCE to the matching Loog checkout, run npm ci, then node build.mjs. Private language-clients/rust/ sources are compiled into this package's own WASM; no shared runtime client exists. The declared configuration and initialization settings accept JSON text.

PROVENANCE.md records where the files came from and licenses/ carries their licenses.

Client builds require Rust 1.98.0 and the wasm32-unknown-unknown target. The installed component contains no JavaScript engine. Without compatible signed AOT, Wasmtime compiles the component on first load and caches native code locally. The external TypeScript language server still runs on the declared Node runtime.

Official publication adds authenticated, platform-specific AOT compiled with Wasmtime 50.0.1. An AOT-capable Loog host loads matching signed code without local compilation. Older hosts and incompatible/missing AOT use the retained WASM. The regular build archive is unsigned input to the trusted publication stage.

Contributions

Language service
ServerLanguages
TypeScript Language Server
javascripttypescript

Changelog

0.1.2

  • Tell Loog what the server found in files that are not open, so those findings show in the problems panel and status bar.

0.1.1

  • Report how the service is doing to Loog (loog:service/status) instead of drawing a status item; Loog shows it and lists the service in its language services panel.
  • Name the service in contributes.language_service.name.

0.2.4

  • Add release-side authenticated AOT for supported platforms, eliminating local compilation on matching AOT-capable Loog hosts.
  • Retain portable WASM for older hosts and incompatible runtime profiles.

0.2.3

  • Replace the TypeScript client and embedded JavaScript engine with a Rust WebAssembly component.
  • Preserve language providers, settings, synchronization, file watches, multi-root sessions, recovery and passive status UI.
  • Retain the pinned language server payload and runtime dependencies.

0.2.2

  • Show a passive, content-sized status block using the plugin name and ready, busy, stopped or error states.
  • Place the server status before the cursor-position component using the general UI tree API.
  • Upgrade: Use Loog 0.1.10 or newer for relative UI placement.

0.2.1

  • Fix JavaScript and TypeScript workspace loading, diagnostics, completion and hover for Windows extended-length and UNC paths.
  • Keep server-reported workspace errors visible in the status bar after initialization and progress updates.

0.2.0

  • Bundle the JavaScript/TypeScript language client with typed providers and status bar UI.
  • Use general Loog APIs and the locked TypeScript dependency instead of a host server declaration.

0.1.3

  • Changed the extension category from Languages to Language Services.

0.1.2

  • The manifest names what the extension is for: contributes.language_service.servers replaces contributes.language_servers. The server is unchanged; this needs a Loog that reads the new name.

0.1.1

  • The extension builds itself; nothing in what it contains changed.

0.1.0

  • Repackaged from the pinned upstream release listed in PROVENANCE.md.