TypeScript type definitions for .NET 10 BCL (Base Class Library).
- ✅ Complete .NET 10 BCL coverage - 130 namespaces, 4,295 types, 50,720 members
- ✅ camelCase members - TypeScript-friendly naming conventions
- ✅ Friendly generic aliases - Use
List<T>instead ofList_1<T> - ✅ Branded primitive types - Typed numbers via
@tsonic/types(int, long, decimal, etc.) - ✅ Full type safety - Zero TypeScript errors
npm install @tsonic/dotnet @tsonic/typesimport type { List, Dictionary, HashSet } from "@tsonic/dotnet/System.Collections.Generic";
import type { int, decimal } from "@tsonic/types";
const ages: List<int> = null!;
const prices: Dictionary<string, decimal> = null!;
const uniqueIds: HashSet<int> = null!;import type { Task } from "@tsonic/dotnet/System.Threading.Tasks";
import type { int } from "@tsonic/types";
const asyncResult: Task<int> = null!;import type { Nullable, Action, Func } from "@tsonic/dotnet/System";
import type { int } from "@tsonic/types";
const optional: Nullable<int> = null!;
const callback: Action<int> = null!;
const converter: Func<int, string> = null!;import type { IEnumerable, IQueryable } from "@tsonic/dotnet/System.Linq";
import type { int } from "@tsonic/types";
const sequence: IEnumerable<int> = null!;- 130 namespaces - All major .NET namespaces
- Flat ESM modules - Clean import paths
- Metadata sidecars -
metadata.jsonfiles for CLR-specific info - Support types - All CLR interop types imported from
@tsonic/types(ptr, ref, etc.)
- Types: PascalCase (matches .NET)
- Members: camelCase (TypeScript convention)
- Generics: Friendly aliases (
List<T>vsList_1<T>)
import type { Stream, FileStream } from "@tsonic/dotnet/System.IO";import type { HttpClient } from "@tsonic/dotnet/System.Net.Http";
import type { IPAddress, Socket } from "@tsonic/dotnet/System.Net";import type { JsonSerializer } from "@tsonic/dotnet/System.Text.Json";To regenerate TypeScript declarations from .NET assemblies:
./__build/scripts/generate.shPrerequisites:
- .NET 10 SDK installed
tsbindgenrepository cloned at../tsbindgen(sibling directory)
The script will:
- Clean existing namespace directories
- Build tsbindgen
- Generate fresh TypeScript declarations
Environment variables:
DOTNET_VERSION- .NET runtime version (default:10.0.0-rc.1.25451.107)DOTNET_HOME- .NET installation directory (default:$HOME/dotnet)
@tsonic/dotnet/
├── [Namespace]/ # .NET namespace directories (System, Microsoft, etc.)
│ ├── index.d.ts # Public type declarations
│ ├── index.js # ESM module stub
│ ├── bindings.json # CLR↔TS name mappings
│ └── internal/ # Internal implementation types
├── __internal/ # Extension method buckets
│ └── extensions/
└── __build/ # Build tooling
└── scripts/
└── generate.sh # Type regeneration script
MIT