@exiles/edkit
v0.1.0
Published
Lightweight Elite Dangerous API toolkit (EDSM, EliteBGS v5, EDCD tick, Ardent) with retries, cache, rate limit, and optional EDDN.
Maintainers
Readme
README.md
# edkit
A tiny, drop-in Elite Dangerous toolkit for Node 20+ (ESM).
Covers **EDSM** (systems, bodies, stations, markets), **EliteBGS v5** (factions, systems, stations, ticks), **EDCD tick detector**, **Ardent market**, and optional **EDDN** (ZeroMQ).
## Install
```bash
npm install @yourname/edkit
# optional for EDDN consumer:
npm install zeromqQuick start
// examples/demo.mjs
import edkit from "@yourname/edkit";
// EDSM: system details
const sol = await edkit.edsm.getSystem("Sol", { showCoordinates: 1, showInformation: 1, showPrimaryStar: 1 });
console.log(sol?.information?.allegiance);
// EliteBGS: last tick
const ticks = await edkit.ebgs.getTicks();
console.log("EBGS last tick:", ticks?.[0]?.last_tick);
// EDCD tick detector (hosted service)
const last = await edkit.ticks.getLatest();
console.log("EDCD last tick:", last);
// Ardent: station market
// const market = await edkit.ardent.getStationMarket("Sol", "Galileo");
// console.log(market);API Surface (high-level)
edsm.getSystem(opts)/getSystems(opts)/getSphereSystems(opts)/getCubeSystems(opts)edsm.getBodies(systemName)/getStations(...)/getMarket(...)/getShipyard(...)/getOutfitting(...)edsm.getFactions(systemName)/getTraffic(systemName)/getDeaths(systemName)ebgs.getFactions(params)/getSystems(params)/getStations(params)/getTicks(params)ticks.getLatest()/ticks.getHistory(start, end)ardent.getStationMarket(system, station)/getBestPrice(commodity)startEDDN({ onMessage, schemas=['journal'], endpoint })(requireszeromq)
Config (env)
EDSM_BASE_URL,EBGS_BASE_URL,ARDENT_BASE_URL,TICK_BASE_URL, `EDKIT_UA
License
MIT ©
# `LICENSE` (MIT)
```text
MIT License
Copyright (c) 2025 Your Name
Permission is hereby granted, free of charge, to any person obtaining a copy