{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Capacitor Assets Configuration Schema", "description": "Schema for validating capacitor-assets configuration files", "type": "object", "properties": { "icon": { "type": "object", "properties": { "source": { "type": "string", "pattern": "^resources/.*\\.(png|svg)$", "description": "Source icon file path relative to project root" }, "android": { "type": "object", "properties": { "adaptive": { "type": "object", "properties": { "foreground": { "type": "string", "pattern": "^resources/.*\\.(png|svg)$", "description": "Foreground icon for Android adaptive icons" }, "background": { "type": ["string", "object"], "description": "Background color or image for adaptive icons" }, "monochrome": { "type": "string", "pattern": "^resources/.*\\.(png|svg)$", "description": "Monochrome icon for Android 13+" } }, "required": ["foreground", "background"] }, "target": { "type": "string", "description": "Android target directory for generated icons" } } }, "ios": { "type": "object", "properties": { "padding": { "type": "number", "minimum": 0, "maximum": 1, "description": "Padding ratio for iOS icons" }, "target": { "type": "string", "description": "iOS target directory for generated icons" } } }, "web": { "type": "object", "properties": { "target": { "type": "string", "description": "Web target directory for generated icons" } } } }, "required": ["source"], "additionalProperties": false }, "splash": { "type": "object", "properties": { "source": { "type": "string", "pattern": "^resources/.*\\.(png|svg)$", "description": "Source splash screen file" }, "darkSource": { "type": "string", "pattern": "^resources/.*\\.(png|svg)$", "description": "Dark mode splash screen file" }, "android": { "type": "object", "properties": { "scale": { "type": "string", "enum": ["cover", "contain", "fill"], "description": "Android splash screen scaling mode" }, "target": { "type": "string", "description": "Android target directory for splash screens" } } }, "ios": { "type": "object", "properties": { "useStoryBoard": { "type": "boolean", "description": "Use LaunchScreen storyboard instead of splash assets" }, "target": { "type": "string", "description": "iOS target directory for splash screens" } } } }, "required": ["source"], "additionalProperties": false } }, "required": ["icon", "splash"], "additionalProperties": false }