npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@lgriffin/esi.ts

v1.0.0

Published

This is a TypeScript Implementation for the EVE Online API offered through ESI

Downloads

62

Readme

ESI.ts

This repository contains a TypeScript implementation for the EVE Online API (ESI). This is inspired by the JavaScript implementation at https://github.com/ExperiBass/esiJS

The project is a personal goal for me, I'm a lapsed developer (actively an Engineering Manager) going back to upskill in TypeScript after a decade away from development in Node.js and Java. Why TypeScript? Familarity with JavaScript and a hopefully better experience for anyone using my app.

In my absence from coding, I have generated a lot of knowledge on concepts around architecture and design. So the intent of this application is to:

  • Build a clean architecture inspired application -- NOTE This will not be perfect, I'm going to try and adhere to it as best I can
  • Bring in Behaviour Driven Development to describe the intentions of the API for non expert programmers
  • Try and pursue a red-green TDD style approach for the APIs
  • Seperate the API into small, consumable usage
  • Look at design patterns, currently playing around with a Builder Pattern to eventually look at tailored client usage where we can have a slimmer client experience and create customised and narrower API profiles
  • Figure out how github actions work, I know enough of Jenkins to hopefully figure this out
  • Figure out caching and API management
  • Figure out auth flows and longer term token management and see can the API help here.
  • Develop a useful user guide and documentation

This is most likely overkill for most end users, my goal is maintability and extensibility of the API and try and get a best practices project off the ground. The project is in flight, this first formal public commit is more to expose the intention and architecture. The factions API was chosen first just to have a mix of open calls and auth calls. This did not follow any best practices with testing and was an attempt to just get a functional API working. A lot of time was spent battling tooling (cucumber.js does not like TypeScript) and different integrations but this is at a point now where I am happy with the intentions. As I progress through each future API grouping my aim is to follow best practices and create a hopefully useful app for the EVE Online Community.

ISK donations are always welcome to deiseman in game, reach out to chat about any ideas or how the design and API exposure could benefit your app.

API Implementation Status

As progress is made I will try and update this to show what is functional and in place.

Faction Warfare

  • [x] Get Faction Warfare Leaderboards - Characters ✔️
  • [x] Get Faction Warfare Leaderboards - Corporations ✔️
  • [x] Get Faction Warfare Leaderboards - Overall ✔️
  • [x] Get Faction Warfare Stats ✔️
  • [x] Get Faction Warfare Character Stats ✔️
  • [x] Get Faction Warfare Corporation Stats ✔️
  • [x] Get Faction Warfare Systems ✔️
  • [x] Get Faction Warfare Wars ✔️

Alliances

  • [ ] Get Alliance by ID ❌
  • [ ] Get Alliance Corporations ❌
  • [ ] Get Alliances ❌
  • [ ] Get Alliance Icons ❌

Bookmarks

  • [ ] Get Character Bookmarks ❌
  • [ ] Get Character Bookmark Folders ❌
  • [ ] Get Corporation Bookmarks ❌
  • [ ] Get Corporation Bookmark Folders ❌

Calendar

  • [ ] Get Character Calendar ❌
  • [ ] Get Calendar Event by ID ❌
  • [ ] Get Calendar Event Attendees ❌
  • [ ] Respond to Calendar Event ❌

Characters

  • [ ] Get Character by ID ❌
  • [ ] Get Character Agents Research ❌
  • [ ] Get Character Blueprints ❌
  • [ ] Get Character Corporation History ❌
  • [ ] Get Character Medals ❌
  • [ ] Get Character Notifications ❌
  • [ ] Get Character Portrait ❌
  • [ ] Get Character Roles ❌

Clones

  • [ ] Get Clones ❌
  • [ ] Get Jump Clones ❌
  • [ ] Get Implants ❌

Contacts

  • [ ] Get Character Contacts ❌
  • [ ] Get Corporation Contacts ❌
  • [ ] Get Alliance Contacts ❌
  • [ ] Add Character Contacts ❌
  • [ ] Edit Character Contacts ❌
  • [ ] Delete Character Contacts ❌

Contracts

  • [ ] Get Character Contracts ❌
  • [ ] Get Corporation Contracts ❌
  • [ ] Get Public Contracts ❌
  • [ ] Get Contract Bids ❌
  • [ ] Get Contract Items ❌

Corporations

  • [ ] Get Corporation by ID ❌
  • [ ] Get Corporation Assets ❌
  • [ ] Get Corporation Blueprints ❌
  • [ ] Get Corporation Divisions ❌
  • [ ] Get Corporation Facilities ❌
  • [ ] Get Corporation Icons ❌
  • [ ] Get Corporation Medals ❌
  • [ ] Get Corporation Members ❌

Dogma

  • [ ] Get Dogma Attributes ❌
  • [ ] Get Dogma Effects ❌

Fittings

  • [ ] Get Character Fittings ❌
  • [ ] Create Character Fitting ❌
  • [ ] Delete Character Fitting ❌

Fleets

  • [ ] Get Fleet by ID ❌
  • [ ] Get Fleet Members ❌
  • [ ] Invite Fleet Member ❌
  • [ ] Kick Fleet Member ❌
  • [ ] Update Fleet Member ❌
  • [ ] Get Fleet Wings ❌

Incursions

  • [ ] Get Incursions ❌

Industry

  • [ ] Get Industry Facilities ❌
  • [ ] Get Industry Systems ❌
  • [ ] Get Character Industry Jobs ❌
  • [ ] Get Corporation Industry Jobs ❌

Insurance

  • [ ] Get Insurance Prices ❌

Killmails

  • [ ] Get Character Killmails ❌