5etools-utils 0.17.11 → 0.17.13
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.
- package/lib/BrewCleaner.js +2 -2
- package/package.json +1 -1
- package/schema/brew/adventure/adventure.json +6 -3
- package/schema/brew/book/book.json +6 -3
- package/schema/brew/corpus-shared.json +26 -1
- package/schema/brew/homebrew.json +5 -52
- package/schema/brew/util-copy.json +3 -1
- package/schema/brew/util-meta.json +36 -0
- package/schema/brew/util.json +8 -8
- package/schema/brew-fast/adventure/adventure.json +6 -3
- package/schema/brew-fast/book/book.json +6 -3
- package/schema/brew-fast/corpus-shared.json +24 -1
- package/schema/brew-fast/homebrew.json +5 -50
- package/schema/brew-fast/util-copy.json +3 -1
- package/schema/brew-fast/util-meta.json +36 -0
- package/schema/brew-fast/util.json +8 -8
- package/schema/site/adventure/adventure.json +6 -3
- package/schema/site/book/book.json +6 -3
- package/schema/site/corpus-shared.json +26 -1
- package/schema/site/homebrew.json +5 -52
- package/schema/site/util-copy.json +3 -1
- package/schema/site/util-meta.json +36 -0
- package/schema/site/util.json +8 -8
- package/schema/site-fast/adventure/adventure.json +6 -3
- package/schema/site-fast/book/book.json +6 -3
- package/schema/site-fast/corpus-shared.json +24 -1
- package/schema/site-fast/homebrew.json +5 -50
- package/schema/site-fast/util-copy.json +3 -1
- package/schema/site-fast/util-meta.json +36 -0
- package/schema/site-fast/util.json +8 -8
- package/schema/ua/adventure/adventure.json +6 -3
- package/schema/ua/book/book.json +6 -3
- package/schema/ua/corpus-shared.json +26 -1
- package/schema/ua/homebrew.json +5 -52
- package/schema/ua/util-copy.json +3 -1
- package/schema/ua/util-meta.json +36 -0
- package/schema/ua/util.json +8 -8
- package/schema/ua-fast/adventure/adventure.json +6 -3
- package/schema/ua-fast/book/book.json +6 -3
- package/schema/ua-fast/corpus-shared.json +24 -1
- package/schema/ua-fast/homebrew.json +5 -50
- package/schema/ua-fast/util-copy.json +3 -1
- package/schema/ua-fast/util-meta.json +36 -0
- package/schema/ua-fast/util.json +8 -8
package/lib/BrewCleaner.js
CHANGED
|
@@ -98,8 +98,8 @@ class _BrewFileTester {
|
|
|
98
98
|
static _testFile_publicationTuples ({ALL_ERRORS, file, contents}) {
|
|
99
99
|
this._PROP_PUBLICATION_PAIRS
|
|
100
100
|
.forEach(({propContents, propData}) => {
|
|
101
|
-
const idsContents = new Set((contents[propContents] || []).map(
|
|
102
|
-
const idsData = new Set((contents[propData] || []).map(
|
|
101
|
+
const idsContents = new Set((contents[propContents] || []).map(corpusContents => corpusContents.id));
|
|
102
|
+
const idsData = new Set((contents[propData] || []).map(corpusData => corpusData.id));
|
|
103
103
|
|
|
104
104
|
const idsCombined = new Set([...idsContents, ...idsData]);
|
|
105
105
|
const duplicateCorpusIds = [...idsCombined].filter(src => this._ALL_CORPUS_IDS_LOWER.has(src.toLowerCase()));
|
package/package.json
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "adventure.json",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.3.0",
|
|
5
5
|
"type": "object",
|
|
6
6
|
"properties": {
|
|
7
|
-
"
|
|
8
|
-
"$ref": "../
|
|
7
|
+
"adventureData": {
|
|
8
|
+
"$ref": "../corpus-shared.json#/$defs/wrappedAdventureBookDataArray"
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
|
+
"required": [
|
|
12
|
+
"adventureData"
|
|
13
|
+
],
|
|
11
14
|
"additionalProperties": false
|
|
12
15
|
}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "book.json",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.3.0",
|
|
5
5
|
"type": "object",
|
|
6
6
|
"properties": {
|
|
7
|
-
"
|
|
8
|
-
"$ref": "../
|
|
7
|
+
"bookData": {
|
|
8
|
+
"$ref": "../corpus-shared.json#/$defs/wrappedAdventureBookDataArray"
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
|
+
"required": [
|
|
12
|
+
"bookData"
|
|
13
|
+
],
|
|
11
14
|
"additionalProperties": false
|
|
12
15
|
}
|
|
@@ -1,8 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "corpus-shared.json",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.5",
|
|
5
5
|
"$defs": {
|
|
6
|
+
"wrappedAdventureBookDataArray": {
|
|
7
|
+
"type": "array",
|
|
8
|
+
"items": {
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"id": {
|
|
12
|
+
"$ref": "util.json#/$defs/corpusId"
|
|
13
|
+
},
|
|
14
|
+
"source": {
|
|
15
|
+
"$ref": "util.json#/$defs/source"
|
|
16
|
+
},
|
|
17
|
+
"data": {
|
|
18
|
+
"$ref": "util.json#/$defs/adventureBookData"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"required": [
|
|
22
|
+
"id",
|
|
23
|
+
"source",
|
|
24
|
+
"data"
|
|
25
|
+
],
|
|
26
|
+
"additionalProperties": false
|
|
27
|
+
},
|
|
28
|
+
"minItems": 1,
|
|
29
|
+
"uniqueItems": true
|
|
30
|
+
},
|
|
6
31
|
"corpusCover": {
|
|
7
32
|
"description": "A link to an image. Preferred sizes are 300 x 300px or 600 x 600px.",
|
|
8
33
|
"$ref": "entry.json#/$defs/mediaHref",
|
|
@@ -1,34 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"version": "1.14.
|
|
3
|
+
"version": "1.14.2",
|
|
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": {
|
|
7
|
-
"wrappedAdventureBookDataArray": {
|
|
8
|
-
"type": "array",
|
|
9
|
-
"items": {
|
|
10
|
-
"type": "object",
|
|
11
|
-
"properties": {
|
|
12
|
-
"id": {
|
|
13
|
-
"$ref": "util.json#/$defs/corpusId"
|
|
14
|
-
},
|
|
15
|
-
"source": {
|
|
16
|
-
"$ref": "util.json#/$defs/source"
|
|
17
|
-
},
|
|
18
|
-
"data": {
|
|
19
|
-
"$ref": "util.json#/$defs/adventureBookData"
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
"required": [
|
|
23
|
-
"id",
|
|
24
|
-
"source",
|
|
25
|
-
"data"
|
|
26
|
-
],
|
|
27
|
-
"additionalProperties": false
|
|
28
|
-
},
|
|
29
|
-
"minItems": 1,
|
|
30
|
-
"uniqueItems": true
|
|
31
|
-
},
|
|
32
7
|
"_meta": {
|
|
33
8
|
"description": "Metadata for the included data arrays",
|
|
34
9
|
"type": "object",
|
|
@@ -296,22 +271,7 @@
|
|
|
296
271
|
"markdownDescription": "A file hash used to automatically update the value of "dateLastModified". Should not be manually created/edited."
|
|
297
272
|
},
|
|
298
273
|
"dependencies": {
|
|
299
|
-
"
|
|
300
|
-
"type": "object",
|
|
301
|
-
"patternProperties": {
|
|
302
|
-
"^[a-zA-Z]+$": {
|
|
303
|
-
"type": "array",
|
|
304
|
-
"items": {
|
|
305
|
-
"type": "string"
|
|
306
|
-
},
|
|
307
|
-
"minItems": 1,
|
|
308
|
-
"uniqueItems": true
|
|
309
|
-
}
|
|
310
|
-
},
|
|
311
|
-
"propertyNames": {
|
|
312
|
-
"$ref": "util-copy.json#/$defs/copyableProps"
|
|
313
|
-
},
|
|
314
|
-
"markdownDescription": "A map of "<data property>": ["<JsonSource1>", ..., "<JsonSourceN>"]. Entities from these sources can then be extended/referenced in this file.\n\nNote: when copying classes/subclasses/class features/subclass features, the array should consist of "<classIdentifier1>", ..., "<classIdentifierN>" items, where "classIdentifierN" matches the keys in "5etools/data/class/index.json" (when copying class/etc. homebrew, normal "source"-based linking applies)."
|
|
274
|
+
"$ref": "util-meta.json#/$defs/dependencies"
|
|
315
275
|
},
|
|
316
276
|
"includes": {
|
|
317
277
|
"description": "Structure as per \"dependencies\". Additional sources to be included when loading the file.",
|
|
@@ -332,14 +292,7 @@
|
|
|
332
292
|
"markdownDescription": "Structure as per "dependencies". Additional sources to be included when loading the file."
|
|
333
293
|
},
|
|
334
294
|
"internalCopies": {
|
|
335
|
-
"
|
|
336
|
-
"type": "array",
|
|
337
|
-
"items": {
|
|
338
|
-
"$ref": "util-copy.json#/$defs/copyableProps"
|
|
339
|
-
},
|
|
340
|
-
"minItems": 1,
|
|
341
|
-
"uniqueItems": true,
|
|
342
|
-
"markdownDescription": "An array of keys that are copied from within the current document. e.g. "item", "monsterFluff", "background" etc."
|
|
295
|
+
"$ref": "util-meta.json#/$defs/internalCopies"
|
|
343
296
|
},
|
|
344
297
|
"fonts": {
|
|
345
298
|
"description": "A map of \"font family\" to font URL.",
|
|
@@ -554,7 +507,7 @@
|
|
|
554
507
|
"$ref": "adventures.json#/properties/adventure"
|
|
555
508
|
},
|
|
556
509
|
"adventureData": {
|
|
557
|
-
"$ref": "#/$defs/wrappedAdventureBookDataArray"
|
|
510
|
+
"$ref": "corpus-shared.json#/$defs/wrappedAdventureBookDataArray"
|
|
558
511
|
},
|
|
559
512
|
"monster": {
|
|
560
513
|
"$ref": "bestiary/bestiary.json#/properties/monster"
|
|
@@ -590,7 +543,7 @@
|
|
|
590
543
|
"$ref": "books.json#/properties/book"
|
|
591
544
|
},
|
|
592
545
|
"bookData": {
|
|
593
|
-
"$ref": "#/$defs/wrappedAdventureBookDataArray"
|
|
546
|
+
"$ref": "corpus-shared.json#/$defs/wrappedAdventureBookDataArray"
|
|
594
547
|
},
|
|
595
548
|
"class": {
|
|
596
549
|
"$ref": "class/class.json#/properties/class"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "util-copy.json",
|
|
4
4
|
"title": "Util: Copy",
|
|
5
|
-
"version": "1.1.
|
|
5
|
+
"version": "1.1.3",
|
|
6
6
|
"$defs": {
|
|
7
7
|
"_mod_renameArr_rename": {
|
|
8
8
|
"type": "object",
|
|
@@ -1157,6 +1157,7 @@
|
|
|
1157
1157
|
"enum": [
|
|
1158
1158
|
"monster",
|
|
1159
1159
|
"monsterFluff",
|
|
1160
|
+
"monsterTemplate",
|
|
1160
1161
|
"legendaryGroup",
|
|
1161
1162
|
"class",
|
|
1162
1163
|
"classFluff",
|
|
@@ -1198,6 +1199,7 @@
|
|
|
1198
1199
|
"optionalfeatureFluff",
|
|
1199
1200
|
"psionic",
|
|
1200
1201
|
"race",
|
|
1202
|
+
"raceFeature",
|
|
1201
1203
|
"subrace",
|
|
1202
1204
|
"raceFluff",
|
|
1203
1205
|
"reward",
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "util-meta.json",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"title": "Util: Meta",
|
|
6
|
+
"$defs": {
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"description": "A map of `\"<data property>\": [\"<JsonSource1>\", ..., \"<JsonSourceN>\"]`. Entities from these sources can then be extended/referenced in this file.\n\nNote: when copying classes/subclasses/class features/subclass features, the array should consist of \"<classIdentifier1>\", ..., \"<classIdentifierN>\" items, where \"classIdentifierN\" matches the keys in \"5etools/data/class/index.json\" (when copying class/etc. homebrew, normal \"source\"-based linking applies).",
|
|
9
|
+
"type": "object",
|
|
10
|
+
"patternProperties": {
|
|
11
|
+
"^[a-zA-Z]+$": {
|
|
12
|
+
"type": "array",
|
|
13
|
+
"items": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"minItems": 1,
|
|
17
|
+
"uniqueItems": true
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"propertyNames": {
|
|
21
|
+
"$ref": "util-copy.json#/$defs/copyableProps"
|
|
22
|
+
},
|
|
23
|
+
"markdownDescription": "A map of "<data property>": ["<JsonSource1>", ..., "<JsonSourceN>"]. Entities from these sources can then be extended/referenced in this file.\n\nNote: when copying classes/subclasses/class features/subclass features, the array should consist of "<classIdentifier1>", ..., "<classIdentifierN>" items, where "classIdentifierN" matches the keys in "5etools/data/class/index.json" (when copying class/etc. homebrew, normal "source"-based linking applies)."
|
|
24
|
+
},
|
|
25
|
+
"internalCopies": {
|
|
26
|
+
"description": "An array of keys that are copied from within the current document. e.g. \"item\", \"monsterFluff\", \"background\" etc.",
|
|
27
|
+
"type": "array",
|
|
28
|
+
"items": {
|
|
29
|
+
"$ref": "util-copy.json#/$defs/copyableProps"
|
|
30
|
+
},
|
|
31
|
+
"minItems": 1,
|
|
32
|
+
"uniqueItems": true,
|
|
33
|
+
"markdownDescription": "An array of keys that are copied from within the current document. e.g. "item", "monsterFluff", "background" etc."
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
package/schema/brew/util.json
CHANGED
|
@@ -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.19.
|
|
6
|
+
"version": "1.19.6",
|
|
7
7
|
"$defs": {
|
|
8
8
|
"metaDependenciesArray": {
|
|
9
9
|
"type": "array",
|
|
@@ -17,12 +17,10 @@
|
|
|
17
17
|
"type": "object",
|
|
18
18
|
"properties": {
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
}
|
|
20
|
+
"$ref": "util-meta.json#/$defs/dependencies"
|
|
21
|
+
},
|
|
22
|
+
"internalCopies": {
|
|
23
|
+
"$ref": "util-meta.json#/$defs/internalCopies"
|
|
26
24
|
},
|
|
27
25
|
"otherSources": {
|
|
28
26
|
"type": "object",
|
|
@@ -34,7 +32,9 @@
|
|
|
34
32
|
}
|
|
35
33
|
}
|
|
36
34
|
}
|
|
37
|
-
}
|
|
35
|
+
},
|
|
36
|
+
"additionalProperties": false,
|
|
37
|
+
"minProperties": 1
|
|
38
38
|
},
|
|
39
39
|
"url": {
|
|
40
40
|
"type": "string",
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "adventure.json",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.3.0",
|
|
5
5
|
"type": "object",
|
|
6
6
|
"properties": {
|
|
7
|
-
"
|
|
8
|
-
"$ref": "../
|
|
7
|
+
"adventureData": {
|
|
8
|
+
"$ref": "../corpus-shared.json#/$defs/wrappedAdventureBookDataArray"
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
|
+
"required": [
|
|
12
|
+
"adventureData"
|
|
13
|
+
],
|
|
11
14
|
"additionalProperties": false
|
|
12
15
|
}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "book.json",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.3.0",
|
|
5
5
|
"type": "object",
|
|
6
6
|
"properties": {
|
|
7
|
-
"
|
|
8
|
-
"$ref": "../
|
|
7
|
+
"bookData": {
|
|
8
|
+
"$ref": "../corpus-shared.json#/$defs/wrappedAdventureBookDataArray"
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
|
+
"required": [
|
|
12
|
+
"bookData"
|
|
13
|
+
],
|
|
11
14
|
"additionalProperties": false
|
|
12
15
|
}
|
|
@@ -1,8 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "corpus-shared.json",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.5",
|
|
5
5
|
"$defs": {
|
|
6
|
+
"wrappedAdventureBookDataArray": {
|
|
7
|
+
"type": "array",
|
|
8
|
+
"items": {
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"id": {
|
|
12
|
+
"$ref": "util.json#/$defs/corpusId"
|
|
13
|
+
},
|
|
14
|
+
"source": {
|
|
15
|
+
"$ref": "util.json#/$defs/source"
|
|
16
|
+
},
|
|
17
|
+
"data": {}
|
|
18
|
+
},
|
|
19
|
+
"required": [
|
|
20
|
+
"id",
|
|
21
|
+
"source",
|
|
22
|
+
"data"
|
|
23
|
+
],
|
|
24
|
+
"additionalProperties": false
|
|
25
|
+
},
|
|
26
|
+
"minItems": 1,
|
|
27
|
+
"uniqueItems": true
|
|
28
|
+
},
|
|
6
29
|
"corpusCover": {
|
|
7
30
|
"description": "A link to an image. Preferred sizes are 300 x 300px or 600 x 600px.",
|
|
8
31
|
"$ref": "entry.json#/$defs/mediaHref",
|
|
@@ -1,32 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"version": "1.14.
|
|
3
|
+
"version": "1.14.2",
|
|
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": {
|
|
7
|
-
"wrappedAdventureBookDataArray": {
|
|
8
|
-
"type": "array",
|
|
9
|
-
"items": {
|
|
10
|
-
"type": "object",
|
|
11
|
-
"properties": {
|
|
12
|
-
"id": {
|
|
13
|
-
"$ref": "util.json#/$defs/corpusId"
|
|
14
|
-
},
|
|
15
|
-
"source": {
|
|
16
|
-
"$ref": "util.json#/$defs/source"
|
|
17
|
-
},
|
|
18
|
-
"data": {}
|
|
19
|
-
},
|
|
20
|
-
"required": [
|
|
21
|
-
"id",
|
|
22
|
-
"source",
|
|
23
|
-
"data"
|
|
24
|
-
],
|
|
25
|
-
"additionalProperties": false
|
|
26
|
-
},
|
|
27
|
-
"minItems": 1,
|
|
28
|
-
"uniqueItems": true
|
|
29
|
-
},
|
|
30
7
|
"_meta": {
|
|
31
8
|
"description": "Metadata for the included data arrays",
|
|
32
9
|
"type": "object",
|
|
@@ -294,22 +271,7 @@
|
|
|
294
271
|
"markdownDescription": "A file hash used to automatically update the value of "dateLastModified". Should not be manually created/edited."
|
|
295
272
|
},
|
|
296
273
|
"dependencies": {
|
|
297
|
-
"
|
|
298
|
-
"type": "object",
|
|
299
|
-
"patternProperties": {
|
|
300
|
-
"^[a-zA-Z]+$": {
|
|
301
|
-
"type": "array",
|
|
302
|
-
"items": {
|
|
303
|
-
"type": "string"
|
|
304
|
-
},
|
|
305
|
-
"minItems": 1,
|
|
306
|
-
"uniqueItems": true
|
|
307
|
-
}
|
|
308
|
-
},
|
|
309
|
-
"propertyNames": {
|
|
310
|
-
"$ref": "util-copy.json#/$defs/copyableProps"
|
|
311
|
-
},
|
|
312
|
-
"markdownDescription": "A map of "<data property>": ["<JsonSource1>", ..., "<JsonSourceN>"]. Entities from these sources can then be extended/referenced in this file.\n\nNote: when copying classes/subclasses/class features/subclass features, the array should consist of "<classIdentifier1>", ..., "<classIdentifierN>" items, where "classIdentifierN" matches the keys in "5etools/data/class/index.json" (when copying class/etc. homebrew, normal "source"-based linking applies)."
|
|
274
|
+
"$ref": "util-meta.json#/$defs/dependencies"
|
|
313
275
|
},
|
|
314
276
|
"includes": {
|
|
315
277
|
"description": "Structure as per \"dependencies\". Additional sources to be included when loading the file.",
|
|
@@ -330,14 +292,7 @@
|
|
|
330
292
|
"markdownDescription": "Structure as per "dependencies". Additional sources to be included when loading the file."
|
|
331
293
|
},
|
|
332
294
|
"internalCopies": {
|
|
333
|
-
"
|
|
334
|
-
"type": "array",
|
|
335
|
-
"items": {
|
|
336
|
-
"$ref": "util-copy.json#/$defs/copyableProps"
|
|
337
|
-
},
|
|
338
|
-
"minItems": 1,
|
|
339
|
-
"uniqueItems": true,
|
|
340
|
-
"markdownDescription": "An array of keys that are copied from within the current document. e.g. "item", "monsterFluff", "background" etc."
|
|
295
|
+
"$ref": "util-meta.json#/$defs/internalCopies"
|
|
341
296
|
},
|
|
342
297
|
"fonts": {
|
|
343
298
|
"description": "A map of \"font family\" to font URL.",
|
|
@@ -552,7 +507,7 @@
|
|
|
552
507
|
"$ref": "adventures.json#/properties/adventure"
|
|
553
508
|
},
|
|
554
509
|
"adventureData": {
|
|
555
|
-
"$ref": "#/$defs/wrappedAdventureBookDataArray"
|
|
510
|
+
"$ref": "corpus-shared.json#/$defs/wrappedAdventureBookDataArray"
|
|
556
511
|
},
|
|
557
512
|
"monster": {
|
|
558
513
|
"$ref": "bestiary/bestiary.json#/properties/monster"
|
|
@@ -588,7 +543,7 @@
|
|
|
588
543
|
"$ref": "books.json#/properties/book"
|
|
589
544
|
},
|
|
590
545
|
"bookData": {
|
|
591
|
-
"$ref": "#/$defs/wrappedAdventureBookDataArray"
|
|
546
|
+
"$ref": "corpus-shared.json#/$defs/wrappedAdventureBookDataArray"
|
|
592
547
|
},
|
|
593
548
|
"class": {
|
|
594
549
|
"$ref": "class/class.json#/properties/class"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "util-copy.json",
|
|
4
4
|
"title": "Util: Copy",
|
|
5
|
-
"version": "1.1.
|
|
5
|
+
"version": "1.1.3",
|
|
6
6
|
"$defs": {
|
|
7
7
|
"_mod_renameArr_rename": {
|
|
8
8
|
"type": "object",
|
|
@@ -1157,6 +1157,7 @@
|
|
|
1157
1157
|
"enum": [
|
|
1158
1158
|
"monster",
|
|
1159
1159
|
"monsterFluff",
|
|
1160
|
+
"monsterTemplate",
|
|
1160
1161
|
"legendaryGroup",
|
|
1161
1162
|
"class",
|
|
1162
1163
|
"classFluff",
|
|
@@ -1198,6 +1199,7 @@
|
|
|
1198
1199
|
"optionalfeatureFluff",
|
|
1199
1200
|
"psionic",
|
|
1200
1201
|
"race",
|
|
1202
|
+
"raceFeature",
|
|
1201
1203
|
"subrace",
|
|
1202
1204
|
"raceFluff",
|
|
1203
1205
|
"reward",
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "util-meta.json",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"title": "Util: Meta",
|
|
6
|
+
"$defs": {
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"description": "A map of `\"<data property>\": [\"<JsonSource1>\", ..., \"<JsonSourceN>\"]`. Entities from these sources can then be extended/referenced in this file.\n\nNote: when copying classes/subclasses/class features/subclass features, the array should consist of \"<classIdentifier1>\", ..., \"<classIdentifierN>\" items, where \"classIdentifierN\" matches the keys in \"5etools/data/class/index.json\" (when copying class/etc. homebrew, normal \"source\"-based linking applies).",
|
|
9
|
+
"type": "object",
|
|
10
|
+
"patternProperties": {
|
|
11
|
+
"^[a-zA-Z]+$": {
|
|
12
|
+
"type": "array",
|
|
13
|
+
"items": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"minItems": 1,
|
|
17
|
+
"uniqueItems": true
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"propertyNames": {
|
|
21
|
+
"$ref": "util-copy.json#/$defs/copyableProps"
|
|
22
|
+
},
|
|
23
|
+
"markdownDescription": "A map of "<data property>": ["<JsonSource1>", ..., "<JsonSourceN>"]. Entities from these sources can then be extended/referenced in this file.\n\nNote: when copying classes/subclasses/class features/subclass features, the array should consist of "<classIdentifier1>", ..., "<classIdentifierN>" items, where "classIdentifierN" matches the keys in "5etools/data/class/index.json" (when copying class/etc. homebrew, normal "source"-based linking applies)."
|
|
24
|
+
},
|
|
25
|
+
"internalCopies": {
|
|
26
|
+
"description": "An array of keys that are copied from within the current document. e.g. \"item\", \"monsterFluff\", \"background\" etc.",
|
|
27
|
+
"type": "array",
|
|
28
|
+
"items": {
|
|
29
|
+
"$ref": "util-copy.json#/$defs/copyableProps"
|
|
30
|
+
},
|
|
31
|
+
"minItems": 1,
|
|
32
|
+
"uniqueItems": true,
|
|
33
|
+
"markdownDescription": "An array of keys that are copied from within the current document. e.g. "item", "monsterFluff", "background" etc."
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -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.19.
|
|
6
|
+
"version": "1.19.6",
|
|
7
7
|
"$defs": {
|
|
8
8
|
"metaDependenciesArray": {
|
|
9
9
|
"type": "array",
|
|
@@ -17,12 +17,10 @@
|
|
|
17
17
|
"type": "object",
|
|
18
18
|
"properties": {
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
}
|
|
20
|
+
"$ref": "util-meta.json#/$defs/dependencies"
|
|
21
|
+
},
|
|
22
|
+
"internalCopies": {
|
|
23
|
+
"$ref": "util-meta.json#/$defs/internalCopies"
|
|
26
24
|
},
|
|
27
25
|
"otherSources": {
|
|
28
26
|
"type": "object",
|
|
@@ -34,7 +32,9 @@
|
|
|
34
32
|
}
|
|
35
33
|
}
|
|
36
34
|
}
|
|
37
|
-
}
|
|
35
|
+
},
|
|
36
|
+
"additionalProperties": false,
|
|
37
|
+
"minProperties": 1
|
|
38
38
|
},
|
|
39
39
|
"url": {
|
|
40
40
|
"type": "string",
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "adventure.json",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.3.0",
|
|
5
5
|
"type": "object",
|
|
6
6
|
"properties": {
|
|
7
|
-
"
|
|
8
|
-
"$ref": "../
|
|
7
|
+
"adventureData": {
|
|
8
|
+
"$ref": "../corpus-shared.json#/$defs/wrappedAdventureBookDataArray"
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
|
+
"required": [
|
|
12
|
+
"adventureData"
|
|
13
|
+
],
|
|
11
14
|
"additionalProperties": false
|
|
12
15
|
}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "book.json",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.3.0",
|
|
5
5
|
"type": "object",
|
|
6
6
|
"properties": {
|
|
7
|
-
"
|
|
8
|
-
"$ref": "../
|
|
7
|
+
"bookData": {
|
|
8
|
+
"$ref": "../corpus-shared.json#/$defs/wrappedAdventureBookDataArray"
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
|
+
"required": [
|
|
12
|
+
"bookData"
|
|
13
|
+
],
|
|
11
14
|
"additionalProperties": false
|
|
12
15
|
}
|
|
@@ -1,8 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "corpus-shared.json",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.5",
|
|
5
5
|
"$defs": {
|
|
6
|
+
"wrappedAdventureBookDataArray": {
|
|
7
|
+
"type": "array",
|
|
8
|
+
"items": {
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"id": {
|
|
12
|
+
"$ref": "util.json#/$defs/corpusId"
|
|
13
|
+
},
|
|
14
|
+
"source": {
|
|
15
|
+
"$ref": "util.json#/$defs/source"
|
|
16
|
+
},
|
|
17
|
+
"data": {
|
|
18
|
+
"$ref": "util.json#/$defs/adventureBookData"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"required": [
|
|
22
|
+
"id",
|
|
23
|
+
"source",
|
|
24
|
+
"data"
|
|
25
|
+
],
|
|
26
|
+
"additionalProperties": false
|
|
27
|
+
},
|
|
28
|
+
"minItems": 1,
|
|
29
|
+
"uniqueItems": true
|
|
30
|
+
},
|
|
6
31
|
"corpusCover": {
|
|
7
32
|
"description": "A link to an image. Preferred sizes are 300 x 300px or 600 x 600px.",
|
|
8
33
|
"$ref": "entry.json#/$defs/mediaHref",
|