5etools-utils 0.15.17 → 0.16.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.
Files changed (126) hide show
  1. package/README.md +13 -13
  2. package/bin/clean-html.js +0 -0
  3. package/bin/lint-js-changed.js +17 -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/lib/Lint/LintJsChanged.js +33 -0
  16. package/lib/UtilGit.js +39 -0
  17. package/lib/eslint/eslint-plugin-jquery.js +49 -0
  18. package/package.json +16 -6
  19. package/schema/brew/charcreationoptions.json +162 -8
  20. package/schema/brew/cultsboons.json +399 -14
  21. package/schema/brew/encounterbuilder.json +81 -2
  22. package/schema/brew/fluff-charcreationoptions.json +5 -33
  23. package/schema/brew/homebrew.json +8 -2
  24. package/schema/brew/items-base.json +290 -28
  25. package/schema/brew/languages.json +195 -6
  26. package/schema/brew/objects.json +389 -9
  27. package/schema/brew/psionics.json +356 -7
  28. package/schema/brew/rewards.json +207 -8
  29. package/schema/brew/senses.json +68 -7
  30. package/schema/brew/skills.json +74 -7
  31. package/schema/brew/tables.json +676 -94
  32. package/schema/brew/trapshazards.json +571 -14
  33. package/schema/brew/util-copy.json +143 -1
  34. package/schema/brew/util.json +4 -2
  35. package/schema/brew/variantrules.json +151 -22
  36. package/schema/brew/vehicles.json +6672 -61
  37. package/schema/brew-fast/charcreationoptions.json +162 -8
  38. package/schema/brew-fast/cultsboons.json +399 -14
  39. package/schema/brew-fast/encounterbuilder.json +81 -2
  40. package/schema/brew-fast/fluff-charcreationoptions.json +5 -33
  41. package/schema/brew-fast/homebrew.json +8 -2
  42. package/schema/brew-fast/items-base.json +290 -28
  43. package/schema/brew-fast/languages.json +195 -6
  44. package/schema/brew-fast/objects.json +389 -9
  45. package/schema/brew-fast/psionics.json +356 -7
  46. package/schema/brew-fast/rewards.json +207 -8
  47. package/schema/brew-fast/senses.json +68 -7
  48. package/schema/brew-fast/skills.json +74 -7
  49. package/schema/brew-fast/tables.json +676 -94
  50. package/schema/brew-fast/trapshazards.json +571 -14
  51. package/schema/brew-fast/util-copy.json +143 -1
  52. package/schema/brew-fast/util.json +4 -2
  53. package/schema/brew-fast/variantrules.json +151 -22
  54. package/schema/brew-fast/vehicles.json +6672 -61
  55. package/schema/site/charcreationoptions.json +134 -8
  56. package/schema/site/cultsboons.json +315 -14
  57. package/schema/site/encounterbuilder.json +81 -2
  58. package/schema/site/fluff-charcreationoptions.json +5 -33
  59. package/schema/site/homebrew.json +8 -2
  60. package/schema/site/items-base.json +374 -40
  61. package/schema/site/languages.json +197 -6
  62. package/schema/site/objects.json +361 -9
  63. package/schema/site/psionics.json +314 -7
  64. package/schema/site/rewards.json +165 -8
  65. package/schema/site/senses.json +92 -7
  66. package/schema/site/skills.json +98 -7
  67. package/schema/site/tables.json +600 -87
  68. package/schema/site/trapshazards.json +555 -14
  69. package/schema/site/util-copy.json +143 -1
  70. package/schema/site/util.json +4 -2
  71. package/schema/site/variantrules.json +161 -22
  72. package/schema/site/vehicles.json +6446 -86
  73. package/schema/site-fast/charcreationoptions.json +134 -8
  74. package/schema/site-fast/cultsboons.json +315 -14
  75. package/schema/site-fast/encounterbuilder.json +81 -2
  76. package/schema/site-fast/fluff-charcreationoptions.json +5 -33
  77. package/schema/site-fast/homebrew.json +8 -2
  78. package/schema/site-fast/items-base.json +374 -40
  79. package/schema/site-fast/languages.json +197 -6
  80. package/schema/site-fast/objects.json +361 -9
  81. package/schema/site-fast/psionics.json +314 -7
  82. package/schema/site-fast/rewards.json +165 -8
  83. package/schema/site-fast/senses.json +92 -7
  84. package/schema/site-fast/skills.json +98 -7
  85. package/schema/site-fast/tables.json +600 -87
  86. package/schema/site-fast/trapshazards.json +555 -14
  87. package/schema/site-fast/util-copy.json +143 -1
  88. package/schema/site-fast/util.json +4 -2
  89. package/schema/site-fast/variantrules.json +161 -22
  90. package/schema/site-fast/vehicles.json +6446 -86
  91. package/schema/ua/charcreationoptions.json +110 -8
  92. package/schema/ua/cultsboons.json +315 -14
  93. package/schema/ua/encounterbuilder.json +81 -2
  94. package/schema/ua/fluff-charcreationoptions.json +5 -33
  95. package/schema/ua/homebrew.json +8 -2
  96. package/schema/ua/items-base.json +290 -28
  97. package/schema/ua/languages.json +173 -6
  98. package/schema/ua/objects.json +367 -9
  99. package/schema/ua/psionics.json +314 -7
  100. package/schema/ua/rewards.json +165 -8
  101. package/schema/ua/senses.json +68 -7
  102. package/schema/ua/skills.json +74 -7
  103. package/schema/ua/tables.json +564 -87
  104. package/schema/ua/trapshazards.json +483 -14
  105. package/schema/ua/util-copy.json +143 -1
  106. package/schema/ua/util.json +4 -2
  107. package/schema/ua/variantrules.json +139 -22
  108. package/schema/ua/vehicles.json +6574 -76
  109. package/schema/ua-fast/charcreationoptions.json +110 -8
  110. package/schema/ua-fast/cultsboons.json +315 -14
  111. package/schema/ua-fast/encounterbuilder.json +81 -2
  112. package/schema/ua-fast/fluff-charcreationoptions.json +5 -33
  113. package/schema/ua-fast/homebrew.json +8 -2
  114. package/schema/ua-fast/items-base.json +290 -28
  115. package/schema/ua-fast/languages.json +173 -6
  116. package/schema/ua-fast/objects.json +367 -9
  117. package/schema/ua-fast/psionics.json +314 -7
  118. package/schema/ua-fast/rewards.json +165 -8
  119. package/schema/ua-fast/senses.json +68 -7
  120. package/schema/ua-fast/skills.json +74 -7
  121. package/schema/ua-fast/tables.json +564 -87
  122. package/schema/ua-fast/trapshazards.json +483 -14
  123. package/schema/ua-fast/util-copy.json +143 -1
  124. package/schema/ua-fast/util.json +4 -2
  125. package/schema/ua-fast/variantrules.json +139 -22
  126. package/schema/ua-fast/vehicles.json +6574 -76
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "items-base.json",
4
- "version": "1.6.18",
4
+ "version": "1.7.0",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "itemLookupBase": {
@@ -25,6 +25,125 @@
25
25
  },
