5etools-utils 0.12.77 → 0.13.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 (44) hide show
  1. package/bin/test-file-locations.js +1 -1
  2. package/bin/test-file-names.js +1 -1
  3. package/bin/test-file-props.js +5 -0
  4. package/bin/test-json-brew.js +14 -1
  5. package/bin/test-json-ua.js +14 -1
  6. package/lib/BrewCleaner.js +9 -0
  7. package/lib/BrewIndexGenerator.js +0 -45
  8. package/lib/BrewTester/BrewTesterBase.js +25 -0
  9. package/lib/BrewTester/BrewTesterFileLocations.js +25 -0
  10. package/lib/BrewTester/BrewTesterFileNames.js +37 -0
  11. package/lib/BrewTester/BrewTesterFileProps.js +53 -0
  12. package/lib/BrewTester/BrewTesterJson.js +54 -0
  13. package/lib/BrewTester.js +9 -117
  14. package/package.json +3 -2
  15. package/schema/brew/adventures.json +2 -3
  16. package/schema/brew/books.json +2 -3
  17. package/schema/brew/homebrew.json +2 -2
  18. package/schema/brew/sources-5etools.json +12 -5
  19. package/schema/brew/util.json +12 -1
  20. package/schema/brew-fast/adventures.json +2 -3
  21. package/schema/brew-fast/books.json +2 -3
  22. package/schema/brew-fast/homebrew.json +2 -2
  23. package/schema/brew-fast/sources-5etools.json +12 -5
  24. package/schema/brew-fast/util.json +12 -1
  25. package/schema/site/adventures.json +2 -3
  26. package/schema/site/books.json +2 -3
  27. package/schema/site/homebrew.json +2 -2
  28. package/schema/site/sources-5etools.json +12 -5
  29. package/schema/site/util.json +9 -1
  30. package/schema/site-fast/adventures.json +2 -3
  31. package/schema/site-fast/books.json +2 -3
  32. package/schema/site-fast/homebrew.json +2 -2
  33. package/schema/site-fast/sources-5etools.json +12 -5
  34. package/schema/site-fast/util.json +9 -1
  35. package/schema/ua/adventures.json +2 -3
  36. package/schema/ua/books.json +2 -3
  37. package/schema/ua/homebrew.json +2 -2
  38. package/schema/ua/sources-5etools.json +12 -5
  39. package/schema/ua/util.json +9 -1
  40. package/schema/ua-fast/adventures.json +2 -3
  41. package/schema/ua-fast/books.json +2 -3
  42. package/schema/ua-fast/homebrew.json +2 -2
  43. package/schema/ua-fast/sources-5etools.json +12 -5
  44. package/schema/ua-fast/util.json +9 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "version": "1.10.29",
3
+ "version": "1.10.30",
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": {
@@ -10,7 +10,7 @@
10
10
  "type": "object",
