@sakura2333/kancolle-data 0.4.2 → 0.5.1

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.
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "metadata": {
3
3
  "schemaVersion": 2,
4
- "dataVersion": "2026-07-06T07:55:43+00:00",
5
- "generatedAt": "2026-07-06T07:55:43+00:00",
4
+ "dataVersion": "2026-07-06T11:25:27+00:00",
5
+ "generatedAt": "2026-07-06T11:25:27+00:00",
6
6
  "shipMasterVersion": "2026062901",
7
7
  "dayOrder": [
8
8
  "all",
package/index.d.ts CHANGED
@@ -8,11 +8,13 @@ export interface KancolleDataPaths {
8
8
  }
9
9
  equipment: {
10
10
  dropFromPath: string
11
+ sourcesPath: string
11
12
  specialBonusesPath: string
12
13
  }
13
14
  schemas: {
14
15
  improvementDetailPath: string
15
16
  equipmentDropFromPath: string
17
+ equipmentSourcesPath: string
16
18
  equipmentSpecialBonusesPath: string
17
19
  }
18
20
  audit: {
package/index.js CHANGED
@@ -14,11 +14,13 @@ module.exports = Object.freeze({
14
14
  }),
15
15
  equipment: Object.freeze({
16
16
  dropFromPath: resolveData('equipment', 'drop-from.nedb'),
17
+ sourcesPath: resolveData('equipment', 'sources.nedb'),
17
18
  specialBonusesPath: resolveData('equipment', 'special-bonuses.nedb'),
18
19
  }),
19
20
  schemas: Object.freeze({
20
21
  improvementDetailPath: resolveData('schemas', 'improvement-detail.schema.json'),
21
22
  equipmentDropFromPath: resolveData('schemas', 'equipment-drop-from.schema.json'),
23
+ equipmentSourcesPath: resolveData('schemas', 'equipment-sources.schema.json'),
22
24
  equipmentSpecialBonusesPath: resolveData('schemas', 'equipment-special-bonus.schema.json'),
23
25
  }),
24
26
  audit: Object.freeze({
package/manifest.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "packageVersion": "0.4.2",
3
- "generatedAt": "2026-07-06T07:55:44+00:00",
2
+ "packageVersion": "0.5.1",
3
+ "generatedAt": "2026-07-06T11:25:30+00:00",
4
4
  "datasets": {
5
5
  "improvement": {
6
6
  "schemaVersion": 4,
@@ -23,7 +23,7 @@
23
23
  "url": "https://akashi-list.me/",
24
24
  "status": "fresh",
25
25
  "statusCode": 200,
26
- "validatedAt": 1783324513,
26
+ "validatedAt": 1783277204,
27
27
  "validatedInRun": true,
28
28
  "usedCacheFallback": false,
29
29
  "contentSha256": "f7860ad7a743e673e382bbdddfd699cdcae821972443d5582b34fcd4279aaf33",
@@ -32,7 +32,7 @@
32
32
  ],
33
33
  "sourceScheduleCount": 2652,
34
34
  "sourceIssueCount": 0,
35
- "sourceGeneratedAt": "2026-07-06T07:55:43+00:00",
35
+ "sourceGeneratedAt": "2026-07-06T11:25:27+00:00",
36
36
  "collectionCompletedInRun": true
37
37
  },
38
38
  "equipmentDropFrom": {
@@ -44,16 +44,17 @@
44
44
  "https://raw.githubusercontent.com/kcwiki/kancolle-data/refs/heads/master/wiki/equipment.json"
45
45
  ],
46
46
  "shipEntryCount": 840,
47
- "equipmentRecordCount": 247,
48
- "relationCount": 1645,
49
- "issueCount": 2,
47
+ "equipmentRecordCount": 249,
48
+ "relationCount": 1647,
49
+ "issueCount": 0,
50
+ "semanticAliasMatchCount": 2,
50
51
  "status": "ok",
51
52
  "fetches": [
52
53
  {
53
54
  "url": "https://raw.githubusercontent.com/kcwiki/kancolle-data/refs/heads/master/wiki/ship.json",
54
55
  "status": "fresh",
55
- "statusCode": 200,
56
- "validatedAt": 1783324513,
56
+ "statusCode": 304,
57
+ "validatedAt": 1783277206,
57
58
  "validatedInRun": true,
58
59
  "usedCacheFallback": false,
59
60
  "contentSha256": "d8c1691e83e6f4a9e55e34f8139c9ad9bb21ff9b3b7066dd3d5d31e15bae7dd7",
@@ -62,14 +63,27 @@
62
63
  {
63
64
  "url": "https://raw.githubusercontent.com/kcwiki/kancolle-data/refs/heads/master/wiki/equipment.json",
64
65
  "status": "fresh",
65
- "statusCode": 200,
66
- "validatedAt": 1783324513,
66
+ "statusCode": 304,
67
+ "validatedAt": 1783277204,
67
68
  "validatedInRun": true,
68
69
  "usedCacheFallback": false,
69
70
  "contentSha256": "284d7e32f70e67dd599ae43e1758d43568fcad3fe062548c68808988a4a27c0b",
70
71
  "cachePath": "raw.githubusercontent.com/kcwiki/kancolle-data/refs/heads/master/wiki/equipment.json"
71
72
  }
72
- ]
73
+ ],
74
+ "inputHashes": {
75
+ "ship": "d8c1691e83e6f4a9e55e34f8139c9ad9bb21ff9b3b7066dd3d5d31e15bae7dd7",
76
+ "equipment": "284d7e32f70e67dd599ae43e1758d43568fcad3fe062548c68808988a4a27c0b"
77
+ },
78
+ "incremental": {
79
+ "mode": "reuse-unchanged-inputs",
80
+ "parsed": false,
81
+ "changed": false,
82
+ "addedIds": [],
83
+ "changedIds": [],
84
+ "removedIds": [],
85
+ "unchangedCount": 249
86
+ }
73
87
  },
74
88
  "equipmentSpecialBonuses": {
75
89
  "schemaVersion": 2,
@@ -89,8 +103,8 @@
89
103
  {
90
104
  "url": "https://raw.githubusercontent.com/KC3Kai/kancolle-replay/refs/heads/master/js/data/mst_slotitem_bonus.json",
91
105
  "status": "fresh",
92
- "statusCode": 200,
93
- "validatedAt": 1783324513,
106
+ "statusCode": 304,
107
+ "validatedAt": 1783277206,
94
108
  "validatedInRun": true,
95
109
  "usedCacheFallback": false,
96
110
  "contentSha256": "e19fc34ea5d0246c5d8a34a9cb272c595970118eba62409006669a4c7f9962d1",
@@ -98,6 +112,32 @@
98
112
  }
99
113
  ]
100
114
  },
115
+ "equipmentSources": {
116
+ "schemaVersion": 1,
117
+ "path": "equipment/sources.nedb",
118
+ "status": "ok",
119
+ "source": "equipment-sources",
120
+ "equipmentRecordCount": 571,
121
+ "shipRelationCount": 1586,
122
+ "questRelationCount": 0,
123
+ "improvementRecordCount": 372,
124
+ "improvementRouteCount": 412,
125
+ "upgradeRelationCount": 207,
126
+ "incremental": {
127
+ "addedIds": [],
128
+ "changedIds": [],
129
+ "removedIds": [],
130
+ "unchangedCount": 571,
131
+ "changed": false,
132
+ "inputHashes": {
133
+ "improvementDetail": "078e8dc2f15eb0e6fa96af3f7af5137b652c3b5b7d99d2f680493340e7f4317a",
134
+ "wikiwikiAcquisition": "3943d5e83f98c4335b8efa69751e5e072e45098cfeb4f359490645eba8aca316",
135
+ "kcwikiShip": "d8c1691e83e6f4a9e55e34f8139c9ad9bb21ff9b3b7066dd3d5d31e15bae7dd7",
136
+ "kcwikiEquipment": "284d7e32f70e67dd599ae43e1758d43568fcad3fe062548c68808988a4a27c0b"
137
+ },
138
+ "projectionSha256": "8f4bbd0471392a2825b59a91eac0fd97559f3313ed3d1af59d13ecce5d74ede7"
139
+ }
140
+ },
101
141
  "useitemIcons": {
102
142
  "schemaVersion": 1,
103
143
  "directory": "assets/useitems",
@@ -144,24 +184,43 @@
144
184
  "https://raw.githubusercontent.com/kcwiki/kancolle-data/refs/heads/master/wiki/ship.json",
145
185
  "https://raw.githubusercontent.com/kcwiki/kancolle-data/refs/heads/master/wiki/equipment.json"
146
186
  ],
187
+ "kcwikiQuests": {
188
+ "source": "kcwikizh-kcquests",
189
+ "sourceUrl": "https://raw.githubusercontent.com/kcwikizh/kcQuests/refs/heads/main/quests-scn.json",
190
+ "status": "ok",
191
+ "fetches": [
192
+ {
193
+ "url": "https://raw.githubusercontent.com/kcwikizh/kcQuests/refs/heads/main/quests-scn.json",
194
+ "status": "fresh",
195
+ "statusCode": 304,
196
+ "validatedAt": 1783277441,
197
+ "validatedInRun": true,
198
+ "usedCacheFallback": false,
199
+ "contentSha256": "5d3f87ad698c7ab4260a2ab3bfdede8a511a4fd57685a477264b9fb6351e3647",
200
+ "cachePath": "raw.githubusercontent.com/kcwikizh/kcQuests/refs/heads/main/quests-scn.json"
201
+ }
202
+ ],
203
+ "questCount": 639,
204
+ "schemaVersion": 1
205
+ },
147
206
  "kc3SlotitemBonus": "https://raw.githubusercontent.com/KC3Kai/kancolle-replay/refs/heads/master/js/data/mst_slotitem_bonus.json"
148
207
  },
149
208
  "files": {
150
209
  "CHANGELOG.md": {
151
- "sha256": "84e87b4d50f152092eaf02fb0194015f17fa3eafc3584787d21286d9e4d9f48c",
152
- "bytes": 5889
210
+ "sha256": "aa1d4c826e3721f8308ebe3d88e413254fb4982f394c10fe0ccf5e77ee055fc9",
211
+ "bytes": 4107
153
212
  },
154
213
  "LICENSES.md": {
155
214
  "sha256": "40bddfdbcdc4b7812056e82fc5de18184097d2fdb903fab14262ea41e47c7594",
156
215
  "bytes": 412
157
216
  },
158
217
  "README.md": {
159
- "sha256": "6af7c9206d99c5e268ca0d8f42d8994f792a568ce5ad3629b85102e51f113983",
160
- "bytes": 1602
218
+ "sha256": "03d3f9f59ed7d2e6dfbf2f84f6790c27a6c6c27d5e5482177ee79a4706f5be63",
219
+ "bytes": 2867
161
220
  },
162
221
  "RELEASES.json": {
163
- "sha256": "c263f2b90ea0671d983593c7c9d0b2321f5a5dede6ccafcf98c71aa2ae339a59",
164
- "bytes": 5945
222
+ "sha256": "1912cea6dc06fd71491d957bb34e68722b9a897f97ba5bc6519fed393739feda",
223
+ "bytes": 795
165
224
  },
166
225
  "assets/useitems/100.png": {
167
226
  "sha256": "6c056ddea6ed3d2bf425ff70a36e47ecbc1dfa3de29d14fec24533e7699778f2",
@@ -228,12 +287,16 @@
228
287
  "bytes": 28940
229
288
  },
230
289
  "audit/build-report.json": {
231
- "sha256": "f3c146d5b24285a7548528adad2c8afd5bceb56bc8f0c998f7f5e24eca3ff4cf",
232
- "bytes": 348
290
+ "sha256": "7b2d2758229bdc72573bf0f2ab0e450cc42f026372e318b97b3bc33f9389033f",
291
+ "bytes": 1118
233
292
  },
234
293
  "equipment/drop-from.nedb": {
235
- "sha256": "bb366ee4db693e396414cf3145e583a36c0ce9fa7f56cb4a553f8cba8a5e07d3",
236
- "bytes": 358778
294
+ "sha256": "c7acd2fda18834a9a46e30148dc91830dc28cb167f9972b62615cfb784d2d2b3",
295
+ "bytes": 359433
296
+ },
297
+ "equipment/sources.nedb": {
298
+ "sha256": "8f4bbd0471392a2825b59a91eac0fd97559f3313ed3d1af59d13ecce5d74ede7",
299
+ "bytes": 84224
237
300
  },
238
301
  "equipment/special-bonuses.nedb": {
239
302
  "sha256": "818fe35d9a441823f65c37e1418a4a54492dfdd63ad61a1f292427d30972720e",
@@ -244,21 +307,25 @@
244
307
  "bytes": 2946913
245
308
  },
246
309
  "improvement/list.json": {
247
- "sha256": "ad117d36edfa2f7c42fa46d33cc6e4ed72de43d70f5eb642e4c3ac5f78f64300",
310
+ "sha256": "1039e28b077dbd093bf32af53850064a2de9e0e8ff817d526b2a29c553e12394",
248
311
  "bytes": 209473
249
312
  },
250
313
  "index.d.ts": {
251
- "sha256": "9fcdb6261b21bdd0e22fd6c049f2f314b1646d57ea7846208961ac78f76c1fbc",
252
- "bytes": 528
314
+ "sha256": "832b2677a462454af47b4583a7d4e120adf95e73bee9210ee34fb944cd8f3f21",
315
+ "bytes": 585
253
316
  },
254
317
  "index.js": {
255
- "sha256": "8ea7e30a341edf9fccb6677aa813d6ec7f53939f3e7f81c32a050e77231de547",
256
- "bytes": 1107
318
+ "sha256": "f7a3a9165963f5bfe8a33d93eb0432b8a16118270e3bcf288ce606512807bffc",
319
+ "bytes": 1249
257
320
  },
258
321
  "schemas/equipment-drop-from.schema.json": {
259
322
  "sha256": "b67bc757c8dd8523498abc0215656b7e8898485d060ddeac11577bb697a5279f",
260
323
  "bytes": 963
261
324
  },
325
+ "schemas/equipment-sources.schema.json": {
326
+ "sha256": "d3c1dc05b4927b0759e6e51385aacd767fb0d5e4ab84474166aa7899cd637675",
327
+ "bytes": 1064
328
+ },
262
329
  "schemas/equipment-special-bonus.schema.json": {
263
330
  "sha256": "e8811b953358cbb5df8c786521c68841a4c422e07d0dbc9c78088e66c4690273",
264
331
  "bytes": 1591
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sakura2333/kancolle-data",
3
- "version": "0.4.2",
3
+ "version": "0.5.1",
4
4
  "description": "Versioned KanColle community datasets generated by kancolle-item-improvement-spider",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -13,7 +13,10 @@
13
13
  "LICENSES.md",
14
14
  "RELEASES.json",
15
15
  "scripts/check-fresh.js",
16
- "schemas/",
16
+ "schemas/improvement-detail.schema.json",
17
+ "schemas/equipment-drop-from.schema.json",
18
+ "schemas/equipment-sources.schema.json",
19
+ "schemas/equipment-special-bonus.schema.json",
17
20
  "improvement/",
18
21
  "equipment/",
19
22
  "assets/",
@@ -31,7 +34,7 @@
31
34
  "access": "public"
32
35
  },
33
36
  "scripts": {
34
- "check": "node -e \"const d=require('./');const fs=require('fs');const m=JSON.parse(fs.readFileSync(d.manifestPath));for(const p of [d.manifestPath,d.releasesPath,d.improvement.listPath,d.improvement.detailPath,d.equipment.dropFromPath,d.equipment.specialBonusesPath,d.schemas.improvementDetailPath])if(!fs.existsSync(p))throw new Error('missing '+p);if(m.datasets.improvement.schemaVersion!==4)throw new Error('unexpected improvement schema');if(m.datasets.equipmentSpecialBonuses.schemaVersion!==2)throw new Error('unexpected special bonus schema');if((m.datasets.useitemIcons.missingIds||[]).length)throw new Error('missing useitem icons');for(const id of m.datasets.useitemIcons.requiredIds||[])if(!fs.existsSync(d.assets.useitemPath(id)))throw new Error('missing icon '+id)\"",
37
+ "check": "node -e \"const d=require('./');const fs=require('fs');const m=JSON.parse(fs.readFileSync(d.manifestPath));for(const p of [d.manifestPath,d.releasesPath,d.improvement.listPath,d.improvement.detailPath,d.equipment.dropFromPath,d.equipment.sourcesPath,d.equipment.specialBonusesPath,d.schemas.improvementDetailPath,d.schemas.equipmentSourcesPath])if(!fs.existsSync(p))throw new Error('missing '+p);if(m.datasets.improvement.schemaVersion!==4)throw new Error('unexpected improvement schema');if(m.datasets.equipmentSources.schemaVersion!==1)throw new Error('unexpected equipment sources schema');if(m.datasets.equipmentSpecialBonuses.schemaVersion!==2)throw new Error('unexpected special bonus schema');if((m.datasets.useitemIcons.missingIds||[]).length)throw new Error('missing useitem icons');for(const id of m.datasets.useitemIcons.requiredIds||[])if(!fs.existsSync(d.assets.useitemPath(id)))throw new Error('missing icon '+id)\"",
35
38
  "prepack": "npm run check",
36
39
  "check:fresh": "node scripts/check-fresh.js",
37
40
  "prepublishOnly": "npm run check && npm run check:fresh"
@@ -0,0 +1,34 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://sakura2333.dev/kancolle-data/equipment-sources.schema.json",
4
+ "title": "KanColle equipment source projection record",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["equipmentId", "equipmentName", "source"],
8
+ "properties": {
9
+ "equipmentId": {"type": "integer", "minimum": 1},
10
+ "equipmentName": {"type": "string", "minLength": 1},
11
+ "source": {
12
+ "type": "object",
13
+ "additionalProperties": false,
14
+ "required": ["shipIds", "upgradeFromItemIds", "questKey"],
15
+ "properties": {
16
+ "shipIds": {
17
+ "type": "array",
18
+ "items": {"type": "integer", "minimum": 1},
19
+ "uniqueItems": true
20
+ },
21
+ "upgradeFromItemIds": {
22
+ "type": "array",
23
+ "items": {"type": "integer", "minimum": 1},
24
+ "uniqueItems": true
25
+ },
26
+ "questKey": {
27
+ "type": "array",
28
+ "items": {"type": "integer", "minimum": 1},
29
+ "uniqueItems": true
30
+ }
31
+ }
32
+ }
33
+ }
34
+ }