26
26
  "additionalProperties": false
27
27
  },
28
+ "copyBlock_copy_itemLookup": {
29
+ "type": "object",
30
+ "properties": {
31
+ "_mod": {
32
+ "$ref": "util-copy.json#/$defs/_modObject"
33
+ },
34
+ "_templates": {
35
+ "type": "array",
36
+ "items": {
37
+ "type": "object",
38
+ "properties": {
39
+ "name": {
40
+ "type": "string"
41
+ },
42
+ "source": {
43
+ "$ref": "util.json#/$defs/source"
44
+ }
45
+ },
46
+ "required": [
47
+ "name",
48
+ "source"
49
+ ],
50
+ "additionalProperties": false
51
+ },
52
+ "minItems": 1,
53
+ "uniqueItems": true
54
+ },
55
+ "_preserve": {
56
+ "type": "object",
57
+ "patternProperties": {
58
+ ".*": {
59
+ "const": true
60
+ }
61
+ }
62
+ },
63
+ "abbreviation": {
64
+ "type": "string"
65
+ },
66
+ "source": {
67
+ "$ref": "util.json#/$defs/source"
68
+ }
69
+ },
70
+ "additionalProperties": false,
71
+ "required": [
72
+ "abbreviation",
73
+ "source"
74
+ ]
75
+ },
76
+ "copyBlockItemLookup": {
77
+ "type": "object",
78
+ "properties": {
79
+ "_copy": {
80
+ "$ref": "#/$defs/copyBlock_copy_itemLookup"
81
+ }
82
+ },
83
+ "required": [
84
+ "_copy"
85
+ ]
86
+ },
87
+ "itemPropertyLookup_entries": {
88
+ "type": "object",
89
+ "properties": {
90
+ "abbreviation": {
91
+ "type": "string"
92
+ },
93
+ "source": {
94
+ "$ref": "util.json#/$defs/source"
95
+ },
96
+ "page": {
97
+ "$ref": "util.json#/$defs/page"
98
+ },
99
+ "reprintedAs": {
100
+ "$ref": "util.json#/$defs/reprintedAs"
101
+ },
102
+ "name": {
103
+ "type": "string"
104
+ },
105
+ "template": {
106
+ "type": "string"
107
+ },
108
+ "entries": {
109
+ "type": "array",
110
+ "items": {
111
+ "$ref": "entry.json"
112
+ }
113
+ }
114
+ },
115
+ "additionalProperties": false
116
+ },
117
+ "itemPropertyLookup_entriesTemplate": {
118
+ "type": "object",
119
+ "properties": {
120
+ "abbreviation": {
121
+ "type": "string"
122
+ },
123
+ "source": {
124
+ "$ref": "util.json#/$defs/source"
125
+ },
126
+ "page": {
127
+ "$ref": "util.json#/$defs/page"
128
+ },
129
+ "reprintedAs": {
130
+ "$ref": "util.json#/$defs/reprintedAs"
131
+ },
132
+ "name": {
133
+ "type": "string"
134
+ },
135
+ "template": {
136
+ "type": "string"
137
+ },
138
+ "entriesTemplate": {
139
+ "type": "array",
140
+ "items": {
141
+ "$ref": "entry.json"
142
+ }
143
+ }
144
+ },
145
+ "additionalProperties": false
146
+ },
28
147
  "itemPropertyLookup": {
29
148
  "anyOf": [
30
149
  {
@@ -62,6 +181,42 @@
62
181
  "page"
63
182
  ]
64
183
  },
184
+ {
185
+ "type": "object",
186
+ "properties": {
187
+ "abbreviation": {
188
+ "type": "string"
189
+ },
190
+ "source": {
191
+ "$ref": "util.json#/$defs/source"
192
+ },
193
+ "page": {
194
+ "$ref": "util.json#/$defs/page"
195
+ },
196
+ "reprintedAs": {
197
+ "$ref": "util.json#/$defs/reprintedAs"
198
+ },
199
+ "name": {
200
+ "type": "string"
201
+ },
202
+ "template": {
203
+ "type": "string"
204
+ },
205
+ "entries": {
206
+ "type": "array",
207
+ "items": {
208
+ "$ref": "entry.json"
209
+ }
210
+ },
211
+ "_copy": {
212
+ "$ref": "#/$defs/copyBlock_copy_itemLookup"
213
+ }
214
+ },
215
+ "additionalProperties": false,
216
+ "required": [
217
+ "_copy"
218
+ ]
219
+ },
65
220
  {
66
221
  "type": "object",
67
222
  "properties": {
@@ -96,6 +251,42 @@
96
251
  "source",
97
252
  "page"
98
253
  ]
254
+ },
255
+ {
256
+ "type": "object",
257
+ "properties": {
258
+ "abbreviation": {
259
+ "type": "string"
260
+ },
261
+ "source": {
262
+ "$ref": "util.json#/$defs/source"
263
+ },
264
+ "page": {
265
+ "$ref": "util.json#/$defs/page"
266
+ },
267
+ "reprintedAs": {
268
+ "$ref": "util.json#/$defs/reprintedAs"
269
+ },
270
+ "name": {
271
+ "type": "string"
272
+ },
273
+ "template": {
274
+ "type": "string"
275
+ },
276
+ "entriesTemplate": {
277
+ "type": "array",
278
+ "items": {
279
+ "$ref": "entry.json"
280
+ }
281
+ },
282
+ "_copy": {
283
+ "$ref": "#/$defs/copyBlock_copy_itemLookup"
284
+ }
285
+ },
286
+ "additionalProperties": false,
287
+ "required": [
288
+ "_copy"
289
+ ]
99
290
  }
100
291
  ]
