mediawiki-extensions-Gadgets/includes/Content/schema.json
Siddharth VP 6d1ffbac15 Fix field name in schema.json
Change-Id: I7a89afe2876a1530cceb4884c8fdce348f8d6620
2023-07-08 21:13:26 +05:30

100 lines
2.4 KiB
JSON

{
"$schema": "http://json-schema.org/schema#",
"description": "Gadget definition schema",
"type": "object",
"additionalProperties": false,
"properties": {
"settings": {
"type": "object",
"additionalProperties": false,
"properties": {
"rights": {
"description": "The rights required to be able to enable/load this gadget",
"type": "array",
"items": {
"type": "string"
}
},
"default": {
"description": "Whether this gadget is enabled by default",
"type": "boolean",
"default": false
},
"package": {
"description": "Whether this is gadget a packaged ResourceLoader module",
"type": "boolean",
"default": false
},
"hidden": {
"description": "Whether this gadget is hidden from preferences",
"type": "boolean",
"default": false
},
"targets": {
"description": "List of ResourceLoader targets the module can run on",
"type": "array",
"items": {
"type": "string"
},
"default": [ "desktop" ]
},
"skins": {
"description": "Skins supported by this gadget; empty or true if all skins are supported",
"type": [ "array", "boolean" ],
"items": {
"type": "string"
}
},
"actions": {
"description": "Page actions on which the gadget is supported",
"type": "array",
"items": {
"type": "string"
}
},
"category": {
"description": "Key of the category this gadget belongs to",
"type": "string",
"default": ""
},
"supportsUrlLoad": {
"description": "Whether this gadget supports ?withgadget query parameter",
"type": "boolean",
"default": false
},
"requiresES6": {
"description": "Whether this gadget requires ES6",
"type": "boolean",
"default": false
}
}
},
"module": {
"type": "object",
"additionalProperties": false,
"properties": {
"scripts": {
"type": "array",
"description": "List of JavaScript pages included in this gadget"
},
"styles": {
"type": "array",
"description": "List of CSS pages included in this gadget"
},
"datas": {
"type": "array",
"description": "List of JSON pages included in this gadget"
},
"dependencies": {
"type": "array",
"description": "ResourceLoader modules this gadget depends upon"
},
"messages": {
"type": "array",
"description": "Messages this gadget depends upon"
}
}
}
}
}