curseforge-js 1.0.0 → 1.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.
package/README.md CHANGED
@@ -10,6 +10,9 @@ A framework-agnostic JavaScript client for the [CurseForge API](https://docs.cur
10
10
  [![GitHub Pull Requests](https://img.shields.io/github/issues-pr/creeperkatze/curseforge-js)](https://github.com/creeperkatze/curseforge-js/pulls)
11
11
  [![GitHub Repo stars](https://img.shields.io/github/stars/creeperkatze/curseforge-js?style=flat)](https://github.com/creeperkatze/curseforge-js/stargazers)
12
12
 
13
+ [📚 Docs](https://curseforge-js.creeperkatze.dev/) •
14
+ [🚀 Getting Started](https://curseforge-js.creeperkatze.dev/guide/getting-started) •
15
+ [📖 API Reference](https://curseforge-js.creeperkatze.dev/api/) •
13
16
  [📝 Changelog](https://github.com/creeperkatze/curseforge-js/releases)
14
17
 
15
18
  ## 📦 Installation
@@ -99,6 +102,9 @@ Fingerprints:
99
102
  - `client.fingerprints.getMatches(fingerprints, gameId?)`
100
103
  - `client.fingerprints.getFuzzyMatches(fingerprints, gameId?)`
101
104
 
105
+ Users:
106
+ - `client.users.get(userId)`
107
+
102
108
  ## 🔐 Authentication
103
109
 
104
110
  Get an API key from [console.curseforge.com](https://console.curseforge.com/), then pass it at client creation time. It is sent as the `x-api-key` header on every request.
@@ -4,6 +4,7 @@ import { FingerprintsApi } from './fingerprints.js';
4
4
  import { GamesApi } from './games.js';
5
5
  import { MinecraftApi } from './minecraft.js';
6
6
  import { ModsApi } from './mods.js';
7
+ import { UsersApi } from './users.js';
7
8
  import type { CurseForgeClientOptions } from '../types/base.js';
8
9
  /**
9
10
  * Client for the CurseForge API.
@@ -22,6 +23,7 @@ export declare class CurseForgeClient {
22
23
  readonly games: GamesApi;
23
24
  readonly minecraft: MinecraftApi;
24
25
  readonly mods: ModsApi;
26
+ readonly users: UsersApi;
25
27
  constructor(options?: CurseForgeClientOptions);
26
28
  }
27
29
  //# sourceMappingURL=curseforge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"curseforge.d.ts","sourceRoot":"","sources":["../../src/client/curseforge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;;IAG3B,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;gBAEX,OAAO,GAAE,uBAA4B;CAUlD"}
1
+ {"version":3,"file":"curseforge.d.ts","sourceRoot":"","sources":["../../src/client/curseforge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE;;;;;;;;GAQG;AACH,qBAAa,gBAAgB;;IAG3B,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAEb,OAAO,GAAE,uBAA4B;CAWlD"}
@@ -5,6 +5,7 @@ import { FingerprintsApi } from './fingerprints.js';
5
5
  import { GamesApi } from './games.js';
6
6
  import { MinecraftApi } from './minecraft.js';
7
7
  import { ModsApi } from './mods.js';
8
+ import { UsersApi } from './users.js';
8
9
  /**
9
10
  * Client for the CurseForge API.
10
11
  * @example
@@ -22,6 +23,7 @@ export class CurseForgeClient {
22
23
  games;
23
24
  minecraft;
24
25
  mods;
26
+ users;
25
27
  constructor(options = {}) {
26
28
  this.#core = new CurseForgeClientCore(options);
27
29
  this.categories = new CategoriesApi(this.#core);
@@ -30,6 +32,7 @@ export class CurseForgeClient {
30
32
  this.games = new GamesApi(this.#core);
31
33
  this.minecraft = new MinecraftApi(this.#core);
32
34
  this.mods = new ModsApi(this.#core);
35
+ this.users = new UsersApi(this.#core);
33
36
  }
34
37
  }
35
38
  //# sourceMappingURL=curseforge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"curseforge.js","sourceRoot":"","sources":["../../src/client/curseforge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;;;;;;;GAQG;AACH,MAAM,OAAO,gBAAgB;IAClB,KAAK,CAAuB;IAE5B,UAAU,CAAgB;IAC1B,KAAK,CAAW;IAChB,YAAY,CAAkB;IAC9B,KAAK,CAAW;IAChB,SAAS,CAAe;IACxB,IAAI,CAAU;IAEvB,YAAY,UAAmC,EAAE;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE/C,IAAI,CAAC,UAAU,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;CACF"}
1
+ {"version":3,"file":"curseforge.js","sourceRoot":"","sources":["../../src/client/curseforge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC;;;;;;;;GAQG;AACH,MAAM,OAAO,gBAAgB;IAClB,KAAK,CAAuB;IAE5B,UAAU,CAAgB;IAC1B,KAAK,CAAW;IAChB,YAAY,CAAkB;IAC9B,KAAK,CAAW;IAChB,SAAS,CAAe;IACxB,IAAI,CAAU;IACd,KAAK,CAAW;IAEzB,YAAY,UAAmC,EAAE;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE/C,IAAI,CAAC,UAAU,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;CACF"}
@@ -5,5 +5,6 @@ export { FingerprintsApi } from './fingerprints.js';
5
5
  export { GamesApi } from './games.js';
6
6
  export { MinecraftApi } from './minecraft.js';
7
7
  export { ModsApi } from './mods.js';
8
+ export { UsersApi } from './users.js';
8
9
  export { CurseForgeClient } from './curseforge.js';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -5,5 +5,6 @@ export { FingerprintsApi } from './fingerprints.js';
5
5
  export { GamesApi } from './games.js';
6
6
  export { MinecraftApi } from './minecraft.js';
7
7
  export { ModsApi } from './mods.js';
8
+ export { UsersApi } from './users.js';
8
9
  export { CurseForgeClient } from './curseforge.js';
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { CurseForgeClientCore } from './core.js';
2
+ import type { User } from '../types/index.js';
3
+ /**
4
+ * API namespace for users.
5
+ * @remarks This endpoint is not part of CurseForge's published API reference, see {@link User}.
6
+ */
7
+ export declare class UsersApi {
8
+ private readonly core;
9
+ constructor(core: CurseForgeClientCore);
10
+ /** Returns a single user by id. */
11
+ get(userId: number): Promise<User>;
12
+ }
13
+ //# sourceMappingURL=users.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/client/users.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAG9C;;;GAGG;AACH,qBAAa,QAAQ;IACP,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,oBAAoB;IAEvD,mCAAmC;IAC7B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIzC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * API namespace for users.
3
+ * @remarks This endpoint is not part of CurseForge's published API reference, see {@link User}.
4
+ */
5
+ export class UsersApi {
6
+ core;
7
+ constructor(core) {
8
+ this.core = core;
9
+ }
10
+ /** Returns a single user by id. */
11
+ async get(userId) {
12
+ const response = await this.core.requestJson(`v1/users/${userId}`);
13
+ return response.data;
14
+ }
15
+ }
16
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/client/users.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,OAAO,QAAQ;IACU;IAA7B,YAA6B,IAA0B;QAA1B,SAAI,GAAJ,IAAI,CAAsB;IAAG,CAAC;IAE3D,mCAAmC;IACnC,KAAK,CAAC,GAAG,CAAC,MAAc;QACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAA2B,YAAY,MAAM,EAAE,CAAC,CAAC;QAC7F,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './types.js';
2
2
  export * from './errors.js';
3
3
  export * from './client.js';
4
+ export { resolveAvatarUrl } from './utils/avatar.js';
4
5
  export { CurseForgeClient as default } from './client/curseforge.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './types.js';
2
2
  export * from './errors.js';
3
3
  export * from './client.js';
4
+ export { resolveAvatarUrl } from './utils/avatar.js';
4
5
  export { CurseForgeClient as default } from './client/curseforge.js';
5
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
@@ -26,9 +26,13 @@ export declare enum GameVersionTypeStatus {
26
26
  }
27
27
  /** Icon, tile and cover art for a game. */
28
28
  export interface GameAssets {
29
- iconUrl: string;
30
- tileUrl: string;
31
- coverUrl: string;
29
+ iconUrl: string | null;
30
+ tileUrl: string | null;
31
+ coverUrl: string | null;
32
+ }
33
+ /** Feature flags describing what a game supports. */
34
+ export interface GameSupportedFeatures {
35
+ supportModSubscriptions: boolean;
32
36
  }
33
37
  /** A game available on CurseForge. */
34
38
  export interface Game {
@@ -39,6 +43,7 @@ export interface Game {
39
43
  assets: GameAssets;
40
44
  status: CoreStatus;
41
45
  apiStatus: CoreApiStatus;
46
+ supportedFeatures: GameSupportedFeatures;
42
47
  }
43
48
  /** A single named/sluggable version of a game (used by the v2 versions endpoint). */
44
49
  export interface GameVersion {
@@ -46,12 +51,12 @@ export interface GameVersion {
46
51
  slug: string;
47
52
  name: string;
48
53
  }
49
- /** Game versions grouped by version type (v1 form plain version strings). */
54
+ /** Game versions grouped by version type (v1 form, plain version strings). */
50
55
  export interface GameVersionsByType {
51
56
  type: number;
52
57
  versions: string[];
53
58
  }
54
- /** Game versions grouped by version type (v2 form full version objects). */
59
+ /** Game versions grouped by version type (v2 form, full version objects). */
55
60
  export interface GameVersionsByType2 {
56
61
  type: number;
57
62
  versions: GameVersion[];
@@ -67,4 +72,48 @@ export interface GameVersionType {
67
72
  }
68
73
  /** Query parameters for {@link GamesApi.list}. */
69
74
  export type GetGamesOptions = PaginationOptions;
75
+ /**
76
+ * Game ids on CurseForge, as returned by {@link GamesApi.list}.
77
+ * @remarks Not part of the CurseForge API contract, games are added over time and this list can go stale. Use {@link GamesApi.list} for the authoritative, current list.
78
+ */
79
+ export declare enum GameId {
80
+ WorldOfWarcraft = 1,
81
+ TheSecretWorld = 64,
82
+ StarCraftII = 65,
83
+ RunesOfMagic = 335,
84
+ WorldOfTanks = 423,
85
+ Rift = 424,
86
+ Terraria = 431,
87
+ Minecraft = 432,
88
+ WildStar = 454,
89
+ TheElderScrollsOnline = 455,
90
+ DarkestDungeon = 608,
91
+ StardewValley = 669,
92
+ SidMeiersCivilizationVI = 727,
93
+ KerbalSpaceProgram = 4401,
94
+ SecretWorldLegends = 4455,
95
+ FinalFantasyIV = 4741,
96
+ FinalFantasyVI = 4773,
97
+ FinalFantasyII = 5001,
98
+ FinalFantasyV = 5021,
99
+ FinalFantasyIII = 5026,
100
+ FinalFantasyI = 5230,
101
+ SurvivingMars = 61489,
102
+ MinecraftDungeons = 69271,
103
+ AmongUs = 69761,
104
+ Hytale = 70216,
105
+ ChroniclesOfArcadia = 70667,
106
+ MinecraftBedrock = 78022,
107
+ TheSims4 = 78062,
108
+ Demeo = 78135,
109
+ ArkSurvivalAscended = 83374,
110
+ RushdownRevolt = 84062,
111
+ TennisElbow4 = 84137,
112
+ Palworld = 85196,
113
+ Helldivers2 = 85440,
114
+ HogwartsLegacy = 87986,
115
+ InZoi = 88849,
116
+ Windrose = 99078,
117
+ Subnautica2 = 99704
118
+ }
70
119
  //# sourceMappingURL=games.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"games.d.ts","sourceRoot":"","sources":["../../src/types/games.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD,2EAA2E;AAC3E,oBAAY,UAAU;IACpB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,aAAa,IAAI;IACjB,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,IAAI,IAAI;CACT;AAED,kCAAkC;AAClC,oBAAY,aAAa;IACvB,OAAO,IAAI;IACX,MAAM,IAAI;CACX;AAED,yCAAyC;AACzC,oBAAY,iBAAiB;IAC3B,QAAQ,IAAI;IACZ,OAAO,IAAI;IACX,GAAG,IAAI;CACR;AAED,qCAAqC;AACrC,oBAAY,qBAAqB;IAC/B,MAAM,IAAI;IACV,OAAO,IAAI;CACZ;AAED,2CAA2C;AAC3C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,sCAAsC;AACtC,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,qFAAqF;AACrF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,8EAA8E;AAC9E,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,mGAAmG;AACnG,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAED,kDAAkD;AAClD,MAAM,MAAM,eAAe,GAAG,iBAAiB,CAAC"}
1
+ {"version":3,"file":"games.d.ts","sourceRoot":"","sources":["../../src/types/games.ts"],"names":[],"mappings":"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"}
@@ -27,4 +27,49 @@ export var GameVersionTypeStatus;
27
27
  GameVersionTypeStatus[GameVersionTypeStatus["Normal"] = 1] = "Normal";
28
28
  GameVersionTypeStatus[GameVersionTypeStatus["Deleted"] = 2] = "Deleted";
29
29
  })(GameVersionTypeStatus || (GameVersionTypeStatus = {}));
30
+ /**
31
+ * Game ids on CurseForge, as returned by {@link GamesApi.list}.
32
+ * @remarks Not part of the CurseForge API contract, games are added over time and this list can go stale. Use {@link GamesApi.list} for the authoritative, current list.
33
+ */
34
+ export var GameId;
35
+ (function (GameId) {
36
+ GameId[GameId["WorldOfWarcraft"] = 1] = "WorldOfWarcraft";
37
+ GameId[GameId["TheSecretWorld"] = 64] = "TheSecretWorld";
38
+ GameId[GameId["StarCraftII"] = 65] = "StarCraftII";
39
+ GameId[GameId["RunesOfMagic"] = 335] = "RunesOfMagic";
40
+ GameId[GameId["WorldOfTanks"] = 423] = "WorldOfTanks";
41
+ GameId[GameId["Rift"] = 424] = "Rift";
42
+ GameId[GameId["Terraria"] = 431] = "Terraria";
43
+ GameId[GameId["Minecraft"] = 432] = "Minecraft";
44
+ GameId[GameId["WildStar"] = 454] = "WildStar";
45
+ GameId[GameId["TheElderScrollsOnline"] = 455] = "TheElderScrollsOnline";
46
+ GameId[GameId["DarkestDungeon"] = 608] = "DarkestDungeon";
47
+ GameId[GameId["StardewValley"] = 669] = "StardewValley";
48
+ GameId[GameId["SidMeiersCivilizationVI"] = 727] = "SidMeiersCivilizationVI";
49
+ GameId[GameId["KerbalSpaceProgram"] = 4401] = "KerbalSpaceProgram";
50
+ GameId[GameId["SecretWorldLegends"] = 4455] = "SecretWorldLegends";
51
+ GameId[GameId["FinalFantasyIV"] = 4741] = "FinalFantasyIV";
52
+ GameId[GameId["FinalFantasyVI"] = 4773] = "FinalFantasyVI";
53
+ GameId[GameId["FinalFantasyII"] = 5001] = "FinalFantasyII";
54
+ GameId[GameId["FinalFantasyV"] = 5021] = "FinalFantasyV";
55
+ GameId[GameId["FinalFantasyIII"] = 5026] = "FinalFantasyIII";
56
+ GameId[GameId["FinalFantasyI"] = 5230] = "FinalFantasyI";
57
+ GameId[GameId["SurvivingMars"] = 61489] = "SurvivingMars";
58
+ GameId[GameId["MinecraftDungeons"] = 69271] = "MinecraftDungeons";
59
+ GameId[GameId["AmongUs"] = 69761] = "AmongUs";
60
+ GameId[GameId["Hytale"] = 70216] = "Hytale";
61
+ GameId[GameId["ChroniclesOfArcadia"] = 70667] = "ChroniclesOfArcadia";
62
+ GameId[GameId["MinecraftBedrock"] = 78022] = "MinecraftBedrock";
63
+ GameId[GameId["TheSims4"] = 78062] = "TheSims4";
64
+ GameId[GameId["Demeo"] = 78135] = "Demeo";
65
+ GameId[GameId["ArkSurvivalAscended"] = 83374] = "ArkSurvivalAscended";
66
+ GameId[GameId["RushdownRevolt"] = 84062] = "RushdownRevolt";
67
+ GameId[GameId["TennisElbow4"] = 84137] = "TennisElbow4";
68
+ GameId[GameId["Palworld"] = 85196] = "Palworld";
69
+ GameId[GameId["Helldivers2"] = 85440] = "Helldivers2";
70
+ GameId[GameId["HogwartsLegacy"] = 87986] = "HogwartsLegacy";
71
+ GameId[GameId["InZoi"] = 88849] = "InZoi";
72
+ GameId[GameId["Windrose"] = 99078] = "Windrose";
73
+ GameId[GameId["Subnautica2"] = 99704] = "Subnautica2";
74
+ })(GameId || (GameId = {}));
30
75
  //# sourceMappingURL=games.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"games.js","sourceRoot":"","sources":["../../src/types/games.ts"],"names":[],"mappings":"AAEA,2EAA2E;AAC3E,MAAM,CAAN,IAAY,UAOX;AAPD,WAAY,UAAU;IACpB,6CAAS,CAAA;IACT,2CAAQ,CAAA;IACR,6DAAiB,CAAA;IACjB,mDAAY,CAAA;IACZ,mDAAY,CAAA;IACZ,2CAAQ,CAAA;AACV,CAAC,EAPW,UAAU,KAAV,UAAU,QAOrB;AAED,kCAAkC;AAClC,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,uDAAW,CAAA;IACX,qDAAU,CAAA;AACZ,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,yCAAyC;AACzC,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,iEAAY,CAAA;IACZ,+DAAW,CAAA;IACX,uDAAO,CAAA;AACT,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AAED,qCAAqC;AACrC,MAAM,CAAN,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC/B,qEAAU,CAAA;IACV,uEAAW,CAAA;AACb,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,QAGhC"}
1
+ {"version":3,"file":"games.js","sourceRoot":"","sources":["../../src/types/games.ts"],"names":[],"mappings":"AAEA,2EAA2E;AAC3E,MAAM,CAAN,IAAY,UAOX;AAPD,WAAY,UAAU;IACpB,6CAAS,CAAA;IACT,2CAAQ,CAAA;IACR,6DAAiB,CAAA;IACjB,mDAAY,CAAA;IACZ,mDAAY,CAAA;IACZ,2CAAQ,CAAA;AACV,CAAC,EAPW,UAAU,KAAV,UAAU,QAOrB;AAED,kCAAkC;AAClC,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,uDAAW,CAAA;IACX,qDAAU,CAAA;AACZ,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,yCAAyC;AACzC,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,iEAAY,CAAA;IACZ,+DAAW,CAAA;IACX,uDAAO,CAAA;AACT,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AAED,qCAAqC;AACrC,MAAM,CAAN,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC/B,qEAAU,CAAA;IACV,uEAAW,CAAA;AACb,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,QAGhC;AA0DD;;;GAGG;AACH,MAAM,CAAN,IAAY,MAuCX;AAvCD,WAAY,MAAM;IAChB,yDAAmB,CAAA;IACnB,wDAAmB,CAAA;IACnB,kDAAgB,CAAA;IAChB,qDAAkB,CAAA;IAClB,qDAAkB,CAAA;IAClB,qCAAU,CAAA;IACV,6CAAc,CAAA;IACd,+CAAe,CAAA;IACf,6CAAc,CAAA;IACd,uEAA2B,CAAA;IAC3B,yDAAoB,CAAA;IACpB,uDAAmB,CAAA;IACnB,2EAA6B,CAAA;IAC7B,kEAAyB,CAAA;IACzB,kEAAyB,CAAA;IACzB,0DAAqB,CAAA;IACrB,0DAAqB,CAAA;IACrB,0DAAqB,CAAA;IACrB,wDAAoB,CAAA;IACpB,4DAAsB,CAAA;IACtB,wDAAoB,CAAA;IACpB,yDAAqB,CAAA;IACrB,iEAAyB,CAAA;IACzB,6CAAe,CAAA;IACf,2CAAc,CAAA;IACd,qEAA2B,CAAA;IAC3B,+DAAwB,CAAA;IACxB,+CAAgB,CAAA;IAChB,yCAAa,CAAA;IACb,qEAA2B,CAAA;IAC3B,2DAAsB,CAAA;IACtB,uDAAoB,CAAA;IACpB,+CAAgB,CAAA;IAChB,qDAAmB,CAAA;IACnB,2DAAsB,CAAA;IACtB,yCAAa,CAAA;IACb,+CAAgB,CAAA;IAChB,qDAAmB,CAAA;AACrB,CAAC,EAvCW,MAAM,KAAN,MAAM,QAuCjB"}
@@ -5,4 +5,5 @@ export * from './fingerprints.js';
5
5
  export * from './games.js';
6
6
  export * from './minecraft.js';
7
7
  export * from './mods.js';
8
+ export * from './users.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -5,4 +5,5 @@ export * from './fingerprints.js';
5
5
  export * from './games.js';
6
6
  export * from './minecraft.js';
7
7
  export * from './mods.js';
8
+ export * from './users.js';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * A CurseForge user.
3
+ *
4
+ * @remarks
5
+ * Undocumented; fields reflect observed usage, not a confirmed schema.
6
+ * `avatarUrl` is templated, pass it through {@link resolveAvatarUrl} before use.
7
+ */
8
+ export interface User {
9
+ id: number;
10
+ displayName: string;
11
+ avatarUrl: string;
12
+ dateCreated: string;
13
+ }
14
+ //# sourceMappingURL=users.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/types/users.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/types/users.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Resolves a {@link User.avatarUrl} template into a fetchable image URL by substituting its
3
+ * `{0}` size placeholder, a legacy artifact of CurseForge's Twitch-based avatar system.
4
+ * @param avatarUrl - The templated `avatarUrl` value from a {@link User}.
5
+ * @param size - Size token to substitute, e.g. `50x50`, `70x70`, `150x150`.
6
+ * @defaultValue size "300x300"
7
+ */
8
+ export declare function resolveAvatarUrl(avatarUrl: string, size?: string): string;
9
+ //# sourceMappingURL=avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../src/utils/avatar.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,MAA4B,GAAG,MAAM,CAE9F"}
@@ -0,0 +1,12 @@
1
+ const DEFAULT_AVATAR_SIZE = '300x300';
2
+ /**
3
+ * Resolves a {@link User.avatarUrl} template into a fetchable image URL by substituting its
4
+ * `{0}` size placeholder, a legacy artifact of CurseForge's Twitch-based avatar system.
5
+ * @param avatarUrl - The templated `avatarUrl` value from a {@link User}.
6
+ * @param size - Size token to substitute, e.g. `50x50`, `70x70`, `150x150`.
7
+ * @defaultValue size "300x300"
8
+ */
9
+ export function resolveAvatarUrl(avatarUrl, size = DEFAULT_AVATAR_SIZE) {
10
+ return avatarUrl.replace('{0}', size);
11
+ }
12
+ //# sourceMappingURL=avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../src/utils/avatar.ts"],"names":[],"mappings":"AAAA,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAE,OAAe,mBAAmB;IACpF,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "curseforge-js",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Framework-agnostic JavaScript API client for the CurseForge API",
5
5
  "type": "module",
6
6
  "exports": {