5etools-utils 0.16.0 → 0.16.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.
Files changed (51) hide show
  1. package/README.md +13 -13
  2. package/bin/clean-html.js +0 -0
  3. package/bin/lint-js-changed.js +0 -0
  4. package/bin/test-edition-sources.js +0 -0
  5. package/bin/test-file-contents.js +0 -0
  6. package/bin/test-file-locations.js +0 -0
  7. package/bin/test-file-names.js +0 -0
  8. package/bin/test-file-props.js +0 -0
  9. package/bin/test-img-file-extensions.js +0 -0
  10. package/bin/test-img-file-sizes.js +0 -0
  11. package/bin/test-img-source-names-brew.js +0 -0
  12. package/bin/test-img-source-names-ua.js +0 -0
  13. package/bin/test-json-brew.js +0 -0
  14. package/bin/test-json-ua.js +0 -0
  15. package/package.json +1 -1
  16. package/schema/brew/books.json +2 -1
  17. package/schema/brew/fluff-homecrafts.json +15 -0
  18. package/schema/brew/homebrew.json +9 -3
  19. package/schema/brew/homecrafts.json +597 -0
  20. package/schema/brew/util-copy.json +4 -2
  21. package/schema/brew/util.json +29 -27
  22. package/schema/brew-fast/books.json +2 -1
  23. package/schema/brew-fast/fluff-homecrafts.json +15 -0
  24. package/schema/brew-fast/homebrew.json +9 -3
  25. package/schema/brew-fast/homecrafts.json +597 -0
  26. package/schema/brew-fast/util-copy.json +4 -2
  27. package/schema/brew-fast/util.json +29 -27
  28. package/schema/site/books.json +2 -1
  29. package/schema/site/fluff-homecrafts.json +15 -0
  30. package/schema/site/homebrew.json +7 -4
  31. package/schema/site/homecrafts.json +570 -0
  32. package/schema/site/util-copy.json +4 -2
  33. package/schema/site/util.json +29 -27
  34. package/schema/site-fast/books.json +2 -1
  35. package/schema/site-fast/fluff-homecrafts.json +15 -0
  36. package/schema/site-fast/homebrew.json +7 -4
  37. package/schema/site-fast/homecrafts.json +570 -0
  38. package/schema/site-fast/util-copy.json +4 -2
  39. package/schema/site-fast/util.json +29 -27
  40. package/schema/ua/books.json +2 -1
  41. package/schema/ua/fluff-homecrafts.json +15 -0
  42. package/schema/ua/homebrew.json +9 -3
  43. package/schema/ua/homecrafts.json +570 -0
  44. package/schema/ua/util-copy.json +4 -2
  45. package/schema/ua/util.json +29 -27
  46. package/schema/ua-fast/books.json +2 -1
  47. package/schema/ua-fast/fluff-homecrafts.json +15 -0
  48. package/schema/ua-fast/homebrew.json +9 -3
  49. package/schema/ua-fast/homecrafts.json +570 -0
  50. package/schema/ua-fast/util-copy.json +4 -2
  51. package/schema/ua-fast/util.json +29 -27
@@ -225,40 +225,41 @@
225
225
  "tagNameStats": {
226
226
  "type": "string",
227
227
  "enum": [
228
- "spell",
229
- "item",
230
- "itemMastery",
231
- "creature",
232
- "condition",
233
- "disease",
234
- "status",
228
+ "action",
235
229
  "background",
236
- "race",
237
- "optfeature",
238
- "reward",
239
- "feat",
240
- "psionic",
241
- "object",
242
- "cult",
243
230
  "boon",
244
- "trap",
245
- "hazard",
246
- "variantrule",
247
231
  "charoption",
248
- "vehicle",
249
- "vehupgrade",
250
232
  "class",
251
- "action",
252
- "language",
253
233
  "classFeature",
254
- "subclassFeature",
255
- "table",
234
+ "condition",
235
+ "creature",
236
+ "crochet",
237
+ "cult",
238
+ "deck",
239
+ "disease",
240
+ "facility",
241
+ "feat",
242
+ "hazard",
243
+ "item",
244
+ "itemMastery",
245
+ "language",
246
+ "legroup",
247
+ "object",
248
+ "optfeature",
249
+ "psionic",
250
+ "race",
256
251
  "recipe",
257
- "skill",
252
+ "reward",
258
253
  "sense",
259
- "legroup",
260
- "deck",
261
- "facility"
254
+ "skill",
255
+ "spell",
256
+ "status",
257
+ "subclassFeature",
258
+ "table",
259
+ "trap",
260
+ "variantrule",
261
+ "vehicle",
262
+ "vehupgrade"
262
263
  ]
263
264
  },
