Skip to content

Commit

Permalink
Update FoundryVTT manifest schema (full rewrite + tests) (#2884)
Browse files Browse the repository at this point in the history
* Update FoundryVTT manifest schema (full rewrite + tests)

* Update file matching for FoundryVTT


Sources for confirmation of folder structure:
- https://foundryvtt.com/article/configuration/
- https://foundryvtt.com/article/system-development/
  • Loading branch information
shemetz authored Apr 21, 2023
1 parent d866901 commit e321c0e
Show file tree
Hide file tree
Showing 17 changed files with 1,814 additions and 231 deletions.
30 changes: 24 additions & 6 deletions src/api/json/catalog.json
Original file line number Diff line number Diff line change
Expand Up @@ -1570,15 +1570,33 @@
"url": "https://json.schemastore.org/first-timers.json"
},
{
"name": "Foundry VTT - Manifest",
"description": "JSON schema for Foundry VTT system.json and module.json files.",
"fileMatch": ["system.json", "module.json"],
"url": "https://json.schemastore.org/foundryvtt-manifest.json"
"name": "Foundry VTT - Base package Manifest",
"description": "Base schema for Module/system/World manifest schemas to inherit from.",
"fileMatch": [],
"url": "https://json.schemastore.org/foundryvtt-base-package-manifest.json"
},
{
"name": "Foundry VTT - Module Manifest",
"description": "JSON schema for Foundry VTT module.json files.",
"fileMatch": ["**/modules/*/module.json"],
"url": "https://json.schemastore.org/foundryvtt-module-manifest.json"
},
{
"name": "Foundry VTT - System Manifest",
"description": "JSON schema for Foundry VTT system.json files.",
"fileMatch": ["**/systems/*/system.json"],
"url": "https://json.schemastore.org/foundryvtt-system-manifest.json"
},
{
"name": "Foundry VTT - World Manifest",
"description": "JSON schema for Foundry VTT world.json files.",
"fileMatch": ["**/worlds/*/world.json"],
"url": "https://json.schemastore.org/foundryvtt-world-manifest.json"
},
{
"name": "Foundry VTT - Template",
"name": "Foundry VTT - System Data Template",
"description": "JSON schema for Foundry VTT template.json files.",
"fileMatch": ["template.json"],
"fileMatch": ["**/systems/*/template.json"],
"url": "https://json.schemastore.org/foundryvtt-template.json"
},
{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"authors": [
{
"name": "Andrew Clayton",
"discord": "Atropos#3814",
"url": "https://foundryvtt.com"
},
{
"name": "Shane Martland",
"discord": "Anathema#3668",
"url": "https://foundryvtt.com"
},
{
"name": "Viviane Charlier",
"discord": "Cora#0642"
}
],
"compatibility": {
"minimum": "10",
"verified": "10",
"maximum": "10"
},
"description": "<p>When the mysterious Gauntlight, an eerie landlocked lighthouse, glows with baleful light, the people of Otari know something terrible is beginning. The town's newest heroes must venture into the ruins around the lighthouse and delve the dungeon levels far beneath it to discover the evil the Gauntlight heralds. Hideous monsters, deadly traps, and mysterious ghosts all await the heroes who dare to enter the sprawling megadungeon called the Abomination Vaults!</p>",
"esmodules": ["./js/pf2e-av.mjs"],
"flags": {
"pf2e-abomination-vaults": {
"pf2e-art": "modules/pf2e-abomination-vaults/image-mapping.json"
}
},
"id": "pf2e-abomination-vaults",
"manifest": "https://foundryvtt.s3.us-west-2.amazonaws.com/modules/pf2e-abomination-vaults/module.json",
"packs": [
{
"name": "av",
"label": "Abomination Vaults",
"path": "packs/av.db",
"type": "Adventure"
}
],
"protected": true,
"relationships": {
"systems": [
{
"id": "pf2e",
"compatibility": {
"compatible": "6.6.6"
}
}
]
},
"styles": ["./styles/pf2e-av.css"],
"title": "Pathfinder 2e: Abomination Vaults",
"version": "2.0.0"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{
"authors": [
{
"name": "shem",
"discord": "shem#0226",
"email": "[email protected]",
"reddit": "u/Shemetz"
}
],
"bugs": "https://github.com/itamarcu/remote-highlight-ui/issues",
"changelog": "https://github.com/itamarcu/remote-highlight-ui/blob/master/Changelog.md",
"compatibility": {
"minimum": "9",
"verified": "10"
},
"compatibleCoreVersion": "10",
"dependencies": [
{
"name": "lib-wrapper"
}
],
"description": "Allows users to highlight UI elements on others' screens.",
"download": "https://github.com/itamarcu/remote-highlight-ui/archive/master.zip",
"esmodules": [
"scripts/remote-highlight-ui.js",
"scripts/hooks.js",
"scripts/sockets.js"
],
"id": "remote-highlight-ui",
"license": "https://github.com/itamarcu/remote-highlight-ui/blob/master/License.txt",
"manifest": "https://github.com/itamarcu/remote-highlight-ui/raw/master/module.json",
"manifestPlusVersion": "1.2.0",
"media": [
{
"type": "screenshot",
"url": "https://raw.githubusercontent.com/itamarcu/remote-highlight-ui/master/metadata/demo_1.gif",
"caption": "Demo gif of Remote Highlight UI"
},
{
"type": "icon",
"url": "https://raw.githubusercontent.com/itamarcu/remote-highlight-ui/master/metadata/icon.png",
"caption": "Remote Highlight UI"
}
],
"minimumCoreVersion": "9",
"name": "remote-highlight-ui",
"readme": "https://github.com/itamarcu/remote-highlight-ui/blob/master/Readme.md",
"relationships": {
"requires": [
{
"id": "lib-wrapper",
"type": "module",
"manifest": "https://github.com/ruipin/fvtt-lib-wrapper/releases/latest/download/module.json",
"compatibility": {
"minimum": "1.12.7.0",
"verified": "1.12.7.0"
}
}
]
},
"socket": true,
"styles": ["styles/remote-highlight-ui.css"],
"title": "",
"url": "https://github.com/itamarcu/remote-highlight-ui",
"version": "1.2.0"
}
145 changes: 145 additions & 0 deletions src/negative_test/foundryvtt-system-manifest/CoC7_system.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
{
"authors": [
{
"name": "Miskatonic Investigative Society"
}
],
"compatibility": {
"minimum": 10,
"verified": 10
},
"description": "An unofficial implementation of the Call of Cthulhu 7th Edition game system for Foundry Virtual Tabletop.",
"download": "https://github.com/Miskatonic-Investigative-Society/CoC7-FoundryVTT/releases/latest/download/system.zip",
"esmodules": [
"lib/socketlib/src/libwrapper_shim.js",
"lib/socketlib/src/socketlib.js",
"bundle.js"
],
"gridDistance": 5,
"gridUnits": "ft",
"id": "CoC7 !@#$% special characters",
"languages": [
{
"lang": "en",
"name": "English",
"path": "lang/en.json"
},
{
"lang": "fr",
"name": "Français",
"path": "lang/fr.json"
},
{
"lang": "es",
"name": "Español",
"path": "lang/es.json"
},
{
"lang": "de",
"name": "Deutsch",
"path": "lang/de.json"
},
{
"lang": "ja",
"name": "日本語",
"path": "lang/ja.json"
},
{
"lang": "cn",
"name": "中文",
"path": "lang/cn.json"
},
{
"lang": "pl",
"name": "Polski",
"path": "lang/pl.json"
},
{
"lang": "pt-BR",
"name": "Português (Brasil)",
"path": "lang/pt-BR.json"
},
{
"lang": "zh-tw",
"name": "正體中文",
"path": "lang/zh-TW.json"
},
{
"lang": "sv",
"name": "Svenska",
"path": "lang/sv.json"
},
{
"lang": "cs",
"name": "Čeština",
"path": "lang/cs.json"
},
{
"lang": "ko",
"name": "한국어",
"path": "lang/ko.json"
},
{
"lang": "it",
"name": "Italiano",
"path": "lang/it.json"
},
{
"lang": "ru",
"name": "Русский",
"path": "lang/ru.json"
}
],
"manifest": "https://github.com/Miskatonic-Investigative-Society/CoC7-FoundryVTT/releases/latest/download/system.json",
"packs": [
{
"label": "Skills",
"type": "Item",
"name": "skills",
"path": "./packs/skills.db",
"system": "CoC7"
},
{
"label": "Items Examples",
"type": "Item",
"name": "items",
"path": "./packs/items.db",
"system": "CoC7"
},
{
"label": "Examples",
"type": "Actor",
"name": "examples",
"path": "./packs/examples.db",
"system": "CoC7"
},
{
"label": "Roll Requests",
"type": "JournalEntry",
"name": "roll-requests",
"path": "./packs/roll-requests.db",
"system": "CoC7"
},
{
"label": "Sanity Roll Table",
"type": "RollTable",
"name": "sanity-tables-examples",
"path": "./packs/sanity-tables-examples.db",
"system": "CoC7"
},
{
"label": "System manual",
"type": "JournalEntry",
"name": "system-doc",
"path": "./packs/system-doc.db",
"system": "CoC7"
}
],
"primaryTokenAttribute": "attribs.hp",
"secondaryTokenAttribute": "attribs.san",
"socket": true,
"styles": ["lib/game-icons/game-icons.css", "coc7g.css"],
"title": "Call of Cthulhu 7th Edition (Unofficial)",
"url": "https://github.com/Miskatonic-Investigative-Society/CoC7-FoundryVTT",
"version": "0.9.2"
}
Loading

0 comments on commit e321c0e

Please sign in to comment.