ts.git
ird-ts — TypeScript client for the ird public API: .ro domains, DNS (hosted zones, DNSSEC, bring-your-own-domain claims), VPS, tunnels, IPFS, P2P apps, and async jobs. Every one of the API's 161 operations is a small typed function; the types are generated from the OpenAPI spec. Zero runtime dependencies, Node 18+, ESM and CommonJS.
Use as a dependency
No registry — add the git URL to package.json:
{
"dependencies": {
"ird-ts": "git+https://ird.cod-sursa.ro/ts.git#semver:^0.2.0"
}
}
or pin an exact commit — the latest release is
v0.2.0, the newest commit
… (the compiled dist/
is committed, so installing needs no build step):
npm install "git+https://ird.cod-sursa.ro/ts.git#<sha>"
The same coordinates are machine-readable in releases.json.
Clone
git clone https://ird.cod-sursa.ro/ts.git
browse the source in your browser →
Quickstart
import { createClient, domains } from 'ird-ts';
const client = createClient({ apiKey: process.env.IRD_API_KEY });
const { status } = await domains.check(client, 'example.ro');
// status: "registered"
The full guide — authentication, tagged errors, pagination, async jobs,
the domain safety gate, tests — is in the repo's README.md.
What's inside
src/— one module per API area (domains,dns,vps,tunnels,ipfs,p2p,jobs, …) over a small typed HTTP coresrc/generated/api.ts— request/response types generated fromspec/openapi.json, the spec the client is verified against one-to-one by the test suitedist/— the committed ESM + CommonJS build with declarationstest/— coverage, transport, gate, flow and conformance tests (npm test; live tests opt-in)
License
MIT.