r6api.js icon indicating copy to clipboard operation
r6api.js copied to clipboard

V5

Open danielwerg opened this issue 2 years ago • 6 comments

  • [ ] Naming methods for seasonal stats
  • [ ] Document when to use which ubi app id
Done
  • [x] ESM bullshittery

    • Use ESM?
      • Support CJS as well?
      • Using .js extension for .ts files are dumb (solution: https://github.com/justkey007/tsc-alias ?)
    • Stick with CJS?
      • Drop hacky ESM support?
  • [x] Drop method for playerstats2/statistics endpoint and write little guide how to implement custom method for historical stats (https://github.com/danielwerg/r6api.js/issues/78, https://github.com/danielwerg/r6api.js/issues/47) (low priority)

  • [x] Multiple instances (https://github.com/danielwerg/r6api.js/issues/71)

  • [x] prod.datadev.ubisoft.com methods (https://github.com/danielwerg/r6api.js/issues/42)

    • aggregation
      • [x] summary
      • [x] operators
      • [x] weapons
      • [x] maps
  • [x] Implement profiles/gamesplayed endpoint (https://github.com/danielwerg/r6api.js/issues/81https://github.com/danielwerg/r6api.js/issues/81)

  • [x] Rename "user" to "profile" where needed in methods? (don't)

  • readme

    • [x] Better method description
  • [x] ts-utils added by EndBug (https://github.com/danielwerg/r6api.js/blob/e77978c9244b123fca12e8754783e1c10f9b9b8a/ts-utils.ts) do we really need them? (also future is now: https://github.com/danielwerg/r6api.js/commit/be2a20b84003bcfb75471cbef5d7b20744d801dc#commitcomment-66611286)

  • [x] Publish new package which r6api.js will rely on

  • [x] New rank icons

  • [x] Remake all rank icons from scratch

    • [x] Copper
    • [x] Bronze
    • [x] Silver
    • [x] Gold
    • [x] Platinum
    • [x] Emerald
    • [x] Diamond
    • [x] Champions

danielwerg avatar Dec 27 '22 10:12 danielwerg

By "Drop hacky ESM support?" I'm referencing https://github.com/danielwerg/r6api.js/pull/70 @BadCoder1337 👀

danielwerg avatar Dec 28 '22 08:12 danielwerg

By "Drop hacky ESM support?" I'm referencing #70 @BadCoder1337 👀

IMHO ESM isn't accepted enough to drop CJS. I am not authoring any npm library so can't give final advice, but think guys from https://github.com/sapphiredev/framework doing well. Their project compiles to CJS and wraps with https://github.com/addaleax/gen-esm-wrapper to support ESM.

BadCoder1337 avatar Dec 28 '22 10:12 BadCoder1337

Rename "user" to "profile" where needed in methods

IMHO There's two ways of naming we could stick to:

  1. Keep names close to Ubisoft as possible (e.g. PlatformCrossplay => PlatformFamilies )
  2. Choose different names for consistency and compatibility reasons ? (e.g. unified seasonal info interface. Fetching data before Operation Health - prod.datadev.ubisoft.com, Health to Brutal Swarm - r6karma/players, Solar Raid - r6s/skill/full_profiles) There's no major difference between MMR and (rank base RP + displayed RP). If someone is interested in skill they could be obtained through r6karma/players with new crossplay spaceId.

BadCoder1337 avatar Dec 28 '22 10:12 BadCoder1337

@EndBug I realized I haven't added ts-utils to V5 that you have added while ago in this commit https://github.com/danielwerg/r6api.js/commit/0d599ac4823d449a0e6270da28c43a45bbe8c276. Could you give me quick ted talk why we need them and how you use them?

danielwerg avatar Jan 12 '23 23:01 danielwerg

@danielwerg If I remember well, I added it because they help when validating user input, when you need to check whether the input is a valid operator, weapon, etc.

EndBug avatar Jan 13 '23 08:01 EndBug

Hey @BadCoder1337, I published new repo - R6Data, which is going to be a dependency of next version of R6API.js and I used gen-esm-wrapper for ESM support. Could you test it in your ESM environment and let me know if you have any issue with it?

danielwerg avatar Feb 23 '23 05:02 danielwerg