264
265
  "tagNameStatsAbbreviation": {
@@ -271,6 +272,7 @@
271
272
  "type": "string",
272
273
  "enum": [
273
274
  "classFluff",
275
+ "crochetPatternFluff",
274
276
  "monsterFluff",
275
277
  "raceFluff"
276
278
  ]
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "books.json",
4
- "version": "1.2.19",
4
+ "version": "1.2.20",
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "book": {
@@ -43,6 +43,7 @@
43
43
  "screen",
44
44
  "organized-play",
45
45
  "recipe",
46
+ "homecraft",
46
47
  "other"
47
48
  ],
48
49
  "markdownDescription": "The group under which this book should be listed in the navbar."
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "fluff-homecrafts.json",
4
+ "version": "1.0.0",
5
+ "type": "object",
6
+ "properties": {
7
+ "_meta": {
8
+ "$ref": "util.json#/$defs/metaBlock"
9
+ },
10
+ "crochetPatternFluff": {
11
+ "$ref": "util.json#/$defs/genericFluffArray"
12
+ }
13
+ },
14
+ "additionalProperties": false
15
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "version": "1.13.0",
3
+ "version": "1.14.0",
4
4
  "type": "object",
5
5
  "description": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. `spell` or `class`",
6
6
  "$defs": {
@@ -769,6 +769,12 @@
769
769
  "foundryOptionalfeature": {
770
770
  "$ref": "foundry-optionalfeatures.json#/properties/optionalfeature"
771
771
  },
772
+ "crochetPattern": {
773
+ "$ref": "homecrafts.json#/properties/crochetPattern"
774
+ },
775
+ "crochetPatternFluff": {
776
+ "$ref": "fluff-homecrafts.json#/properties/crochetPatternFluff"
777
+ },
772
778
  "psionic": {
773
779
  "$ref": "psionics.json#/properties/psionic"
774
780
  },
@@ -870,8 +876,5 @@
870
876
  }
871
877
  },
872
878
  "additionalProperties": false,
873
- "required": [
874
- "_meta"
875
- ],
876
879
  "markdownDescription": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. spell or class"
877
880
  }
