TypeScript - Elite-Dangerous-Almanac/Almanac-Core GitHub Wiki

Elite Dangerous Almanac / TypeScript

@elite-dangerous-almanac/core

Static Elite Dangerous data and calculations for community applications and research — procedural system names and id64 addresses, galactic regions and nebulae, ships and outfitting with build metrics, personal equipment and engineering materials, localized display text, market commodities, and the galaxy map's location markers.

npm install @elite-dangerous-almanac/core

ESM-only, Node.js 22+ and modern browser bundlers, every module side-effect free.

import { ProceduralSystem } from '@elite-dangerous-almanac/core/astro/procedural-system';
import { BuildMetrics } from '@elite-dangerous-almanac/core/ships/build-metrics';
import { ShipLoadout } from '@elite-dangerous-almanac/core/ships/ship-loadout';
import type { LoadoutEvent } from '@elite-dangerous-almanac/core/ships/slef';

ProceduralSystem.fromName('Synuefe EN-H d11-96')?.systemAddress; // -> 3309179996515n

// One `Loadout` line from a player journal.
function jumpRangeOf(journalLine: string) {
    const event = JSON.parse(journalLine) as LoadoutEvent;
    return BuildMetrics.of(ShipLoadout.fromLoadout(event)).maxJumpRange(); // -> 60.5478
}

Guides

  • Getting started — install, which import to use, and the symbol-to-subpath map.
  • Reading a player journal — turning Loadout and FSDJump events into library objects.
  • Building an outfitting screen — mounts, what fits, fitting it, and every metric a shipyard shows.
  • Build metrics — how power, shields, armour, weapons, ammunition and range are computed.
  • Engineering — what a recipe may go on, what it rolls, and what a roll costs.
  • Working with SLEF — reading and writing loadout exports, and retail against captured credits.
  • Systems and regions — the id64 round trip, both coordinate spaces, and the four meanings of "region".
  • The failure modelnull against the three errors, and diagnostic results for unavailable metrics.

Feature areas

Area Import Provides
astro @elite-dangerous-almanac/core/astro Procedural system names, id64 addresses, sectors, galactic regions, nebulae, permit locks
ships @elite-dangerous-almanac/core/ships Hulls, modules, loadouts, SLEF, engineering, jump range, power, shields, armour, weapons
equipment @elite-dangerous-almanac/core/equipment Odyssey suits, handheld weapons, grade upgrades, engineer modifications and journal suit loadouts
i18n @elite-dangerous-almanac/core/i18n Sparse localized module, blueprint, effect, material, micro-resource, commodity and personal-equipment display text
materials @elite-dangerous-almanac/core/materials Ship engineering materials and Odyssey micro resources
commodities @elite-dangerous-almanac/core/commodities Standard and rare market commodities
galaxy-map @elite-dangerous-almanac/core/galaxy-map The galaxy map's location markers and the colours the game draws them in

The bulk data catalogues live on their own subpaths and are listed in full on the API reference.

Browse the complete API reference — every module, class, function and type, generated from the source documentation.

Writing C# instead?

The same data and the same behaviour are published as a .NET package, with guides, a reference and navigation of its own: the .NET wiki. The names differ — each package is written the way its own language reads — but the behaviour does not, and the fixtures under fixtures/ prove it for both.

Licensing

The bundled game and community data has source-specific licensing, including non-commercial terms. Review LICENSE and ATTRIBUTIONS.md before redistribution or commercial use.

⚠️ **GitHub.com Fallback** ⚠️