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
  {
@@ -61,6 +180,42 @@
61
180
  "source"
62
181
  ]
63
182
  },
183
+ {
184
+ "type": "object",
185
+ "properties": {
186
+ "abbreviation": {
187
+ "type": "string"
188
+ },
189
+ "source": {
190
+ "$ref": "util.json#/$defs/source"
191
+ },
192
+ "page": {
193
+ "$ref": "util.json#/$defs/page"
194
+ },
195
+ "reprintedAs": {
196
+ "$ref": "util.json#/$defs/reprintedAs"
197
+ },
198
+ "name": {
199
+ "type": "string"
200
+ },
201
+ "template": {
202
+ "type": "string"
203
+ },
204
+ "entries": {
205
+ "type": "array",
206
+ "items": {
207
+ "$ref": "entry.json"
208
+ }
209
+ },
210
+ "_copy": {
211
+ "$ref": "#/$defs/copyBlock_copy_itemLookup"
212
+ }
213
+ },
214
+ "additionalProperties": false,
215
+ "required": [
216
+ "_copy"
217
+ ]
218
+ },
64
219
  {
65
220
  "type": "object",
66
221
  "properties": {
@@ -94,6 +249,42 @@
94
249
  "abbreviation",
95
250
  "source"
96
251
  ]
252
+ },
253
+ {
254
+ "type": "object",
255
+ "properties": {
256
+ "abbreviation": {
257
+ "type": "string"
258
+ },
259
+ "source": {
260
+ "$ref": "util.json#/$defs/source"
261
+ },
262
+ "page": {
263
+ "$ref": "util.json#/$defs/page"
264
+ },
265
+ "reprintedAs": {
266
+ "$ref": "util.json#/$defs/reprintedAs"
267
+ },
268
+ "name": {
269
+ "type": "string"
270
+ },
271
+ "template": {
272
+ "type": "string"
273
+ },
274
+ "entriesTemplate": {
275
+ "type": "array",
276
+ "items": {
277
+ "$ref": "entry.json"
278
+ }
279
+ },
280
+ "_copy": {
281
+ "$ref": "#/$defs/copyBlock_copy_itemLookup"
282
+ }
283
+ },
284
+ "additionalProperties": false,
285
+ "required": [
286
+ "_copy"
287
+ ]
97
288
  }
98
289
  ]
99
290
  },
@@ -1545,6 +1736,93 @@
1545
1736
  ]
1546
1737
  }
1547
1738
  ]
1739
+ },
1740
+ "itemMasteryData": {
1741
+ "type": "object",
1742
+ "properties": {
1743
+ "name": {
1744
+ "type": "string"
1745
+ },
1746
+ "source": {
1747
+ "$ref": "util.json#/$defs/source"
1748
+ },
1749
+ "page": {
1750
+ "$ref": "util.json#/$defs/page"
1751
+ },
1752
+ "prerequisite": {
1753
+ "$ref": "util.json#/$defs/prerequisite"
1754
+ },
1755
+ "entries": {
1756
+ "type": "array",
1757
+ "items": {
1758
+ "$ref": "entry.json"
1759
+ }
1760
+ }
1761
+ },
1762
+ "additionalProperties": false
1763
+ },
1764
+ "itemMastery": {
1765
+ "anyOf": [
1766
+ {
1767
+ "type": "object",
1768
+ "properties": {
1769
+ "name": {
1770
+ "type": "string"
1771
+ },
1772
+ "source": {
1773
+ "$ref": "util.json#/$defs/source"
1774
+ },
1775
+ "page": {
1776
+ "$ref": "util.json#/$defs/page"
1777
+ },
1778
+ "prerequisite": {
1779
+ "$ref": "util.json#/$defs/prerequisite"
1780
+ },
1781
+ "entries": {
1782
+ "type": "array",
1783
+ "items": {
1784
+ "$ref": "entry.json"
1785
+ }
1786
+ }
1787
+ },
1788
+ "additionalProperties": false,
1789
+ "required": [
1790
+ "name",
1791
+ "source",
1792
+ "entries"
1793
+ ]
1794
+ },
1795
+ {
1796
+ "type": "object",
1797
+ "properties": {
1798
+ "name": {
1799
+ "type": "string"
1800
+ },
1801
+ "source": {
1802
+ "$ref": "util.json#/$defs/source"
1803
+ },
1804
+ "page": {
1805
+ "$ref": "util.json#/$defs/page"
1806
+ },
1807
+ "prerequisite": {
1808
+ "$ref": "util.json#/$defs/prerequisite"
1809
+ },
1810
+ "entries": {
1811
+ "type": "array",
1812
+ "items": {
1813
+ "$ref": "entry.json"
1814
+ }
1815
+ },
1816
+ "_copy": {
1817
+ "$ref": "util-copy.json#/$defs/copyBlock_copy_generic"
1818
+ }
1819
+ },
1820
+ "additionalProperties": false,
1821
+ "required": [
1822
+ "_copy"
1823
+ ]
1824
+ }
1825
+ ]
1548
1826
  }
