@wfcd/relics 2.0.29 → 2.0.31
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/CHANGELOG.md +14 -0
- package/dist/Build.cjs +2 -4
- package/dist/Build.d.cts +1 -1
- package/dist/Build.d.mts +1 -1
- package/dist/Build.mjs +3 -5
- package/dist/{VersionManager-CGY3TWJF.mjs → VersionManager-BckuXhbh.mjs} +187 -71
- package/dist/{VersionManager-DkHKfTUL.cjs → VersionManager-CDrWT0KK.cjs} +214 -103
- package/dist/index.cjs +3 -4
- package/dist/index.d.cts +146 -114
- package/dist/index.d.mts +147 -116
- package/dist/index.mjs +2 -3
- package/dist/{chunk-Dco9itRc.mjs → rolldown-runtime-C0LytTxp.mjs} +1 -2
- package/package.json +19 -16
package/dist/index.d.mts
CHANGED
|
@@ -1,18 +1,90 @@
|
|
|
1
|
-
import { t as __name } from "./
|
|
2
|
-
|
|
1
|
+
import { t as __name } from "./rolldown-runtime-C0LytTxp.mjs";
|
|
3
2
|
//#region src/Types.d.ts
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
type Rarity = 'Common' | 'Legendary' | 'Rare' | 'Uncommon';
|
|
4
|
+
interface TitaniaRelic {
|
|
5
|
+
/**
|
|
6
|
+
* Drop Locations for the relics
|
|
7
|
+
*/
|
|
8
|
+
locations: TitaniaRelicLocation[];
|
|
9
|
+
/**
|
|
10
|
+
* Relic Combined Name (Ex: Axi A1)
|
|
11
|
+
*/
|
|
12
|
+
name: string;
|
|
13
|
+
/**
|
|
14
|
+
* Relic Rewards when opened
|
|
15
|
+
*/
|
|
16
|
+
rewards: TitaniaRelicReward[];
|
|
17
|
+
/** unique name for corresponding warframe-items Item */
|
|
18
|
+
uniqueName: string;
|
|
19
|
+
/**
|
|
20
|
+
* Relic Vault Information
|
|
21
|
+
*/
|
|
22
|
+
vaultInfo: TitaniaRelicVaultedInfo;
|
|
23
|
+
/**
|
|
24
|
+
* Warframe Market Information
|
|
25
|
+
* undefined for untradable
|
|
26
|
+
*/
|
|
27
|
+
warframeMarket?: TitaniaWFMInfo;
|
|
6
28
|
}
|
|
7
|
-
interface
|
|
29
|
+
interface TitaniaRelicLocation {
|
|
8
30
|
/**
|
|
9
|
-
*
|
|
31
|
+
* Dropchance in %
|
|
32
|
+
*/
|
|
33
|
+
chance: number;
|
|
34
|
+
/** Location Info $planet-$node (Ex: Eris - Phalan) */
|
|
35
|
+
location: string;
|
|
36
|
+
/**
|
|
37
|
+
* Rarity (Uncommon, Rare ?)
|
|
38
|
+
*/
|
|
39
|
+
rarity: Rarity;
|
|
40
|
+
}
|
|
41
|
+
interface TitaniaRelicReward {
|
|
42
|
+
/**
|
|
43
|
+
* Reward Drop Chance in %
|
|
44
|
+
*/
|
|
45
|
+
chance: number;
|
|
46
|
+
/**
|
|
47
|
+
* Item Information
|
|
48
|
+
*/
|
|
49
|
+
item: TitaniaRelicRewardItem;
|
|
50
|
+
/**
|
|
51
|
+
* Relic Rarity (Uncommon,Rare ?)
|
|
52
|
+
*/
|
|
53
|
+
rarity: 'Rare' | 'Uncommon';
|
|
54
|
+
}
|
|
55
|
+
interface TitaniaRelicRewardItem {
|
|
56
|
+
/**
|
|
57
|
+
* Item Name
|
|
58
|
+
*/
|
|
59
|
+
name: string;
|
|
60
|
+
/** unique name for corresponding warframe-items Item */
|
|
61
|
+
uniqueName: string;
|
|
62
|
+
/**
|
|
63
|
+
* WarframeMarket Info
|
|
64
|
+
*/
|
|
65
|
+
warframeMarket?: TitaniaWFMInfo;
|
|
66
|
+
}
|
|
67
|
+
interface TitaniaRelicVaultedInfo {
|
|
68
|
+
/**
|
|
69
|
+
* If the relic is vaulted
|
|
70
|
+
*/
|
|
71
|
+
vaulted: boolean;
|
|
72
|
+
}
|
|
73
|
+
interface TitaniaWFMInfo {
|
|
74
|
+
/**
|
|
75
|
+
* Warframe Market ID
|
|
10
76
|
*/
|
|
11
77
|
id: string;
|
|
12
78
|
/**
|
|
13
|
-
*
|
|
79
|
+
* Warframe market URL parameter
|
|
14
80
|
*/
|
|
15
|
-
|
|
81
|
+
urlName: string;
|
|
82
|
+
}
|
|
83
|
+
interface WarframeMarketItem {
|
|
84
|
+
/**
|
|
85
|
+
* Unique reference name (Lotus path)
|
|
86
|
+
*/
|
|
87
|
+
gameRef: string;
|
|
16
88
|
/**
|
|
17
89
|
* WFM language object
|
|
18
90
|
*/
|
|
@@ -31,58 +103,29 @@ interface WarframeMarketItem {
|
|
|
31
103
|
thumb: string;
|
|
32
104
|
};
|
|
33
105
|
};
|
|
34
|
-
}
|
|
35
|
-
interface WFCDRelic {
|
|
36
106
|
/**
|
|
37
|
-
*
|
|
38
|
-
*/
|
|
39
|
-
tier: string;
|
|
40
|
-
/**
|
|
41
|
-
* Relic Name (A1, A10, etc.)
|
|
42
|
-
*/
|
|
43
|
-
relicName: string;
|
|
44
|
-
/**
|
|
45
|
-
* Relic Refinement state
|
|
46
|
-
*/
|
|
47
|
-
state: 'Intact' | 'Exceptional' | 'Flawless' | 'Radiant';
|
|
48
|
-
/**
|
|
49
|
-
* Relic Rewards
|
|
107
|
+
* WFM Item ID
|
|
50
108
|
*/
|
|
51
|
-
|
|
109
|
+
id: string;
|
|
52
110
|
/**
|
|
53
|
-
*
|
|
111
|
+
* Url name for querying WFM
|
|
54
112
|
*/
|
|
55
|
-
|
|
113
|
+
slug: string;
|
|
56
114
|
}
|
|
57
|
-
interface
|
|
58
|
-
|
|
59
|
-
* Dropped Item name
|
|
60
|
-
*/
|
|
61
|
-
itemName: string;
|
|
62
|
-
/**
|
|
63
|
-
* Dropchance Rarity (Uncommon/Rare ?)
|
|
64
|
-
*/
|
|
65
|
-
rarity: 'Uncommon' | 'Rare';
|
|
66
|
-
/**
|
|
67
|
-
* Actual Dropchance in %
|
|
68
|
-
*/
|
|
69
|
-
chance: number;
|
|
70
|
-
/**
|
|
71
|
-
* Internal ID
|
|
72
|
-
*/
|
|
73
|
-
_id: string;
|
|
115
|
+
interface WarframeMarketRoot {
|
|
116
|
+
data: WarframeMarketItem[];
|
|
74
117
|
}
|
|
75
118
|
interface WFCDItem {
|
|
119
|
+
/**
|
|
120
|
+
* Item Drop Location
|
|
121
|
+
*/
|
|
122
|
+
drops?: WFCDItemDropLocation[];
|
|
76
123
|
/**
|
|
77
124
|
* Item Name
|
|
78
125
|
*/
|
|
79
126
|
name: string;
|
|
80
127
|
/** Unique identifying name */
|
|
81
128
|
uniqueName: string;
|
|
82
|
-
/**
|
|
83
|
-
* Item Drop Location
|
|
84
|
-
*/
|
|
85
|
-
drops?: Array<WFCDItemDropLocation>;
|
|
86
129
|
}
|
|
87
130
|
interface WFCDItemDropLocation {
|
|
88
131
|
/**
|
|
@@ -102,103 +145,75 @@ interface WFCDItemDropLocation {
|
|
|
102
145
|
*/
|
|
103
146
|
type: string;
|
|
104
147
|
}
|
|
105
|
-
interface
|
|
148
|
+
interface WFCDRelic {
|
|
106
149
|
/**
|
|
107
|
-
*
|
|
150
|
+
* Internal WFCD id
|
|
108
151
|
*/
|
|
109
|
-
|
|
152
|
+
_id: string;
|
|
110
153
|
/**
|
|
111
|
-
* Relic
|
|
154
|
+
* Relic Name (A1, A10, etc.)
|
|
112
155
|
*/
|
|
113
|
-
|
|
156
|
+
relicName: string;
|
|
114
157
|
/**
|
|
115
|
-
*
|
|
158
|
+
* Relic Rewards
|
|
116
159
|
*/
|
|
117
|
-
|
|
160
|
+
rewards: WFCDRelicReward[];
|
|
118
161
|
/**
|
|
119
|
-
*
|
|
120
|
-
* undefined for untradable
|
|
162
|
+
* Relic Refinement state
|
|
121
163
|
*/
|
|
122
|
-
|
|
164
|
+
state: 'Exceptional' | 'Flawless' | 'Intact' | 'Radiant';
|
|
123
165
|
/**
|
|
124
|
-
* Relic
|
|
166
|
+
* Relic Tier (Axi, Neo, etc.)
|
|
125
167
|
*/
|
|
126
|
-
|
|
127
|
-
/** unique name for corresponding warframe-items Item */
|
|
128
|
-
uniqueName: string;
|
|
168
|
+
tier: string;
|
|
129
169
|
}
|
|
130
|
-
interface
|
|
170
|
+
interface WFCDRelicReward {
|
|
131
171
|
/**
|
|
132
|
-
*
|
|
172
|
+
* Internal ID
|
|
133
173
|
*/
|
|
134
|
-
|
|
174
|
+
_id: string;
|
|
135
175
|
/**
|
|
136
|
-
*
|
|
176
|
+
* Actual Dropchance in %
|
|
137
177
|
*/
|
|
138
178
|
chance: number;
|
|
139
179
|
/**
|
|
140
|
-
* Item
|
|
180
|
+
* Dropped Item name
|
|
141
181
|
*/
|
|
142
|
-
|
|
143
|
-
}
|
|
144
|
-
interface TitaniaRelicRewardItem {
|
|
182
|
+
itemName: string;
|
|
145
183
|
/**
|
|
146
|
-
*
|
|
184
|
+
* Dropchance Rarity (Uncommon/Rare ?)
|
|
147
185
|
*/
|
|
186
|
+
rarity: 'Rare' | 'Uncommon';
|
|
187
|
+
}
|
|
188
|
+
interface WFCDSparseComponent {
|
|
148
189
|
name: string;
|
|
149
|
-
/** unique name for corresponding warframe-items Item */
|
|
150
190
|
uniqueName: string;
|
|
151
|
-
/**
|
|
152
|
-
* WarframeMarket Info
|
|
153
|
-
*/
|
|
154
|
-
warframeMarket?: TitaniaWFMInfo;
|
|
155
191
|
}
|
|
156
|
-
|
|
157
|
-
interface
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
* Rarity (Uncommon, Rare ?)
|
|
162
|
-
*/
|
|
163
|
-
rarity: Rarity;
|
|
164
|
-
/**
|
|
165
|
-
* Dropchance in %
|
|
166
|
-
*/
|
|
167
|
-
chance: number;
|
|
168
|
-
}
|
|
169
|
-
interface TitaniaWFMInfo {
|
|
170
|
-
/**
|
|
171
|
-
* Warframe Market ID
|
|
172
|
-
*/
|
|
173
|
-
id: string;
|
|
174
|
-
/**
|
|
175
|
-
* Warframe market URL parameter
|
|
176
|
-
*/
|
|
177
|
-
urlName: string;
|
|
178
|
-
}
|
|
179
|
-
interface TitaniaRelicVaultedInfo {
|
|
180
|
-
/**
|
|
181
|
-
* If the relic is vaulted
|
|
182
|
-
*/
|
|
183
|
-
vaulted: boolean;
|
|
192
|
+
/** Sparse warframestat item (name + uniqueName, optional components) */
|
|
193
|
+
interface WFCDSparseItem {
|
|
194
|
+
components?: WFCDSparseComponent[];
|
|
195
|
+
name: string;
|
|
196
|
+
uniqueName: string;
|
|
184
197
|
}
|
|
185
198
|
//#endregion
|
|
186
199
|
//#region src/Generator.d.ts
|
|
187
200
|
declare class Generator {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
201
|
+
/** Lowercase item name → uniqueName from sparse warframestat index (+ Blueprint follow-ups) */
|
|
202
|
+
itemUniqueNames: Map<string, string>;
|
|
203
|
+
relics: TitaniaRelic[];
|
|
204
|
+
relicsRaw: undefined | WFCDRelic[];
|
|
205
|
+
wfcdItems: undefined | WFCDItem[];
|
|
206
|
+
wfmItems: undefined | WarframeMarketRoot;
|
|
192
207
|
constructor();
|
|
193
|
-
/**
|
|
194
|
-
* Main function to fetch and generate the relic data
|
|
195
|
-
* @returns {Promise<Array<TitaniaRelic>>} The Relics data array
|
|
196
|
-
*/
|
|
197
|
-
generate(): Promise<Array<TitaniaRelic>>;
|
|
198
208
|
/**
|
|
199
209
|
* Fetches all required data from WFCD and WFM.
|
|
200
210
|
*/
|
|
201
211
|
fetchRawData(): Promise<void>;
|
|
212
|
+
/**
|
|
213
|
+
* Main function to fetch and generate the relic data
|
|
214
|
+
* @returns {Promise<Array<TitaniaRelic>>} The Relics data array
|
|
215
|
+
*/
|
|
216
|
+
generate(): Promise<TitaniaRelic[]>;
|
|
202
217
|
/**
|
|
203
218
|
* Generates the relic data
|
|
204
219
|
* uses WFCD/warframe-drop-data to check what relics exist,
|
|
@@ -212,6 +227,16 @@ declare class Generator {
|
|
|
212
227
|
* @param {boolean} generateMin True if a minified json should be generated too. Default: true
|
|
213
228
|
*/
|
|
214
229
|
writeData(dataDir?: string, fileName?: string, generateMin?: boolean): Promise<void>;
|
|
230
|
+
/**
|
|
231
|
+
* Fetch a single warframestat item by name with components for Blueprint resolution.
|
|
232
|
+
* @param {string} name Item display name
|
|
233
|
+
* @returns {Promise<WFCDSparseItem|undefined>} Item or undefined on failure
|
|
234
|
+
*/
|
|
235
|
+
private fetchItemByName;
|
|
236
|
+
/**
|
|
237
|
+
* Filters WFCD's relic data to only include Intact variants, since we just need the base.
|
|
238
|
+
*/
|
|
239
|
+
private filterWFCDRelics;
|
|
215
240
|
/**
|
|
216
241
|
* Generates a single relic from all available data
|
|
217
242
|
* @param {WFCDRelic} rawRelic relic to pull Titania data from
|
|
@@ -219,16 +244,22 @@ declare class Generator {
|
|
|
219
244
|
*/
|
|
220
245
|
private generateTitaniaRelic;
|
|
221
246
|
/**
|
|
222
|
-
*
|
|
247
|
+
* Index sparse warframestat items by lowercase name, preferring /Lotus/Types/ paths.
|
|
248
|
+
* @param {Array<WFCDSparseItem>} items Sparse item list from warframestat
|
|
223
249
|
*/
|
|
224
|
-
private
|
|
250
|
+
private indexSparseItems;
|
|
251
|
+
/**
|
|
252
|
+
* For reward names missing WFM, resolve uniqueNames from sparse index.
|
|
253
|
+
* Blueprint-suffixed names need a parent item fetch for the Blueprint component.
|
|
254
|
+
*/
|
|
255
|
+
private resolveSpecialRewardUniqueNames;
|
|
225
256
|
}
|
|
226
257
|
//#endregion
|
|
227
258
|
//#region src/VersionManager.d.ts
|
|
228
259
|
declare class VersionManager {
|
|
260
|
+
hashPath: string;
|
|
229
261
|
versionPath: string;
|
|
230
262
|
versionRawPath: string;
|
|
231
|
-
hashPath: string;
|
|
232
263
|
/**
|
|
233
264
|
* Creates a new VersionManager instance.
|
|
234
265
|
* @param {string} dataDir Folder to write version information to.
|
|
@@ -246,4 +277,4 @@ declare class VersionManager {
|
|
|
246
277
|
writeVersion(timestamp: number): Promise<void>;
|
|
247
278
|
}
|
|
248
279
|
//#endregion
|
|
249
|
-
export { Generator, Rarity, TitaniaRelic, TitaniaRelicLocation, TitaniaRelicReward, TitaniaRelicRewardItem, TitaniaRelicVaultedInfo, TitaniaWFMInfo, VersionManager, WFCDItem, WFCDItemDropLocation, WFCDRelic, WFCDRelicReward, WarframeMarketItem, WarframeMarketRoot };
|
|
280
|
+
export { Generator, Rarity, TitaniaRelic, TitaniaRelicLocation, TitaniaRelicReward, TitaniaRelicRewardItem, TitaniaRelicVaultedInfo, TitaniaWFMInfo, VersionManager, WFCDItem, WFCDItemDropLocation, WFCDRelic, WFCDRelicReward, WFCDSparseComponent, WFCDSparseItem, WarframeMarketItem, WarframeMarketRoot };
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import { n as Generator, t as VersionManager } from "./VersionManager-
|
|
2
|
-
|
|
3
|
-
export { Generator, VersionManager };
|
|
1
|
+
import { n as Generator, t as VersionManager } from "./VersionManager-BckuXhbh.mjs";
|
|
2
|
+
export { Generator, VersionManager };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wfcd/relics",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.31",
|
|
4
4
|
"description": "Relic Data for Warframe",
|
|
5
5
|
"main": "dist/index.cjs",
|
|
6
6
|
"exports": {
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
"coverage": "npm test && nyc report --reporter=text-lcov | coveralls",
|
|
17
17
|
"lint": "eslint .",
|
|
18
18
|
"lint:fix": "eslint . --fix",
|
|
19
|
-
"postinstall": "npx install-peerdeps @wfcd/eslint-config@latest -S",
|
|
20
19
|
"prepack": "npm run build",
|
|
21
|
-
"
|
|
20
|
+
"prepare": "husky",
|
|
21
|
+
"start": "npm run build && node dist/Build.cjs",
|
|
22
22
|
"test": "nyc mocha",
|
|
23
23
|
"validate": "tsc --noEmit"
|
|
24
24
|
},
|
|
@@ -34,33 +34,36 @@
|
|
|
34
34
|
},
|
|
35
35
|
"homepage": "https://github.com/WFCD/warframe-relic-data#readme",
|
|
36
36
|
"devDependencies": {
|
|
37
|
+
"@commitlint/cli": "^21.2.1",
|
|
38
|
+
"@commitlint/config-conventional": "^21.2.0",
|
|
39
|
+
"@eslint/js": "^10.0.1",
|
|
40
|
+
"@stylistic/eslint-plugin": "^5.10.0",
|
|
37
41
|
"@types/chai": "^4.3.3",
|
|
38
42
|
"@types/mocha": "^10.0.0",
|
|
39
|
-
"@types/node": "^
|
|
43
|
+
"@types/node": "^26.0.0",
|
|
40
44
|
"@types/node-fetch": "^2.6.2",
|
|
41
|
-
"@wfcd/eslint-config": "^1.2.0",
|
|
42
45
|
"chai": "^4.3.6",
|
|
43
46
|
"coveralls": "^3.1.1",
|
|
47
|
+
"eslint": "^10.1.0",
|
|
48
|
+
"eslint-plugin-perfectionist": "^5.10.1",
|
|
49
|
+
"globals": "^17.0.0",
|
|
50
|
+
"husky": "^9.1.7",
|
|
51
|
+
"lint-staged": "^17.3.0",
|
|
44
52
|
"mocha": "^10.0.0",
|
|
45
|
-
"nyc": "^
|
|
46
|
-
"precommit-hook": "^3.0.0",
|
|
53
|
+
"nyc": "^18.0.0",
|
|
47
54
|
"ts-mocha": "^11.1.0",
|
|
48
55
|
"tsconfig-paths": "^4.1.0",
|
|
49
|
-
"tsdown": "^0.
|
|
56
|
+
"tsdown": "^0.22.0",
|
|
50
57
|
"tsx": "^4.21.0",
|
|
51
|
-
"typescript": "^5.0.4"
|
|
58
|
+
"typescript": "^5.0.4",
|
|
59
|
+
"typescript-eslint": "^8.58.0"
|
|
52
60
|
},
|
|
53
61
|
"dependencies": {
|
|
54
|
-
"@semantic-release/changelog": "^
|
|
55
|
-
"@semantic-release/git": "^
|
|
62
|
+
"@semantic-release/changelog": "^7.0.0",
|
|
63
|
+
"@semantic-release/git": "^11.0.1",
|
|
56
64
|
"node-fetch": "^2.6.7",
|
|
57
65
|
"warframe-patchlogs": "^2.3.3"
|
|
58
66
|
},
|
|
59
|
-
"pre-commit": [
|
|
60
|
-
"lint",
|
|
61
|
-
"test",
|
|
62
|
-
"validate"
|
|
63
|
-
],
|
|
64
67
|
"publishConfig": {
|
|
65
68
|
"provenance": true
|
|
66
69
|
}
|