@lgriffin/esi.ts 4.0.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. package/CHANGELOG.md +174 -0
  2. package/LICENSE +26 -26
  3. package/README.md +562 -557
  4. package/dist/EsiClient.d.ts +8 -2
  5. package/dist/EsiClient.d.ts.map +1 -1
  6. package/dist/EsiClient.js +9 -0
  7. package/dist/EsiClientBuilder.d.ts +4 -1
  8. package/dist/EsiClientBuilder.d.ts.map +1 -1
  9. package/dist/EsiClientBuilder.js +9 -0
  10. package/dist/clients/AccessListsClient.d.ts +15 -0
  11. package/dist/clients/AccessListsClient.d.ts.map +1 -0
  12. package/dist/clients/AccessListsClient.js +20 -0
  13. package/dist/clients/MercenaryClient.d.ts +20 -0
  14. package/dist/clients/MercenaryClient.d.ts.map +1 -0
  15. package/dist/clients/MercenaryClient.js +27 -0
  16. package/dist/clients/SkyhooksClient.d.ts +26 -0
  17. package/dist/clients/SkyhooksClient.d.ts.map +1 -0
  18. package/dist/clients/SkyhooksClient.js +35 -0
  19. package/dist/clients/SovereigntyClient.d.ts +4 -10
  20. package/dist/clients/SovereigntyClient.d.ts.map +1 -1
  21. package/dist/clients/SovereigntyClient.js +4 -12
  22. package/dist/clients/UniverseClient.d.ts +2 -2
  23. package/dist/clients/UniverseClient.d.ts.map +1 -1
  24. package/dist/clients/UniverseClient.js +3 -3
  25. package/dist/config/configManager.d.ts.map +1 -1
  26. package/dist/config/configManager.js +12 -6
  27. package/dist/config/jest/jest.setup.js +0 -1
  28. package/dist/core/ApiRequestHandler.d.ts.map +1 -1
  29. package/dist/core/ApiRequestHandler.js +7 -3
  30. package/dist/core/ClientRegistry.d.ts +6 -4
  31. package/dist/core/ClientRegistry.d.ts.map +1 -1
  32. package/dist/core/ClientRegistry.js +11 -2
  33. package/dist/core/circuitBreaker/CircuitBreaker.js +2 -2
  34. package/dist/core/constants.d.ts +3 -3
  35. package/dist/core/constants.js +2 -2
  36. package/dist/core/endpoints/accessListEndpoints.d.ts +9 -0
  37. package/dist/core/endpoints/accessListEndpoints.d.ts.map +1 -0
  38. package/dist/core/endpoints/accessListEndpoints.js +11 -0
  39. package/dist/core/endpoints/assetEndpoints.d.ts +4 -12
  40. package/dist/core/endpoints/assetEndpoints.d.ts.map +1 -1
  41. package/dist/core/endpoints/assetEndpoints.js +4 -4
  42. package/dist/core/endpoints/contactEndpoints.d.ts +1 -3
  43. package/dist/core/endpoints/contactEndpoints.d.ts.map +1 -1
  44. package/dist/core/endpoints/contactEndpoints.js +1 -1
  45. package/dist/core/endpoints/mercenaryEndpoints.d.ts +13 -0
  46. package/dist/core/endpoints/mercenaryEndpoints.d.ts.map +1 -0
  47. package/dist/core/endpoints/mercenaryEndpoints.js +15 -0
  48. package/dist/core/endpoints/skyhookEndpoints.d.ts +18 -0
  49. package/dist/core/endpoints/skyhookEndpoints.d.ts.map +1 -0
  50. package/dist/core/endpoints/skyhookEndpoints.js +20 -0
  51. package/dist/core/endpoints/sovereigntyEndpoints.d.ts +2 -7
  52. package/dist/core/endpoints/sovereigntyEndpoints.d.ts.map +1 -1
  53. package/dist/core/endpoints/sovereigntyEndpoints.js +2 -7
  54. package/dist/core/endpoints/universeEndpoints.d.ts +2 -6
  55. package/dist/core/endpoints/universeEndpoints.d.ts.map +1 -1
  56. package/dist/core/endpoints/universeEndpoints.js +2 -2
  57. package/dist/core/rateLimiter/RateLimiter.d.ts.map +1 -1
  58. package/dist/core/rateLimiter/RateLimiter.js +5 -11
  59. package/dist/core/util/headersUtil.d.ts.map +1 -1
  60. package/dist/core/util/headersUtil.js +2 -1
  61. package/dist/core/util/testHelpers.d.ts +0 -2
  62. package/dist/core/util/testHelpers.d.ts.map +1 -1
  63. package/dist/core/util/testHelpers.js +3 -19
  64. package/dist/core/util/validation.js +2 -2
  65. package/dist/index.d.ts +3 -0
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +8 -2
  68. package/dist/testing/TestDataFactory.d.ts +8 -2
  69. package/dist/testing/TestDataFactory.d.ts.map +1 -1
  70. package/dist/testing/TestDataFactory.js +86 -1
  71. package/dist/types/access-lists.d.ts +11 -0
  72. package/dist/types/access-lists.d.ts.map +1 -0
  73. package/dist/types/api-responses.d.ts +3 -0
  74. package/dist/types/api-responses.d.ts.map +1 -1
  75. package/dist/types/api-responses.js +3 -0
  76. package/dist/types/mercenary.d.ts +19 -0
  77. package/dist/types/mercenary.d.ts.map +1 -0
  78. package/dist/types/mercenary.js +2 -0
  79. package/dist/types/skyhooks.d.ts +27 -0
  80. package/dist/types/skyhooks.d.ts.map +1 -0
  81. package/dist/types/skyhooks.js +2 -0
  82. package/dist/types/sovereignty.d.ts +11 -9
  83. package/dist/types/sovereignty.d.ts.map +1 -1
  84. package/package.json +181 -156
  85. package/dist/api/alliances/getAllianceById.js +0 -17
  86. package/dist/api/alliances/getAllianceContactLabels.js +0 -13
  87. package/dist/api/alliances/getAllianceContacts.js +0 -13
  88. package/dist/api/alliances/getAllianceCorporations.js +0 -13
  89. package/dist/api/alliances/getAllianceIcons.js +0 -13
  90. package/dist/api/alliances/getAlliances.js +0 -13
  91. package/dist/api/assets/getCharacterAssets.js +0 -13
  92. package/dist/api/assets/getCorporationAssets.js +0 -13
  93. package/dist/api/assets/postCharacterAssetLocations.js +0 -13
  94. package/dist/api/assets/postCharacterAssetNames.js +0 -13
  95. package/dist/api/assets/postCorporationAssetLocations.js +0 -13
  96. package/dist/api/assets/postCorporationAssetNames.js +0 -13
  97. package/dist/api/bookmarks/getCharacterBookmarkFolders.js +0 -13
  98. package/dist/api/bookmarks/getCharacterBookmarks.js +0 -13
  99. package/dist/api/bookmarks/getCorporationBookmarkFolders.js +0 -13
  100. package/dist/api/bookmarks/getCorporationBookmarks.js +0 -13
  101. package/dist/api/calendar/getCalendarEventById.js +0 -13
  102. package/dist/api/calendar/getCalendarEvents.js +0 -13
  103. package/dist/api/calendar/getEventAttendees.js +0 -13
  104. package/dist/api/calendar/respondToCalendarEvent.js +0 -14
  105. package/dist/api/characters/getAgentsResearch.js +0 -13
  106. package/dist/api/characters/getBlueprints.js +0 -13
  107. package/dist/api/characters/getCharacterPublicInfo.js +0 -13
  108. package/dist/api/characters/getCharacterRoles.js +0 -13
  109. package/dist/api/characters/getCharacterStandings.js +0 -13
  110. package/dist/api/characters/getCharacterTitles.js +0 -13
  111. package/dist/api/characters/getContactNotifications.js +0 -13
  112. package/dist/api/characters/getCorporationHistory.js +0 -13
  113. package/dist/api/characters/getJumpFatigue.js +0 -13
  114. package/dist/api/characters/getMedals.js +0 -13
  115. package/dist/api/characters/getNotifications.js +0 -13
  116. package/dist/api/characters/getPortrait.js +0 -13
  117. package/dist/api/characters/postCSPAChargeCost.js +0 -13
  118. package/dist/api/characters/postCharacterAffiliations.js +0 -14
  119. package/dist/api/clones/getClones.js +0 -14
  120. package/dist/api/clones/getImplants.js +0 -14
  121. package/dist/api/clones/postJumpCloneActivation.js +0 -14
  122. package/dist/api/contacts/deleteCharacterContacts.js +0 -13
  123. package/dist/api/contacts/getAllianceContactLabels.js +0 -13
  124. package/dist/api/contacts/getAllianceContacts.js +0 -13
  125. package/dist/api/contacts/getCharacterContactLabels.js +0 -13
  126. package/dist/api/contacts/getCharacterContacts.js +0 -13
  127. package/dist/api/contacts/getCorporationContactLabels.js +0 -13
  128. package/dist/api/contacts/getCorporationContacts.js +0 -13
  129. package/dist/api/contacts/postCharacterContacts.js +0 -13
  130. package/dist/api/contacts/putCharacterContacts.js +0 -13
  131. package/dist/api/contracts/getCharacterContractBids.js +0 -13
  132. package/dist/api/contracts/getCharacterContractItems.js +0 -13
  133. package/dist/api/contracts/getCharacterContracts.js +0 -13
  134. package/dist/api/contracts/getCorporationContractBids.js +0 -13
  135. package/dist/api/contracts/getCorporationContractItems.js +0 -13
  136. package/dist/api/contracts/getCorporationContracts.js +0 -13
  137. package/dist/api/contracts/getPublicContractBids.js +0 -13
  138. package/dist/api/contracts/getPublicContractItems.js +0 -13
  139. package/dist/api/contracts/getPublicContracts.js +0 -13
  140. package/dist/api/corporations/getCorporationAllianceHistory.js +0 -13
  141. package/dist/api/corporations/getCorporationAlscLogs.js +0 -13
  142. package/dist/api/corporations/getCorporationBlueprints.js +0 -13
  143. package/dist/api/corporations/getCorporationDivisions.js +0 -13
  144. package/dist/api/corporations/getCorporationFacilities.js +0 -13
  145. package/dist/api/corporations/getCorporationIcon.js +0 -13
  146. package/dist/api/corporations/getCorporationInfo.js +0 -13
  147. package/dist/api/corporations/getCorporationIssuedMedals.js +0 -13
  148. package/dist/api/corporations/getCorporationMedals.js +0 -13
  149. package/dist/api/corporations/getCorporationMemberLimit.js +0 -13
  150. package/dist/api/corporations/getCorporationMemberRoles.js +0 -13
  151. package/dist/api/corporations/getCorporationMemberRolesHistory.js +0 -13
  152. package/dist/api/corporations/getCorporationMemberTracking.js +0 -13
  153. package/dist/api/corporations/getCorporationMembers.js +0 -13
  154. package/dist/api/corporations/getCorporationMembersTitles.js +0 -13
  155. package/dist/api/corporations/getCorporationProjects.js +0 -13
  156. package/dist/api/corporations/getCorporationShareholders.js +0 -13
  157. package/dist/api/corporations/getCorporationStandings.js +0 -13
  158. package/dist/api/corporations/getCorporationStarbaseDetail.js +0 -13
  159. package/dist/api/corporations/getCorporationStarbases.js +0 -13
  160. package/dist/api/corporations/getCorporationStructures.js +0 -13
  161. package/dist/api/corporations/getCorporationTitles.js +0 -13
  162. package/dist/api/corporations/getNpcCorporations.js +0 -13
  163. package/dist/api/dogma/getDogmaAttributeById.js +0 -13
  164. package/dist/api/dogma/getDogmaAttributes.js +0 -13
  165. package/dist/api/dogma/getDogmaDynamicItemAttributes.js +0 -13
  166. package/dist/api/dogma/getDogmaEffectById.js +0 -13
  167. package/dist/api/dogma/getDogmaEffects.js +0 -13
  168. package/dist/api/factions/getCharacterFactionWarfareStats.js +0 -13
  169. package/dist/api/factions/getCharacterLeaderboards.js +0 -13
  170. package/dist/api/factions/getCorporationFactionWarfareStats.js +0 -13
  171. package/dist/api/factions/getCorporationLeaderboards.js +0 -13
  172. package/dist/api/factions/getFactionLeaderboards.js +0 -13
  173. package/dist/api/factions/getFactionWarfareStats.js +0 -13
  174. package/dist/api/factions/getFactionWarfareSystems.js +0 -13
  175. package/dist/api/factions/getFactionWarfareWars.js +0 -13
  176. package/dist/api/fittings/deleteCharacterFitting.js +0 -13
  177. package/dist/api/fittings/getCharacterFittings.js +0 -13
  178. package/dist/api/fittings/postCharacterFittings.js +0 -13
  179. package/dist/api/fleets/deleteFleetMember.js +0 -13
  180. package/dist/api/fleets/deleteFleetSquad.js +0 -13
  181. package/dist/api/fleets/deleteFleetWing.js +0 -13
  182. package/dist/api/fleets/getCharacterFleetInfo.js +0 -13
  183. package/dist/api/fleets/getFleetInfo.js +0 -13
  184. package/dist/api/fleets/getFleetMembers.js +0 -13
  185. package/dist/api/fleets/getFleetWings.js +0 -13
  186. package/dist/api/fleets/postFleetInvitation.js +0 -13
  187. package/dist/api/fleets/postFleetSquad.js +0 -14
  188. package/dist/api/fleets/postFleetWing.js +0 -13
  189. package/dist/api/fleets/putFleetMember.js +0 -13
  190. package/dist/api/fleets/putFleetSquad.js +0 -13
  191. package/dist/api/fleets/putFleetWing.js +0 -14
  192. package/dist/api/fleets/updateFleet.js +0 -13
  193. package/dist/api/incursions/getIncursions.js +0 -13
  194. package/dist/api/industry/getCharacterIndustryJobs.js +0 -13
  195. package/dist/api/industry/getCharacterMiningLedger.js +0 -13
  196. package/dist/api/industry/getCorporationIndustryJobs.js +0 -13
  197. package/dist/api/industry/getCorporationMiningObserver.js +0 -13
  198. package/dist/api/industry/getCorporationMiningObservers.js +0 -13
  199. package/dist/api/industry/getIndustryFacilities.js +0 -13
  200. package/dist/api/industry/getIndustrySystems.js +0 -13
  201. package/dist/api/industry/getMoonExtractionTimers.js +0 -13
  202. package/dist/api/insurance/getInsurancePrices.js +0 -13
  203. package/dist/api/killmails/getCharacterRecentKillmails.js +0 -13
  204. package/dist/api/killmails/getCorporationRecentKillmails.js +0 -13
  205. package/dist/api/killmails/getKillmail.js +0 -13
  206. package/dist/api/location/getCharacterLocation.js +0 -13
  207. package/dist/api/location/getCharacterOnline.js +0 -13
  208. package/dist/api/location/getCharacterShip.js +0 -13
  209. package/dist/api/loyalty/getLoyaltyPoints.js +0 -13
  210. package/dist/api/loyalty/getLoyaltyStoreOffers.js +0 -13
  211. package/dist/api/mail/deleteCharacterMail.js +0 -13
  212. package/dist/api/mail/deleteCharacterMailLabel.js +0 -13
  213. package/dist/api/mail/deleteCharacterMailLabel.test.js +0 -21
  214. package/dist/api/mail/getCharacerMailingLists.test.js +0 -33
  215. package/dist/api/mail/getCharacterMail.js +0 -13
  216. package/dist/api/mail/getCharacterMailHeaders.js +0 -13
  217. package/dist/api/mail/getCharacterMailLabels.js +0 -13
  218. package/dist/api/mail/getCharacterMailingLists.js +0 -13
  219. package/dist/api/mail/postCharacterMail.js +0 -13
  220. package/dist/api/mail/postCharacterMailLabels.js +0 -13
  221. package/dist/api/mail/putCharacterMail.js +0 -13
  222. package/dist/api/market/getCharacterOrderHistory.js +0 -13
  223. package/dist/api/market/getCharacterOrders.js +0 -13
  224. package/dist/api/market/getCorporationOrderHistory.js +0 -13
  225. package/dist/api/market/getCorporationOrders.js +0 -13
  226. package/dist/api/market/getMarketGroupInformation.js +0 -13
  227. package/dist/api/market/getMarketGroups.js +0 -13
  228. package/dist/api/market/getMarketHistory.js +0 -13
  229. package/dist/api/market/getMarketOrders.js +0 -13
  230. package/dist/api/market/getMarketOrdersInStructure.js +0 -13
  231. package/dist/api/market/getMarketPrices.js +0 -13
  232. package/dist/api/market/getMarketTypes.js +0 -13
  233. package/dist/api/meta/getSwaggerJson.js +0 -13
  234. package/dist/api/meta/getSwaggerYaml.js +0 -37
  235. package/dist/api/opportunities/getCharacterOpportunities.js +0 -13
  236. package/dist/api/opportunities/getOpportunitiesGroupById.js +0 -13
  237. package/dist/api/opportunities/getOpportunitiesGroups.js +0 -13
  238. package/dist/api/opportunities/getOpportunitiesTaskById.js +0 -13
  239. package/dist/api/opportunities/getOpportunitiesTasks.js +0 -13
  240. package/dist/api/pi/getColonies.js +0 -13
  241. package/dist/api/pi/getColonyLayout.js +0 -13
  242. package/dist/api/pi/getCorporationCustomsOffices.js +0 -13
  243. package/dist/api/pi/getSchematicInformation.js +0 -13
  244. package/dist/api/route/getRoute.js +0 -13
  245. package/dist/api/search/getCharacterSearch.js +0 -13
  246. package/dist/api/skills/getCharacterAttributes.js +0 -13
  247. package/dist/api/skills/getCharacterSkillQueue.js +0 -13
  248. package/dist/api/skills/getCharacterSkills.js +0 -13
  249. package/dist/api/sovereignty/getSovereigntyCampaigns.js +0 -13
  250. package/dist/api/sovereignty/getSovereigntyMap.js +0 -13
  251. package/dist/api/sovereignty/getSovereigntyStructures.js +0 -13
  252. package/dist/api/status/getStatus.js +0 -13
  253. package/dist/api/ui/postAutopilotWaypoint.js +0 -13
  254. package/dist/api/ui/postOpenContractWindow.js +0 -13
  255. package/dist/api/ui/postOpenInformationWindow.js +0 -13
  256. package/dist/api/ui/postOpenMarketDetailsWindow.js +0 -13
  257. package/dist/api/ui/postOpenNewMailWindow.js +0 -13
  258. package/dist/api/universe/getAncestries.js +0 -13
  259. package/dist/api/universe/getAsteroidBeltInfo.js +0 -13
  260. package/dist/api/universe/getBloodlines.js +0 -13
  261. package/dist/api/universe/getConstellationById.js +0 -13
  262. package/dist/api/universe/getConstellations.js +0 -13
  263. package/dist/api/universe/getFactions.js +0 -13
  264. package/dist/api/universe/getGraphicById.js +0 -13
  265. package/dist/api/universe/getGraphics.js +0 -13
  266. package/dist/api/universe/getItemCategories.js +0 -13
  267. package/dist/api/universe/getItemCategoryById.js +0 -13
  268. package/dist/api/universe/getItemGroupById.js +0 -13
  269. package/dist/api/universe/getItemGroups.js +0 -13
  270. package/dist/api/universe/getMoonById.js +0 -13
  271. package/dist/api/universe/getPlanetById.js +0 -13
  272. package/dist/api/universe/getRaces.js +0 -13
  273. package/dist/api/universe/getRegionById.js +0 -13
  274. package/dist/api/universe/getRegions.js +0 -13
  275. package/dist/api/universe/getSchematicById.js +0 -13
  276. package/dist/api/universe/getStarById.js +0 -13
  277. package/dist/api/universe/getStargateById.js +0 -13
  278. package/dist/api/universe/getStationById.js +0 -13
  279. package/dist/api/universe/getStructureById.js +0 -13
  280. package/dist/api/universe/getStructures.js +0 -13
  281. package/dist/api/universe/getSystemById.js +0 -13
  282. package/dist/api/universe/getSystemJumps.js +0 -13
  283. package/dist/api/universe/getSystemKills.js +0 -13
  284. package/dist/api/universe/getSystems.js +0 -13
  285. package/dist/api/universe/getTypeById.js +0 -13
  286. package/dist/api/universe/getTypes.js +0 -13
  287. package/dist/api/universe/postBulkNamesToIds.js +0 -14
  288. package/dist/api/universe/postNamesAndCategories.js +0 -14
  289. package/dist/api/wallet/getCharacterWallet.js +0 -13
  290. package/dist/api/wallet/getCharacterWalletJournal.js +0 -13
  291. package/dist/api/wallet/getCharacterWalletTransactions.js +0 -13
  292. package/dist/api/wallet/getCorporationWalletJournal.js +0 -13
  293. package/dist/api/wallet/getCorporationWalletTransactions.js +0 -13
  294. package/dist/api/wallet/getCorporationWallets.js +0 -13
  295. package/dist/api/wars/getWarById.js +0 -13
  296. package/dist/api/wars/getWarKillmails.js +0 -13
  297. package/dist/api/wars/getWars.js +0 -13
  298. package/dist/builders/AllianceApiBuilder.js +0 -13
  299. package/dist/builders/AssetsApiBuilder.js +0 -13
  300. package/dist/builders/BookmarkApiBuilder.js +0 -13
  301. package/dist/builders/CalendarApiBuilder.js +0 -13
  302. package/dist/builders/CharacterApiBuilder.js +0 -13
  303. package/dist/builders/ClonesApiBuilder.js +0 -13
  304. package/dist/builders/ContactsApiBuilder.js +0 -13
  305. package/dist/builders/ContractsApiBuilder.js +0 -13
  306. package/dist/builders/CorporationsApiBuilder.js +0 -13
  307. package/dist/builders/DogmaApiBuilder.js +0 -13
  308. package/dist/builders/FactionApiBuilder.js +0 -13
  309. package/dist/builders/FittingsApiBuilder.js +0 -13
  310. package/dist/builders/FleetApiBuilder.js +0 -13
  311. package/dist/builders/IncursionsApiBuilder.js +0 -13
  312. package/dist/builders/IndustryApiBuilder.js +0 -13
  313. package/dist/builders/InsuranceApiBuilder.js +0 -13
  314. package/dist/builders/KillmailsBuilder.js +0 -13
  315. package/dist/builders/LocationApiBuilder.js +0 -13
  316. package/dist/builders/LoyaltyApiBuilder.js +0 -13
  317. package/dist/builders/MailApiBuilder.js +0 -13
  318. package/dist/builders/MarketApiBuilder.js +0 -13
  319. package/dist/builders/MetaApiBuilder.js +0 -13
  320. package/dist/builders/OpportunitiesApiBuilder.js +0 -13
  321. package/dist/builders/PiApiBuilder.js +0 -13
  322. package/dist/builders/RouteApiBuilder.js +0 -13
  323. package/dist/builders/SearchApiBuilder.js +0 -13
  324. package/dist/builders/SkillsApiBuilder.js +0 -13
  325. package/dist/builders/SovereigntyApiBuilder.js +0 -13
  326. package/dist/builders/StatusApiBuilder.js +0 -13
  327. package/dist/builders/UiApiBuilder.js +0 -13
  328. package/dist/builders/UniverseApiBuilder.js +0 -13
  329. package/dist/builders/WalletApiBuilder.js +0 -13
  330. package/dist/builders/WarsAPIBuilder.js +0 -13
  331. package/dist/clients/BookmarkClient.js +0 -28
  332. package/dist/clients/OpportunitiesClient.js +0 -33
  333. package/dist/config/constants.js +0 -11
  334. package/dist/core/ApiError.js +0 -11
  335. package/dist/core/container/Container.js +0 -145
  336. package/dist/core/errors/ApiError.js +0 -129
  337. package/dist/core/factory/ApiFactory.js +0 -170
  338. package/dist/core/logger/index.d.ts +0 -2
  339. package/dist/core/logger/index.d.ts.map +0 -1
  340. package/dist/core/logger/index.js +0 -8
  341. package/dist/core/util/file.js +0 -26
  342. package/dist/core/util/inputValidation.js +0 -9
  343. package/dist/core/util/network.js +0 -15
  344. package/dist/core/util/request.js +0 -21
  345. package/dist/testing/TestHelpers.js +0 -205
  346. package/dist/tsconfig.tsbuildinfo +0 -1
  347. /package/dist/{core/IAPIBuilder.js → types/access-lists.js} +0 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,174 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ## [5.1.0] - 2026-06-26
