95 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
| {
 | |
|   "definitions": {
 | |
|     "Provides": {
 | |
|       "description": "Modules that should be provided as shared modules to the share scope. When provided, property name is used to match modules, otherwise this is automatically inferred from share key.",
 | |
|       "anyOf": [
 | |
|         {
 | |
|           "type": "array",
 | |
|           "items": {
 | |
|             "description": "Modules that should be provided as shared modules to the share scope.",
 | |
|             "anyOf": [
 | |
|               {
 | |
|                 "$ref": "#/definitions/ProvidesItem"
 | |
|               },
 | |
|               {
 | |
|                 "$ref": "#/definitions/ProvidesObject"
 | |
|               }
 | |
|             ]
 | |
|           }
 | |
|         },
 | |
|         {
 | |
|           "$ref": "#/definitions/ProvidesObject"
 | |
|         }
 | |
|       ]
 | |
|     },
 | |
|     "ProvidesConfig": {
 | |
|       "description": "Advanced configuration for modules that should be provided as shared modules to the share scope.",
 | |
|       "type": "object",
 | |
|       "additionalProperties": false,
 | |
|       "properties": {
 | |
|         "eager": {
 | |
|           "description": "Include the provided module directly instead behind an async request. This allows to use this shared module in initial load too. All possible shared modules need to be eager too.",
 | |
|           "type": "boolean"
 | |
|         },
 | |
|         "shareKey": {
 | |
|           "description": "Key in the share scope under which the shared modules should be stored.",
 | |
|           "type": "string",
 | |
|           "minLength": 1
 | |
|         },
 | |
|         "shareScope": {
 | |
|           "description": "Share scope name.",
 | |
|           "type": "string",
 | |
|           "minLength": 1
 | |
|         },
 | |
|         "version": {
 | |
|           "description": "Version of the provided module. Will replace lower matching versions, but not higher.",
 | |
|           "anyOf": [
 | |
|             {
 | |
|               "description": "Don't provide a version.",
 | |
|               "enum": [false]
 | |
|             },
 | |
|             {
 | |
|               "description": "Version as string. Each part of the version should be separated by a dot '.'.",
 | |
|               "type": "string"
 | |
|             }
 | |
|           ]
 | |
|         }
 | |
|       }
 | |
|     },
 | |
|     "ProvidesItem": {
 | |
|       "description": "Request to a module that should be provided as shared module to the share scope (will be resolved when relative).",
 | |
|       "type": "string",
 | |
|       "minLength": 1
 | |
|     },
 | |
|     "ProvidesObject": {
 | |
|       "description": "Modules that should be provided as shared modules to the share scope. Property names are used as share keys.",
 | |
|       "type": "object",
 | |
|       "additionalProperties": {
 | |
|         "description": "Modules that should be provided as shared modules to the share scope.",
 | |
|         "anyOf": [
 | |
|           {
 | |
|             "$ref": "#/definitions/ProvidesConfig"
 | |
|           },
 | |
|           {
 | |
|             "$ref": "#/definitions/ProvidesItem"
 | |
|           }
 | |
|         ]
 | |
|       }
 | |
|     }
 | |
|   },
 | |
|   "title": "ProvideSharedPluginOptions",
 | |
|   "type": "object",
 | |
|   "additionalProperties": false,
 | |
|   "properties": {
 | |
|     "provides": {
 | |
|       "$ref": "#/definitions/Provides"
 | |
|     },
 | |
|     "shareScope": {
 | |
|       "description": "Share scope name used for all provided modules (defaults to 'default').",
 | |
|       "type": "string",
 | |
|       "minLength": 1
 | |
|     }
 | |
|   },
 | |
|   "required": ["provides"]
 | |
| }
 |