101
292
  },
@@ -1406,6 +1597,93 @@
1406
1597
  ]
1407
1598
  }
1408
1599
  ]
1600
+ },
1601
+ "itemMasteryData": {
1602
+ "type": "object",
1603
+ "properties": {
1604
+ "name": {
1605
+ "type": "string"
1606
+ },
1607
+ "source": {
1608
+ "$ref": "util.json#/$defs/source"
1609
+ },
1610
+ "page": {
1611
+ "$ref": "util.json#/$defs/page"
1612
+ },
1613
+ "prerequisite": {
1614
+ "$ref": "util.json#/$defs/prerequisite"
1615
+ },
1616
+ "entries": {
1617
+ "type": "array",
1618
+ "items": {
1619
+ "$ref": "entry.json"
1620
+ }
1621
+ }
1622
+ },
1623
+ "additionalProperties": false
1624
+ },
1625
+ "itemMastery": {
1626
+ "anyOf": [
1627
+ {
1628
+ "type": "object",
1629
+ "properties": {
1630
+ "name": {
1631
+ "type": "string"
1632
+ },
1633
+ "source": {
1634
+ "$ref": "util.json#/$defs/source"
1635
+ },
1636
+ "page": {
1637
+ "$ref": "util.json#/$defs/page"
1638
+ },
1639
+ "prerequisite": {
1640
+ "$ref": "util.json#/$defs/prerequisite"
1641
+ },
1642
+ "entries": {
1643
+ "type": "array",
1644
+ "items": {
1645
+ "$ref": "entry.json"
1646
+ }
1647
+ }
1648
+ },
1649
+ "additionalProperties": false,
1650
+ "required": [
1651
+ "name",
1652
+ "source",
1653
+ "entries"
1654
+ ]
1655
+ },
1656
+ {
1657
+ "type": "object",
1658
+ "properties": {
1659
+ "name": {
1660
+ "type": "string"
1661
+ },
1662
+ "source": {
1663
+ "$ref": "util.json#/$defs/source"
1664
+ },
1665
+ "page": {
1666
+ "$ref": "util.json#/$defs/page"
1667
+ },
1668
+ "prerequisite": {
1669
+ "$ref": "util.json#/$defs/prerequisite"
1670
+ },
1671
+ "entries": {
1672
+ "type": "array",
1673
+ "items": {
1674
+ "$ref": "entry.json"
1675
+ }
1676
+ },
1677
+ "_copy": {
1678
+ "$ref": "util-copy.json#/$defs/copyBlock_copy_generic"
1679
+ }
1680
+ },
1681
+ "additionalProperties": false,
1682
+ "required": [
1683
+ "_copy"
1684
+ ]
1685
+ }
1686
+ ]
1409
1687
  }