@@ -0,0 +1,570 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "homecrafts.json",
4
+ "version": "1.0.0",
5
+ "type": "object",
6
+ "$defs": {
7
+ "_componentDimension": {
8
+ "type": "object",
9
+ "properties": {
10
+ "mm": {
11
+ "type": "number",
12
+ "exclusiveMinimum": 0
13
+ },
14
+ "entry": {
15
+ "$ref": "entry.json"
16
+ }
17
+ },
18
+ "required": [
19
+ "mm"
20
+ ]
21
+ },
22
+ "_component": {
23
+ "oneOf": [
24
+ {
25
+ "type": "object",
26
+ "properties": {
27
+ "height": {
28
+ "$ref": "homecrafts.json#/$defs/_componentDimension"
29
+ },
30
+ "width": {
31
+ "$ref": "homecrafts.json#/$defs/_componentDimension"
32
+ }
33
+ },
34
+ "minProperties": 1,
35
+ "additionalProperties": false
36
+ },
37
+ {
38
+ "type": "object",
39
+ "properties": {
40
+ "height": {
41
+ "$ref": "homecrafts.json#/$defs/_componentDimension"
42
+ },
43
+ "width": {
44
+ "$ref": "homecrafts.json#/$defs/_componentDimension"
45
+ },
46
+ "name": {
47
+ "type": "string"
48
+ }
49
+ },
50
+ "minProperties": 2,
51
+ "required": [
52
+ "name"
53
+ ],
54
+ "additionalProperties": false
55
+ }
56
+ ]
57
+ },
58
+ "_hookNumber": {
59
+ "description": "Expressed in millimetres.",
60
+ "type": "number",
61
+ "minimum": 2,
62
+ "maximum": 19,
63
+ "multipleOf": 0.25,
64
+ "markdownDescription": "Expressed in millimetres."
65
+ },
66
+ "_hook": {
67
+ "oneOf": [
68
+ {
69
+ "$ref": "homecrafts.json#/$defs/_hookNumber"
70
+ },
71
+ {
72
+ "type": "object",
73
+ "properties": {
74
+ "name": {
75
+ "type": "string"
76
+ },
77
+ "hooks": {
78
+ "type": "array",
79
+ "items": {
80
+ "$ref": "homecrafts.json#/$defs/_hookNumber"
81
+ },
82
+ "minItems": 1,
83
+ "uniqueItems": true
84
+ }
85
+ },
86
+ "required": [
87
+ "name",
88
+ "hooks"
89
+ ],
90
+ "additionalProperties": false
91
+ }
92
+ ]
93
+ },
94
+ "crochetPatternData": {
95
+ "type": "object",
96
+ "properties": {
97
+ "name": {
98
+ "type": "string"
99
+ },
100
+ "alias": {
101
+ "$ref": "util.json#/$defs/alias"
102
+ },
103
+ "source": {
104
+ "$ref": "util.json#/$defs/source"
105
+ },
106
+ "otherSources": {
107
+ "$ref": "util.json#/$defs/otherSources"
108
+ },
109
+ "referenceSources": {
110
+ "$ref": "util.json#/$defs/referenceSources"
111
+ },
112
+ "page": {
113
+ "$ref": "util.json#/$defs/page"
114
+ },
115
+ "instructions": {
116
+ "type": "array",
117
+ "items": {
118
+ "$ref": "entry.json"
119
+ }
120
+ },
121
+ "yarn": {
122
+ "type": "array",
123
+ "items": {
124
+ "$ref": "entry.json"
125
+ }
126
+ },
127
+ "hooks": {
128
+ "type": "array",
129
+ "items": {
130
+ "$ref": "homecrafts.json#/$defs/_hook"
131
+ },
132
+ "minItems": 1,
133
+ "uniqueItems": true
134
+ },
135
+ "notions": {
136
+ "type": "array",
137
+ "items": {
138
+ "$ref": "entry.json"
139
+ }
140
+ },
141
+ "gauge": {
142
+ "type": "array",
143
+ "items": {
144
+ "$ref": "entry.json"
145
+ }
146
+ },
147
+ "stitches": {
148
+ "type": "array",
149
+ "items": {
150
+ "$ref": "entry.json"
151
+ }
152
+ },
153
+ "abbreviations": {
154
+ "type": "array",
155
+ "items": {
156
+ "$ref": "entry.json"
157
+ }
158
+ },
159
+ "notes": {
160
+ "type": "array",
161
+ "items": {
162
+ "$ref": "entry.json"
163
+ }
164
+ },
165
+ "finishing": {
166
+ "type": "array",
167
+ "items": {
168
+ "$ref": "entry.json"
169
+ }
170
+ },
171
+ "size": {
172
+ "type": "array",
173
+ "items": {
174
+ "$ref": "homecrafts.json#/$defs/_component"
175
+ }
176
+ },
177
+ "sizeNote": {
178
+ "type": "string"
179
+ },
180
+ "patternType": {
181
+ "type": "string",
182
+ "enum": [
183
+ "amigurumi",
184
+ "wearable",
185
+ "household item"
186
+ ]
187
+ },
188
+ "level": {
189
+ "type": "string",
190
+ "description": "- B: Beginner \n- I: Intermediate\n- A: Advanced",
191
+ "enum": [
192
+ "B",
193
+ "I",
194
+ "A"
195
+ ],
196
+ "markdownDescription": "- B: Beginner \n- I: Intermediate\n- A: Advanced"
197
+ },
198
+ "designers": {
199
+ "type": "array",
200
+ "items": {
201
+ "type": "string",
202
+ "enum": [
203
+ "Alysia Sly",
204
+ "Lydia Viatoris",
205
+ "Rebecca Stone",
206
+ "Sharon Posey"
207
+ ]
208
+ },
209
+ "minItems": 1,
210
+ "uniqueItems": true
211
+ },
212
+ "seeAlsoCreature": {
213
+ "type": "array",
214
+ "items": {
215
+ "type": "string",
216
+ "description": "UIDs of \"creature\"s to be linked in a \"See Also\" footnote.\n\nE.g. \"gelatinous cube|mm\".",
217
+ "markdownDescription": "UIDs of "creature"s to be linked in a "See Also" footnote.\n\nEx.: "gelatinous cube|mm"."
218
+ },
219
+ "minItems": 1,
220
+ "uniqueItems": true
221
+ },
222
+ "seeAlsoItem": {
223
+ "type": "array",
224
+ "items": {
225
+ "type": "string",
226
+ "description": "UIDs of \"item\"s to be linked in a \"See Also\" footnote.\n\nE.g. \"quiver of ehlonna|dmg\".",
227
+ "markdownDescription": "UIDs of "item"s to be linked in a "See Also" footnote.\n\nEx.: "quiver of ehlonna|dmg"."
228
+ },
229
+ "minItems": 1,
230
+ "uniqueItems": true
231
+ },
232
+ "hasFluff": {
233
+ "type": "boolean"
234
+ },
235
+ "hasFluffImages": {
236
+ "type": "boolean"
237
+ }
238
+ },
239
+ "additionalProperties": false
240
+ },
241
+ "crochetPattern": {
242
+ "anyOf": [
243
+ {
244
+ "type": "object",
245
+ "properties": {
246
+ "name": {
247
+ "type": "string"
248
+ },
249
+ "alias": {
250
+ "$ref": "util.json#/$defs/alias"
251
+ },
252
+ "source": {
253
+ "$ref": "util.json#/$defs/source"
254
+ },
255
+ "otherSources": {
256
+ "$ref": "util.json#/$defs/otherSources"
257
+ },
258
+ "referenceSources": {
259
+ "$ref": "util.json#/$defs/referenceSources"
260
+ },
261
+ "page": {
262
+ "$ref": "util.json#/$defs/page"
263
+ },
264
+ "instructions": {
265
+ "type": "array",
266
+ "items": {
267
+ "$ref": "entry.json"
268
+ }
269
+ },
270
+ "yarn": {
271
+ "type": "array",
272
+ "items": {
273
+ "$ref": "entry.json"
274
+ }
275
+ },
276
+ "hooks": {
277
+ "type": "array",
278
+ "items": {
279
+ "$ref": "homecrafts.json#/$defs/_hook"
280
+ },
281
+ "minItems": 1,
282
+ "uniqueItems": true
283
+ },
284
+ "notions": {
285
+ "type": "array",
286
+ "items": {
287
+ "$ref": "entry.json"
288
+ }
289
+ },
290
+ "gauge": {
291
+ "type": "array",
292
+ "items": {
293
+ "$ref": "entry.json"
294
+ }
295
+ },
296
+ "stitches": {
297
+ "type": "array",
298
+ "items": {
299
+ "$ref": "entry.json"
300
+ }
301
+ },
302
+ "abbreviations": {
303
+ "type": "array",
304
+ "items": {
305
+ "$ref": "entry.json"
306
+ }
307
+ },
308
+ "notes": {
309
+ "type": "array",
310
+ "items": {
311
+ "$ref": "entry.json"
312
+ }
313
+ },
314
+ "finishing": {
315
+ "type": "array",
316
+ "items": {
317
+ "$ref": "entry.json"
318
+ }
319
+ },
320
+ "size": {
321
+ "type": "array",
322
+ "items": {
323
+ "$ref": "homecrafts.json#/$defs/_component"
324
+ }
325
+ },
326
+ "sizeNote": {
327
+ "type": "string"
328
+ },
329
+ "patternType": {
330
+ "type": "string",
331
+ "enum": [
332
+ "amigurumi",
333
+ "wearable",
334
+ "household item"
335
+ ]
336
+ },
337
+ "level": {
338
+ "type": "string",
339
+ "description": "- B: Beginner \n- I: Intermediate\n- A: Advanced",
340
+ "enum": [
341
+ "B",
342
+ "I",
343
+ "A"
344
+ ],
345
+ "markdownDescription": "- B: Beginner \n- I: Intermediate\n- A: Advanced"
346
+ },
347
+ "designers": {
348
+ "type": "array",
349
+ "items": {
350
+ "type": "string",
351
+ "enum": [
352
+ "Alysia Sly",
353
+ "Lydia Viatoris",
354
+ "Rebecca Stone",
355
+ "Sharon Posey"
356
+ ]
357
+ },
358
+ "minItems": 1,
359
+ "uniqueItems": true
360
+ },
361
+ "seeAlsoCreature": {
362
+ "type": "array",
363
+ "items": {
364
+ "type": "string",
365
+ "description": "UIDs of \"creature\"s to be linked in a \"See Also\" footnote.\n\nE.g. \"gelatinous cube|mm\".",
366
+ "markdownDescription": "UIDs of "creature"s to be linked in a "See Also" footnote.\n\nEx.: "gelatinous cube|mm"."
367
+ },
368
+ "minItems": 1,
369
+ "uniqueItems": true
370
+ },
371
+ "seeAlsoItem": {
372
+ "type": "array",
373
+ "items": {
374
+ "type": "string",
375
+ "description": "UIDs of \"item\"s to be linked in a \"See Also\" footnote.\n\nE.g. \"quiver of ehlonna|dmg\".",
376
+ "markdownDescription": "UIDs of "item"s to be linked in a "See Also" footnote.\n\nEx.: "quiver of ehlonna|dmg"."
377
+ },
378
+ "minItems": 1,
379
+ "uniqueItems": true
380
+ },
381
+ "hasFluff": {
382
+ "type": "boolean"
383
+ },
384
+ "hasFluffImages": {
385
+ "type": "boolean"
386
+ }
387
+ },
388
+ "additionalProperties": false,
389
+ "required": [
390
+ "name",
391
+ "source",
392
+ "instructions",
393
+ "yarn",
394
+ "hooks"
395
+ ]
396
+ },
397
+ {
398
+ "type": "object",
399
+ "properties": {
400
+ "name": {
401
+ "type": "string"
402
+ },
403
+ "alias": {
404
+ "$ref": "util.json#/$defs/alias"
405
+ },
406
+ "source": {
407
+ "$ref": "util.json#/$defs/source"
408
+ },
409
+ "otherSources": {
410
+ "$ref": "util.json#/$defs/otherSources"
411
+ },
412
+ "referenceSources": {
413
+ "$ref": "util.json#/$defs/referenceSources"
414
+ },
415
+ "page": {
416
+ "$ref": "util.json#/$defs/page"
417
+ },
418
+ "instructions": {
419
+ "type": "array",
420
+ "items": {
421
+ "$ref": "entry.json"
422
+ }
423
+ },
424
+ "yarn": {
425
+ "type": "array",
426
+ "items": {
427
+ "$ref": "entry.json"
428
+ }
429
+ },
430
+ "hooks": {
431
+ "type": "array",
432
+ "items": {
433
+ "$ref": "homecrafts.json#/$defs/_hook"
434
+ },
435
+ "minItems": 1,
436
+ "uniqueItems": true
437
+ },
438
+ "notions": {
439
+ "type": "array",
440
+ "items": {
441
+ "$ref": "entry.json"
442
+ }
443
+ },
444
+ "gauge": {
445
+ "type": "array",
446
+ "items": {
447
+ "$ref": "entry.json"
448
+ }
449
+ },
450
+ "stitches": {
451
+ "type": "array",
452
+ "items": {
453
+ "$ref": "entry.json"
454
+ }
455
+ },
456
+ "abbreviations": {
457
+ "type": "array",
458
+ "items": {
459
+ "$ref": "entry.json"
460
+ }
461
+ },
462
+ "notes": {
463
+ "type": "array",
464
+ "items": {
465
+ "$ref": "entry.json"
466
+ }
467
+ },
468
+ "finishing": {
469
+ "type": "array",
470
+ "items": {
471
+ "$ref": "entry.json"
472
+ }
473
+ },
474
+ "size": {
475
+ "type": "array",
476
+ "items": {
477
+ "$ref": "homecrafts.json#/$defs/_component"
478
+ }
479
+ },
480
+ "sizeNote": {
481
+ "type": "string"
482
+ },
483
+ "patternType": {
484
+ "type": "string",
485
+ "enum": [
486
+ "amigurumi",
487
+ "wearable",
488
+ "household item"
489
+ ]
490
+ },
491
+ "level": {
492
+ "type": "string",
493
+ "description": "- B: Beginner \n- I: Intermediate\n- A: Advanced",
494
+ "enum": [
495
+ "B",
496
+ "I",
497
+ "A"
498
+ ],
499
+ "markdownDescription": "- B: Beginner \n- I: Intermediate\n- A: Advanced"
500
+ },
501
+ "designers": {
502
+ "type": "array",
503
+ "items": {
504
+ "type": "string",
505
+ "enum": [
506
+ "Alysia Sly",
507
+ "Lydia Viatoris",
508
+ "Rebecca Stone",
509
+ "Sharon Posey"
510
+ ]
511
+ },
512
+ "minItems": 1,
513
+ "uniqueItems": true
514
+ },
515
+ "seeAlsoCreature": {
516
+ "type": "array",
517
+ "items": {
518
+ "type": "string",
519
+ "description": "UIDs of \"creature\"s to be linked in a \"See Also\" footnote.\n\nE.g. \"gelatinous cube|mm\".",
520
+ "markdownDescription": "UIDs of "creature"s to be linked in a "See Also" footnote.\n\nEx.: "gelatinous cube|mm"."
521
+ },
522
+ "minItems": 1,
523
+ "uniqueItems": true
524
+ },
525
+ "seeAlsoItem": {
526
+ "type": "array",
527
+ "items": {
528
+ "type": "string",
529
+ "description": "UIDs of \"item\"s to be linked in a \"See Also\" footnote.\n\nE.g. \"quiver of ehlonna|dmg\".",
530
+ "markdownDescription": "UIDs of "item"s to be linked in a "See Also" footnote.\n\nEx.: "quiver of ehlonna|dmg"."
531
+ },
532
+ "minItems": 1,
533
+ "uniqueItems": true
534
+ },
535
+ "hasFluff": {
536
+ "type": "boolean"
537
+ },
538
+ "hasFluffImages": {
539
+ "type": "boolean"
540
+ },
541
+ "_copy": {
542
+ "$ref": "util-copy.json#/$defs/copyBlock_copy_generic"
543
+ }
544
+ },
545
+ "additionalProperties": false,
546
+ "required": [
547
+ "_copy"
548
+ ]
549
+ }
550
+ ]
551
+ }
552
+ },
553
+ "properties": {
554
+ "_meta": {
555
+ "$ref": "util.json#/$defs/metaBlock"
556
+ },
557
+ "crochetPattern": {
558
+ "type": "array",
559
+ "uniqueItems": true,
560
+ "minItems": 1,
561
+ "items": {
562
+ "$ref": "#/$defs/crochetPattern"
563
+ }
564
+ }
565
+ },
566
+ "required": [
567
+ "crochetPattern"
568
+ ],
569
+ "additionalProperties": false
570
+ }