{ "title": "JSON schema for app_startup.json", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "additionalProperties": false, "required": [ "startupTasks", "configEntry" ], "propertyNames": { "enum": [ "startupTasks", "configEntry" ] }, "properties": { "startupTasks": { "type": "array", "uniqueItems": true, "items": { "type": "object", "propertyNames": { "enum": [ "name", "srcEntry", "dependencies", "excludeFromAutoStart", "runOnThread", "waitOnMainThread" ] }, "required": [ "name", "srcEntry" ], "properties": { "name": { "description": "Indicates the name of the startup task.", "type": "string", "pattern": "^[a-zA-Z][0-9a-zA-Z_.]+$", "maxLength": 127 }, "srcEntry": { "description": "Indicates the js code path corresponding to the startup task.", "type": "string", "maxLength": 127 }, "dependencies": { "description": "Indicates the dependencies of the startup task.", "type": "array", "uniqueItems": true, "items": { "type": "string" }, "default": [] }, "excludeFromAutoStart": { "description": "Indicates whether the startup task is excluded from automatic start.", "type": "boolean", "default": false }, "runOnThread": { "description": "Indicates the running thread of the startup task.", "type": "string", "enum": [ "mainThread", "taskPool" ], "default": "mainThread" }, "waitOnMainThread": { "description": "Indicates whether the startup task block the main thread.", "type": "boolean", "default": true } } } }, "configEntry": { "description": "Indicates the js code path corresponding to the startup config.", "type": "string", "maxLength": 127 } } }