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
| Server | Languages |
|---|---|
| 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.serversreplacescontributes.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.