TypeScript type definitions for Node.js CLR library
npm install @tsonic/nodejsTypeScript type definitions for the Node.js CLR library.
This repo is versioned by .NET major:
- .NET 10 → versions/10/ → npm: @tsonic/nodejs@10.x
When publishing, run: npm publish versions/10 --access public
- Node.js-like APIs for .NET - fs, path, events, http, and more
- camelCase members - TypeScript-friendly naming conventions
- Primitive aliases - int, long, decimal, etc. via @tsonic/core
- Full type safety - Complete TypeScript declarations
``bash`
npm install @tsonic/nodejs @tsonic/dotnet @tsonic/core
`typescript
import { fs } from "@tsonic/nodejs/index.js";
// Read file
const content = fs.readFileSync("./package.json", "utf-8");
// Write file
fs.writeFileSync("./output.txt", "Hello from Tsonic!");
`
`typescript
import { path } from "@tsonic/nodejs/index.js";
const fullPath = path.join("config", "settings.json");
const ext = path.extname(fullPath); // ".json"
const dir = path.dirname(fullPath);
`
`typescript
import { EventEmitter } from "@tsonic/nodejs/index.js";
class MyEmitter extends EventEmitter {}
const emitter = new MyEmitter();
emitter.on("data", (chunk) => console.log(chunk));
`
`typescript`
import { http } from "@tsonic/nodejs/nodejs.Http.js";
- docs/README.md
- https://tsonic.org/nodejs/
- Types: PascalCase (matches .NET)
- Members: camelCase (TypeScript convention)
To generate CLR/PascalCase member names, regenerate with --naming clr (or omit --naming js).
To regenerate TypeScript declarations:
`bash`
./__build/scripts/generate.sh
Prerequisites:
- .NET 10 SDK installed
- tsbindgen repository at ../tsbindgennodejs-clr
- repository at ../nodejs-clr (built with dotnet build -c Release)
Environment variables:
- DOTNET_VERSION - .NET runtime version (default: 10.0.0)DOTNET_HOME
- - .NET installation directory (default: $HOME/.dotnet`)
MIT