1{ 2 "title": "JSON schema for app_startup.json", 3 "$schema": "http://json-schema.org/draft-07/schema#", 4 "type": "object", 5 "additionalProperties": false, 6 "required": [ 7 "configEntry" 8 ], 9 "propertyNames": { 10 "enum": [ 11 "startupTasks", 12 "configEntry", 13 "appPreloadHintStartupTasks" 14 ] 15 }, 16 "properties": { 17 "startupTasks": { 18 "type": "array", 19 "uniqueItems": true, 20 "items": { 21 "type": "object", 22 "propertyNames": { 23 "enum": [ 24 "name", 25 "srcEntry", 26 "dependencies", 27 "excludeFromAutoStart", 28 "runOnThread", 29 "waitOnMainThread" 30 ] 31 }, 32 "required": [ 33 "name", 34 "srcEntry" 35 ], 36 "properties": { 37 "name": { 38 "description": "Indicates the name of the startup task.", 39 "type": "string", 40 "pattern": "^[a-zA-Z][0-9a-zA-Z_.]+$", 41 "maxLength": 127 42 }, 43 "srcEntry": { 44 "description": "Indicates the js code path corresponding to the startup task.", 45 "type": "string", 46 "maxLength": 127 47 }, 48 "dependencies": { 49 "description": "Indicates the dependencies of the startup task.", 50 "type": "array", 51 "uniqueItems": true, 52 "items": { 53 "type": "string" 54 }, 55 "default": [] 56 }, 57 "excludeFromAutoStart": { 58 "description": "Indicates whether the startup task is excluded from automatic start.", 59 "type": "boolean", 60 "default": false 61 }, 62 "runOnThread": { 63 "description": "Indicates the running thread of the startup task.", 64 "type": "string", 65 "enum": [ 66 "mainThread", 67 "taskPool" 68 ], 69 "default": "mainThread" 70 }, 71 "waitOnMainThread": { 72 "description": "Indicates whether the startup task block the main thread.", 73 "type": "boolean", 74 "default": true 75 } 76 } 77 } 78 }, 79 "configEntry": { 80 "description": "Indicates the js code path corresponding to the startup config.", 81 "type": "string", 82 "maxLength": 127 83 }, 84 "appPreloadHintStartupTasks": { 85 "type": "array", 86 "uniqueItems": true, 87 "items": { 88 "type": "object", 89 "propertyNames": { 90 "enum": [ 91 "name", 92 "srcEntry", 93 "dependencies", 94 "excludeFromAutoStart", 95 "runOnThread" 96 ] 97 }, 98 "required": [ 99 "name", 100 "srcEntry", 101 "runOnThread" 102 ], 103 "properties": { 104 "name": { 105 "description": "Indicates the name of the preload task.", 106 "type": "string", 107 "pattern": "^[a-zA-Z][0-9a-zA-Z_.]+$", 108 "maxLength": 127 109 }, 110 "srcEntry": { 111 "description": "Indicates the js code path corresponding to the preload task.", 112 "type": "string", 113 "maxLength": 127 114 }, 115 "dependencies": { 116 "description": "Indicates the dependencies of the preload task.", 117 "type": "array", 118 "uniqueItems": true, 119 "items": { 120 "type": "string" 121 }, 122 "default": [] 123 }, 124 "excludeFromAutoStart": { 125 "description": "Indicates whether the preload task is excluded from automatic start.", 126 "type": "boolean", 127 "default": false 128 }, 129 "runOnThread": { 130 "description": "Indicates the running thread, preload task runs only on child thread.", 131 "type": "string", 132 "enum": [ 133 "taskPool" 134 ] 135 } 136 } 137 } 138 } 139 } 140}