spiegel-keyman/common/schemas/model_info/model_info.schema.json
Marc Durdin bcafb34f42 chore(common): add .model_info schema
Add the v2.0 .model_info schema file, from api.keyman.com. Does not add
the schema to list of compiled schemas in common/types; this can be done
on an as-needed basis.

Test-bot: skip
Build-bot: skip
2025-10-16 08:24:57 +02:00

49 lines
No EOL
1.8 KiB
JSON

{
"$schema": "http://json-schema.org/schema#",
"$ref": "#/definitions/ModelInfo",
"definitions": {
"ModelInfo": {
"type": "object",
"properties": {
"id": { "type": "string" },
"name": { "type": "string" },
"authorName": { "type": "string" },
"authorEmail": { "type": "string", "format": "email" },
"description": { "type": "string" },
"license": { "type": "string", "enum": ["mit"] },
"languages": { "type": "array", "items": { "type": "string" }, "uniqueItems": true },
"lastModifiedDate": { "type": "string", "format": "date-time" },
"packageFilename": { "type": "string" },
"packageFileSize": { "type": "number" },
"jsFilename": { "type": "string" },
"jsFileSize": { "type": "number" },
"isRTL": { "type": "boolean" },
"packageIncludes": { "type": "array", "items": { "type": "string", "enum": ["fonts"] }, "additionalItems": false },
"version": { "type": "string" },
"minKeymanVersion": { "type": "string", "pattern": "^\\d+\\.0$" },
"helpLink": { "type": "string", "pattern": "^http(s)?://help\\.keyman(-staging)?\\.com(.localhost)?/model/" },
"sourcePath": { "type": "string", "pattern": "^(release|experimental)/.+/.+$" },
"related": { "type": "object", "patternProperties": {
".": { "$ref": "#/definitions/ModelRelatedInfo" }
},
"additionalProperties": false
}
},
"required": [
"license", "languages"
],
"additionalProperties": false
},
"ModelRelatedInfo": {
"type": "object",
"properties": {
"deprecates": { "type": "boolean" },
"deprecatedBy": { "type": "boolean" }
},
"required": [],
"additionalProperties": false
}
}
}