11
11
  "properties": {
12
12
  "id": {
13
- "type": "string"
13
+ "$ref": "util.json#/$defs/corpusId"
14
14
  },
15
15
  "source": {
16
16
  "$ref": "util.json#/$defs/source"
@@ -8,15 +8,15 @@
8
8
  "sources": {
9
9
  "type": "string",
10
10
  "enum": [
11
- "CoS",
11
+ "PHB",
12
12
  "DMG",
13
+ "MM",
14
+ "CoS",
13
15
  "EEPC",
14
16
  "EET",
15
17
  "HotDQ",
16
18
  "LMoP",
17
- "MM",
18
19
  "OotA",
19
- "PHB",
20
20
  "PotA",
21
21
  "RoT",
22
22
  "RoTOS",
@@ -114,17 +114,21 @@
114
114
  "VEoR",
115
115
  "GHLoE",
116
116
  "DoDk",
117
- "HWCS",
118
- "HWAitW",
119
117
  "ToB1-2023",
118
+ "XPHB",
119
+ "XDMG",
120
+ "XMM",
120
121
  "TD",
121
122
  "Screen",
122
123
  "ScreenWildernessKit",
123
124
  "ScreenDungeonKit",
124
125
  "ScreenSpelljammer",
126
+ "XScreen",
125
127
  "HF",
126
128
  "HFFotM",
127
129
  "HFStCM",
130
+ "PaF",
131
+ "HFDoMM",
128
132
  "CM",
129
133
  "NRH",
130
134
  "NRH-TCMC",
@@ -146,6 +150,9 @@
146
150
  "DitLCoT",
147
151
  "VNotEE",
148
152
  "LRDT",
153
+ "UtHftLH",
154
+ "ScoEE",
155
+ "HBTD",
149
156
  "ALCurseOfStrahd",
150
157
  "ALElementalEvil",
151
158
  "ALRageOfDemons",
@@ -3,7 +3,7 @@
3
3
  "$id": "util.json",
4
4
  "title": "Util",
5
5
  "description": "Utility definitions to be used in other schemas.",
6
- "version": "1.17.21",
6
+ "version": "1.17.22",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -55,6 +55,17 @@
55
55
  }
56
56
  ]
57
57
  },
58
+ "corpusId": {
59
+ "description": "An ID that will be used to refer to this corpus (adventure/book) in tags.",
60
+ "anyOf": [
61
+ {
62
+ "$ref": "#/$defs/_sourceString"
63
+ },
64
+ {
65
+ "$ref": "sources-homebrew-legacy.json#/$defs/sourcesColon"
66
+ }
67
+ ]
68
+ },
58
69
  "sourceJson": {
59
70
  "anyOf": [
60
71
  {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "adventures.json",
4
- "version": "1.10.24",
4
+ "version": "1.10.25",
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "adventure": {
@@ -18,8 +18,7 @@
18
18
  "$ref": "util.json#/$defs/alias"
19
19
  },
20
20
  "id": {
21
- "type": "string",
22
- "description": "An ID that will be used to refer to this adventure in tags."
21
+ "$ref": "util.json#/$defs/corpusId"
23
22
  },
24
23
  "source": {
25
24
  "$ref": "util.json#/$defs/source"
@@ -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.13",
4
+ "version": "1.2.14",
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "book": {
@@ -18,8 +18,7 @@
18
18
  "$ref": "util.json#/$defs/alias"
19
19
  },
20
20
  "id": {
21
- "type": "string",
22
- "description": "An ID that will be used to refer to this book in tags."
21
+ "$ref": "util.json#/$defs/corpusId"
23
22
  },
24
23
  "source": {
25
24
  "$ref": "util.json#/$defs/source"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "version": "1.10.29",
3
+ "version": "1.10.30",
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": {
@@ -10,7 +10,7 @@
10
10
  "type": "object",
11
11
  "properties": {
12
12
  "id": {
13
- "type": "string"
13
+ "$ref": "util.json#/$defs/corpusId"
14
14
  },
15
15
  "source": {
16
16
  "$ref": "util.json#/$defs/source"
@@ -8,15 +8,15 @@
8
8
  "sources": {
9
9
  "type": "string",
10
10
  "enum": [
11
- "CoS",
11
+ "PHB",
12
12
  "DMG",
13
+ "MM",
14
+ "CoS",
13
15
  "EEPC",
14
16
  "EET",
15
17
  "HotDQ",
16
18
  "LMoP",
17
- "MM",
18
19
  "OotA",
19
- "PHB",
20
20
  "PotA",
21
21
  "RoT",
22
22
  "RoTOS",
@@ -114,17 +114,21 @@
114
114
  "VEoR",
115
115
  "GHLoE",
116
116
  "DoDk",
117
- "HWCS",
118
- "HWAitW",
119
117
  "ToB1-2023",
118
+ "XPHB",
119
+ "XDMG",
120
+ "XMM",
120
121
  "TD",
121
122
  "Screen",
122
123
  "ScreenWildernessKit",
123
124
  "ScreenDungeonKit",
124
125
  "ScreenSpelljammer",
126
+ "XScreen",
125
127
  "HF",
126
128
  "HFFotM",
127
129
  "HFStCM",
130
+ "PaF",
131
+ "HFDoMM",
128
132
  "CM",
129
133
  "NRH",
130
134
  "NRH-TCMC",
@@ -146,6 +150,9 @@
146
150
  "DitLCoT",
147
151
  "VNotEE",
148
152
  "LRDT",
153
+ "UtHftLH",
154
+ "ScoEE",
155
+ "HBTD",
149
156
  "ALCurseOfStrahd",
150
157
  "ALElementalEvil",
151
158
  "ALRageOfDemons",
@@ -3,7 +3,7 @@
3
3
  "$id": "util.json",
4
4
  "title": "Util",
5
5
  "description": "Utility definitions to be used in other schemas.",
6
- "version": "1.17.21",
6
+ "version": "1.17.22",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -52,6 +52,14 @@
52
52
  }
53
53
  ]
54
54
  },
55
+ "corpusId": {
56
+ "description": "An ID that will be used to refer to this corpus (adventure/book) in tags.",
57
+ "anyOf": [
58
+ {
59
+ "$ref": "#/$defs/_sourceString"
60
+ }
61
+ ]
62
+ },
55
63
  "sourceJson": {
56
64
  "anyOf": [
57
65
  {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "adventures.json",
4
- "version": "1.10.24",
4
+ "version": "1.10.25",
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "adventure": {
@@ -18,8 +18,7 @@
18
18
  "$ref": "util.json#/$defs/alias"
19
19
  },
20
20
  "id": {
21
- "type": "string",
22
- "description": "An ID that will be used to refer to this adventure in tags."
21
+ "$ref": "util.json#/$defs/corpusId"
23
22
  },
24
23
  "source": {
25
24
  "$ref": "util.json#/$defs/source"
@@ -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.13",
4
+ "version": "1.2.14",
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "book": {
@@ -18,8 +18,7 @@
18
18
  "$ref": "util.json#/$defs/alias"
19
19
  },
20
20
  "id": {
21
- "type": "string",
22
- "description": "An ID that will be used to refer to this book in tags."
21
+ "$ref": "util.json#/$defs/corpusId"
23
22
  },
24
23
  "source": {
25
24
  "$ref": "util.json#/$defs/source"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "version": "1.10.29",
3
+ "version": "1.10.30",
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": {
@@ -10,7 +10,7 @@
10
10
  "type": "object",
11
11
  "properties": {
12
12
  "id": {
13
- "type": "string"
13
+ "$ref": "util.json#/$defs/corpusId"
14
14
  },
15
15
  "source": {
16
16
  "$ref": "util.json#/$defs/source"
@@ -8,15 +8,15 @@
8
8
  "sources": {
9
9
  "type": "string",
10
10
  "enum": [
11
- "CoS",
11
+ "PHB",
12
12
  "DMG",
13
+ "MM",
14
+ "CoS",
13
15
  "EEPC",
14
16
  "EET",
15
17
  "HotDQ",
16
18
  "LMoP",
17
- "MM",
18
19
  "OotA",
19
- "PHB",
20
20
  "PotA",
21
21
  "RoT",
22
22
  "RoTOS",
@@ -114,17 +114,21 @@
114
114
  "VEoR",
115
115
  "GHLoE",
116
116
  "DoDk",
117
- "HWCS",
118
- "HWAitW",
119
117
  "ToB1-2023",
118
+ "XPHB",
119
+ "XDMG",
120
+ "XMM",
120
121
  "TD",
121
122
  "Screen",
122
123
  "ScreenWildernessKit",
123
124
  "ScreenDungeonKit",
124
125
  "ScreenSpelljammer",
126
+ "XScreen",
125
127
  "HF",
126
128
  "HFFotM",
127
129
  "HFStCM",
130
+ "PaF",
131
+ "HFDoMM",
128
132
  "CM",
129
133
  "NRH",
130
134
  "NRH-TCMC",
@@ -146,6 +150,9 @@
146
150
  "DitLCoT",
147
151
  "VNotEE",
148
152
  "LRDT",
153
+ "UtHftLH",
154
+ "ScoEE",
155
+ "HBTD",
149
156
  "ALCurseOfStrahd",
150
157
  "ALElementalEvil",
151
158
  "ALRageOfDemons",
@@ -3,7 +3,7 @@
3
3
  "$id": "util.json",
4
4
  "title": "Util",
5
5
  "description": "Utility definitions to be used in other schemas.",
6
- "version": "1.17.21",
6
+ "version": "1.17.22",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -52,6 +52,14 @@
52
52
  }
53
53
  ]
54
54
  },
55
+ "corpusId": {
56
+ "description": "An ID that will be used to refer to this corpus (adventure/book) in tags.",
57
+ "anyOf": [
58
+ {
59
+ "$ref": "#/$defs/_sourceString"
60
+ }
61
+ ]
62
+ },
55
63
  "sourceJson": {
56
64
  "anyOf": [
57
65
  {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "adventures.json",
4
- "version": "1.10.24",
4
+ "version": "1.10.25",
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "adventure": {
@@ -18,8 +18,7 @@
18
18
  "$ref": "util.json#/$defs/alias"
19
19
  },
20
20
  "id": {
21
- "type": "string",
22
- "description": "An ID that will be used to refer to this adventure in tags."
21
+ "$ref": "util.json#/$defs/corpusId"
23
22
  },
24
23
  "source": {
25
24
  "$ref": "util.json#/$defs/source"
@@ -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.13",
4
+ "version": "1.2.14",
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "book": {
@@ -18,8 +18,7 @@
18
18
  "$ref": "util.json#/$defs/alias"
19
19
  },
20
20
  "id": {
21
- "type": "string",
22
- "description": "An ID that will be used to refer to this book in tags."
21
+ "$ref": "util.json#/$defs/corpusId"
23
22
  },
24
23
  "source": {
25
24
  "$ref": "util.json#/$defs/source"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "version": "1.10.29",
3
+ "version": "1.10.30",
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": {
@@ -10,7 +10,7 @@
10
10
  "type": "object",
11
11
  "properties": {
12
12
  "id": {
13
- "type": "string"
13
+ "$ref": "util.json#/$defs/corpusId"
14
14
  },
15
15
  "source": {
16
16
  "$ref": "util.json#/$defs/source"
@@ -8,15 +8,15 @@
8
8
  "sources": {
9
9
  "type": "string",
10
10
  "enum": [
11
- "CoS",
11
+ "PHB",
12
12
  "DMG",
13
+ "MM",
14
+ "CoS",
13
15
  "EEPC",
14
16
  "EET",
15
17
  "HotDQ",
16
18
  "LMoP",
17
- "MM",
18
19
  "OotA",
19
- "PHB",
20
20
  "PotA",
21
21
  "RoT",
22
22
  "RoTOS",
@@ -114,17 +114,21 @@
114
114
  "VEoR",
115
115
  "GHLoE",
116
116
  "DoDk",
117
- "HWCS",
118
- "HWAitW",
119
117
  "ToB1-2023",
118
+ "XPHB",
119
+ "XDMG",
120
+ "XMM",
120
121
  "TD",
121
122
  "Screen",
122
123
  "ScreenWildernessKit",
123
124
  "ScreenDungeonKit",
124
125
  "ScreenSpelljammer",
126
+ "XScreen",
125
127
  "HF",
126
128
  "HFFotM",
127
129
  "HFStCM",
130
+ "PaF",
131
+ "HFDoMM",
128
132
  "CM",
129
133
  "NRH",
130
134
  "NRH-TCMC",
@@ -146,6 +150,9 @@
146
150
  "DitLCoT",
147
151
  "VNotEE",
148
152
  "LRDT",
153
+ "UtHftLH",
154
+ "ScoEE",
155
+ "HBTD",
149
156
  "ALCurseOfStrahd",
150
157
  "ALElementalEvil",
151
158
  "ALRageOfDemons",
@@ -3,7 +3,7 @@
3
3
  "$id": "util.json",
4
4
  "title": "Util",
5
5
  "description": "Utility definitions to be used in other schemas.",
6
- "version": "1.17.21",
6
+ "version": "1.17.22",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -51,6 +51,14 @@
51
51
  }
52
52
  ]
53
53
  },
54
+ "corpusId": {
55
+ "description": "An ID that will be used to refer to this corpus (adventure/book) in tags.",
56
+ "anyOf": [
57
+ {
58
+ "$ref": "#/$defs/_sourceString"
59
+ }
60
+ ]
61
+ },
54
62
  "sourceJson": {
55
63
  "anyOf": [
56
64
  {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "adventures.json",
4
- "version": "1.10.24",
4
+ "version": "1.10.25",
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "adventure": {
@@ -18,8 +18,7 @@
18
18
  "$ref": "util.json#/$defs/alias"
19
19
  },
20
20
  "id": {
21
- "type": "string",
22
- "description": "An ID that will be used to refer to this adventure in tags."
21
+ "$ref": "util.json#/$defs/corpusId"
23
22
  },
24
23
  "source": {
25
24
  "$ref": "util.json#/$defs/source"
@@ -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.13",
4
+ "version": "1.2.14",
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "book": {
@@ -18,8 +18,7 @@
18
18
  "$ref": "util.json#/$defs/alias"
19
19
  },
20
20
  "id": {
21
- "type": "string",
22
- "description": "An ID that will be used to refer to this book in tags."
21
+ "$ref": "util.json#/$defs/corpusId"
23
22
  },
24
23
  "source": {
25
24
  "$ref": "util.json#/$defs/source"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "version": "1.10.29",
3
+ "version": "1.10.30",
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": {
@@ -10,7 +10,7 @@
10
10
  "type": "object",
11
11
  "properties": {
12
12
  "id": {
13
- "type": "string"
13
+ "$ref": "util.json#/$defs/corpusId"
14
14
  },
15
15
  "source": {
16
16
  "$ref": "util.json#/$defs/source"
@@ -8,15 +8,15 @@
8
8
  "sources": {
9
9
  "type": "string",
10
10
  "enum": [
11
- "CoS",
11
+ "PHB",
12
12
  "DMG",
13
+ "MM",
14
+ "CoS",
13
15
  "EEPC",
14
16
  "EET",
15
17
  "HotDQ",
16
18
  "LMoP",
17
- "MM",
18
19
  "OotA",
19
- "PHB",
20
20
  "PotA",
21
21
  "RoT",
22
22
  "RoTOS",
@@ -114,17 +114,21 @@
114
114
  "VEoR",
115
115
  "GHLoE",
116
116
  "DoDk",
117
- "HWCS",
118
- "HWAitW",
119
117
  "ToB1-2023",
118
+ "XPHB",
119
+ "XDMG",
120
+ "XMM",
120
121
  "TD",
121
122
  "Screen",
122
123
  "ScreenWildernessKit",
123
124
  "ScreenDungeonKit",
124
125
  "ScreenSpelljammer",
126
+ "XScreen",
125
127
  "HF",
126
128
  "HFFotM",
127
129
  "HFStCM",
130
+ "PaF",
131
+ "HFDoMM",
128
132
  "CM",
129
133
  "NRH",
130
134
  "NRH-TCMC",
@@ -146,6 +150,9 @@
146
150
  "DitLCoT",
147
151
  "VNotEE",
148
152
  "LRDT",
153
+ "UtHftLH",
154
+ "ScoEE",
155
+ "HBTD",
149
156
  "ALCurseOfStrahd",
150
157
  "ALElementalEvil",
151
158
  "ALRageOfDemons",
@@ -3,7 +3,7 @@
3
3
  "$id": "util.json",
4
4
  "title": "Util",
5
5
  "description": "Utility definitions to be used in other schemas.",
6
- "version": "1.17.21",
6
+ "version": "1.17.22",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -51,6 +51,14 @@
51
51
  }
52
52
  ]
53
53
  },
54
+ "corpusId": {
55
+ "description": "An ID that will be used to refer to this corpus (adventure/book) in tags.",
56
+ "anyOf": [
57
+ {
58
+ "$ref": "#/$defs/_sourceString"
59
+ }
60
+ ]
61
+ },
54
62
  "sourceJson": {
55
63
  "anyOf": [
56
64
  {