1549
1827
  },
1550
1828
  "properties": {
@@ -1578,6 +1856,7 @@
1578
1856
  "itemEntry": {
1579
1857
  "type": "array",
1580
1858
  "minItems": 1,
1859
+ "uniqueItems": true,
1581
1860
  "items": {
1582
1861
  "type": "object",
1583
1862
  "properties": {
@@ -1599,6 +1878,7 @@
1599
1878
  "itemTypeAdditionalEntries": {
1600
1879
  "type": "array",
1601
1880
  "minItems": 1,
1881
+ "uniqueItems": true,
1602
1882
  "items": {
1603
1883
  "type": "object",
1604
1884
  "properties": {
@@ -1624,36 +1904,18 @@
1624
1904
  "itemMastery": {
1625
1905
  "type": "array",
1626
1906
  "minItems": 1,
1907
+ "uniqueItems": true,
1627
1908
  "items": {
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
- "required": [
1650
- "name",
1651
- "source",
1652
- "entries"
1653
- ],
1654
- "additionalProperties": false
1909
+ "$ref": "#/$defs/itemMastery"
1655
1910
  }
1656
1911
  }
1657
1912
  },
1913
+ "required": [
1914
+ "baseitem",
1915
+ "itemProperty",
1916
+ "itemType",
1917
+ "itemEntry",
1918
+ "itemTypeAdditionalEntries"
1919
+ ],
1658
1920
  "additionalProperties": false
1659
1921
  }
@@ -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": {
@@ -90,14 +90,203 @@
90
90
  "$ref": "entry.json"
91
91
  }
92
92
  },
93
- "required": [
94
- "name",
95
- "source"
96
- ],
97
93
  "additionalProperties": false
94
+ },
95
+ "language": {
96
+ "anyOf": [
97
+ {
98
+ "type": "object",
99
+ "properties": {
100
+ "name": {
101
+ "type": "string"
102
+ },
103
+ "entries": {
104
+ "type": "array",
105
+ "items": {
106
+ "$ref": "entry.json"
107
+ }
108
+ },
109
+ "source": {
110
+ "$ref": "util.json#/$defs/source"
111
+ },
112
+ "page": {
113
+ "$ref": "util.json#/$defs/page"
114
+ },
115
+ "legacy": {
116
+ "$ref": "util.json#/$defs/legacy"
117
+ },
118
+ "otherSources": {
119
+ "$ref": "util.json#/$defs/otherSources"
120
+ },
121
+ "referenceSources": {
122
+ "$ref": "util.json#/$defs/referenceSources"
123
+ },
124
+ "reprintedAs": {
125
+ "$ref": "util.json#/$defs/reprintedAs"
126
+ },
127
+ "typicalSpeakers": {
128
+ "type": "array",
129
+ "items": {
130
+ "type": "string"
131
+ }
132
+ },
133
+ "origin": {
134
+ "type": "string"
135
+ },
136
+ "script": {
137
+ "type": "string"
138
+ },
139
+ "type": {
140
+ "type": "string",
141
+ "enum": [
142
+ "standard",
143
+ "rare",
144
+ "exotic",
145
+ "secret"
146
+ ]
147
+ },
148
+ "additionalSources": {
149
+ "$ref": "util.json#/$defs/additionalSources"
150
+ },
151
+ "dialects": {
152
+ "type": "array",
153
+ "items": {
154
+ "type": "string"
155
+ }
156
+ },
157
+ "fonts": {
158
+ "description": "A list of direct URLs to font files.",
159
+ "type": "array",
160
+ "items": {
161
+ "type": "string"
162
+ },
163
+ "markdownDescription": "A list of direct URLs to font files."
164
+ },
165
+ "hasFluff": {
166
+ "type": "boolean"
167
+ },
168
+ "hasFluffImages": {
169
+ "type": "boolean"
170
+ },
171
+ "fluff": {
172
+ "description": "This is intended to be used for Homebrew only - site data should include a fluff file per source",
173
+ "$ref": "util.json#/$defs/fluffObject",
174
+ "markdownDescription": "This is intended to be used for Homebrew only - site data should include a fluff file per source"
175
+ },
176
+ "foundryImg": {
177
+ "$ref": "util-foundry.json#/$defs/foundryImg"
178
+ },
179
+ "foundryAdvice": {
180
+ "$ref": "entry.json"
181
+ }
182
+ },
183
+ "additionalProperties": false,
184
+ "required": [
185
+ "name",
186
+ "source"
187
+ ]
188
+ },
189
+ {
190
+ "type": "object",
191
+ "properties": {
192
+ "name": {
193
+ "type": "string"
194
+ },
195
+ "entries": {
196
+ "type": "array",
197
+ "items": {
198
+ "$ref": "entry.json"
199
+ }
200
+ },
201
+ "source": {
202
+ "$ref": "util.json#/$defs/source"
203
+ },
204
+ "page": {
205
+ "$ref": "util.json#/$defs/page"
206
+ },
207
+ "legacy": {
208
+ "$ref": "util.json#/$defs/legacy"
209
+ },
210
+ "otherSources": {
211
+ "$ref": "util.json#/$defs/otherSources"
212
+ },
213
+ "referenceSources": {
214
+ "$ref": "util.json#/$defs/referenceSources"
215
+ },
216
+ "reprintedAs": {
217
+ "$ref": "util.json#/$defs/reprintedAs"
218
+ },
219
+ "typicalSpeakers": {
220
+ "type": "array",
221
+ "items": {
222
+ "type": "string"
223
+ }
224
+ },
225
+ "origin": {
226
+ "type": "string"
227
+ },
228
+ "script": {
229
+ "type": "string"
230
+ },
231
+ "type": {
232
+ "type": "string",
233
+ "enum": [
234
+ "standard",
235
+ "rare",
236
+ "exotic",
237
+ "secret"
238
+ ]
239
+ },
240
+ "additionalSources": {
241
+ "$ref": "util.json#/$defs/additionalSources"
242
+ },
243
+ "dialects": {
244
+ "type": "array",
245
+ "items": {
246
+ "type": "string"
247
+ }
248
+ },
249
+ "fonts": {
250
+ "description": "A list of direct URLs to font files.",
251
+ "type": "array",
252
+ "items": {
253
+ "type": "string"
254
+ },
255
+ "markdownDescription": "A list of direct URLs to font files."
256
+ },
257
+ "hasFluff": {
258
+ "type": "boolean"
259
+ },
260
+ "hasFluffImages": {
261
+ "type": "boolean"
262
+ },
263
+ "fluff": {
264
+ "description": "This is intended to be used for Homebrew only - site data should include a fluff file per source",
265
+ "$ref": "util.json#/$defs/fluffObject",
266
+ "markdownDescription": "This is intended to be used for Homebrew only - site data should include a fluff file per source"
267
+ },
268
+ "foundryImg": {
269
+ "$ref": "util-foundry.json#/$defs/foundryImg"
270
+ },
271
+ "foundryAdvice": {
272
+ "$ref": "entry.json"
273
+ },
274
+ "_copy": {
275
+ "$ref": "util-copy.json#/$defs/copyBlock_copy_generic"
276
+ }
277
+ },
278
+ "additionalProperties": false,
279
+ "required": [
280
+ "_copy"
281
+ ]
282
+ }
283
+ ]
98
284
  }
99
285
  },
100
286
  "properties": {
287
+ "_meta": {
288
+ "$ref": "util.json#/$defs/metaBlock"
289
+ },
101
290
  "language": {
102
291
  "type": "array",
103
292
  "uniqueItems": true,