11
+
12
+ ### Added
13
+
14
+ - **`noUncheckedIndexedAccess`** compiler flag — array/record indexing now returns `T | undefined`, catching unguarded index access at compile time
15
+ - **`noImplicitReturns`** compiler flag — all function code paths must explicitly return a value
16
+ - **`noImplicitOverride`** compiler flag — `override` keyword required when overriding base class methods
17
+ - **`tsconfig.test.json`** — separate TypeScript config for tests, relaxing `noUncheckedIndexedAccess` for test utility patterns
18
+
19
+ ### Changed
20
+
21
+ - `RateLimiter` token cost lookup inlined (removed unnecessary `Record` indirection)
22
+ - Jest configs (`jest.unit.config.cjs`, `jest.integration.config.cjs`) now use `tsconfig.test.json`
23
+
24
+ ### Fixed
25
+
26
+ - Unguarded indexed access in `ApiRequestHandler`, `CircuitBreaker`, `RateLimiter`, and `headersUtil`
27
+
28
+ ## [5.0.0] - 2026-06-26
29
+
30
+ ### Breaking Changes
31
+
32
+ - **Removed `SovereigntyClient.getSovereigntyMap()`** — sunset ESI endpoint; use `getSovereigntySystems()` instead
33
+ - **Removed `SovereigntyClient.getSovereigntyStructures()`** — sunset ESI endpoint; use `getSovereigntySystems()` instead
34
+
35
+ ### Added
36
+
37
+ - **Dependabot** — automated weekly dependency update PRs with grouped ESLint and testing ecosystems
38
+ - **CodeQL Analysis** — GitHub-native security scanning workflow
39
+ - **Commitlint** — conventional commit message validation via husky hook
40
+ - **Version consistency script** — `npm run validate:versions` checks `package.json` matches `constants.ts`
41
+ - **`npm run check:all`** — comprehensive validation including ESI endpoint and version checks
42
+ - Coverage and npm download badges in README
43
+ - `.editorconfig`, `.nvmrc`, `CONTRIBUTING.md`, `SECURITY.md`
44
+ - ClientRegistry test coverage for all 35 client types
45
+
46
+ ### Fixed
47
+
48
+ - **POST body format** for asset and contact endpoints — request body was incorrectly structured
49
+ - **POST body format** for `/universe/ids` and `/universe/names` — same issue
50
+ - **Circuit breaker** now treats HTTP 420/429 rate-limit responses as failures
51
+ - **configManager** uses `require.resolve` instead of `process.cwd()` fallback for reliable path resolution
52
+ - **User-Agent version** — ESI requests were sending `esi.ts/3.4.0` instead of current version
53
+ - **Compatibility date** — updated from `2025-12-16` to `2026-05-19` (Equinox)
54
+ - TypeScript badge in README updated from 5.0+ to 6.0+
55
+
56
+ ### Removed
57
+
58
+ - `src/TODO` — fully completed roadmap
59
+ - `jest.improved.config.cjs` — dead config matching zero test files
60
+ - `docs/` — generated TypeDoc output removed from git tracking (CI builds as artifact)
61
+ - Unused `getHeaders` test helper
62
+
63
+ ### Changed
64
+
65
+ - `package.json`: added `keywords`, `homepage`, `bugs` URLs, `files` includes README/LICENSE/CHANGELOG
66
+ - Moved `docs/architecture.md` to `guides/ARCHITECTURE.md`
67
+ - Updated `guides/TESTING.md` and `guides/DOCUMENTATION.md` to current state
68
+ - Test coverage raised from 75% to 91%+
69
+
70
+ ### Dependencies
71
+
72
+ - `@typescript-eslint/eslint-plugin`: 7.18.0 → 8.x
73
+ - `@typescript-eslint/parser`: 7.18.0 → 8.x
74
+ - `@types/node`: 18.x → 26.x
75
+ - `@commitlint/cli`: 19.x → 21.x
76
+ - `eslint-config-prettier`: 9.x → 10.x
77
+ - `lint-staged`: 16.x → 17.x
78
+ - `jest-junit`: 16.x → 17.x
79
+ - GitHub Actions: checkout v4→v7, setup-node v4→v6, upload-artifact v4→v7, codeql-action v3→v4, gh-pages v3→v4, action-gh-release v1→v3
80
+
81
+ ## [4.1.1] - 2026-06-08
82
+
83
+ ### Changed
84
+
85
+ - **TypeScript 5.9 → 6.0** — upgraded to TypeScript 6.0.3, the last version before the Go-based TS7 compiler
86
+ - `tsconfig.json`: added explicit `moduleResolution: "bundler"` (TS6 changed the default from `node` to `bundler`)
87
+ - `tsconfig.json`: added explicit `rootDir: "./src"` (TS6 requires this when emitting)
88
+ - `tsconfig.json`: removed `esModuleInterop: true` (always-on in TS6)
89
+
90
+ ## [4.1.0] - 2026-06-08
91
+
92
+ ### Added
93
+
94
+ - **Equinox ESI compliance** — new endpoints and types for the [Equinox expansion](https://developers.eveonline.com/blog/equinox-on-esi-structures-sovereignty-and-access-lists) (compatibility date 2026-05-19)
95
+ - **`SovereigntyClient.getSovereigntySystems()`** — combined sovereignty systems route with separate ADM indices (`military_index`, `industry_index`, `strategic_index`), occupancy data, and anchored structures in a single response
96
+ - **`SkyhooksClient`** — new domain client with `getSovereigntyHubs()`, `getOrbitalSkyhooks()`, and `getRaidableSkyhooks()` endpoints for Upwell sovereignty structures
97
+ - **`MercenaryClient`** — new domain client with `getMercenaryDens()` and `getMercenaryTacticalOperations()` endpoints for mercenary content
98
+ - **`AccessListsClient`** — new domain client with `getAccessList(id)` for reading access list (ACL) contents including character, corporation, and alliance entries
99
+ - `TestDataFactory` methods for all new Equinox types: `createSovereigntySystem()`, `createSovereigntyHub()`, `createOrbitalSkyhook()`, `createRaidableSkyhook()`, `createMercenaryDen()`, `createMercenaryTacticalOperation()`, `createAccessListEntry()`
100
+ - TDD and BDD test coverage for all new endpoints
101
+
102
+ ### Changed
103
+
104
+ - `SovereigntyClient.getSovereigntyMap()` and `getSovereigntyStructures()` marked as deprecated — use `getSovereigntySystems()` instead
105
+ - Domain client count increased from 32 to 35
106
+
107
+ ### Dependencies
108
+
109
+ - `ts-jest`: 29.4.9 → 29.4.11
110
+ - `eslint-plugin-prettier`: 5.5.5 → 5.5.6
111
+
112
+ ## [4.0.0] - 2026-05-15
113
+
114
+ ### Breaking Changes
115
+
116
+ - **Removed `RateLimiter.getInstance()` singleton** - Create instances with `new RateLimiter()` instead
117
+ - **Removed global cache/circuit breaker functions** - `initializeETagCache()`, `getETagCache()`, `resetETagCache()`, `initializeCircuitBreaker()`, `getCircuitBreaker()`, `resetCircuitBreaker()` are no longer exported from `ApiRequestHandler`
118
+ - Each `EsiClient` and `ApiClientBuilder` now creates its own `RateLimiter`, `ETagCacheManager`, and `CircuitBreaker` instances
119
+
120
+ ### Added
121
+
122
+ - **`BaseEsiClient` base class** — eliminates ~650 lines of repeated constructor/field/`withMetadata()` boilerplate across all 33 domain clients
123
+ - **`RequestDeduplicator`** — coalesces concurrent identical GET requests into a single in-flight fetch, sharing the result across all callers (enabled by default; disable with `enableRequestDeduplication: false`)
124
+ - **`EsiDiagnostics` API** — `client.diagnostics` accessor for cache/circuit-breaker stats, moved out of the main `EsiClient` API surface
125
+ - **`fetchPages()` async generator** — memory-efficient page-by-page iteration over paginated ESI responses
126
+ - **Request timeouts** — `config.timeout` now wired to `AbortController` (default 30s); previously the field existed but was never connected to `fetch()` calls
127
+ - **`EsiError` retry helpers** — `isTimeout()`, `retryable` getter, and `isRetryable()` guard for smarter consumer retry logic
128
+ - **`RateLimiterConfig`** — `minDelayMs` and `decelerationThreshold` exposed via `EsiClientConfig` for consumer-tunable rate limiting
129
+ - TypeScript declaration files (`.d.ts`) now emitted with builds
130
+ - `exports` field in `package.json` for modern Node.js module resolution
131
+ - `engines` field specifying Node.js >= 18.0.0
132
+ - `publishConfig` with public access for scoped package
133
+ - `RateLimiter`, `ETagCacheManager`, and `CircuitBreaker` classes exported from main index
134
+ - `ApiClientBuilder.setRateLimiter()`, `.setCache()`, `.setCircuitBreaker()` builder methods
135
+ - `validateBaseUrl()` for SSRF protection — validates ESI host allowlist and HTTPS
136
+ - `unsafeAllowCustomHost` config option to bypass base URL validation
137
+ - URL sanitization in `EsiError` — sensitive query params (`token`, `access_token`, `api_key`) are redacted
138
+ - Path parameters encoded with `encodeURIComponent()` for defense-in-depth
139
+ - URL assertions in all client unit tests — every test now verifies the correct endpoint URL
140
+ - Endpoint definition contract tests — 1800+ tests validating path templates, params, methods
141
+ - Test coverage for `RequestDeduplicator`, `EsiDiagnostics`, `AsyncPaginationIterator`, and extended `EsiError` tests
142
+ - `CHANGELOG.md` following Keep a Changelog format
143
+ - Changelog validation step in release workflow
144
+
145
+ ### Fixed
146
+
147
+ - `.d.ts` files not generated during build (`declaration: true` added to `tsconfig.json`)
148
+ - Release pipeline CNAME placeholder removed from GitHub Pages deployment
149
+ - `ContractsClient.ts` test file renamed to `.test.ts` so Jest actually runs it
150
+
151
+ ### Changed
152
+
153
+ - `RateLimiter` constructor is now public
154
+ - Cache, rate limiter, and circuit breaker are instance-based per client (no global shared state)
155
+ - `ApiClientBuilder.build()` auto-creates a `RateLimiter` if none was explicitly set
156
+ - `api-responses.ts` (1366 lines) split into 29 domain-specific type files with barrel re-export for backward compatibility
157
+ - `RateLimiter` uses `logWarn` instead of `console.warn` for consistent observability
158
+ - Reduced allocations and deduplicated fetch/sleep logic across core modules
159
+
160
+ ## [3.4.0] - 2026-04-29
161
+
162
+ ### Added
163
+
164
+ - ESI response header best practices documentation
165
+ - Dogma test coverage (10 TDD + 9 BDD tests)
166
+ - Gated authenticated integration tests (32 tests across 14 endpoint groups)
167
+ - EVE SSO token creator for local integration testing
168
+ - Search endpoint `categories` query parameter
169
+
170
+ ### Fixed
171
+
172
+ - 3 industry endpoint paths (`corporation` -> `corporations`) for mining routes
173
+ - Pagination middleware bypass: pages 2+ now route through request pipeline
174
+ - Consolidated duplicate alliance contact endpoints
package/LICENSE CHANGED
@@ -1,26 +1,26 @@
1
- GNU GENERAL PUBLIC LICENSE
2
- Version 3, 29 June 2007
3
-
4
- Copyright (C) 2024 lgriffin
5
-
6
- This program is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU General Public License as published by
8
- the Free Software Foundation, either version 3 of the License, or
9
- (at your option) any later version.
10
-
11
- This program is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU General Public License for more details.
15
-
16
- You should have received a copy of the GNU General Public License
17
- along with this program. If not, see <https://www.gnu.org/licenses/>.
18
-
19
- ---
20
-
21
- EVE Online and the EVE logo are the registered trademarks of CCP hf. All rights are reserved worldwide.
22
- All other trademarks are the property of their respective owners.
23
- EVE Online, the EVE logo, EVE and all associated logos and designs are the intellectual property of CCP hf.
24
- All artwork, screenshots, characters, vehicles, storylines, world facts or other recognizable features of the intellectual property relating to these trademarks are likewise the intellectual property of CCP hf.
25
-
26
- This software is not affiliated with or endorsed by CCP hf.
1
+ GNU GENERAL PUBLIC LICENSE
2
+ Version 3, 29 June 2007
3
+
4
+ Copyright (C) 2024 lgriffin
5
+
6
+ This program is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU General Public License as published by
8
+ the Free Software Foundation, either version 3 of the License, or
9
+ (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU General Public License for more details.
15
+
16
+ You should have received a copy of the GNU General Public License
17
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
18
+
19
+ ---
20
+
21
+ EVE Online and the EVE logo are the registered trademarks of CCP hf. All rights are reserved worldwide.
22
+ All other trademarks are the property of their respective owners.
23
+ EVE Online, the EVE logo, EVE and all associated logos and designs are the intellectual property of CCP hf.
24
+ All artwork, screenshots, characters, vehicles, storylines, world facts or other recognizable features of the intellectual property relating to these trademarks are likewise the intellectual property of CCP hf.
25
+
26
+ This software is not affiliated with or endorsed by CCP hf.