1410
1688
  },
1411
1689
  "properties": {
@@ -1439,6 +1717,7 @@
1439
1717
  "itemEntry": {
1440
1718
  "type": "array",
1441
1719
  "minItems": 1,
1720
+ "uniqueItems": true,
1442
1721
  "items": {
1443
1722
  "type": "object",
1444
1723
  "properties": {
@@ -1460,6 +1739,7 @@
1460
1739
  "itemTypeAdditionalEntries": {
1461
1740
  "type": "array",
1462
1741
  "minItems": 1,
1742
+ "uniqueItems": true,
1463
1743
  "items": {
1464
1744
  "type": "object",
1465
1745
  "properties": {
@@ -1485,36 +1765,18 @@
1485
1765
  "itemMastery": {
1486
1766
  "type": "array",
1487
1767
  "minItems": 1,
1768
+ "uniqueItems": true,
1488
1769
  "items": {
1489
- "type": "object",
1490
- "properties": {
1491
- "name": {
1492
- "type": "string"
1493
- },
1494
- "source": {
1495
- "$ref": "util.json#/$defs/source"
1496
- },
1497
- "page": {
1498
- "$ref": "util.json#/$defs/page"
1499
- },
1500
- "prerequisite": {
1501
- "$ref": "util.json#/$defs/prerequisite"
1502
- },
1503
- "entries": {
1504
- "type": "array",
1505
- "items": {
1506
- "$ref": "entry.json"
1507
- }
1508
- }
1509
- },
1510
- "required": [
1511
- "name",
1512
- "source",
1513
- "entries"
1514
- ],
1515
- "additionalProperties": false
1770
+ "$ref": "#/$defs/itemMastery"
1516
1771
  }
1517
1772
  }
1518
1773
  },
1774
+ "required": [
1775
+ "baseitem",
1776
+ "itemProperty",
1777
+ "itemType",
1778
+ "itemEntry",
1779
+ "itemTypeAdditionalEntries"
1780
+ ],
1519
1781
  "additionalProperties": false
1520
1782
  }
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "languages.json",
4
- "version": "1.1.18",
4
+ "version": "1.2.0",
5
5
  "type": "object",
6
6
  "$defs": {
7
- "language": {
7
+ "languageData": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "name": {
@@ -79,14 +79,181 @@
79
79
  "type": "boolean"
80
80
  }
81
81
  },
82
- "required": [
83
- "name",
84
- "source"
85
- ],
86
82
  "additionalProperties": false
83
+ },
84
+ "language": {
85
+ "anyOf": [
86
+ {
87
+ "type": "object",
88
+ "properties": {
89
+ "name": {
90
+ "type": "string"
91
+ },
92
+ "entries": {
93
+ "type": "array",
94
+ "items": {
95
+ "$ref": "entry.json"
96
+ }
97
+ },
98
+ "source": {
99
+ "$ref": "util.json#/$defs/source"
100
+ },
101
+ "page": {
102
+ "$ref": "util.json#/$defs/page"
103
+ },
104
+ "legacy": {
105
+ "$ref": "util.json#/$defs/legacy"
106
+ },
107
+ "otherSources": {
108
+ "$ref": "util.json#/$defs/otherSources"
109
+ },
110
+ "referenceSources": {
111
+ "$ref": "util.json#/$defs/referenceSources"
112
+ },
113
+ "reprintedAs": {
114
+ "$ref": "util.json#/$defs/reprintedAs"
115
+ },
116
+ "typicalSpeakers": {
117
+ "type": "array",
118
+ "items": {
119
+ "type": "string"
120
+ }
121
+ },
122
+ "origin": {
123
+ "type": "string"
124
+ },
125
+ "script": {
126
+ "type": "string"
127
+ },
128
+ "type": {
129
+ "type": "string",
130
+ "enum": [
131
+ "standard",
132
+ "rare",
133
+ "exotic",
134
+ "secret"
135
+ ]
136
+ },
137
+ "additionalSources": {
138
+ "$ref": "util.json#/$defs/additionalSources"
139
+ },
140
+ "dialects": {
141
+ "type": "array",
142
+ "items": {
143
+ "type": "string"
144
+ }
145
+ },
146
+ "fonts": {
147
+ "description": "A list of direct URLs to font files.",
148
+ "type": "array",
149
+ "items": {
150
+ "type": "string"
151
+ },
152
+ "markdownDescription": "A list of direct URLs to font files."
153
+ },
154
+ "hasFluff": {
155
+ "type": "boolean"
156
+ },
157
+ "hasFluffImages": {
158
+ "type": "boolean"
159
+ }
160
+ },
161
+ "additionalProperties": false,
162
+ "required": [
163
+ "name",
164
+ "source"
165
+ ]
166
+ },
167
+ {
168
+ "type": "object",
169
+ "properties": {
170
+ "name": {
171
+ "type": "string"
172
+ },
173
+ "entries": {
174
+ "type": "array",
175
+ "items": {
176
+ "$ref": "entry.json"
177
+ }
178
+ },
179
+ "source": {
180
+ "$ref": "util.json#/$defs/source"
181
+ },
182
+ "page": {
183
+ "$ref": "util.json#/$defs/page"
184
+ },
185
+ "legacy": {
186
+ "$ref": "util.json#/$defs/legacy"
187
+ },
188
+ "otherSources": {
189
+ "$ref": "util.json#/$defs/otherSources"
190
+ },
191
+ "referenceSources": {
192
+ "$ref": "util.json#/$defs/referenceSources"
193
+ },
194
+ "reprintedAs": {
195
+ "$ref": "util.json#/$defs/reprintedAs"
196
+ },
197
+ "typicalSpeakers": {
198
+ "type": "array",
199
+ "items": {
200
+ "type": "string"
201
+ }
202
+ },
203
+ "origin": {
204
+ "type": "string"
205
+ },
206
+ "script": {
207
+ "type": "string"
208
+ },
209
+ "type": {
210
+ "type": "string",
211
+ "enum": [
212
+ "standard",
213
+ "rare",
214
+ "exotic",
215
+ "secret"
216
+ ]
217
+ },
218
+ "additionalSources": {
219
+ "$ref": "util.json#/$defs/additionalSources"
220
+ },
221
+ "dialects": {
222
+ "type": "array",
223
+ "items": {
224
+ "type": "string"
225
+ }
226
+ },
227
+ "fonts": {
228
+ "description": "A list of direct URLs to font files.",
229
+ "type": "array",
230
+ "items": {
231
+ "type": "string"
232
+ },
233
+ "markdownDescription": "A list of direct URLs to font files."
234
+ },
235
+ "hasFluff": {
236
+ "type": "boolean"
237
+ },
238
+ "hasFluffImages": {
239
+ "type": "boolean"
240
+ },
241
+ "_copy": {
242
+ "$ref": "util-copy.json#/$defs/copyBlock_copy_generic"
243
+ }
244
+ },
245
+ "additionalProperties": false,
246
+ "required": [
247
+ "_copy"
248
+ ]
249
+ }
250
+ ]
87
251
  }
88
252
  },
89
253
  "properties": {
254
+ "_meta": {
255
+ "$ref": "util.json#/$defs/metaBlock"
256
+ },
90
257
  "language": {
91
258
  "type": "array",
92
259
  "uniqueItems": true,