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.
- package/README.md +13 -13
- package/bin/clean-html.js +0 -0
- package/bin/lint-js-changed.js +17 -0
- package/bin/test-edition-sources.js +0 -0
- package/bin/test-file-contents.js +0 -0
- package/bin/test-file-locations.js +0 -0
- package/bin/test-file-names.js +0 -0
- package/bin/test-file-props.js +0 -0
- package/bin/test-img-file-extensions.js +0 -0
- package/bin/test-img-file-sizes.js +0 -0
- package/bin/test-img-source-names-brew.js +0 -0
- package/bin/test-img-source-names-ua.js +0 -0
- package/bin/test-json-brew.js +0 -0
- package/bin/test-json-ua.js +0 -0
- package/lib/Lint/LintJsChanged.js +33 -0
- package/lib/UtilGit.js +39 -0
- package/lib/eslint/eslint-plugin-jquery.js +49 -0
- package/package.json +16 -6
- package/schema/brew/charcreationoptions.json +162 -8
- package/schema/brew/cultsboons.json +399 -14
- package/schema/brew/encounterbuilder.json +81 -2
- package/schema/brew/fluff-charcreationoptions.json +5 -33
- package/schema/brew/homebrew.json +8 -2
- package/schema/brew/items-base.json +290 -28
- package/schema/brew/languages.json +195 -6
- package/schema/brew/objects.json +389 -9
- package/schema/brew/psionics.json +356 -7
- package/schema/brew/rewards.json +207 -8
- package/schema/brew/senses.json +68 -7
- package/schema/brew/skills.json +74 -7
- package/schema/brew/tables.json +676 -94
- package/schema/brew/trapshazards.json +571 -14
- package/schema/brew/util-copy.json +143 -1
- package/schema/brew/util.json +4 -2
- package/schema/brew/variantrules.json +151 -22
- package/schema/brew/vehicles.json +6672 -61
- package/schema/brew-fast/charcreationoptions.json +162 -8
- package/schema/brew-fast/cultsboons.json +399 -14
- package/schema/brew-fast/encounterbuilder.json +81 -2
- package/schema/brew-fast/fluff-charcreationoptions.json +5 -33
- package/schema/brew-fast/homebrew.json +8 -2
- package/schema/brew-fast/items-base.json +290 -28
- package/schema/brew-fast/languages.json +195 -6
- package/schema/brew-fast/objects.json +389 -9
- package/schema/brew-fast/psionics.json +356 -7
- package/schema/brew-fast/rewards.json +207 -8
- package/schema/brew-fast/senses.json +68 -7
- package/schema/brew-fast/skills.json +74 -7
- package/schema/brew-fast/tables.json +676 -94
- package/schema/brew-fast/trapshazards.json +571 -14
- package/schema/brew-fast/util-copy.json +143 -1
- package/schema/brew-fast/util.json +4 -2
- package/schema/brew-fast/variantrules.json +151 -22
- package/schema/brew-fast/vehicles.json +6672 -61
- package/schema/site/charcreationoptions.json +134 -8
- package/schema/site/cultsboons.json +315 -14
- package/schema/site/encounterbuilder.json +81 -2
- package/schema/site/fluff-charcreationoptions.json +5 -33
- package/schema/site/homebrew.json +8 -2
- package/schema/site/items-base.json +374 -40
- package/schema/site/languages.json +197 -6
- package/schema/site/objects.json +361 -9
- package/schema/site/psionics.json +314 -7
- package/schema/site/rewards.json +165 -8
- package/schema/site/senses.json +92 -7
- package/schema/site/skills.json +98 -7
- package/schema/site/tables.json +600 -87
- package/schema/site/trapshazards.json +555 -14
- package/schema/site/util-copy.json +143 -1
- package/schema/site/util.json +4 -2
- package/schema/site/variantrules.json +161 -22
- package/schema/site/vehicles.json +6446 -86
- package/schema/site-fast/charcreationoptions.json +134 -8
- package/schema/site-fast/cultsboons.json +315 -14
- package/schema/site-fast/encounterbuilder.json +81 -2
- package/schema/site-fast/fluff-charcreationoptions.json +5 -33
- package/schema/site-fast/homebrew.json +8 -2
- package/schema/site-fast/items-base.json +374 -40
- package/schema/site-fast/languages.json +197 -6
- package/schema/site-fast/objects.json +361 -9
- package/schema/site-fast/psionics.json +314 -7
- package/schema/site-fast/rewards.json +165 -8
- package/schema/site-fast/senses.json +92 -7
- package/schema/site-fast/skills.json +98 -7
- package/schema/site-fast/tables.json +600 -87
- package/schema/site-fast/trapshazards.json +555 -14
- package/schema/site-fast/util-copy.json +143 -1
- package/schema/site-fast/util.json +4 -2
- package/schema/site-fast/variantrules.json +161 -22
- package/schema/site-fast/vehicles.json +6446 -86
- package/schema/ua/charcreationoptions.json +110 -8
- package/schema/ua/cultsboons.json +315 -14
- package/schema/ua/encounterbuilder.json +81 -2
- package/schema/ua/fluff-charcreationoptions.json +5 -33
- package/schema/ua/homebrew.json +8 -2
- package/schema/ua/items-base.json +290 -28
- package/schema/ua/languages.json +173 -6
- package/schema/ua/objects.json +367 -9
- package/schema/ua/psionics.json +314 -7
- package/schema/ua/rewards.json +165 -8
- package/schema/ua/senses.json +68 -7
- package/schema/ua/skills.json +74 -7
- package/schema/ua/tables.json +564 -87
- package/schema/ua/trapshazards.json +483 -14
- package/schema/ua/util-copy.json +143 -1
- package/schema/ua/util.json +4 -2
- package/schema/ua/variantrules.json +139 -22
- package/schema/ua/vehicles.json +6574 -76
- package/schema/ua-fast/charcreationoptions.json +110 -8
- package/schema/ua-fast/cultsboons.json +315 -14
- package/schema/ua-fast/encounterbuilder.json +81 -2
- package/schema/ua-fast/fluff-charcreationoptions.json +5 -33
- package/schema/ua-fast/homebrew.json +8 -2
- package/schema/ua-fast/items-base.json +290 -28
- package/schema/ua-fast/languages.json +173 -6
- package/schema/ua-fast/objects.json +367 -9
- package/schema/ua-fast/psionics.json +314 -7
- package/schema/ua-fast/rewards.json +165 -8
- package/schema/ua-fast/senses.json +68 -7
- package/schema/ua-fast/skills.json +74 -7
- package/schema/ua-fast/tables.json +564 -87
- package/schema/ua-fast/trapshazards.json +483 -14
- package/schema/ua-fast/util-copy.json +143 -1
- package/schema/ua-fast/util.json +4 -2
- package/schema/ua-fast/variantrules.json +139 -22
- package/schema/ua-fast/vehicles.json +6574 -76
package/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
# 5etools Utils
|
|
2
|
-
|
|
3
|
-
Available commands:
|
|
4
|
-
|
|
5
|
-
```
|
|
6
|
-
npx clean-html
|
|
7
|
-
npx test-file-names [--name-regex <regex>]
|
|
8
|
-
npx test-file-contents --img-repo-name <repo> --url-prefix-expected <prefix>
|
|
9
|
-
npx test-json-brew [file] [--dir <dir>]
|
|
10
|
-
npx test-json-ua [file] [--dir <dir>]
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
And more; see `bin/`.
|
|
1
|
+
# 5etools Utils
|
|
2
|
+
|
|
3
|
+
Available commands:
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
npx clean-html
|
|
7
|
+
npx test-file-names [--name-regex <regex>]
|
|
8
|
+
npx test-file-contents --img-repo-name <repo> --url-prefix-expected <prefix>
|
|
9
|
+
npx test-json-brew [file] [--dir <dir>]
|
|
10
|
+
npx test-json-ua [file] [--dir <dir>]
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
And more; see `bin/`.
|
package/bin/clean-html.js
CHANGED
|
File without changes
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import {Command} from "commander";
|
|
4
|
+
import {pDoLintJsChanged} from "../lib/Lint/LintJsChanged.js";
|
|
5
|
+
|
|
6
|
+
const program = new Command()
|
|
7
|
+
.option("--additional-root <path...>", "Additional git root to scan for changed files")
|
|
8
|
+
;
|
|
9
|
+
|
|
10
|
+
program.parse(process.argv);
|
|
11
|
+
const opts = program.opts();
|
|
12
|
+
|
|
13
|
+
const isSuccess = await pDoLintJsChanged({
|
|
14
|
+
additionalRoots: opts.additionalRoot?.length ? opts.additionalRoot : null,
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
if (!isSuccess) process.exit(1);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/bin/test-file-names.js
CHANGED
|
File without changes
|
package/bin/test-file-props.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/bin/test-json-brew.js
CHANGED
|
File without changes
|
package/bin/test-json-ua.js
CHANGED
|
File without changes
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import {ESLint} from "eslint";
|
|
3
|
+
import {pGetModifiedFiles} from "../UtilGit.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @see https://eslint.org/docs/latest/integrate/nodejs-api
|
|
7
|
+
*/
|
|
8
|
+
export const pDoLintJsChanged = async ({additionalRoots = null} = {}) => {
|
|
9
|
+
const fileList = (await pGetModifiedFiles({additionalRoots}))
|
|
10
|
+
.filter(file => /\.(js|cjs|mjs)$/.test(file) && fs.existsSync(file));
|
|
11
|
+
|
|
12
|
+
if (!fileList.length) {
|
|
13
|
+
console.warn(`Nothing to lint!`);
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
console.log(`Linting:\n${fileList.map(it => `\t${it}`).join("\n")}`);
|
|
18
|
+
|
|
19
|
+
const eslint = new ESLint({
|
|
20
|
+
fix: true,
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
const results = await eslint.lintFiles(fileList);
|
|
24
|
+
|
|
25
|
+
await ESLint.outputFixes(results);
|
|
26
|
+
|
|
27
|
+
const formatter = await eslint.loadFormatter("stylish");
|
|
28
|
+
const resultText = formatter.format(results);
|
|
29
|
+
|
|
30
|
+
if (resultText) console.log(resultText);
|
|
31
|
+
|
|
32
|
+
return !results.some(res => res.errorCount);
|
|
33
|
+
};
|
package/lib/UtilGit.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import simpleGit from "simple-git";
|
|
3
|
+
|
|
4
|
+
const pGetDiffSummaryFiles = async ({dir = null} = {}) => {
|
|
5
|
+
const git = dir ? simpleGit(dir) : simpleGit();
|
|
6
|
+
|
|
7
|
+
const filesUnstaged = (await git.diffSummary()).files
|
|
8
|
+
.map(file => file.file);
|
|
9
|
+
const filesStaged = (await git.diffSummary(["--staged"])).files
|
|
10
|
+
.map(file => file.file);
|
|
11
|
+
|
|
12
|
+
return Object.keys(
|
|
13
|
+
Object.fromEntries(
|
|
14
|
+
[...filesStaged, ...filesUnstaged]
|
|
15
|
+
.map(file => [dir ? `${dir}/${file}` : file, true]),
|
|
16
|
+
),
|
|
17
|
+
);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @param {?Array<string>} additionalRoots
|
|
22
|
+
*/
|
|
23
|
+
export const pGetModifiedFiles = async ({additionalRoots = null} = {}) => {
|
|
24
|
+
return [
|
|
25
|
+
...await pGetDiffSummaryFiles(),
|
|
26
|
+
|
|
27
|
+
...(
|
|
28
|
+
await Promise.all(
|
|
29
|
+
(additionalRoots || [])
|
|
30
|
+
.map(async altDir => {
|
|
31
|
+
return fs.existsSync(altDir)
|
|
32
|
+
? pGetDiffSummaryFiles({dir: altDir})
|
|
33
|
+
: [];
|
|
34
|
+
}),
|
|
35
|
+
)
|
|
36
|
+
)
|
|
37
|
+
.flat(),
|
|
38
|
+
];
|
|
39
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
meta: {
|
|
3
|
+
name: "vet-jquery",
|
|
4
|
+
version: "1.0.0",
|
|
5
|
+
},
|
|
6
|
+
|
|
7
|
+
rules: {
|
|
8
|
+
"jquery": {
|
|
9
|
+
meta: {
|
|
10
|
+
type: "problem",
|
|
11
|
+
docs: {
|
|
12
|
+
description: "likely jQuery usage",
|
|
13
|
+
},
|
|
14
|
+
schema: [
|
|
15
|
+
{
|
|
16
|
+
type: "object",
|
|
17
|
+
properties: {
|
|
18
|
+
isFlagOnly: {
|
|
19
|
+
type: "boolean",
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
additionalProperties: false,
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
},
|
|
26
|
+
create (context) {
|
|
27
|
+
const [{isFlagOnly = false} = {}] = context.options;
|
|
28
|
+
|
|
29
|
+
let isAnyFound = false;
|
|
30
|
+
return {
|
|
31
|
+
"Identifier": node => {
|
|
32
|
+
if (
|
|
33
|
+
node.name === "jQuery"
|
|
34
|
+
|| node.name.includes("$")
|
|
35
|
+
) {
|
|
36
|
+
if (isAnyFound && isFlagOnly) return;
|
|
37
|
+
isAnyFound = true;
|
|
38
|
+
|
|
39
|
+
context.report({
|
|
40
|
+
node: node,
|
|
41
|
+
message: `likely jQuery usage (${node.name})`,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
};
|
package/package.json
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "5etools-utils",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "Shared utilities for the 5etools ecosystem.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/Api.js",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./lib/Api.js",
|
|
9
|
+
"./eslint": "./lib/eslint/eslint-plugin-jquery.js",
|
|
10
|
+
"./eslint/*": "./lib/eslint/*",
|
|
11
|
+
"./lib/*": "./lib/*",
|
|
12
|
+
"./schema/*": "./schema/*",
|
|
13
|
+
"./package.json": "./package.json"
|
|
14
|
+
},
|
|
7
15
|
"files": [
|
|
16
|
+
"bin",
|
|
8
17
|
"lib",
|
|
9
18
|
"schema"
|
|
10
19
|
],
|
|
@@ -23,7 +32,8 @@
|
|
|
23
32
|
"test-img-file-extensions": "bin/test-img-file-extensions.js",
|
|
24
33
|
"test-img-file-sizes": "bin/test-img-file-sizes.js",
|
|
25
34
|
"test-img-source-names-brew": "bin/test-img-source-names-brew.js",
|
|
26
|
-
"test-img-source-names-ua": "bin/test-img-source-names-ua.js"
|
|
35
|
+
"test-img-source-names-ua": "bin/test-img-source-names-ua.js",
|
|
36
|
+
"lint-js-changed": "bin/lint-js-changed.js"
|
|
27
37
|
},
|
|
28
38
|
"scripts": {
|
|
29
39
|
"build:dangerous:sources": "node node/fetch-5etools-sources.js",
|
|
@@ -48,16 +58,16 @@
|
|
|
48
58
|
"ajv": "^8.18.0",
|
|
49
59
|
"ajv-formats": "^3.0.1",
|
|
50
60
|
"commander": "^14.0.3",
|
|
61
|
+
"eslint": "^10.0.1",
|
|
51
62
|
"hasha": "^7.0.0",
|
|
52
63
|
"he": "^1.2.0",
|
|
53
64
|
"json-source-map": "^0.6.1",
|
|
54
65
|
"number-precision": "^1.6.0",
|
|
55
|
-
"sanitize-html": "^2.17.1"
|
|
66
|
+
"sanitize-html": "^2.17.1",
|
|
67
|
+
"simple-git": "^3.32.1"
|
|
56
68
|
},
|
|
57
69
|
"devDependencies": {
|
|
58
70
|
"@eslint/js": "^10.0.1",
|
|
59
|
-
"
|
|
60
|
-
"jest": "^30.2.0",
|
|
61
|
-
"simple-git": "^3.32.1"
|
|
71
|
+
"jest": "^30.2.0"
|
|
62
72
|
}
|
|
63
73
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "charcreationoptions.json",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.3.0",
|
|
5
5
|
"title": "Character Creation Options",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"$defs": {
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"SG"
|
|
19
19
|
]
|
|
20
20
|
},
|
|
21
|
-
"
|
|
21
|
+
"charoptionData": {
|
|
22
22
|
"type": "object",
|
|
23
23
|
"properties": {
|
|
24
24
|
"name": {
|
|
@@ -85,16 +85,167 @@
|
|
|
85
85
|
"$ref": "util-foundry.json#/$defs/foundryMergeObject"
|
|
86
86
|
}
|
|
87
87
|
},
|
|
88
|
-
"required": [
|
|
89
|
-
"name",
|
|
90
|
-
"entries",
|
|
91
|
-
"source",
|
|
92
|
-
"optionType"
|
|
93
|
-
],
|
|
94
88
|
"additionalProperties": false
|
|
89
|
+
},
|
|
90
|
+
"charoption": {
|
|
91
|
+
"anyOf": [
|
|
92
|
+
{
|
|
93
|
+
"type": "object",
|
|
94
|
+
"properties": {
|
|
95
|
+
"name": {
|
|
96
|
+
"type": "string"
|
|
97
|
+
},
|
|
98
|
+
"entries": {
|
|
99
|
+
"type": "array",
|
|
100
|
+
"items": {
|
|
101
|
+
"$ref": "entry.json"
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"source": {
|
|
105
|
+
"$ref": "util.json#/$defs/source"
|
|
106
|
+
},
|
|
107
|
+
"page": {
|
|
108
|
+
"$ref": "util.json#/$defs/page"
|
|
109
|
+
},
|
|
110
|
+
"optionType": {
|
|
111
|
+
"$comment": "Note that this field supports arbitrary strings for homebrew usage.",
|
|
112
|
+
"type": "array",
|
|
113
|
+
"items": {
|
|
114
|
+
"$ref": "#/$defs/optionType"
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"otherSources": {
|
|
118
|
+
"$ref": "util.json#/$defs/otherSources"
|
|
119
|
+
},
|
|
120
|
+
"referenceSources": {
|
|
121
|
+
"$ref": "util.json#/$defs/referenceSources"
|
|
122
|
+
},
|
|
123
|
+
"hasFluff": {
|
|
124
|
+
"type": "boolean"
|
|
125
|
+
},
|
|
126
|
+
"hasFluffImages": {
|
|
127
|
+
"type": "boolean"
|
|
128
|
+
},
|
|
129
|
+
"prerequisite": {
|
|
130
|
+
"$ref": "util.json#/$defs/prerequisite"
|
|
131
|
+
},
|
|
132
|
+
"fluff": {
|
|
133
|
+
"description": "This is intended to be used for Homebrew only - site data should include a fluff file per source",
|
|
134
|
+
"$ref": "util.json#/$defs/fluffObject",
|
|
135
|
+
"markdownDescription": "This is intended to be used for Homebrew only - site data should include a fluff file per source"
|
|
136
|
+
},
|
|
137
|
+
"foundrySystem": {
|
|
138
|
+
"$ref": "util-foundry.json#/$defs/foundrySystemObject"
|
|
139
|
+
},
|
|
140
|
+
"foundryActivities": {
|
|
141
|
+
"$ref": "util-foundry.json#/$defs/foundryActivitiesArray"
|
|
142
|
+
},
|
|
143
|
+
"foundryFlags": {
|
|
144
|
+
"$ref": "util-foundry.json#/$defs/foundryFlagsObject"
|
|
145
|
+
},
|
|
146
|
+
"foundryEffects": {
|
|
147
|
+
"$ref": "util-foundry.json#/$defs/foundryEffectsArray"
|
|
148
|
+
},
|
|
149
|
+
"foundryImg": {
|
|
150
|
+
"$ref": "util-foundry.json#/$defs/foundryImg"
|
|
151
|
+
},
|
|
152
|
+
"foundryAdvice": {
|
|
153
|
+
"$ref": "entry.json"
|
|
154
|
+
},
|
|
155
|
+
"_foundryMerge": {
|
|
156
|
+
"$ref": "util-foundry.json#/$defs/foundryMergeObject"
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
"additionalProperties": false,
|
|
160
|
+
"required": [
|
|
161
|
+
"name",
|
|
162
|
+
"source",
|
|
163
|
+
"entries",
|
|
164
|
+
"optionType"
|
|
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
|
+
"optionType": {
|
|
186
|
+
"$comment": "Note that this field supports arbitrary strings for homebrew usage.",
|
|
187
|
+
"type": "array",
|
|
188
|
+
"items": {
|
|
189
|
+
"$ref": "#/$defs/optionType"
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
"otherSources": {
|
|
193
|
+
"$ref": "util.json#/$defs/otherSources"
|
|
194
|
+
},
|
|
195
|
+
"referenceSources": {
|
|
196
|
+
"$ref": "util.json#/$defs/referenceSources"
|
|
197
|
+
},
|
|
198
|
+
"hasFluff": {
|
|
199
|
+
"type": "boolean"
|
|
200
|
+
},
|
|
201
|
+
"hasFluffImages": {
|
|
202
|
+
"type": "boolean"
|
|
203
|
+
},
|
|
204
|
+
"prerequisite": {
|
|
205
|
+
"$ref": "util.json#/$defs/prerequisite"
|
|
206
|
+
},
|
|
207
|
+
"fluff": {
|
|
208
|
+
"description": "This is intended to be used for Homebrew only - site data should include a fluff file per source",
|
|
209
|
+
"$ref": "util.json#/$defs/fluffObject",
|
|
210
|
+
"markdownDescription": "This is intended to be used for Homebrew only - site data should include a fluff file per source"
|
|
211
|
+
},
|
|
212
|
+
"foundrySystem": {
|
|
213
|
+
"$ref": "util-foundry.json#/$defs/foundrySystemObject"
|
|
214
|
+
},
|
|
215
|
+
"foundryActivities": {
|
|
216
|
+
"$ref": "util-foundry.json#/$defs/foundryActivitiesArray"
|
|
217
|
+
},
|
|
218
|
+
"foundryFlags": {
|
|
219
|
+
"$ref": "util-foundry.json#/$defs/foundryFlagsObject"
|
|
220
|
+
},
|
|
221
|
+
"foundryEffects": {
|
|
222
|
+
"$ref": "util-foundry.json#/$defs/foundryEffectsArray"
|
|
223
|
+
},
|
|
224
|
+
"foundryImg": {
|
|
225
|
+
"$ref": "util-foundry.json#/$defs/foundryImg"
|
|
226
|
+
},
|
|
227
|
+
"foundryAdvice": {
|
|
228
|
+
"$ref": "entry.json"
|
|
229
|
+
},
|
|
230
|
+
"_foundryMerge": {
|
|
231
|
+
"$ref": "util-foundry.json#/$defs/foundryMergeObject"
|
|
232
|
+
},
|
|
233
|
+
"_copy": {
|
|
234
|
+
"$ref": "util-copy.json#/$defs/copyBlock_copy_generic"
|
|
235
|
+
}
|
|
236
|
+
},
|
|
237
|
+
"additionalProperties": false,
|
|
238
|
+
"required": [
|
|
239
|
+
"_copy"
|
|
240
|
+
]
|
|
241
|
+
}
|
|
242
|
+
]
|
|
95
243
|
}
|
|
96
244
|
},
|
|
97
245
|
"properties": {
|
|
246
|
+
"_meta": {
|
|
247
|
+
"$ref": "util.json#/$defs/metaBlock"
|
|
248
|
+
},
|
|
98
249
|
"charoption": {
|
|
99
250
|
"type": "array",
|
|
100
251
|
"minItems": 1,
|
|
@@ -104,5 +255,8 @@
|
|
|
104
255
|
}
|
|
105
256
|
}
|
|
106
257
|
},
|
|
258
|
+
"required": [
|
|
259
|
+
"charoption"
|
|
260
|
+
],
|
|
107
261
|
"additionalProperties": false
|
|
108
262
|
}
|